@flatbiz/antd 4.2.69 → 4.2.70
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/anchor-steps/index.js +1 -1
- package/esm/anchor-steps/index.js.map +1 -1
- package/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/check-list/index.js +1 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/checkbox-wrapper/index.js +1 -1
- package/esm/checkbox-wrapper/index.js.map +1 -1
- package/esm/config-provider-wrapper/index.js +1 -1
- package/esm/config-provider-wrapper/index.js.map +1 -1
- package/esm/context-1f2093c6.js.map +1 -1
- package/esm/css-node-hover/index.js +1 -1
- package/esm/css-node-hover/index.js.map +1 -1
- package/esm/data-render/index.js +1 -1
- package/esm/data-render/index.js.map +1 -1
- package/esm/date-picker-wrapper/index.js +1 -1
- package/esm/date-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper/index.js +1 -1
- package/esm/date-range-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-alert/index.js.map +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-confirm/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +1 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/dom-4d04aa64.js.map +1 -1
- package/esm/drag-collapse/index.js +1 -1
- package/esm/drag-collapse/index.js.map +1 -1
- package/esm/drag-collapse-form-list/index.js +1 -1
- package/esm/drag-collapse-form-list/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/dynamic-node/index.js +1 -1
- package/esm/dynamic-node/index.js.map +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-field-provider/index.js +1 -1
- package/esm/editable-field-provider/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editor-wrapper/index.js +1 -1
- package/esm/editor-wrapper/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-utils/index.js +1 -1
- package/esm/fba-utils/index.js.map +1 -1
- package/esm/file-import/index.js +1 -1
- package/esm/file-import/index.js.map +1 -1
- package/esm/flex-layout/index.js +1 -1
- package/esm/flex-layout/index.js.map +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-group/index.js.map +1 -1
- package/esm/form-item-hidden/index.js +1 -1
- package/esm/form-item-hidden/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/gap/index.js +1 -1
- package/esm/gap/index.js.map +1 -1
- package/esm/icon-wrapper/index.js +1 -1
- package/esm/icon-wrapper/index.js.map +1 -1
- package/esm/index.js +3 -1
- package/esm/input-search-wrapper/index.js +1 -1
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/modal-action/index.js +1 -1
- package/esm/modal-action/index.js.map +1 -1
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/page-fixed-footer/index.js +1 -1
- package/esm/page-fixed-footer/index.js.map +1 -1
- package/esm/page404/index.js +1 -1
- package/esm/page404/index.js.map +1 -1
- package/esm/pagination-wrapper/index.js +1 -1
- package/esm/permission/index.js +1 -1
- package/esm/permission/index.js.map +1 -1
- package/esm/radio-group-wrapper/index.js +1 -1
- package/esm/radio-group-wrapper/index.js.map +1 -1
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/request-status/index.js +1 -1
- package/esm/request-status/index.js.map +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/sms-count-down/index.js +1 -1
- package/esm/sms-count-down/index.js.map +1 -1
- package/esm/switch-confirm-wrapper/index.js +1 -1
- package/esm/switch-confirm-wrapper/index.js.map +1 -1
- package/esm/switch-wrapper/index.js +1 -1
- package/esm/switch-wrapper/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-scrollbar/index.js +1 -1
- package/esm/table-scrollbar/index.js.map +1 -1
- package/esm/table-title-tooltip/index.js +1 -1
- package/esm/table-title-tooltip/index.js.map +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper/index.js.map +1 -1
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-list-select/index.js +1 -1
- package/esm/tag-list-select/index.js.map +1 -1
- package/esm/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +1 -1
- package/esm/text-css-ellipsis/index.js +1 -1
- package/esm/text-css-ellipsis/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/text-overflow-render/index.js.map +1 -1
- package/esm/time-picker-wrapper/index.js +1 -1
- package/esm/time-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper/index.js +1 -1
- package/esm/time-range-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +2 -2
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/index.d.ts +178 -1
- package/package.json +3 -3
- package/esm/_rollupPluginBabelHelpers-1f4d8910.js +0 -3
- package/esm/_rollupPluginBabelHelpers-1f4d8910.js.map +0 -1
- package/esm/anchor-steps-601a335f.js +0 -3
- package/esm/anchor-steps-601a335f.js.map +0 -1
- package/esm/button-operate-d00df6c9.js +0 -3
- package/esm/button-operate-d00df6c9.js.map +0 -1
- package/esm/button-wrapper-125fce50.js +0 -3
- package/esm/button-wrapper-125fce50.js.map +0 -1
- package/esm/cascader-wrapper-2f6a926f.js +0 -3
- package/esm/cascader-wrapper-2f6a926f.js.map +0 -1
- package/esm/cell-render-4934a7de.js +0 -3
- package/esm/cell-render-4934a7de.js.map +0 -1
- package/esm/center-a4dfda6f.js +0 -3
- package/esm/center-a4dfda6f.js.map +0 -1
- package/esm/checkbox-wrapper-018a5c59.js +0 -3
- package/esm/checkbox-wrapper-018a5c59.js.map +0 -1
- package/esm/config-provider-wrapper-dfe8f592.js +0 -3
- package/esm/config-provider-wrapper-dfe8f592.js.map +0 -1
- package/esm/content-c0e49ffb.js +0 -3
- package/esm/content-c0e49ffb.js.map +0 -1
- package/esm/css-node-hover-ed7b9860.js +0 -3
- package/esm/css-node-hover-ed7b9860.js.map +0 -1
- package/esm/data-render-07c0ab6b.js +0 -3
- package/esm/data-render-07c0ab6b.js.map +0 -1
- package/esm/date-picker-wrapper-ba650858.js +0 -3
- package/esm/date-picker-wrapper-ba650858.js.map +0 -1
- package/esm/date-range-picker-wrapper-fb15c592.js +0 -3
- package/esm/date-range-picker-wrapper-fb15c592.js.map +0 -1
- package/esm/date-range-picker-wrapper-form-item-688cf465.js +0 -3
- package/esm/date-range-picker-wrapper-form-item-688cf465.js.map +0 -1
- package/esm/dialog-alert-89d37729.js +0 -3
- package/esm/dialog-alert-89d37729.js.map +0 -1
- package/esm/dialog-confirm-74fc9337.js +0 -3
- package/esm/dialog-confirm-74fc9337.js.map +0 -1
- package/esm/dialog-drawer-550ce42c.js +0 -3
- package/esm/dialog-drawer-550ce42c.js.map +0 -1
- package/esm/dialog-loading-53cf2c60.js +0 -3
- package/esm/dialog-loading-53cf2c60.js.map +0 -1
- package/esm/dialog-modal-4a0c72c5.js +0 -3
- package/esm/dialog-modal-4a0c72c5.js.map +0 -1
- package/esm/drag-collapse-24ccfe8c.js +0 -3
- package/esm/drag-collapse-24ccfe8c.js.map +0 -1
- package/esm/drag-collapse-433fb1e0.js +0 -3
- package/esm/drag-collapse-433fb1e0.js.map +0 -1
- package/esm/drawer-wrapper-9af2f178.js +0 -3
- package/esm/drawer-wrapper-9af2f178.js.map +0 -1
- package/esm/dropdown-menu-wrapper-3a565fd8.js +0 -3
- package/esm/dropdown-menu-wrapper-3a565fd8.js.map +0 -1
- package/esm/dynamic-node-c7864af4.js +0 -3
- package/esm/dynamic-node-c7864af4.js.map +0 -1
- package/esm/editable-field-bcac193d.js +0 -3
- package/esm/editable-field-bcac193d.js.map +0 -1
- package/esm/editable-field-provider-3223073a.js +0 -3
- package/esm/editable-field-provider-3223073a.js.map +0 -1
- package/esm/editable-table-64554cac.js +0 -3
- package/esm/editable-table-64554cac.js.map +0 -1
- package/esm/editor-wrapper-ff6e75b7.js +0 -3
- package/esm/editor-wrapper-ff6e75b7.js.map +0 -1
- package/esm/fba-utils-f9e11d02.js +0 -3
- package/esm/fba-utils-f9e11d02.js.map +0 -1
- package/esm/file-import-890a1df9.js +0 -3
- package/esm/file-import-890a1df9.js.map +0 -1
- package/esm/flex-layout-8d2b668b.js +0 -3
- package/esm/flex-layout-8d2b668b.js.map +0 -1
- package/esm/form-item-hidden-45541774.js +0 -3
- package/esm/form-item-hidden-45541774.js.map +0 -1
- package/esm/form-item-wrapper-208febed.js +0 -3
- package/esm/form-item-wrapper-208febed.js.map +0 -1
- package/esm/gap-284e1f59.js +0 -3
- package/esm/gap-284e1f59.js.map +0 -1
- package/esm/icon-wrapper-ed5fcacc.js +0 -3
- package/esm/icon-wrapper-ed5fcacc.js.map +0 -1
- package/esm/in-view-448ba714.js +0 -3
- package/esm/in-view-448ba714.js.map +0 -1
- package/esm/input-search-wrapper-10d4a9b9.js +0 -3
- package/esm/input-search-wrapper-10d4a9b9.js.map +0 -1
- package/esm/input-text-area-wrapper-1f22992b.js +0 -3
- package/esm/input-text-area-wrapper-1f22992b.js.map +0 -1
- package/esm/input-wrapper-338ae416.js +0 -3
- package/esm/input-wrapper-338ae416.js.map +0 -1
- package/esm/label-value-layout-beb35b0d.js +0 -3
- package/esm/label-value-layout-beb35b0d.js.map +0 -1
- package/esm/modal-action-5c5ca8a7.js +0 -3
- package/esm/modal-action-5c5ca8a7.js.map +0 -1
- package/esm/modal-wrapper-ff8df98b.js +0 -3
- package/esm/modal-wrapper-ff8df98b.js.map +0 -1
- package/esm/page-fixed-footer-9ec2b46c.js +0 -3
- package/esm/page-fixed-footer-9ec2b46c.js.map +0 -1
- package/esm/page404-f087129a.js +0 -3
- package/esm/page404-f087129a.js.map +0 -1
- package/esm/pagination-0e66a3b5.js +0 -3
- package/esm/pagination-0e66a3b5.js.map +0 -1
- package/esm/permission-17ed4d0b.js +0 -3
- package/esm/permission-17ed4d0b.js.map +0 -1
- package/esm/radio-group-wrapper-b34746d1.js +0 -3
- package/esm/radio-group-wrapper-b34746d1.js.map +0 -1
- package/esm/relation-tree-7bec12bd.js +0 -3
- package/esm/relation-tree-7bec12bd.js.map +0 -1
- package/esm/request-status-03fc60e2.js +0 -3
- package/esm/request-status-03fc60e2.js.map +0 -1
- package/esm/rich-text-editor-213daa34.js +0 -3
- package/esm/rich-text-editor-213daa34.js.map +0 -1
- package/esm/rich-text-viewer-4a859351.js +0 -3
- package/esm/rich-text-viewer-4a859351.js.map +0 -1
- package/esm/rule-describe-b4a8e831.js +0 -3
- package/esm/rule-describe-b4a8e831.js.map +0 -1
- package/esm/selector-wrapper-efc44920.js +0 -3
- package/esm/selector-wrapper-efc44920.js.map +0 -1
- package/esm/selector-wrapper-search-54866dd6.js +0 -3
- package/esm/selector-wrapper-search-54866dd6.js.map +0 -1
- package/esm/selector-wrapper-simple-7b34f7bd.js +0 -3
- package/esm/selector-wrapper-simple-7b34f7bd.js.map +0 -1
- package/esm/simple-layout-0dce0d39.js +0 -3
- package/esm/simple-layout-0dce0d39.js.map +0 -1
- package/esm/sms-count-down-c2609386.js +0 -3
- package/esm/sms-count-down-c2609386.js.map +0 -1
- package/esm/switch-confirm-wrapper-984d57c4.js +0 -3
- package/esm/switch-confirm-wrapper-984d57c4.js.map +0 -1
- package/esm/switch-wrapper-f20b9a58.js +0 -3
- package/esm/switch-wrapper-f20b9a58.js.map +0 -1
- package/esm/table-scrollbar-66c1682c.js +0 -3
- package/esm/table-scrollbar-66c1682c.js.map +0 -1
- package/esm/tabs-wrapper-0a2da713.js +0 -3
- package/esm/tabs-wrapper-0a2da713.js.map +0 -1
- package/esm/tag-group-4fbcaa14.js +0 -3
- package/esm/tag-group-4fbcaa14.js.map +0 -1
- package/esm/tag-list-select-066f682f.js +0 -3
- package/esm/tag-list-select-066f682f.js.map +0 -1
- package/esm/tag-wrapper-6d8b505e.js +0 -3
- package/esm/tag-wrapper-6d8b505e.js.map +0 -1
- package/esm/text-css-ellipsis-9135d4c5.js +0 -3
- package/esm/text-css-ellipsis-9135d4c5.js.map +0 -1
- package/esm/text-overflow-render-7a6541f5.js +0 -3
- package/esm/text-overflow-render-7a6541f5.js.map +0 -1
- package/esm/time-picker-wrapper-f1d26d96.js +0 -3
- package/esm/time-picker-wrapper-f1d26d96.js.map +0 -1
- package/esm/time-range-picker-wrapper-be9850b5.js +0 -3
- package/esm/time-range-picker-wrapper-be9850b5.js.map +0 -1
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js +0 -3
- package/esm/time-range-picker-wrapper-form-item-9df6c0f4.js.map +0 -1
- package/esm/title-render-4f255df0.js +0 -3
- package/esm/title-render-4f255df0.js.map +0 -1
- package/esm/tree-selector-wrapper-1e520ad1.js +0 -3
- package/esm/tree-selector-wrapper-1e520ad1.js.map +0 -1
- package/esm/upload-wrapper-bd9ef592.js +0 -3
- package/esm/upload-wrapper-bd9ef592.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editor-wrapper-ff6e75b7.js","sources":["@flatbiz/antd/src/editor-wrapper/editor-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { Editor, hooks } from '@wove/react';\nimport { useKeyPress } from 'ahooks';\nimport { useRef } from 'react';\nimport './style.less';\n\nexport type EditorWrapperProps = {\n onChange?: (data?: string) => void;\n value?: string;\n editorInitParams?: TPlainObject;\n editorProps?: {\n disabled?: boolean;\n onKeyDown?: (event) => void;\n };\n // varStyle?: Record<varStyles, CSSProperties['color']>;\n height?: number | string;\n /** 上传图片服务 */\n onUploadImage?: (file: File) => Promise<string>;\n className?: string;\n};\n\n/**\n * 富文本编辑器,配置参考tinymce\n * @deprecated 已过时 4.3.0版本移除,请使用 RichTextEditor 组件\n * @param props\n * @returns\n * ```\n * 1. 如果需要粘贴上传图片服务,需要提供 onUploadImage 上传图片接口\n * 2. 如果不需要粘贴上传图片,可配置 editorInitParams.paste_data_images = false\n * 3. 获取富文本实例,通过editorInitParams.setup(editor)函数获取\n * 4. 可在 editorInitParams 中自定义 plugins、toolbar\n * 5. 预览富文本数据,使用 EditorViewer 组件\n *\n * ```\n */\nexport const EditorWrapper = (props: EditorWrapperProps) => {\n const editorRef = useRef<TAny>(null);\n\n const onChange = hooks.useCallbackRef((_, editor) => {\n const content = editor.getContent();\n const respValue = content ? content : undefined;\n props.onChange?.(respValue);\n });\n\n // const varStyleString = useMemo(() => {\n // const merge = { ...defaultVarStyle, ...props.varStyle };\n // let varStyleString = '';\n // Object.keys(merge).map((key) => {\n // varStyleString += `${key}:${merge[key]};`;\n // });\n // return varStyleString;\n // }, [props.varStyle]);\n\n const images_upload_handler = hooks.useCallbackRef(async (blobInfo, success, failure) => {\n try {\n const respData = await props.onUploadImage?.(blobInfo.blob());\n success(respData);\n } catch (error) {\n failure(error.message);\n }\n });\n\n useKeyPress(\n () => true,\n (event) => {\n try {\n if (event.type === 'keyup' && event.key === 'Escape') {\n const isFull = editorRef.current?.editorContainer.classList.contains('tox-fullscreen');\n if (isFull) {\n editorRef.current?.editorCommands.execCommand('mceFullScreen');\n }\n }\n } catch (error) {\n // 异常不处理\n }\n },\n {\n events: ['keydown', 'keyup'],\n },\n );\n\n const onKeyDown = hooks.useCallbackRef((event) => {\n try {\n if (event.keyCode == 27) {\n const isFull = editorRef.current?.editorContainer.classList.contains('tox-fullscreen');\n if (isFull) {\n editorRef.current?.editorCommands.execCommand('mceFullScreen');\n }\n }\n } catch (error) {\n // 异常不处理\n }\n props.editorProps?.onKeyDown?.(event);\n });\n\n return (\n <div className={classNames('v-editor-wrapper', props.className)}>\n <Editor\n value={props.value}\n cdnTinyMce=\"https://file.40017.cn/tcsk/tinymce/tinymce.min.js\"\n init={{\n paste_data_images: !!props.onUploadImage,\n images_upload_handler,\n height: props.height || 500,\n menubar: true,\n resize: true,\n language: 'zh_CN',\n paste_retain_style_properties: 'all',\n table_default_styles: {\n width: '100%',\n },\n plugins: 'paste lists link image advlist charmap preview fullscreen code table help',\n toolbar:\n 'undo redo fullscreen preview | bold italic underline strikethrough |' +\n 'fontsizeselect formatselect |' +\n 'alignleft aligncenter alignright alignjustify |' +\n 'outdent indent | numlist bullist advlist |' +\n 'forecolor backcolor removeformat |' +\n 'code image link',\n fontsize_formats: '8px 10px 12px 14px 16px 18px 24px 36px 48px',\n autoresize_bottom_margin: 50,\n // templates: [\n // editorTemplates.block,\n // editorTemplates.primary_p,\n // editorTemplates.secondary_p,\n // editorTemplates.warning_p,\n // editorTemplates.danger_p,\n // editorTemplates.success_p,\n // editorTemplates.p,\n // ],\n // template_replace_values: {\n // varStyle: varStyleString,\n // },\n // template_preview_replace_values: {\n // varStyle: varStyleString,\n // },\n ...props.editorInitParams,\n setup: (editor) => {\n editorRef.current = editor;\n props.editorInitParams?.setup?.(editor);\n },\n }}\n {...props.editorProps}\n onKeyDown={onKeyDown}\n onEditorChange={onChange}\n />\n </div>\n );\n};\n\n/**\n * undo redo\n * codesample\n * fontselect fontsizeselect formatselect\n * image media link anchor\n * preview save print\n * emoticons(表情)\n */\n"],"names":["EditorWrapper","props","editorRef","useRef","onChange","_hooks","useCallbackRef","_","editor","content","getContent","respValue","undefined","images_upload_handler","blobInfo","success","failure","Promise","$return","$error","respData","$Try_1_Post","$boundEx","$Try_1_Catch","error","message","resolve","onUploadImage","blob","then","$await_4","useKeyPress","event","type","key","_editorRef$current","isFull","current","editorContainer","classList","contains","_editorRef$current2","editorCommands","execCommand","events","onKeyDown","_props$editorProps","keyCode","_editorRef$current3","_editorRef$current4","editorProps","_jsx","className","_classNames","children","_Editor","_extends","value","cdnTinyMce","init","paste_data_images","height","menubar","resize","language","paste_retain_style_properties","table_default_styles","width","plugins","toolbar","fontsize_formats","autoresize_bottom_margin","editorInitParams","setup","_props$editorInitPara","onEditorChange"],"mappings":";oUAoCaA,EAAgB,SAAhBA,EAAiBC,GAC5B,IAAMC,EAAYC,EAAa,MAE/B,IAAMC,EAAWC,EAAMC,gBAAe,SAACC,EAAGC,GACxC,IAAMC,EAAUD,EAAOE,aACvB,IAAMC,EAAYF,EAAUA,EAAUG,UACtCX,EAAMG,UAANH,UAAAA,EAAAA,EAAMG,SAAWO,EACnB,IAWA,IAAME,EAAwBR,EAAMC,gBAAe,SAAOQ,EAAUC,EAASC,GAA1B,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAEzCC,EAxDZ,IAAIC,aAAJ,IAAI,OAAAH,GAAK,CAAC,MAAAI,GAAW,OAAOH,EAAAG,EAAM,GAAlC,IAAIC,EAAA,SA0DSC,GA1Db,IA2DMR,EAAQQ,EAAMC,SA3DpB,OAAOJ,GAAE,CAAC,MAAAC,GAAW,OAAOH,EAAAG,EAAM,GAuD9B,IACmB,OAAAL,QAAAS,QAAMzB,EAAM0B,2BAAN1B,EAAM0B,cAAgBb,EAASc,SAArCC,eAA4CC,GAxDnE,IAwDYV,EAAWU,EACjBf,EAAQK,GAzDd,OAAOC,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,GAAAC,EA0D9B,CAAC,MAAOC,GAAOD,EAAPC,EAET,CAAC,OAGHO,GACE,WAAA,OAAM,IACN,IAAA,SAACC,GACC,IACE,GAAIA,EAAMC,OAAS,SAAWD,EAAME,MAAQ,SAAU,CAAA,IAAAC,EACpD,IAAMC,GAAMD,EAAGjC,EAAUmC,UAAO,UAAA,EAAjBF,EAAmBG,gBAAgBC,UAAUC,SAAS,kBACrE,GAAIJ,EAAQ,CAAA,IAAAK,GACVA,EAAAvC,EAAUmC,UAAO,UAAA,EAAjBI,EAAmBC,eAAeC,YAAY,gBAChD,CACF,CACD,CAAC,MAAOnB,GACP,CAEJ,GACA,CACEoB,OAAQ,CAAC,UAAW,WAIxB,IAAMC,EAAYxC,EAAMC,gBAAe,SAAC0B,GAAU,IAAAc,EAChD,IACE,GAAId,EAAMe,SAAW,GAAI,CAAA,IAAAC,EACvB,IAAMZ,GAAMY,EAAG9C,EAAUmC,UAAO,UAAA,EAAjBW,EAAmBV,gBAAgBC,UAAUC,SAAS,kBACrE,GAAIJ,EAAQ,CAAA,IAAAa,GACVA,EAAA/C,EAAUmC,UAAO,UAAA,EAAjBY,EAAmBP,eAAeC,YAAY,gBAChD,CACF,CACD,CAAC,MAAOnB,GACP,EAEFsB,EAAA7C,EAAMiD,cAANJ,UAAAA,EAAAA,EAAmBD,uBAAnBC,EAAmBD,UAAYb,EACjC,IAEA,OACEmB,EAAA,MAAA,CAAKC,UAAWC,EAAW,mBAAoBpD,EAAMmD,WAAWE,SAC9DH,EAAAI,EAAAC,EAAA,CACEC,MAAOxD,EAAMwD,MACbC,WAAW,oDACXC,KAAIH,EAAA,CACFI,oBAAqB3D,EAAM0B,cAC3Bd,sBAAAA,EACAgD,OAAQ5D,EAAM4D,QAAU,IACxBC,QAAS,KACTC,OAAQ,KACRC,SAAU,QACVC,8BAA+B,MAC/BC,qBAAsB,CACpBC,MAAO,QAETC,QAAS,4EACTC,QACE,uEACA,gCACA,kDACA,6CACA,qCACA,kBACFC,iBAAkB,8CAClBC,yBAA0B,IAgBvBtE,EAAMuE,iBAAgB,CACzBC,MAAO,SAAAA,EAACjE,GAAW,IAAAkE,EACjBxE,EAAUmC,QAAU7B,GACpBkE,EAAAzE,EAAMuE,mBAANE,UAAAA,EAAAA,EAAwBD,mBAAxBC,EAAwBD,MAAQjE,EAClC,KAEEP,EAAMiD,YAAW,CACrBL,UAAWA,EACX8B,eAAgBvE,MAIxB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{isArray as r}from"@dimjs/lang/cjs/is-array";import{getGlobalData as t,getUuid as e}from"@flatbiz/utils";var i=function e(){var i=t(),n=i.elemAclLimits;var a=r(n)?n:[];return a};var n=function r(t){if(!t)return true;var e=i();if(e.includes(t)){return true}return false};function a(r,t){var e=r;for(var i in t){if(t.hasOwnProperty(i)){e[i]=t[i]}}return e}var o=function r(){return e()};var s={hasPermission:n,getPermissionList:i,attachPropertiesToComponent:a,getModelKey:o};export{s as f};
|
|
3
|
-
//# sourceMappingURL=fba-utils-f9e11d02.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fba-utils-f9e11d02.js","sources":["@flatbiz/antd/src/fba-utils/fba-utils.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { getGlobalData, getUuid } from '@flatbiz/utils';\n\nconst getPermissionList = () => {\n const { elemAclLimits } = getGlobalData<{ elemAclLimits: string[] }>();\n const permissionList: string[] = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nconst hasPermission = (name?: string) => {\n if (!name) return true;\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nfunction attachPropertiesToComponent<C, P extends Record<string, unknown>>(\n component: C,\n properties: P,\n): C & P {\n const ret = component as Record<string, unknown>;\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n ret[key] = properties[key];\n }\n }\n return ret as C & P;\n}\n\nconst getModelKey = () => {\n return getUuid();\n};\n\nexport const fbaUtils = {\n hasPermission,\n getPermissionList,\n attachPropertiesToComponent,\n getModelKey,\n};\n"],"names":["getPermissionList","_getGlobalData","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","attachPropertiesToComponent","component","properties","ret","key","hasOwnProperty","getModelKey","getUuid","fbaUtils"],"mappings":";+GAGA,IAAMA,EAAoB,SAApBA,IACJ,IAAAC,EAA0BC,IAAlBC,EAAaF,EAAbE,cACR,IAAMC,EAA2BC,EAAQF,GAAiBA,EAAgB,GAC1E,OAAOC,CACT,EAEA,IAAME,EAAgB,SAAhBA,EAAiBC,GACrB,IAAKA,EAAM,OAAO,KAClB,IAAMH,EAAiBJ,IACvB,GAAII,EAAeI,SAASD,GAAO,CACjC,OAAO,IACT,CACA,OAAO,KACT,EAEA,SAASE,EACPC,EACAC,GAEA,IAAMC,EAAMF,EACZ,IAAK,IAAMG,KAAOF,EAAY,CAC5B,GAAIA,EAAWG,eAAeD,GAAM,CAClCD,EAAIC,GAAOF,EAAWE,EACxB,CACF,CACA,OAAOD,CACT,CAEA,IAAMG,EAAc,SAAdA,IACJ,OAAOC,GACT,EAEO,IAAMC,EAAW,CACtBX,cAAAA,EACAN,kBAAAA,EACAS,4BAAAA,EACAM,YAAAA"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as o}from"@wove/react/cjs/hooks";import{message as a,Upload as i,Button as t}from"antd";import{useState as n,isValidElement as l}from"react";import{jsx as s}from"react/jsx-runtime";var f=["onImportFinish","buttonName"];var m=function m(c){var d=c.onImportFinish,p=c.buttonName,u=e(c,f);var h=n(false),v=h[0],g=h[1];var x=o.useCallbackRef((function(e){if(e.file.status==="uploading"){g(true)}else if(e.file.status==="done"){g(false);var r=e.file.response;if(r.code==="0000"){d(r.data)}else{void a.error(r.message||"文件导入异常...")}}}));return s(i,r({showUploadList:false,maxCount:1},u,{onChange:x,children:typeof c.children==="function"?c.children==null?void 0:c.children({loading:v}):l(c.children)?c.children:s(t,{type:"primary",ghost:true,loading:v,children:p||"选择文件"})}))};m.defaultProps={name:"file",accept:".xlsx,.xls"};export{m as F};
|
|
3
|
-
//# sourceMappingURL=file-import-890a1df9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-import-890a1df9.js","sources":["@flatbiz/antd/src/file-import/file-import.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Upload, UploadProps } from 'antd';\nimport { isValidElement, ReactElement, useState } from 'react';\n\nexport type FileImportProps = {\n onImportFinish: (data?: TAny) => void;\n buttonName?: string | ReactElement;\n children?: React.ReactNode | ((data: { loading: boolean }) => React.ReactNode);\n} & Omit<\n UploadProps,\n | 'fileList'\n | 'showUploadList'\n | 'itemRender'\n | 'listType'\n | 'multiple'\n | 'previewFile'\n | 'progress'\n | 'onChange'\n | 'onDownload'\n | 'onRemove'\n | 'onPreview'\n | 'directory'\n | 'customRequest'\n | 'defaultFileList'\n | 'iconRender'\n>;\n\n/**\n * 文件导入\n * ```\n * 默认值:\n * name: 'file',\n * accept: '.xlsx,.xls',\n * ```\n */\nexport const FileImport = (props: FileImportProps) => {\n const { onImportFinish, buttonName, ...otherProps } = props;\n\n const [loading, setLoading] = useState(false);\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n } else if (info.file.status === 'done') {\n setLoading(false);\n const respData = info.file.response;\n if (respData.code === '0000') {\n onImportFinish(respData.data);\n } else {\n void message.error((respData.message as string) || '文件导入异常...');\n }\n }\n });\n\n return (\n <Upload showUploadList={false} maxCount={1} {...otherProps} onChange={onChange}>\n {typeof props.children === 'function' ? (\n props.children?.({ loading })\n ) : isValidElement(props.children) ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost loading={loading}>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n\nFileImport.defaultProps = {\n name: 'file',\n accept: '.xlsx,.xls',\n};\n"],"names":["FileImport","props","onImportFinish","buttonName","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","onChange","_hooks","useCallbackRef","info","file","status","respData","response","code","data","message","error","_jsx","Upload","_extends","showUploadList","maxCount","children","isValidElement","Button","type","ghost","defaultProps","name","accept"],"mappings":";+SAoCaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAA8CD,EAA9CC,eAAgBC,EAA8BF,EAA9BE,WAAeC,EAAUC,EAAKJ,EAAKK,GAE3D,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1B,IAAMI,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIA,EAAKC,KAAKC,SAAW,YAAa,CACpCN,EAAW,KACZ,MAAM,GAAII,EAAKC,KAAKC,SAAW,OAAQ,CACtCN,EAAW,OACX,IAAMO,EAAWH,EAAKC,KAAKG,SAC3B,GAAID,EAASE,OAAS,OAAQ,CAC5BjB,EAAee,EAASG,KAC1B,KAAO,MACAC,EAAQC,MAAOL,EAASI,SAAsB,YACrD,CACF,CACF,IAEA,OACEE,EAACC,EAAMC,EAAA,CAACC,eAAgB,MAAOC,SAAU,GAAOvB,EAAU,CAAEO,SAAUA,EAASiB,gBACrE3B,EAAM2B,WAAa,WACzB3B,EAAM2B,UAAQ,UAAA,EAAd3B,EAAM2B,SAAW,CAAEnB,QAAAA,IACjBoB,EAAe5B,EAAM2B,UACvB3B,EAAM2B,SAENL,EAACO,EAAM,CAACC,KAAK,UAAUC,MAAK,KAACvB,QAASA,EAAQmB,SAC3CzB,GAAc,WAKzB,EAEAH,EAAWiC,aAAe,CACxBC,KAAM,OACNC,OAAQ"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{toArray as a}from"@flatbiz/utils";import{Children as e,cloneElement as i}from"react";import{jsx as t}from"react/jsx-runtime";var o=function o(s){var n=e.toArray(s.children);var m=s.direction||"vertical";var c=s.gap?s.gap:0;var f=a(s.fullIndex);return t("div",{className:l("v-flex-layout","v-flex-"+m,s.className),style:s.style,onClick:s.onClick,children:n.map((function(l,a){var e;var t=((e=l.props)==null?void 0:e.style)||{};var o=f.includes(a)?r({flex:1},t):t;if(a<n.length-1&&c>0){if(m==="horizontal"){o.marginRight=c}else{o.marginBottom=c}}return i(l,{style:o,key:a})}))})};export{o as F};
|
|
3
|
-
//# sourceMappingURL=flex-layout-8d2b668b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flex-layout-8d2b668b.js","sources":["@flatbiz/antd/src/flex-layout/flex-layout.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { Children, cloneElement, CSSProperties, ReactElement, ReactNode } from 'react';\nimport './style.less';\n\nexport type FlexLayoutProps = {\n className?: string;\n fullIndex?: number | number[];\n direction?: 'vertical' | 'horizontal';\n onClick?: () => void;\n style?: CSSProperties;\n gap?: number;\n children?: ReactNode | null | Array<ReactNode | null>;\n};\n/**\n * flex布局\n * 1. direction:默认值vertical\n * 2. gap间隙距离\n * 3. fullIndex:指定children数组索引值对象flex=1\n * 4. 为children添加key属性\n * @param props\n * @returns\n */\nexport const FlexLayout = (props: FlexLayoutProps) => {\n const childrens = Children.toArray(props.children) as ReactElement[];\n const direction = props.direction || 'vertical';\n const gap = props.gap ? props.gap : 0;\n const fullIndexList = toArray<number>(props.fullIndex);\n return (\n <div\n className={classNames('v-flex-layout', `v-flex-${direction}`, props.className)}\n style={props.style}\n onClick={props.onClick}\n >\n {childrens.map((children, index) => {\n const childrenStyle = children.props?.style || {};\n const style = fullIndexList.includes(index) ? { flex: 1, ...childrenStyle } : childrenStyle;\n if (index < childrens.length - 1 && gap > 0) {\n if (direction === 'horizontal') {\n style.marginRight = gap;\n } else {\n style.marginBottom = gap;\n }\n }\n return cloneElement(children, { style, key: index });\n })}\n </div>\n );\n};\n"],"names":["FlexLayout","props","childrens","Children","toArray","children","direction","gap","fullIndexList","fullIndex","_jsx","className","_classNames","style","onClick","map","index","_children$props","childrenStyle","includes","_extends","flex","length","marginRight","marginBottom","cloneElement","key"],"mappings":";8PAuBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYC,EAASC,QAAQH,EAAMI,UACzC,IAAMC,EAAYL,EAAMK,WAAa,WACrC,IAAMC,EAAMN,EAAMM,IAAMN,EAAMM,IAAM,EACpC,IAAMC,EAAgBJ,EAAgBH,EAAMQ,WAC5C,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,gBAAe,UAAYN,EAAaL,EAAMU,WACpEE,MAAOZ,EAAMY,MACbC,QAASb,EAAMa,QAAQT,SAEtBH,EAAUa,KAAI,SAACV,EAAUW,GAAU,IAAAC,EAClC,IAAMC,IAAgBD,EAAAZ,EAASJ,QAAK,UAAA,EAAdgB,EAAgBJ,QAAS,CAAA,EAC/C,IAAMA,EAAQL,EAAcW,SAASH,GAAMI,EAAA,CAAKC,KAAM,GAAMH,GAAkBA,EAC9E,GAAIF,EAAQd,EAAUoB,OAAS,GAAKf,EAAM,EAAG,CAC3C,GAAID,IAAc,aAAc,CAC9BO,EAAMU,YAAchB,CACtB,KAAO,CACLM,EAAMW,aAAejB,CACvB,CACF,CACA,OAAOkB,EAAapB,EAAU,CAAEQ,MAAAA,EAAOa,IAAKV,QAIpD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-item-hidden-45541774.js","sources":["@flatbiz/antd/src/form-item-hidden/form-item-hidden.tsx"],"sourcesContent":["import { Form } from 'antd';\n\nexport type FormItemHiddenProps = {\n name: string;\n};\n\nexport const FormItemHidden = (props: FormItemHiddenProps) => {\n return (\n <Form.Item name={props.name} hidden>\n <span></span>\n </Form.Item>\n );\n};\n"],"names":["FormItemHidden","props","_jsx","Form","Item","name","hidden","children"],"mappings":";wEAMaA,EAAiB,SAAjBA,EAAkBC,GAC7B,OACEC,EAACC,EAAKC,KAAI,CAACC,KAAMJ,EAAMI,KAAMC,OAAM,KAAAC,SACjCL,EAAA,OAAA,KAGN"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as r,a as e}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{composeProps as a}from"@flatbiz/utils";import{Form as i}from"antd";import{isValidElement as t,cloneElement as l}from"react";import{jsx as n,jsxs as o}from"react/jsx-runtime";var p=["wrapper","children","inputNormalize"],f=["wrapper","isClear","children","before","after","inputNormalize","outputNormalize"];var u=function e(i){var t=i.wrapper,f=i.children,u=i.inputNormalize,m=r(i,p);var s=m.hasOwnProperty("value");if(s&&u){m["value"]=u(m["value"])}var c=l(f,a(f.props,m,true));if(t){return t(c)}if(i.before||i.after){return o("div",{style:{display:"flex",alignItems:"center"},children:[i.before?n("span",{style:{marginRight:10},children:i.before}):null,n("div",{style:{flex:1},children:c}),i.after?n("span",{style:{marginLeft:10},children:i.after}):null]})}return c};var m=function a(l){var o=l.wrapper,p=l.isClear,m=l.children,s=l.before,c=l.after,d=l.inputNormalize,h=l.outputNormalize,v=r(l,f);if(p)return null;return n(i.Item,e({normalize:h},v,{children:t(m)?n(u,{wrapper:o,before:s,after:c,inputNormalize:d,children:m}):m}))};export{m as F};
|
|
3
|
-
//# sourceMappingURL=form-item-wrapper-208febed.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-item-wrapper-208febed.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import { composeProps, TAny } from '@flatbiz/utils';\nimport { Form, FormItemProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode } from 'react';\n\nexport interface FormItemWrapperProps extends FormItemProps {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /** 是否清楚 Form.Item */\n isClear?: boolean;\n}\n\ntype FormItemWrapperChildrenProps = Pick<\n FormItemWrapperProps,\n 'wrapper' | 'after' | 'before' | 'inputNormalize'\n> & {\n children: ReactElement;\n};\n\nconst FormItemWrapperChildren = (props: FormItemWrapperChildrenProps) => {\n const { wrapper, children, inputNormalize, ...rest } = props;\n // composeProps 合并执行 Form.Item 传的 onChange 以及组件本身的方法\n const hasValue = rest.hasOwnProperty('value');\n if (hasValue && inputNormalize) {\n rest['value'] = inputNormalize(rest['value']);\n }\n const _children = cloneElement(children, composeProps(children.props, rest, true));\n if (wrapper) {\n return wrapper(_children);\n }\n if (props.before || props.after) {\n return (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {props.before ? <span style={{ marginRight: 10 }}>{props.before}</span> : null}\n <div style={{ flex: 1 }}>{_children}</div>\n {props.after ? <span style={{ marginLeft: 10 }}>{props.after}</span> : null}\n </div>\n );\n }\n return _children;\n};\n\n/**\n * 对 Form.Item 包装处理\n * ```\n * 1. 为 children 增加 before、after\n * 2. 对输入、输出数据进行序列化处理\n * ```\n */\nexport const FormItemWrapper = (props: FormItemWrapperProps) => {\n const { wrapper, isClear, children, before, after, inputNormalize, outputNormalize, ...rest } = props;\n\n if (isClear) return null;\n\n return (\n <Form.Item normalize={outputNormalize} {...rest}>\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n};\n"],"names":["FormItemWrapperChildren","props","wrapper","children","inputNormalize","rest","_objectWithoutPropertiesLoose","_excluded","hasValue","hasOwnProperty","_children","cloneElement","composeProps","before","after","_jsxs","style","display","alignItems","_jsx","marginRight","flex","marginLeft","FormItemWrapper","isClear","outputNormalize","_excluded2","Form","Item","_extends","normalize","isValidElement"],"mappings":";6XA4BA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,IAAQC,EAA+CD,EAA/CC,QAASC,EAAsCF,EAAtCE,SAAUC,EAA4BH,EAA5BG,eAAmBC,EAAIC,EAAKL,EAAKM,GAE5D,IAAMC,EAAWH,EAAKI,eAAe,SACrC,GAAID,GAAYJ,EAAgB,CAC9BC,EAAK,SAAWD,EAAeC,EAAK,SACtC,CACA,IAAMK,EAAYC,EAAaR,EAAUS,EAAaT,EAASF,MAAOI,EAAM,OAC5E,GAAIH,EAAS,CACX,OAAOA,EAAQQ,EACjB,CACA,GAAIT,EAAMY,QAAUZ,EAAMa,MAAO,CAC/B,OACEC,EAAA,MAAA,CAAKC,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAWf,SACnDF,CAAAA,EAAMY,OAASM,EAAA,OAAA,CAAMH,MAAO,CAAEI,YAAa,IAAKjB,SAAEF,EAAMY,SAAiB,KAC1EM,EAAA,MAAA,CAAKH,MAAO,CAAEK,KAAM,GAAIlB,SAAEO,IACzBT,EAAMa,MAAQK,EAAA,OAAA,CAAMH,MAAO,CAAEM,WAAY,IAAKnB,SAAEF,EAAMa,QAAgB,OAG7E,CACA,OAAOJ,CACT,MASaa,EAAkB,SAAlBA,EAAmBtB,GAC9B,IAAQC,EAAwFD,EAAxFC,QAASsB,EAA+EvB,EAA/EuB,QAASrB,EAAsEF,EAAtEE,SAAUU,EAA4DZ,EAA5DY,OAAQC,EAAoDb,EAApDa,MAAOV,EAA6CH,EAA7CG,eAAgBqB,EAA6BxB,EAA7BwB,gBAAoBpB,EAAIC,EAAKL,EAAKyB,GAErG,GAAIF,EAAS,OAAO,KAEpB,OACEL,EAACQ,EAAKC,KAAIC,EAAA,CAACC,UAAWL,GAAqBpB,EAAI,CAAAF,SAC5C4B,EAAe5B,GACdgB,EAACnB,EAAuB,CACtBE,QAASA,EACTW,OAAQA,EACRC,MAAOA,EACPV,eAAgBA,EAAeD,SAE9BA,IAGHA,IAIR"}
|
package/esm/gap-284e1f59.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as e}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{jsx as i}from"react/jsx-runtime";var l=function l(t){return i("div",{style:e({height:t.height},t.style,{display:t.inline?"inline-block":"block",width:t.width}),className:t.className})};export{l as G};
|
|
3
|
-
//# sourceMappingURL=gap-284e1f59.js.map
|
package/esm/gap-284e1f59.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gap-284e1f59.js","sources":["@flatbiz/antd/src/gap/gap.tsx"],"sourcesContent":["import { CSSProperties } from 'react';\n\nexport type GapProps = {\n height?: number;\n width?: number;\n className?: string;\n style?: CSSProperties;\n inline?: boolean;\n};\n\n/**\n * 间隙组件\n * @param props\n * @returns\n */\nexport const Gap = (props: GapProps) => {\n return (\n <div\n style={{\n height: props.height,\n ...props.style,\n display: props.inline ? 'inline-block' : 'block',\n width: props.width,\n }}\n className={props.className}\n />\n );\n};\n"],"names":["Gap","props","_jsx","style","_extends","height","display","inline","width","className"],"mappings":";wGAeaA,EAAM,SAANA,EAAOC,GAClB,OACEC,EAAA,MAAA,CACEC,MAAKC,EAAA,CACHC,OAAQJ,EAAMI,QACXJ,EAAME,MAAK,CACdG,QAASL,EAAMM,OAAS,eAAiB,QACzCC,MAAOP,EAAMO,QAEfC,UAAWR,EAAMQ,WAGvB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as r}from"@dimjs/utils/cjs/class-names";import{Popover as e,Tooltip as i}from"antd";import{jsxs as n,jsx as o}from"react/jsx-runtime";var t=function t(p){var s=r("icon-wrapper","icon-wrapper-"+(p.size||"middle"),{"icon-wrapper-hidden-hover-bgcolor":p.hideHoverBgColor,"icon-wrapper-tigger":p.onClick},p.className);if(p.hidden)return null;var c=n("span",{className:s,style:p.style,onClick:p.onClick,children:[p.icon,p.text?o("span",{className:"icon-wrapper-text",children:p.text}):null]});if(p.hoverTips){if(p.tipsType==="popover"){return o(e,{content:p.hoverTips,children:c})}return o(i,{title:p.hoverTips,children:c})}return c};export{t as I};
|
|
3
|
-
//# sourceMappingURL=icon-wrapper-ed5fcacc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-wrapper-ed5fcacc.js","sources":["@flatbiz/antd/src/icon-wrapper/icon-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Popover, Tooltip } from 'antd';\nimport { CSSProperties } from 'react';\nimport './style.less';\n\nexport type IconWrapperProps = {\n hoverTips?: string | React.ReactElement;\n /**\n * 提示类型\n * @default 'tooltip'\n */\n tipsType?: 'popover' | 'tooltip';\n icon?: React.ReactNode;\n style?: CSSProperties;\n text?: string | React.ReactElement;\n className?: string;\n size?: 'small' | 'middle' | 'large';\n onClick?: (event) => void;\n hideHoverBgColor?: boolean;\n hidden?: boolean;\n};\nexport const IconWrapper = (props: IconWrapperProps) => {\n const className = classNames(\n 'icon-wrapper',\n `icon-wrapper-${props.size || 'middle'}`,\n {\n 'icon-wrapper-hidden-hover-bgcolor': props.hideHoverBgColor,\n 'icon-wrapper-tigger': props.onClick,\n },\n\n props.className,\n );\n\n if (props.hidden) return null;\n\n const _content = (\n <span className={className} style={props.style} onClick={props.onClick}>\n {props.icon}\n {props.text ? <span className=\"icon-wrapper-text\">{props.text}</span> : null}\n </span>\n );\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return <Popover content={props.hoverTips}>{_content}</Popover>;\n }\n return <Tooltip title={props.hoverTips}>{_content}</Tooltip>;\n }\n return _content;\n};\n"],"names":["IconWrapper","props","className","_classNames","size","hideHoverBgColor","onClick","hidden","_content","_jsxs","style","children","icon","text","_jsx","hoverTips","tipsType","Popover","content","Tooltip","title"],"mappings":";4JAqBaA,EAAc,SAAdA,EAAeC,GAC1B,IAAMC,EAAYC,EAChB,eACgBF,iBAAAA,EAAMG,MAAQ,UAC9B,CACE,oCAAqCH,EAAMI,iBAC3C,sBAAuBJ,EAAMK,SAG/BL,EAAMC,WAGR,GAAID,EAAMM,OAAQ,OAAO,KAEzB,IAAMC,EACJC,EAAA,OAAA,CAAMP,UAAWA,EAAWQ,MAAOT,EAAMS,MAAOJ,QAASL,EAAMK,QAAQK,SAAA,CACpEV,EAAMW,KACNX,EAAMY,KAAOC,EAAA,OAAA,CAAMZ,UAAU,oBAAmBS,SAAEV,EAAMY,OAAe,QAG5E,GAAIZ,EAAMc,UAAW,CACnB,GAAId,EAAMe,WAAa,UAAW,CAChC,OAAOF,EAACG,EAAO,CAACC,QAASjB,EAAMc,UAAUJ,SAAEH,GAC7C,CACA,OAAOM,EAACK,EAAO,CAACC,MAAOnB,EAAMc,UAAUJ,SAAEH,GAC3C,CACA,OAAOA,CACT"}
|
package/esm/in-view-448ba714.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{useMutationObserver as r}from"ahooks";import{useRef as t}from"react";import{fbaHooks as i}from"./fba-hooks/index.js";import{jsx as o}from"react/jsx-runtime";var l=function l(a){var v=t(null);var c=a.behavior||"smooth";var n=a.activeOffset||0;var s=a.direction||"vertical";var f=function e(r){try{var t,i,o;var l=(t=v.current)==null?void 0:t.querySelector(".roll-location-in-view-item-"+r);var a=(i=v.current)==null?void 0:i.offsetHeight;var s=(o=v.current)==null?void 0:o.scrollTop;var f=l.offsetTop;var u=f-s;var d=l.offsetHeight;if(f===0){var m;(m=v.current)==null?void 0:m.scrollTo({top:0,behavior:c})}else{if(u<0){var h;(h=v.current)==null?void 0:h.scrollTo({top:f-n,behavior:c})}else if(u>=0&&u+d<a){}else{var y;var p=f-(a-d);(y=v.current)==null?void 0:y.scrollTo({top:p+n,behavior:c})}}}catch(e){}};var u=function e(r){try{var t,i,o;var l=(t=v.current)==null?void 0:t.querySelector(".roll-location-in-view-item-"+r);var a=(i=v.current)==null?void 0:i.offsetWidth;var s=(o=v.current)==null?void 0:o.scrollLeft;var f=l.offsetLeft;var u=f-s;var d=l.offsetWidth;if(f===0){var m;(m=v.current)==null?void 0:m.scrollTo({left:0,behavior:c})}else{if(u<0){var h;(h=v.current)==null?void 0:h.scrollTo({left:f-n,behavior:c})}else if(u>=0&&u+d<a){}else{var y;var p=f-(a-d);(y=v.current)==null?void 0:y.scrollTo({left:p+n,behavior:c})}}}catch(e){}};i.useEffectCustom((function(){if(a.activeKey){if(s==="vertical"){f(a.activeKey)}else{u(a.activeKey)}}}),[a.activeKey]);r((function(){if(a.activeKey){if(s==="vertical"){f(a.activeKey)}else{u(a.activeKey)}}}),v,{subtree:true,childList:true,characterData:true});return o("div",{className:e("roll-location-in-view","roll-location-in-view-"+s,a.className),style:a.style,ref:v,children:a.renderList.map((function(e){return o("div",{className:"roll-location-in-view-item-"+e.activeKey,children:e.render},e.activeKey)}))})};export{l as R};
|
|
3
|
-
//# sourceMappingURL=in-view-448ba714.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-view-448ba714.js","sources":["@flatbiz/antd/src/roll-location-in-view/in-view.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useMutationObserver } from 'ahooks';\nimport { CSSProperties, ReactElement, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type RollLocationInViewProps = {\n renderList: { activeKey: string; render: ReactElement }[];\n activeKey?: string;\n behavior?: ScrollBehavior;\n // 激活节点在边界时,上下节点露出偏移量\n activeOffset?: number;\n direction?: 'horizontal' | 'vertical';\n style?: CSSProperties;\n className?: string;\n};\nexport const RollLocationInView = (props: RollLocationInViewProps) => {\n const rollLocationInViewRef = useRef<HTMLDivElement>(null);\n const behavior = props.behavior || 'smooth';\n const activeOffset = props.activeOffset || 0;\n const direction = props.direction || 'vertical';\n\n const targetVerticalRoll = (key: string) => {\n try {\n const targetNode = rollLocationInViewRef.current?.querySelector(\n `.roll-location-in-view-item-${key}`,\n ) as HTMLDivElement;\n const parentNodeHeight = rollLocationInViewRef.current?.offsetHeight as number;\n const scrollerScrollTop = rollLocationInViewRef.current?.scrollTop as number;\n const targetNodeOffsetTop = targetNode.offsetTop;\n const targetTop2ScrollWindowHeight = targetNodeOffsetTop - scrollerScrollTop;\n const targetNodeHeight = targetNode.offsetHeight;\n if (targetNodeOffsetTop === 0) {\n rollLocationInViewRef.current?.scrollTo({ top: 0, behavior });\n } else {\n if (targetTop2ScrollWindowHeight < 0) {\n rollLocationInViewRef.current?.scrollTo({ top: targetNodeOffsetTop - activeOffset, behavior });\n } else if (\n targetTop2ScrollWindowHeight >= 0 &&\n targetTop2ScrollWindowHeight + targetNodeHeight < parentNodeHeight\n ) {\n //\n } else {\n const xx = targetNodeOffsetTop - (parentNodeHeight - targetNodeHeight);\n rollLocationInViewRef.current?.scrollTo({ top: xx + activeOffset, behavior });\n }\n }\n } catch (error) {\n // 异常不处理\n }\n };\n const targetHorizontalRoll = (key: string) => {\n try {\n const targetNode = rollLocationInViewRef.current?.querySelector(\n `.roll-location-in-view-item-${key}`,\n ) as HTMLDivElement;\n const parentNodeWidth = rollLocationInViewRef.current?.offsetWidth as number;\n const scrollerScrollLeft = rollLocationInViewRef.current?.scrollLeft as number;\n const targetNodeOffsetLeft = targetNode.offsetLeft;\n const targetTop2ScrollWindowWidth = targetNodeOffsetLeft - scrollerScrollLeft;\n const targetNodeWidth = targetNode.offsetWidth;\n if (targetNodeOffsetLeft === 0) {\n rollLocationInViewRef.current?.scrollTo({ left: 0, behavior });\n } else {\n if (targetTop2ScrollWindowWidth < 0) {\n rollLocationInViewRef.current?.scrollTo({ left: targetNodeOffsetLeft - activeOffset, behavior });\n } else if (\n targetTop2ScrollWindowWidth >= 0 &&\n targetTop2ScrollWindowWidth + targetNodeWidth < parentNodeWidth\n ) {\n //\n } else {\n const xx = targetNodeOffsetLeft - (parentNodeWidth - targetNodeWidth);\n rollLocationInViewRef.current?.scrollTo({ left: xx + activeOffset, behavior });\n }\n }\n } catch (error) {\n // 异常不处理\n }\n };\n\n fbaHooks.useEffectCustom(() => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n }, [props.activeKey]);\n\n useMutationObserver(\n () => {\n if (props.activeKey) {\n if (direction === 'vertical') {\n targetVerticalRoll(props.activeKey);\n } else {\n targetHorizontalRoll(props.activeKey);\n }\n }\n },\n rollLocationInViewRef,\n {\n subtree: true,\n childList: true,\n characterData: true,\n },\n );\n\n return (\n <div\n className={classNames('roll-location-in-view', `roll-location-in-view-${direction}`, props.className)}\n style={props.style}\n ref={rollLocationInViewRef}\n >\n {props.renderList.map((item) => {\n return (\n <div className={`roll-location-in-view-item-${item.activeKey}`} key={item.activeKey}>\n {item.render}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["RollLocationInView","props","rollLocationInViewRef","useRef","behavior","activeOffset","direction","targetVerticalRoll","key","_rollLocationInViewRe","_rollLocationInViewRe2","_rollLocationInViewRe3","targetNode","current","querySelector","parentNodeHeight","offsetHeight","scrollerScrollTop","scrollTop","targetNodeOffsetTop","offsetTop","targetTop2ScrollWindowHeight","targetNodeHeight","_rollLocationInViewRe4","scrollTo","top","_rollLocationInViewRe5","_rollLocationInViewRe6","xx","error","targetHorizontalRoll","_rollLocationInViewRe7","_rollLocationInViewRe8","_rollLocationInViewRe9","parentNodeWidth","offsetWidth","scrollerScrollLeft","scrollLeft","targetNodeOffsetLeft","offsetLeft","targetTop2ScrollWindowWidth","targetNodeWidth","_rollLocationInViewRe10","left","_rollLocationInViewRe11","_rollLocationInViewRe12","fbaHooks","useEffectCustom","activeKey","useMutationObserver","subtree","childList","characterData","_jsx","className","_classNames","style","ref","children","renderList","map","item","render"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as r,a as e}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Input as a}from"antd";import{useRef as n,useState as u,createElement as i}from"react";import{fbaHooks as f}from"./fba-hooks/index.js";var l=["value"];var s=function s(c){var m=c.value,v=r(c,l);var p=n();var C=n(true);var h=u(0),b=h[0],d=h[1];f.useEffectCustom((function(){if(o(m)&&C.current)return;C.current=false;if(m===p.current&&!o(m))return;d(Date.now())}),[m]);var g=t.useCallbackRef((function(r){if(r.nativeEvent["inputType"]==="insertCompositionText"){return}p.current=r.target.value;c.onChange==null?void 0:c.onChange(r)}));var k=t.useCallbackRef((function(r){g(r)}));return i(a.Search,e({},v,{key:b,onCompositionEnd:k,onChange:g,defaultValue:m}))};export{s as I};
|
|
3
|
-
//# sourceMappingURL=input-search-wrapper-10d4a9b9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-search-wrapper-10d4a9b9.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":";qUAoBaA,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,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as o}from"@wove/react/cjs/hooks";import{Input as t}from"antd";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{useRef as a,useState as u,createElement as i}from"react";import{fbaHooks as f}from"./fba-hooks/index.js";var l=["value","debounceDuration"];var s=function s(c){var m=c.value,v=c.debounceDuration,p=e(c,l);var b=a();var C=a(true);var d=u(0),g=d[0],h=d[1];f.useEffectCustom((function(){if(n(m)&&C.current)return;C.current=false;if(m===b.current&&!n(m))return;h(Date.now())}),[m]);var k=o.useDebounceCallback((function(e){if(e.nativeEvent["inputType"]==="insertCompositionText"){return}b.current=e.target.value;c.onChange==null?void 0:c.onChange(e)}),v||0);var x=o.useCallbackRef((function(e){k(e)}));return i(t.TextArea,r({},p,{key:g,onCompositionEnd:x,onChange:k,defaultValue:m}))};export{s as I};
|
|
3
|
-
//# sourceMappingURL=input-text-area-wrapper-1f22992b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-text-area-wrapper-1f22992b.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":";wVAwBaA,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,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as r,a as e}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as o}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as n}from"@flatbiz/utils";import{Input as t}from"antd";import{useRef as a,useState as u,createElement as i}from"react";import{fbaHooks as f}from"./fba-hooks/index.js";var l=["value","debounceDuration"];var s=function s(c){var m=c.value,v=c.debounceDuration,p=r(c,l);var b=a();var C=a(true);var d=u(0),g=d[0],h=d[1];f.useEffectCustom((function(){if(n(m)&&C.current)return;C.current=false;if(m===b.current&&!n(m))return;h(Date.now())}),[m]);var k=o.useDebounceCallback((function(r){if(r.nativeEvent["inputType"]==="insertCompositionText"){return}b.current=r.target.value;c.onChange==null?void 0:c.onChange(r)}),v||0);var D=o.useCallbackRef((function(r){k(r)}));return i(t,e({},p,{key:g,onCompositionEnd:D,onChange:k,defaultValue:m}))};export{s as I};
|
|
3
|
-
//# sourceMappingURL=input-wrapper-338ae416.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-wrapper-338ae416.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":";wVAsBaA,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,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as r}from"@dimjs/utils/cjs/class-names";import{Descriptions as e}from"antd";import{useMemo as a}from"react";import{jsx as l}from"react/jsx-runtime";var t=function t(n){var o={"--v-label-value-layout-lWidth":(n.labelWidth||120)+"px"};var i=r("v-label-value-layout",n.className);var s=a((function(){return n.options.filter((function(r){return!r.hidden}))}),[n.options]);return l(e,{column:n.column||1,bordered:n.bordered,size:"small",className:i,style:o,children:s.map((function(r,a){return l(e.Item,{label:r.label,span:r.span,children:r.value},a)}))})};export{t as L};
|
|
3
|
-
//# sourceMappingURL=label-value-layout-beb35b0d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"label-value-layout-beb35b0d.js","sources":["@flatbiz/antd/src/label-value-layout/label-value-layout.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Descriptions } from 'antd';\nimport { CSSProperties, ReactElement, useMemo } from 'react';\nimport './style.less';\n\nexport type LabelValueLayoutProps = {\n options: {\n label: string | ReactElement;\n value?: string | number | ReactElement;\n span?: number;\n hidden?: boolean;\n }[];\n labelWidth?: number;\n // 一行占几组,默认1\n column?: number;\n bordered?: boolean;\n className?: string;\n};\n\n/**\n * options[].span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度\n * options[].hidden 是否隐藏 Description.Item\n */\nexport const LabelValueLayout = (props: LabelValueLayoutProps) => {\n const style = { '--v-label-value-layout-lWidth': `${props.labelWidth || 120}px` } as CSSProperties;\n const className = classNames('v-label-value-layout', props.className);\n\n const options = useMemo(() => {\n return props.options.filter((item) => !item.hidden);\n }, [props.options]);\n return (\n <Descriptions\n column={props.column || 1}\n bordered={props.bordered}\n size=\"small\"\n className={className}\n style={style}\n >\n {options.map((item, index) => {\n return (\n <Descriptions.Item key={index} label={item.label} span={item.span}>\n {item.value}\n </Descriptions.Item>\n );\n })}\n </Descriptions>\n );\n};\n"],"names":["LabelValueLayout","props","style","labelWidth","className","_classNames","options","useMemo","filter","item","hidden","_jsx","Descriptions","column","bordered","size","children","map","index","Item","label","span","value"],"mappings":";0KAuBaA,EAAmB,SAAnBA,EAAoBC,GAC/B,IAAMC,EAAQ,CAAE,iCAAoCD,EAAME,YAAc,KAAG,MAC3E,IAAMC,EAAYC,EAAW,uBAAwBJ,EAAMG,WAE3D,IAAME,EAAUC,GAAQ,WACtB,OAAON,EAAMK,QAAQE,QAAO,SAACC,GAAI,OAAMA,EAAKC,SAC9C,GAAG,CAACT,EAAMK,UACV,OACEK,EAACC,EAAY,CACXC,OAAQZ,EAAMY,QAAU,EACxBC,SAAUb,EAAMa,SAChBC,KAAK,QACLX,UAAWA,EACXF,MAAOA,EAAMc,SAEZV,EAAQW,KAAI,SAACR,EAAMS,GAClB,OACEP,EAACC,EAAaO,KAAI,CAAaC,MAAOX,EAAKW,MAAOC,KAAMZ,EAAKY,KAAKL,SAC/DP,EAAKa,OADgBJ,OAOlC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as r}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{useState as n,isValidElement as o,Fragment as e}from"react";import{jsxs as t,jsx as i}from"react/jsx-runtime";var l=function l(c){var u=c.action,a=c.children;var s=n(false),p=s[0],f=s[1];var v=function r(n){return new Promise((function(r,e){var t;if(o(u)){t=u.props.onClick;if(typeof t==="function"){return Promise.resolve(t==null?void 0:t(n)).then(function(r){try{return i.call(this)}catch(r){return e(r)}}.bind(this),e)}function i(){return l.call(this)}return i.call(this)}function l(){f(true);return r()}return l.call(this)}))};var h=function r(){f(false)};var m=o(a)?a:a({onClose:h,open:p});return t(e,{children:[o(u)?i(u.type,r({},u.props,{onClick:v})):u==null?void 0:u({onClick:v,onClose:h,open:p}),i(m.type,r({open:p,onClose:h,onCancel:h},m.props))]})};export{l as M};
|
|
3
|
-
//# sourceMappingURL=modal-action-5c5ca8a7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal-action-5c5ca8a7.js","sources":["@flatbiz/antd/src/modal-action/modal-action.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { Fragment, isValidElement, ReactElement, useState } from 'react';\n\ntype onClick = (e?: React.MouseEvent<HTMLElement>) => void;\nexport interface ModalActionProps {\n children: ReactElement | ((data: { onClose: () => void; open: boolean }) => ReactElement);\n action?:\n | (ReactElement & { onClick?: onClick })\n | ((data: { onClick: onClick; onClose: () => void; open: boolean }) => ReactElement);\n}\n\n/**\n * 弹框 触发器\n * ```\n * <ModalAction action={<Button type=\"primary\">打开</Button>}>\n * {({ onClose }) => (\n * <Modal onOk={onClose}>xxx</Modal>\n * )}\n * </ModalAction>\n * ```\n */\nexport const ModalAction = (props: ModalActionProps) => {\n const { action, children } = props;\n\n const [open, setOpen] = useState<boolean>(false);\n\n const handleOnClick = async (e: unknown) => {\n if (isValidElement(action)) {\n const { onClick } = action.props;\n if (typeof onClick === 'function') {\n await onClick?.(e);\n }\n }\n setOpen(true);\n };\n\n const onClose = () => {\n setOpen(false);\n };\n const childrenReactElement = isValidElement(children) ? children : (children as TAny)({ onClose, open });\n\n return (\n <Fragment>\n {isValidElement(action) ? (\n <action.type {...action.props} onClick={handleOnClick} />\n ) : (\n action?.({ onClick: handleOnClick, onClose, open })\n )}\n <childrenReactElement.type\n open={open}\n onClose={onClose}\n onCancel={onClose}\n {...childrenReactElement.props}\n />\n </Fragment>\n );\n};\n"],"names":["ModalAction","props","action","children","_useState","useState","open","setOpen","handleOnClick","e","Promise","$return","$error","_onClick","isValidElement","onClick","resolve","then","$await_3","$If_2","call","this","$boundEx","bind","$If_1","onClose","childrenReactElement","_jsxs","Fragment","_jsx","type","_extends","onCancel"],"mappings":";qLAqBaA,EAAc,SAAdA,EAAeC,GAC1B,IAAQC,EAAqBD,EAArBC,OAAQC,EAAaF,EAAbE,SAEhB,IAAAC,EAAwBC,EAAkB,OAAnCC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,IAAMI,EAAgB,SAAhBA,EAAuBC,GAAP,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAAAC,EACpB,GAAIC,EAAeZ,GAAS,CAClBa,EAAYb,EAAOD,MAAnBc,QACR,UAAWA,IAAY,WAAY,CACjC,OAAAL,QAAAM,QAAMD,GAAAA,UAAAA,EAAAA,EAAUN,IAAhBQ,KA9BR,SAAAC,GAAA,IAAI,OAAJC,EAAGC,KAAQC,KAAF,CAAC,MAAAC,GAAW,OAAOV,EAAAU,EAAM,CAAC,EAAhCC,KAAKF,MAAKT,EA+BP,CAAC,SAAAO,IAAA,OA/BPK,EAAGJ,KAAQC,KAAA,CAAA,OAAXF,EAAGC,KAAQC,KAgCP,CAAC,SAAAG,IACDjB,EAAQ,MAAM,OAAAI,GAAA,CAAA,OAjClBa,EAAGJ,KAAQC,KAAA,GAkCR,EAED,IAAMI,EAAU,SAAVA,IACJlB,EAAQ,QAEV,IAAMmB,EAAuBZ,EAAeX,GAAYA,EAAYA,EAAkB,CAAEsB,QAAAA,EAASnB,KAAAA,IAEjG,OACEqB,EAACC,EAAQ,CAAAzB,UACNW,EAAeZ,GACd2B,EAAC3B,EAAO4B,KAAIC,EAAK7B,GAAAA,EAAOD,MAAK,CAAEc,QAASP,KAExCN,GAAAA,UAAAA,EAAAA,EAAS,CAAEa,QAASP,EAAeiB,QAAAA,EAASnB,KAAAA,IAE9CuB,EAACH,EAAqBI,KAAIC,EAAA,CACxBzB,KAAMA,EACNmB,QAASA,EACTO,SAAUP,GACNC,EAAqBzB,UAIjC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as e,a as o}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Space as a,Button as n,Modal as i}from"antd";import{Fragment as l}from"react";import{fbaHooks as t}from"./fba-hooks/index.js";import{jsx as c,jsxs as d}from"react/jsx-runtime";var s=["loading","okText","cancelText","onCancel","onOk","hideOkBtn"];var p=function r(i){var t=i.loading,p=i.okText,m=p===void 0?"保存":p,h=i.cancelText,u=h===void 0?"取消":h,f=i.onCancel,v=i.onOk,k=i.hideOkBtn,N=e(i,s);return c(l,{children:d(a,{size:"middle",children:[c(n,o({},N.cancelButtonProps,{className:"cancel-btn",onClick:f,children:u})),k!=true&&c(n,o({type:"primary"},N.okButtonProps,{className:"ok-btn",onClick:v,loading:t,children:m}))]})})};var m=["pageLoading","className","width","children"];var h=function r(){return c("div",{className:"modal-wrapper-loader",children:d("div",{className:"loader-wrapper",children:[c("div",{className:"loader-inner"}),c("div",{className:"loader-text",children:"LOADING"})]})})};var u=function r(e){return d(l,{children:[c("div",{className:"modal-wrapper-content",children:e.children}),e.operationProps?c(f,{children:c(p,o({},e.operationProps))}):null]})};var f=function r(e){return c("div",{className:"modal-wrapper-footer",children:e.children})};var v=function a(n){var s=n.pageLoading,p=n.className,u=n.width,f=n.children,v=e(n,m);t.useEffectCustom((function(){if(n["operationProps"]){throw new Error("ModalWrapper组件升级,参数operationProps用法变更,请及时更新")}}),[]);return c(i,o({className:r("modal-wrapper",p),keyboard:false,destroyOnClose:true,forceRender:false},v,{width:u||600,footer:null,children:d(l,{children:[f,s&&c(h,{})]})}))};v.Content=u;v.Footer=f;export{v as M};
|
|
3
|
-
//# sourceMappingURL=modal-wrapper-ff8df98b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal-wrapper-ff8df98b.js","sources":["@flatbiz/antd/src/modal-wrapper/modal-operation.tsx","@flatbiz/antd/src/modal-wrapper/modal-wrapper.tsx"],"sourcesContent":["import { Button, ButtonProps, Space } from 'antd';\nimport { Fragment } from 'react';\n\nexport interface ModalOperationOldProps {\n loading?: boolean;\n okText?: string;\n cancelText?: string;\n onOk?: () => void;\n onCancel?: () => void;\n hideOkBtn?: boolean;\n okButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n cancelButtonProps?: Omit<ButtonProps, 'onClick' | 'loading' | 'className'>;\n}\n\nexport const ModalOperation = ({\n loading,\n okText = '保存',\n cancelText = '取消',\n onCancel,\n onOk,\n hideOkBtn,\n ...otherProps\n}: ModalOperationOldProps) => {\n return (\n <Fragment>\n <Space size=\"middle\">\n <Button {...otherProps.cancelButtonProps} className=\"cancel-btn\" onClick={onCancel}>\n {cancelText}\n </Button>\n {hideOkBtn != true && (\n <Button\n type=\"primary\"\n {...otherProps.okButtonProps}\n className=\"ok-btn\"\n onClick={onOk}\n loading={loading}\n >\n {okText}\n </Button>\n )}\n </Space>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, ModalProps } from 'antd';\nimport { FC, Fragment, ReactNode } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { ModalOperation, ModalOperationOldProps } from './modal-operation';\nimport './style.less';\n\ntype ModalWrapperStaticMethods = {\n Content: typeof ModalWrapperContent;\n Footer: typeof ModalWrapperFooter;\n};\n\nexport type ModalWrapperProps = {\n className?: string;\n // 整个modal页面级的spinning <Page loading />\n pageLoading?: boolean;\n} & Omit<\n ModalProps,\n | 'footer'\n | 'onOk'\n | 'okText'\n | 'cancelText'\n | 'okButtonProps'\n | 'cancelButtonProps'\n | 'okType'\n | 'confirmLoading'\n>;\n\nconst PageLoader = () => {\n return (\n <div className=\"modal-wrapper-loader\">\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">LOADING</div>\n </div>\n </div>\n );\n};\n\nconst ModalWrapperContent = (props: { operationProps?: ModalOperationOldProps; children?: ReactNode }) => {\n return (\n <Fragment>\n <div className=\"modal-wrapper-content\">{props.children}</div>\n {props.operationProps ? (\n <ModalWrapperFooter>\n <ModalOperation {...props.operationProps} />\n </ModalWrapperFooter>\n ) : null}\n </Fragment>\n );\n};\n\nconst ModalWrapperFooter = (props) => {\n return <div className=\"modal-wrapper-footer\">{props.children}</div>;\n};\n\n/**\n * 弹窗机制\n * @deprecated 已过时 4.3.0版本移除,后面版本会移除;请使用 dialogModal.open\n * ```\n * 1. 默认 destroyOnClose = true\n * 2. 默认 forceRender = false\n * 3. 如果设置 forceRender = true,会导致弹框中的接口提前调用\n *\n * 注意\n * 1. <Modal /> 默认关闭后状态不会自动清空, 如果希望每次打开都是新内容,请设置 destroyOnClose。\n * 2. <Modal /> 和 Form 一起配合使用时,设置 destroyOnClose 也不会在 Modal 关闭时销毁表单字段数据,需要设置 <Form preserve={false} />。\n *\n * ```\n */\nexport const ModalWrapper: FC<ModalWrapperProps> & ModalWrapperStaticMethods = (props) => {\n const { pageLoading, className, width, children, ...otherProps } = props;\n\n fbaHooks.useEffectCustom(() => {\n if (props['operationProps']) {\n throw new Error('ModalWrapper组件升级,参数operationProps用法变更,请及时更新');\n }\n }, []);\n\n return (\n <Modal\n className={classNames('modal-wrapper', className)}\n keyboard={false}\n destroyOnClose={true}\n forceRender={false}\n {...otherProps}\n width={width || 600}\n footer={null}\n >\n <Fragment>\n {children}\n {pageLoading && <PageLoader />}\n </Fragment>\n </Modal>\n );\n};\n\nModalWrapper.Content = ModalWrapperContent;\nModalWrapper.Footer = ModalWrapperFooter;\n"],"names":["ModalOperation","_ref","loading","_ref$okText","okText","_ref$cancelText","cancelText","onCancel","onOk","hideOkBtn","otherProps","_objectWithoutPropertiesLoose","_excluded","_jsx","Fragment","children","_jsxs","Space","size","Button","_extends","cancelButtonProps","className","onClick","type","okButtonProps","PageLoader","ModalWrapperContent","props","operationProps","ModalWrapperFooter","ModalWrapper","pageLoading","width","fbaHooks","useEffectCustom","Error","Modal","_classNames","keyboard","destroyOnClose","forceRender","footer","Content","Footer"],"mappings":";0XAcO,IAAMA,EAAiB,SAAjBA,EAAcC,GAQG,IAP5BC,EAAOD,EAAPC,QAAOC,EAAAF,EACPG,OAAAA,EAAMD,SAAG,EAAA,KAAIA,EAAAE,EAAAJ,EACbK,WAAAA,EAAUD,SAAG,EAAA,KAAIA,EACjBE,EAAQN,EAARM,SACAC,EAAIP,EAAJO,KACAC,EAASR,EAATQ,UACGC,EAAUC,EAAAV,EAAAW,GAEb,OACEC,EAACC,EAAQ,CAAAC,SACPC,EAACC,EAAK,CAACC,KAAK,SAAQH,SAAA,CAClBF,EAACM,EAAMC,EAAA,CAAA,EAAKV,EAAWW,kBAAiB,CAAEC,UAAU,aAAaC,QAAShB,EAASQ,SAChFT,KAEFG,GAAa,MACZI,EAACM,EAAMC,EAAA,CACLI,KAAK,WACDd,EAAWe,cAAa,CAC5BH,UAAU,SACVC,QAASf,EACTN,QAASA,EAAQa,SAEhBX,SAMb,uDCfA,IAAMsB,EAAa,SAAbA,IACJ,OACEb,EAAA,MAAA,CAAKS,UAAU,uBAAsBP,SACnCC,EAAA,MAAA,CAAKM,UAAU,iBAAgBP,UAC7BF,EAAA,MAAA,CAAKS,UAAU,iBACfT,EAAA,MAAA,CAAKS,UAAU,cAAaP,SAAC,gBAIrC,EAEA,IAAMY,EAAsB,SAAtBA,EAAuBC,GAC3B,OACEZ,EAACF,EAAQ,CAAAC,UACPF,EAAA,MAAA,CAAKS,UAAU,wBAAuBP,SAAEa,EAAMb,WAC7Ca,EAAMC,eACLhB,EAACiB,EAAkB,CAAAf,SACjBF,EAACb,EAAcoB,EAAA,CAAA,EAAKQ,EAAMC,mBAE1B,OAGV,EAEA,IAAMC,EAAqB,SAArBA,EAAsBF,GAC1B,OAAOf,EAAA,MAAA,CAAKS,UAAU,uBAAsBP,SAAEa,EAAMb,UACtD,MAgBagB,EAAkE,SAAlEA,EAAmEH,GAC9E,IAAQI,EAA2DJ,EAA3DI,YAAaV,EAA8CM,EAA9CN,UAAWW,EAAmCL,EAAnCK,MAAOlB,EAA4Ba,EAA5Bb,SAAaL,EAAUC,EAAKiB,EAAKhB,GAExEsB,EAASC,iBAAgB,WACvB,GAAIP,EAAM,kBAAmB,CAC3B,MAAM,IAAIQ,MAAM,8CAClB,CACD,GAAE,IAEH,OACEvB,EAACwB,EAAKjB,EAAA,CACJE,UAAWgB,EAAW,gBAAiBhB,GACvCiB,SAAU,MACVC,eAAgB,KAChBC,YAAa,OACT/B,EAAU,CACduB,MAAOA,GAAS,IAChBS,OAAQ,KAAK3B,SAEbC,EAACF,EAAQ,CAAAC,SAAA,CACNA,EACAiB,GAAenB,EAACa,EAAa,CAAA,QAItC,EAEAK,EAAaY,QAAUhB,EACvBI,EAAaa,OAASd"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{jsx as r}from"react/jsx-runtime";var s=function s(i){if(i.hidden){return null}return r("div",{className:e("page-fixed-footer",i.className),style:i.style,children:i.children})};export{s as P};
|
|
3
|
-
//# sourceMappingURL=page-fixed-footer-9ec2b46c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-fixed-footer-9ec2b46c.js","sources":["@flatbiz/antd/src/page-fixed-footer/page-fixed-footer.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { CSSProperties, ReactNode } from 'react';\nimport './style.less';\n\nexport type PageFixedFooterProps = {\n className?: string;\n style?: CSSProperties;\n children?: ReactNode | ReactNode[];\n hidden?: boolean;\n};\n\nexport const PageFixedFooter = (props: PageFixedFooterProps) => {\n if (props.hidden) {\n return null;\n }\n return (\n <div className={classNames('page-fixed-footer', props.className)} style={props.style}>\n {props.children}\n </div>\n );\n};\n"],"names":["PageFixedFooter","props","hidden","_jsx","className","_classNames","style","children"],"mappings":";sGAWaA,EAAkB,SAAlBA,EAAmBC,GAC9B,GAAIA,EAAMC,OAAQ,CAChB,OAAO,IACT,CACA,OACEC,EAAA,MAAA,CAAKC,UAAWC,EAAW,oBAAqBJ,EAAMG,WAAYE,MAAOL,EAAMK,MAAMC,SAClFN,EAAMM,UAGb"}
|
package/esm/page404-f087129a.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page404-f087129a.js","sources":["@flatbiz/antd/src/page404/page404.tsx"],"sourcesContent":["import { Result } from 'antd';\n\nexport type Page404Props = {\n message?: string;\n};\n\nexport const Page404 = (props: Page404Props) => {\n return <Result status=\"404\" title=\"404\" subTitle={props.message} />;\n};\n"],"names":["Page404","props","_jsx","Result","status","title","subTitle","message"],"mappings":";0EAMaA,EAAU,SAAVA,EAAWC,GACtB,OAAOC,EAACC,EAAM,CAACC,OAAO,MAAMC,MAAM,MAAMC,SAAUL,EAAMM,SAC1D"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{a as t}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{Select as e,Pagination as r}from"antd";import"react";import{jsx as n}from"react/jsx-runtime";var o=function r(o){return n(e,t({size:"small"},o,{placement:"topLeft"}))};o.Option=e.Option;e.Option;var i=function r(o){return n(e,t({size:"middle"},o,{placement:"topLeft"}))};i.Option=e.Option;var a=function e(a){var p=a.size==="small"?o:i;return n(r,t({},a,{selectComponentClass:p}))};export{a as P,o as S};
|
|
3
|
-
//# sourceMappingURL=pagination-0e66a3b5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-0e66a3b5.js","sources":["@flatbiz/antd/src/pagination-wrapper/select.tsx","@flatbiz/antd/src/pagination-wrapper/pagination.tsx"],"sourcesContent":["import { Select, SelectProps } from 'antd';\nimport * as React from 'react';\n\ntype CompoundedComponent = React.FC<SelectProps> & {\n Option: typeof Select.Option;\n};\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const SmallSelect: CompoundedComponent = (props) => (\n <Select size=\"small\" {...props} placement=\"topLeft\" />\n);\n\nSmallSelect.Option = Select.Option;\n\nexport const LargeSelect: CompoundedComponent = (props) => (\n <Select size=\"large\" {...props} placement=\"topLeft\" />\n);\n\nLargeSelect.Option = Select.Option;\n\nexport const MiddleSelect: CompoundedComponent = (props) => (\n <Select size=\"middle\" {...props} placement=\"topLeft\" />\n);\n\nMiddleSelect.Option = Select.Option;\n","import { Pagination, PaginationProps } from 'antd';\nimport { MiddleSelect, SmallSelect } from './select';\n\n/**\n * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框时,一直朝下\n * issues:https://github.com/ant-design/ant-design/issues/36866\n * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass\n * @param props\n * @returns\n */\nexport const PaginationWrapper = (props: PaginationProps) => {\n const selectComponentClass = props.size === 'small' ? SmallSelect : MiddleSelect;\n return <Pagination {...props} selectComponentClass={selectComponentClass} />;\n};\n"],"names":["SmallSelect","props","_jsx","Select","_extends","size","placement","Option","MiddleSelect","PaginationWrapper","selectComponentClass","Pagination"],"mappings":";oKAcaA,EAAmC,SAAnCA,EAAoCC,GAAK,OACpDC,EAACC,EAAMC,EAAA,CAACC,KAAK,SAAYJ,EAAK,CAAEK,UAAU,YAAY,EAGxDN,EAAYO,OAASJ,EAAOI,OAMPJ,EAAOI,OAErB,IAAMC,EAAoC,SAApCA,EAAqCP,GAAK,OACrDC,EAACC,EAAMC,EAAA,CAACC,KAAK,UAAaJ,EAAK,CAAEK,UAAU,YAAY,EAGzDE,EAAaD,OAASJ,EAAOI,WCpBhBE,EAAoB,SAApBA,EAAqBR,GAChC,IAAMS,EAAuBT,EAAMI,OAAS,QAAUL,EAAcQ,EACpE,OAAON,EAACS,EAAUP,KAAKH,EAAK,CAAES,qBAAsBA,IACtD"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{Fragment as r}from"react";import{f as e}from"./fba-utils-f9e11d02.js";import{jsx as i}from"react/jsx-runtime";var t=function t(n){var m=e.getPermissionList();if(!n.name||m.includes(n.name)){return i(r,{children:n.children})}return null};export{t as P};
|
|
3
|
-
//# sourceMappingURL=permission-17ed4d0b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permission-17ed4d0b.js","sources":["@flatbiz/antd/src/permission/permission.tsx"],"sourcesContent":["import { Fragment, ReactNode } from 'react';\nimport { fbaUtils } from '../fba-utils';\n\nexport interface PermissionProps {\n name?: string;\n children?: ReactNode | ReactNode[];\n}\nexport const Permission = (props: PermissionProps) => {\n const permissionList = fbaUtils.getPermissionList();\n if (!props.name || permissionList.includes(props.name)) {\n return <Fragment>{props.children}</Fragment>;\n }\n return null;\n};\n"],"names":["Permission","props","permissionList","fbaUtils","getPermissionList","name","includes","_jsx","Fragment","children"],"mappings":";yHAOaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAiBC,EAASC,oBAChC,IAAKH,EAAMI,MAAQH,EAAeI,SAASL,EAAMI,MAAO,CACtD,OAAOE,EAACC,EAAQ,CAAAC,SAAER,EAAMQ,UAC1B,CACA,OAAO,IACT"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{valueIsEqual as n}from"@flatbiz/utils";import{Space as e,Radio as r}from"antd";import{jsx as t}from"react/jsx-runtime";var a=function a(i){var u=function n(e){return new Promise((function(n,r){var t;t=e.target.value;if(i.onPreChange){return Promise.resolve(i.onPreChange(t)).then(function(n){try{return a.call(this)}catch(n){return r(n)}}.bind(this),r)}function a(){i.onChange==null?void 0:i.onChange(t);return n()}return a.call(this)}))};var o=function e(r){if(!i.isCancel)return;var t=r.target.value;if(n(i.value,t)){i.onChange==null?void 0:i.onChange(undefined)}};return t(e,{size:5,wrap:true,children:i.options.map((function(n){return t(r,{value:n.value,onClick:o,checked:i.value===n.value,onChange:u,disabled:i.disabled||n.disabled,children:n.label},n.value)}))})};export{a as R};
|
|
3
|
-
//# sourceMappingURL=radio-group-wrapper-b34746d1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group-wrapper-b34746d1.js","sources":["@flatbiz/antd/src/radio-group-wrapper/radio-group-wrapper.tsx"],"sourcesContent":["import { valueIsEqual } from '@flatbiz/utils';\nimport { Radio, Space } from 'antd';\nimport { ReactElement } from 'react';\n\nexport type RadioGroupWrapperValue<T extends string | number> = T;\n\nexport type RadioGroupWrapperOptionItem = {\n label: string | ReactElement;\n value: string | number;\n disabled?: boolean;\n};\n\nexport type CustomRadioGroupProps = {\n value?: RadioGroupWrapperValue<string | number>;\n onChange?: (value?: RadioGroupWrapperValue<string | number>) => void;\n onPreChange?: (value?: RadioGroupWrapperValue<string | number>) => Promise<void>;\n options: RadioGroupWrapperOptionItem[];\n /** 是否可取消选中,默认:false */\n isCancel?: boolean;\n disabled?: boolean;\n};\n\n/**\n * RadioGroupWrapper 为了解决 RadioGroup 组件不能取消选中问题\n * @param props\n * @returns\n */\nexport const RadioGroupWrapper = (props: CustomRadioGroupProps) => {\n const onChange = async (event) => {\n const value = event.target.value;\n if (props.onPreChange) {\n await props.onPreChange(value);\n }\n props.onChange?.(value);\n };\n const onClick = (event) => {\n if (!props.isCancel) return;\n const value = event.target.value;\n if (valueIsEqual(props.value, value)) {\n props.onChange?.(undefined);\n }\n };\n return (\n <Space size={5} wrap={true}>\n {props.options.map((item) => {\n return (\n <Radio\n value={item.value}\n onClick={onClick}\n checked={props.value === item.value}\n key={item.value}\n onChange={onChange}\n disabled={props.disabled || item.disabled}\n >\n {item.label}\n </Radio>\n );\n })}\n </Space>\n );\n};\n"],"names":["RadioGroupWrapper","props","onChange","event","Promise","$return","$error","value","target","onPreChange","resolve","then","$await_2","$If_1","call","this","$boundEx","bind","onClick","isCancel","valueIsEqual","undefined","_jsx","Space","size","wrap","children","options","map","item","Radio","checked","disabled","label"],"mappings":";kIA2BaA,EAAoB,SAApBA,EAAqBC,GAChC,IAAMC,EAAW,SAAXA,EAAkBC,GAAP,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IACTC,EAAAA,EAAQJ,EAAMK,OAAOD,MAC3B,GAAIN,EAAMQ,YAAa,CACrB,OAAAL,QAAAM,QAAMT,EAAMQ,YAAYF,IAAxBI,KA/BN,SAAAC,GAAA,IAAI,OAAJC,EAAGC,KAAQC,KAAF,CAAC,MAAAC,GAAW,OAAOV,EAAAU,EAAM,CAAC,EAAhCC,KAAKF,MAAKT,EAgCT,CAAC,SAAAO,IACDZ,EAAMC,UAAND,UAAAA,EAAAA,EAAMC,SAAWK,GAAO,OAAAF,GAAA,CAAA,OAjC5BQ,EAAGC,KAAQC,KAAA,GAkCR,EACD,IAAMG,EAAU,SAAVA,EAAWf,GACf,IAAKF,EAAMkB,SAAU,OACrB,IAAMZ,EAAQJ,EAAMK,OAAOD,MAC3B,GAAIa,EAAanB,EAAMM,MAAOA,GAAQ,CACpCN,EAAMC,UAAND,UAAAA,EAAAA,EAAMC,SAAWmB,UACnB,GAEF,OACEC,EAACC,EAAK,CAACC,KAAM,EAAGC,KAAM,KAAKC,SACxBzB,EAAM0B,QAAQC,KAAI,SAACC,GAClB,OACEP,EAACQ,EAAK,CACJvB,MAAOsB,EAAKtB,MACZW,QAASA,EACTa,QAAS9B,EAAMM,QAAUsB,EAAKtB,MAE9BL,SAAUA,EACV8B,SAAU/B,EAAM+B,UAAYH,EAAKG,SAASN,SAEzCG,EAAKI,OAJDJ,EAAKtB,WAUtB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{hooks as e}from"@wove/react/cjs/hooks";import{a as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{Tag as r,Empty as t,Form as l}from"antd";import{useState as a,createElement as o,Fragment as c}from"react";import{fbaHooks as d}from"./fba-hooks/index.js";import{jsxs as s,jsx as u}from"react/jsx-runtime";var m=function e(n){var t;var l={"--relation-tagline-width":(n.tagLineWidth||40)+"px","--relation-group-indent-width":(n.indentWidth||80)+"px","--relation-tag-width":(n.tagWidth||26)+"px","--relation-line-color":""+(n.lineColor||"#fda148")};var a=i("relation-list",{"relation-list-only-one":n.onlyOne,"relation-list-only-no-main-one":n.onlyOne},n.className);var o=n.solt1,c=n.solt2;return s("div",{className:a,style:l,children:[o?s("div",{className:"relation-list-solt1",children:[u("div",{className:"relation-list-line"}),u("div",{className:"relation-list-label",children:n.label}),n.tagName?u(r,{className:"relation-item-tag",color:n.tagColor||"#fecd96",onClick:(t=n.onTagClick)==null?void 0:t.bind(null,n.tagName),children:n.tagName}):null,o()]}):null,c?u("div",{className:"relation-list-solt2",children:c()}):null]})};var f=function e(n){return u("div",{className:i("relation-group-list",n.className),children:n.children})};var h=function e(n){var r=i("relation-item",{"relation-item-line":true,"relation-item-first":n.isFirst,"relation-item-last":n.isLast,"relation-item-only-one":n.onlyOne});return u("div",{className:r,style:n.style,children:n.children})};var v=function e(n,i){var r;if(n.uid===i){n["_delete"]=true}n==null?void 0:(r=n.relationList)==null?void 0:r.forEach((function(r){var t,l;if(r.uid===i||((t=r.customData)==null?void 0:t.uid)===i){r["_delete"]=true;if(n.relationList.length===1){n["_delete"]=true}}(l=r.children)==null?void 0:l.forEach((function(n){e(n,i)}))}))};var g=function e(n){n.relationList=n.relationList||[];n.relationList=n.relationList.filter((function(e){return!e["_delete"]}));n.relationList.forEach((function(n){n.children=n.children||[];n.children=n.children.filter((function(e){return!e["_delete"]}));n.children.forEach((function(n){e(n)}))}));n.relationList=n.relationList.filter((function(e){if(!e.customData&&!e.children){return false}if(!e.customData&&(!e.children||e.children.length===0)){return false}return true}))};var p=function e(n){var r=n.relationItem;var t=n.dataSource;var a=n.index;if(r.customData&&r.children&&r.children.length>0){var o;return s(c,{children:[u(h,{isFirst:a===0,isLast:a===t.relationList.length-1,onlyOne:n.onlyOne,children:n.relationItemRender(r.customData,r.extraData)}),u(f,{children:(o=r.children)==null?void 0:o.map((function(e){return u(C,{dataSource:e,relationItemRender:n.relationItemRender,relationProps:n.relationProps,onTagClick:n.onTagClick,className:n.className},e.uid)}))})]},r.uid)}if(r.children&&r.children.length>0){var d;return u("div",{className:i("form-list-no-main-group",{"form-list-no-main-group":a===0}),children:(d=r.children)==null?void 0:d.map((function(e){return u(C,{dataSource:e,relationItemRender:n.relationItemRender,className:i("form-list-no-main",{"form-list-no-main-first":a===0,"form-list-no-main-last":a===t.relationList.length-1}),relationProps:n.relationProps,onTagClick:n.onTagClick},e.uid)}))},r.uid)}if(r.customData){return u(h,{isFirst:a===0,isLast:a===t.relationList.length-1,onlyOne:n.onlyOne,children:u(l,{component:false,children:n.relationItemRender(r.customData,r.extraData)})},r.uid)}return null};var C=function e(i){var r=i.dataSource;var t=r.relationList||[];var l=t[t.length-1];var a=t.length>0&&l.customData&&l.children&&l.children.length>0;var d=t.length==1;return o(m,n({},i.relationProps,{tagName:r.tagName,key:r.uid,onlyOne:d,label:r.label,className:i.className,onTagClick:function e(){i.onTagClick==null?void 0:i.onTagClick(r.uid,r.extraData)},solt1:function e(){return u(c,{children:t.map((function(e,r){var l=a&&r===t.length-1;return u(p,{dataSource:i.dataSource,relationItemRender:i.relationItemRender,relationProps:i.relationProps,onTagClick:i.onTagClick,relationItem:l?n({},e,{children:undefined}):e,index:r,onlyOne:d},r)}))})},solt2:function n(){if(a&&l.children&&l.children.length>0){return u(f,{children:l.children.map((function(n){return u(e,{dataSource:n,relationItemRender:i.relationItemRender,relationProps:i.relationProps,onTagClick:i.onTagClick},n.uid)}))},l.uid)}return null}}))};var N=function r(l){var o=a(),c=o[0],s=o[1];d.useEffectCustom((function(){s(l.dataSource)}),[l.dataSource]);var m=e.useCallbackRef((function(e,i,r){if(e){e[i]=r;l.onChange==null?void 0:l.onChange(n({},c))}}));var f=function e(n,i){for(var r=0;r<n.length;r++){var t=n[r];for(var l=0;l<t.relationList.length;l++){var a;var o=t.relationList[l];if(((a=o.customData)==null?void 0:a.uid)===i){return{relationTree:t,index:l,element:o}}else if(o.children){var c=e(o.children,i);if(c){return c}}}}return null};var h=e.useCallbackRef((function(e,n){var i;if(!c)return;var r=f([c],e.uid);if((i=r.relationTree)!=null&&i.relationList){var t;(t=r.relationTree)==null?void 0:t.relationList.splice(r.index+1,0,n);l.onChange==null?void 0:l.onChange(c)}}));var p=e.useCallbackRef((function(e,n){if(!c)return;var i=f([c],e.uid);if(i.element){i.element.children=(i.element.children||[]).concat(n);l.onChange==null?void 0:l.onChange(c)}}));var N=e.useCallbackRef((function(e){if(!c)return;v(c,e);if(c["_delete"]){l.onChange==null?void 0:l.onChange(undefined)}else{g(c);l.onChange==null?void 0:l.onChange(c)}}));if(!c)return u(t,{description:"暂无数据"});return u("div",{className:i("relation-tree",l.className),children:u(C,{dataSource:c,relationProps:l.relationProps,onTagClick:l.onTagClick,relationItemRender:function e(n,i){return l.children(n,{add:h,addChildren:p,remove:N,onChange:m.bind(null,n)},i)}})})};export{N as R};
|
|
3
|
-
//# sourceMappingURL=relation-tree-7bec12bd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relation-tree-7bec12bd.js","sources":["@flatbiz/antd/src/relation-tree/compts/relation.tsx","@flatbiz/antd/src/relation-tree/compts/relation-group-list.tsx","@flatbiz/antd/src/relation-tree/compts/relation-item.tsx","@flatbiz/antd/src/relation-tree/utils.ts","@flatbiz/antd/src/relation-tree/relation-tree.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Tag } from 'antd';\nimport { CSSProperties } from 'react';\nimport { RelationProps } from '../type';\n\nexport const Relation = (props: RelationProps) => {\n const style = {\n '--relation-tagline-width': `${props.tagLineWidth || 40}px`,\n '--relation-group-indent-width': `${props.indentWidth || 80}px`,\n '--relation-tag-width': `${props.tagWidth || 26}px`,\n '--relation-line-color': `${props.lineColor || '#fda148'}`,\n } as CSSProperties;\n\n const className = classNames(\n 'relation-list',\n { 'relation-list-only-one': props.onlyOne, 'relation-list-only-no-main-one': props.onlyOne },\n props.className,\n );\n const { solt1, solt2 } = props;\n\n return (\n <div className={className} style={style}>\n {solt1 ? (\n <div className=\"relation-list-solt1\">\n <div className=\"relation-list-line\"></div>\n <div className=\"relation-list-label\">{props.label}</div>\n\n {props.tagName ? (\n <Tag\n className=\"relation-item-tag\"\n color={props.tagColor || '#fecd96'}\n onClick={props.onTagClick?.bind(null, props.tagName)}\n >\n {props.tagName}\n </Tag>\n ) : null}\n {solt1()}\n </div>\n ) : null}\n {solt2 ? <div className=\"relation-list-solt2\">{solt2()}</div> : null}\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { ReactElement } from 'react';\n\nexport type RelationGroupListProps = {\n children: ReactElement | ReactElement[] | null;\n className?: string;\n};\n\nexport const RelationGroupList = (props: RelationGroupListProps) => {\n return <div className={classNames('relation-group-list', props.className)}>{props.children}</div>;\n};\n","import { classNames } from '@dimjs/utils';\nimport { CSSProperties, ReactElement } from 'react';\n\nexport type RelationItemProps = {\n children: ReactElement | null | Array<ReactElement | null>;\n className?: string;\n style?: CSSProperties;\n isFirst?: boolean;\n isLast?: boolean;\n onlyOne?: boolean;\n};\n\nexport const RelationItem = (props: RelationItemProps) => {\n const className = classNames('relation-item', {\n 'relation-item-line': true,\n 'relation-item-first': props.isFirst,\n 'relation-item-last': props.isLast,\n 'relation-item-only-one': props.onlyOne,\n });\n\n return (\n <div className={className} style={props.style}>\n {props.children}\n </div>\n );\n};\n","import { TRelationTreeData } from './type';\n\nexport const deleteLoop = (data: TRelationTreeData, uid: string) => {\n if (data.uid === uid) {\n data['_delete'] = true;\n }\n data?.relationList?.forEach((item) => {\n if (item.uid === uid || item.customData?.uid === uid) {\n item['_delete'] = true;\n if (data.relationList.length === 1) {\n data['_delete'] = true;\n }\n }\n\n item.children?.forEach((innerItem) => {\n deleteLoop(innerItem, uid);\n });\n });\n};\n\nexport const filterSurplusData = (data: TRelationTreeData) => {\n data.relationList = data.relationList || [];\n data.relationList = data.relationList.filter((item) => !item['_delete']);\n\n data.relationList.forEach((item) => {\n item.children = item.children || [];\n item.children = item.children.filter((item) => !item['_delete']);\n\n item.children.forEach((innerItem) => {\n filterSurplusData(innerItem);\n });\n });\n\n data.relationList = data.relationList.filter((item) => {\n if (!item.customData && !item.children) {\n return false;\n }\n if (!item.customData && (!item.children || item.children.length === 0)) {\n return false;\n }\n return true;\n });\n};\n","import { classNames } from '@dimjs/utils';\nimport { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Empty, Form } from 'antd';\nimport { Fragment, ReactElement, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { Relation } from './compts/relation';\nimport { RelationGroupList } from './compts/relation-group-list';\nimport { RelationItem } from './compts/relation-item';\nimport './style.less';\n\nimport {\n RelationTreeProps,\n TRelationTreeCustomData,\n TRelationTreeData,\n TRelationTreeRelationItem,\n} from './type';\nimport { deleteLoop, filterSurplusData } from './utils';\n\ntype TRelationTreeLoop = {\n dataSource: TRelationTreeData;\n relationItemRender: (data: TRelationTreeCustomData, extraData?: TPlainObject) => ReactElement;\n className?: string;\n relationProps?: RelationTreeProps['relationProps'];\n onTagClick?: RelationTreeProps['onTagClick'];\n};\n\ntype RelationItemRenderProps = TRelationTreeLoop & {\n relationItem: TRelationTreeRelationItem;\n index: number;\n onlyOne?: boolean;\n};\n\nconst RelationItemRender = (props: RelationItemRenderProps) => {\n const relationItem = props.relationItem;\n const dataSource = props.dataSource;\n const index = props.index;\n\n if (relationItem.customData && relationItem.children && relationItem.children.length > 0) {\n return (\n <Fragment key={relationItem.uid}>\n <RelationItem\n isFirst={index === 0}\n isLast={index === dataSource.relationList.length - 1}\n onlyOne={props.onlyOne}\n >\n {props.relationItemRender(relationItem.customData, relationItem.extraData)}\n </RelationItem>\n <RelationGroupList>\n {relationItem.children?.map((innerItem) => {\n return (\n <RelationTreeLoop\n dataSource={innerItem}\n relationItemRender={props.relationItemRender}\n key={innerItem.uid}\n relationProps={props.relationProps}\n onTagClick={props.onTagClick}\n className={props.className}\n />\n );\n })}\n </RelationGroupList>\n </Fragment>\n );\n }\n if (relationItem.children && relationItem.children.length > 0) {\n return (\n <div\n className={classNames('form-list-no-main-group', { 'form-list-no-main-group': index === 0 })}\n key={relationItem.uid}\n >\n {relationItem.children?.map((innerItem) => {\n return (\n <RelationTreeLoop\n dataSource={innerItem}\n relationItemRender={props.relationItemRender}\n key={innerItem.uid}\n className={classNames('form-list-no-main', {\n 'form-list-no-main-first': index === 0,\n 'form-list-no-main-last': index === dataSource.relationList.length - 1,\n })}\n relationProps={props.relationProps}\n onTagClick={props.onTagClick}\n />\n );\n })}\n </div>\n );\n }\n if (relationItem.customData) {\n return (\n <RelationItem\n key={relationItem.uid}\n isFirst={index === 0}\n isLast={index === dataSource.relationList.length - 1}\n onlyOne={props.onlyOne}\n >\n <Form component={false}>\n {props.relationItemRender(relationItem.customData, relationItem.extraData)}\n </Form>\n </RelationItem>\n );\n }\n return null;\n};\n\nconst RelationTreeLoop = (props: TRelationTreeLoop) => {\n const dataSource = props.dataSource;\n const relationList = dataSource.relationList || [];\n\n const lastRelationItem = relationList[relationList.length - 1];\n const hasSolt2 =\n relationList.length > 0 &&\n lastRelationItem.customData &&\n lastRelationItem.children &&\n lastRelationItem.children.length > 0;\n const onlyOne = relationList.length == 1;\n // const onlyNoMainOne =\n // onlyOne && !relationList[0].customData && toArray(relationList[0].children).length === 1;\n return (\n <Relation\n {...props.relationProps}\n tagName={dataSource.tagName}\n key={dataSource.uid}\n onlyOne={onlyOne}\n label={dataSource.label}\n className={props.className}\n onTagClick={() => {\n props.onTagClick?.(dataSource.uid, dataSource.extraData);\n }}\n solt1={() => {\n return (\n <Fragment>\n {relationList.map((relationItem, index) => {\n const flat = hasSolt2 && index === relationList.length - 1;\n return (\n <RelationItemRender\n key={index}\n dataSource={props.dataSource}\n relationItemRender={props.relationItemRender}\n relationProps={props.relationProps}\n onTagClick={props.onTagClick}\n relationItem={\n flat\n ? {\n ...relationItem,\n children: undefined,\n }\n : relationItem\n }\n index={index}\n onlyOne={onlyOne}\n />\n );\n })}\n </Fragment>\n );\n }}\n solt2={() => {\n // 渲染最后一个relation item的children list数据\n if (hasSolt2 && lastRelationItem.children && lastRelationItem.children.length > 0) {\n return (\n <RelationGroupList key={lastRelationItem.uid}>\n {lastRelationItem.children.map((innerItem) => {\n return (\n <RelationTreeLoop\n dataSource={innerItem}\n relationItemRender={props.relationItemRender}\n key={innerItem.uid}\n relationProps={props.relationProps}\n onTagClick={props.onTagClick}\n />\n );\n })}\n </RelationGroupList>\n );\n }\n return null;\n }}\n ></Relation>\n );\n};\n\nexport const RelationTree = (props: RelationTreeProps) => {\n const [dataSource, setDataSource] = useState<TRelationTreeData>();\n\n fbaHooks.useEffectCustom(() => {\n setDataSource(props.dataSource);\n }, [props.dataSource]);\n\n const onRelationItemContentChange = hooks.useCallbackRef((data: TRelationTreeCustomData, name, value) => {\n if (data) {\n data[name] = value;\n props.onChange?.({ ...dataSource } as TRelationTreeData);\n }\n });\n\n const getTargetRelationList = (relationTreeList: TRelationTreeData[], uid: string) => {\n for (let index = 0; index < relationTreeList.length; index++) {\n const relationTree = relationTreeList[index];\n for (let innerIndex = 0; innerIndex < relationTree.relationList.length; innerIndex++) {\n const element = relationTree.relationList[innerIndex];\n if (element.customData?.uid === uid) {\n return {\n relationTree,\n index: innerIndex,\n element: element,\n };\n } else if (element.children) {\n const result = getTargetRelationList(element.children, uid);\n if (result) {\n return result;\n }\n }\n }\n }\n return null;\n };\n\n const onAdd = hooks.useCallbackRef(\n (data: TRelationTreeCustomData, initialData: TRelationTreeRelationItem) => {\n if (!dataSource) return;\n const result = getTargetRelationList([dataSource], data.uid);\n if (result.relationTree?.relationList) {\n result.relationTree?.relationList.splice((result.index as number) + 1, 0, initialData);\n props.onChange?.(dataSource);\n }\n },\n );\n const addChildren = hooks.useCallbackRef(\n (data: TRelationTreeCustomData, initialData: TRelationTreeData) => {\n if (!dataSource) return;\n const result = getTargetRelationList([dataSource], data.uid);\n if (result.element) {\n result.element.children = (result.element.children || []).concat(initialData);\n props.onChange?.(dataSource);\n }\n },\n );\n\n const onRemove = hooks.useCallbackRef((uid: string) => {\n if (!dataSource) return;\n deleteLoop(dataSource, uid);\n if (dataSource['_delete']) {\n props.onChange?.(undefined);\n } else {\n filterSurplusData(dataSource);\n props.onChange?.(dataSource);\n }\n });\n\n if (!dataSource) return <Empty description=\"暂无数据\"></Empty>;\n\n return (\n <div className={classNames('relation-tree', props.className)}>\n <RelationTreeLoop\n dataSource={dataSource}\n relationProps={props.relationProps}\n onTagClick={props.onTagClick}\n relationItemRender={(data, extraData) => {\n return props.children(\n data,\n {\n add: onAdd,\n addChildren: addChildren,\n remove: onRemove,\n onChange: onRelationItemContentChange.bind(null, data),\n },\n extraData,\n );\n }}\n />\n </div>\n );\n};\n"],"names":["Relation","props","_props$onTagClick","style","tagLineWidth","indentWidth","tagWidth","lineColor","className","_classNames","onlyOne","solt1","solt2","_jsxs","children","_jsx","label","tagName","Tag","color","tagColor","onClick","onTagClick","bind","RelationGroupList","RelationItem","isFirst","isLast","deleteLoop","data","uid","_data$relationList","relationList","forEach","item","_item$customData","_item$children","customData","length","innerItem","filterSurplusData","filter","RelationItemRender","relationItem","dataSource","index","_relationItem$childre","Fragment","relationItemRender","extraData","map","RelationTreeLoop","relationProps","_relationItem$childre2","Form","component","lastRelationItem","hasSolt2","_createElement","_extends","key","flat","undefined","RelationTree","_useState","useState","setDataSource","fbaHooks","useEffectCustom","onRelationItemContentChange","_hooks","useCallbackRef","name","value","onChange","getTargetRelationList","relationTreeList","relationTree","innerIndex","_element$customData","element","result","onAdd","initialData","_result$relationTree","_result$relationTree2","splice","addChildren","concat","onRemove","Empty","description","add","remove"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{extend as r}from"@dimjs/utils/cjs/extend";import{valueIsEqual as e}from"@flatbiz/utils";import{Empty as s,Spin as t}from"antd";import{useMemo as i}from"react";import{jsxs as u,jsx as n}from"react/jsx-runtime";var o=function o(a){var m=r({"request-success":"暂无数据","request-progress":"数据查询中","request-error":"数据查询异常","request-init":"暂无数据","no-dependencies-params":"未获取到依赖查询条件"},a.messageConfig);var c=i((function(){if(a.status&&e(a.status,["request-success","request-progress","request-error","no-dependencies-params"])){return m[a.status]}return m["request-init"]}),[m,a.status]);return u(s,{image:s.PRESENTED_IMAGE_SIMPLE,description:c,className:"v-request-status",children:[n(t,{spinning:a.loading||false}),a.status==="request-error"&&a.errorButton]})};export{o as R};
|
|
3
|
-
//# sourceMappingURL=request-status-03fc60e2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request-status-03fc60e2.js","sources":["@flatbiz/antd/src/request-status/request-status.tsx"],"sourcesContent":["import { extend } from '@dimjs/utils';\nimport { valueIsEqual } from '@flatbiz/utils';\nimport { Empty, Spin } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport './style.less';\n\nexport type TRequestStatus =\n | 'request-init'\n | 'request-progress'\n | 'request-success'\n | 'request-error'\n | 'no-dependencies-params';\nexport type TRequestStatusProps = {\n status?: TRequestStatus;\n errorButton?: ReactElement;\n messageConfig?: Partial<Record<TRequestStatus, string>>;\n loading?: boolean;\n};\nexport const RequestStatus = (props: TRequestStatusProps) => {\n const messageConfig = extend(\n {\n 'request-success': '暂无数据',\n 'request-progress': '数据查询中',\n 'request-error': '数据查询异常',\n 'request-init': '暂无数据',\n 'no-dependencies-params': '未获取到依赖查询条件',\n },\n props.messageConfig,\n );\n const description = useMemo(() => {\n if (\n props.status &&\n valueIsEqual(props.status, [\n 'request-success',\n 'request-progress',\n 'request-error',\n 'no-dependencies-params',\n ])\n ) {\n return messageConfig[props.status];\n }\n return messageConfig['request-init'];\n }, [messageConfig, props.status]);\n return (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} description={description} className={'v-request-status'}>\n <Spin spinning={props.loading || false}></Spin>\n {props.status === 'request-error' && props.errorButton}\n </Empty>\n );\n};\n"],"names":["RequestStatus","props","messageConfig","_extend","description","useMemo","status","valueIsEqual","_jsxs","Empty","image","PRESENTED_IMAGE_SIMPLE","className","children","_jsx","Spin","spinning","loading","errorButton"],"mappings":";4NAkBaA,EAAgB,SAAhBA,EAAiBC,GAC5B,IAAMC,EAAgBC,EACpB,CACE,kBAAmB,OACnB,mBAAoB,QACpB,gBAAiB,SACjB,eAAgB,OAChB,yBAA0B,cAE5BF,EAAMC,eAER,IAAME,EAAcC,GAAQ,WAC1B,GACEJ,EAAMK,QACNC,EAAaN,EAAMK,OAAQ,CACzB,kBACA,mBACA,gBACA,2BAEF,CACA,OAAOJ,EAAcD,EAAMK,OAC7B,CACA,OAAOJ,EAAc,eACtB,GAAE,CAACA,EAAeD,EAAMK,SACzB,OACEE,EAACC,EAAK,CAACC,MAAOD,EAAME,uBAAwBP,YAAaA,EAAaQ,UAAW,mBAAmBC,SAAA,CAClGC,EAACC,EAAI,CAACC,SAAUf,EAAMgB,SAAW,QAChChB,EAAMK,SAAW,iBAAmBL,EAAMiB,cAGjD"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{_ as e,a as n}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{classNames as t}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{Editor as i}from"@tinymce/tinymce-react";import{useKeyPress as o}from"ahooks";import{Fragment as a,useRef as l,useState as s}from"react";import c from"@ant-design/icons/es/icons/PlusCircleOutlined";import{Image as u}from"antd";import{d as m}from"./dynamic-node-c7864af4.js";import{fbaHooks as d}from"./fba-hooks/index.js";import{jsx as f,Fragment as v,jsxs as p}from"react/jsx-runtime";var g=function e(n){var t=n.visible,r=n.url;d.useEffectCustom((function(){if(t){m.append({content:f(c,{onClick:n.close,className:"preview-image-popup-close",twoToneColor:"#1890ff"})})}else{m.remove()}}),[t]);if(!r)return f(v,{});return f(a,{children:f(u,{style:{left:"100px"},preview:{className:"preview-image-popup",maskStyle:{backgroundColor:"rgba(0,0,0,0.85)"},visible:t,src:r,onVisibleChange:function e(){n.close()}}},r)})};var h=["onUploadImage","onChange","className"];var y=function a(c){var u,m,d,v;var y=c.onUploadImage,b=c.onChange,C=c.className,k=e(c,h);var x=l(null);var w=s(""),_=w[0],j=w[1];var E=((u=c.init)==null?void 0:u.img_ratio)||[{min:0,max:1e3,ratio:.5},{min:1e3,ratio:.3}];o((function(){return true}),(function(e){try{if(e.type==="keyup"&&e.key==="Escape"){var n;var t=(n=x.current)==null?void 0:n.editorContainer.classList.contains("tox-fullscreen");if(t){var r;(r=x.current)==null?void 0:r.editorCommands.execCommand("mceFullScreen")}}}catch(e){}}),{events:["keydown","keyup"]});var I=r.useCallbackRef((function(e,n){try{if(e.keyCode==27){var t;var r=(t=x.current)==null?void 0:t.editorContainer.classList.contains("tox-fullscreen");if(r){var i;(i=x.current)==null?void 0:i.editorCommands.execCommand("mceFullScreen")}}}catch(e){}c.onKeyDown==null?void 0:c.onKeyDown(e,n)}));var N=r.useCallbackRef((function(e,n){x.current=n;try{var t,r;(t=n.iframeElement)==null?void 0:(r=t.contentDocument)==null?void 0:r.addEventListener("click",(function(e){var n;if(c.imgPreview&&((n=e.target)==null?void 0:n["tagName"])==="IMG"){j(e.target["src"])}}),true)}catch(e){}k.onInit==null?void 0:k.onInit(e,n)}));var P=r.useCallbackRef((function(e,n){x.current=n;k.onEditorChange==null?void 0:k.onEditorChange(e,n);b==null?void 0:b(e)}));var R="https://file.40017.cn/tcsk/tinymce@6.4.1";var S=function e(n){if(E.length===0)return 1;for(var t=0;t<E.length;t++){var r=E[t];if(r.max){if(n>=r.min&&n<=r.max)return r.ratio}else{if(n>=r.min)return r.ratio}}return 1};var z=r.useCallbackRef((function(e,n){try{var t=n.node.children||[];if(t.length===1&&t[0].nodeName==="IMG"){t[0].setAttribute("style","display:none");var r=document.createElement("img");r.src=t[0].getAttribute("src");r.onload=function(){var n=S(r.width);e.execCommand("mceInsertContent",true,'<img src="'+r.src+'" width="'+r.width*n+'" height="'+r.height*n+'" />')}}}catch(e){}}));return p("div",{className:t("v-editor-wrapper",C),children:[f(i,n({tinymceScriptSrc:R+"/tinymce.min.js"},k,{onInit:N,onKeyDown:I,onEditorChange:P,init:n({promotion:false,language:"zh-Hans",height:500,paste_data_images:y?true:false,paste_postprocess:z,autosave_ask_before_unload:false,base_url:R,autoresize_bottom_margin:0,images_upload_handler:function e(n){return new Promise((function(e,t){var r,i,o;var a=function(n){try{return e(Promise.reject((n==null?void 0:n.message)||"图片上传异常"))}catch(e){return t(e)}};try{r=n.blob();i=new File([r],r.name,{type:r.type});return Promise.resolve(y==null?void 0:y(i)).then((function(n){try{o=n;return e(Promise.resolve(o))}catch(e){return a(e)}}),a)}catch(e){a(e)}}))},plugins:"lists link image advlist charmap preview fullscreen code table help codesample "+(((m=c.init)==null?void 0:m.plugins_append)||""),toolbar:"undo redo fullscreen preview | bold italic underline strikethrough |"+"fontsize blocks |"+"forecolor backcolor removeformat |"+"numlist bullist advlist |"+"alignleft aligncenter alignright alignjustify |"+"outdent indent |"+"hr image link code codesample |"+(((d=c.init)==null?void 0:d.toolbar_append)||""),font_size_formats:"8px 10px 12px 14px 16px 18px 24px 36px 48px"},c.init,{content_style:"img {max-width:100%;} table{width:100%} "+((v=c.init)==null?void 0:v.content_style)})})),f(g,{visible:!!_,url:_,close:function e(){j("")}})]})};export{y as R};
|
|
3
|
-
//# sourceMappingURL=rich-text-editor-213daa34.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor-213daa34.js","sources":["@flatbiz/antd/src/rich-text-editor/preview/preview.tsx","@flatbiz/antd/src/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import { PlusCircleOutlined } from '@ant-design/icons';\nimport { Image } from 'antd';\nimport { Fragment } from 'react';\nimport { dynamicNode } from '../../dynamic-node';\nimport { fbaHooks } from '../../fba-hooks';\nimport './preview.less';\n\nexport const Preview = (props) => {\n const { visible, url } = props;\n\n fbaHooks.useEffectCustom(() => {\n if (visible) {\n dynamicNode.append({\n content: (\n <PlusCircleOutlined\n onClick={props.close}\n className=\"preview-image-popup-close\"\n twoToneColor=\"#1890ff\"\n />\n ),\n });\n } else {\n dynamicNode.remove();\n }\n }, [visible]);\n\n if (!url) return <></>;\n\n return (\n <Fragment>\n <Image\n key={url}\n style={{ left: '100px' }}\n preview={{\n className: 'preview-image-popup',\n maskStyle: { backgroundColor: 'rgba(0,0,0,0.85)' },\n visible,\n src: url,\n onVisibleChange: () => {\n props.close();\n },\n }}\n />\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Editor, IAllProps } from '@tinymce/tinymce-react';\nimport { hooks } from '@wove/react';\nimport { useKeyPress } from 'ahooks';\nimport { useRef, useState } from 'react';\nimport { Editor as TinyMCEEditor } from 'tinymce';\nimport { Preview } from './preview';\nimport './style.less';\n\nexport interface RichTextEditorProps extends Omit<IAllProps, 'onChange' | 'init'> {\n onChange?: (data?: string) => void;\n // value?: string;\n /** 上传图片服务 */\n onUploadImage?: (file: File) => Promise<string>;\n className?: string;\n /** 图片点击预览 */\n imgPreview?: boolean;\n init?: IAllProps['init'] & {\n /**\n * 通过粘贴图片创建的img标签,显示压缩比例,此处min、max是和指图片宽度\n * 1. 默认值:[{ min: 0, max: 1000, ratio: 0.5 }, { min: 1000, ratio: 0.3 }]\n */\n img_ratio?: { min: number; max?: number; ratio: number }[];\n /** 插件添加;自定义plugins后失效 */\n plugins_append?: string;\n /** 工具栏添加;自定义toolbar后失效 */\n toolbar_append?: string;\n };\n}\n\n/**\n * 富文本编辑器,配置参考tinymce https://www.tiny.cloud/docs/tinymce/6\n * @param props\n * @returns\n * ```\n * 1. 如果需要粘贴上传图片服务,需要提供 onUploadImage 上传图片接口\n * 2. 获取富文本实例,通过onInit(_, editor)函数获取\n * 3. 预览富文本数据,使用 RichTextViewer 组件\n * 4. 添加其他插件使用方式,配置 init.plugins_append、init.toolbar_append\n * <RichTextEditor init={{ plugins_append: 'codesample', toolbar_append: 'codesample' }} />\n * 5. 可通过设置 init.plugins、init.toolbar 完全自定义插件、工具栏\n * 6. 其他插件\n * emoticons 表情插件\n * 7. 可通过设置 init.img_ratio 设置通过粘贴上传的图片压缩显示比例\n * 默认比例:[{ min: 0, max: 1000, ratio: 0.5 }, { min: 1000, ratio: 0.3 }]\n * ```\n */\nexport const RichTextEditor = (props: RichTextEditorProps) => {\n const { onUploadImage, onChange, className, ...otherProps } = props;\n\n const editorRef = useRef<TAny>(null);\n const [previewUrl, setPreviewUrl] = useState('');\n const imgRatio = props.init?.img_ratio || [\n { min: 0, max: 1000, ratio: 0.5 },\n { min: 1000, ratio: 0.3 },\n ];\n\n // const varStyleString = useMemo(() => {\n // const merge = { ...defaultVarStyle, ...props.varStyle };\n // let varStyleString = '';\n // Object.keys(merge).map((key) => {\n // varStyleString += `${key}:${merge[key]};`;\n // });\n // return varStyleString;\n // }, [props.varStyle]);\n\n useKeyPress(\n () => true,\n (event) => {\n try {\n if (event.type === 'keyup' && event.key === 'Escape') {\n const isFull = editorRef.current?.editorContainer.classList.contains('tox-fullscreen');\n if (isFull) {\n editorRef.current?.editorCommands.execCommand('mceFullScreen');\n }\n }\n } catch (error) {\n // 异常不处理\n }\n },\n {\n events: ['keydown', 'keyup'],\n },\n );\n\n const onKeyDown = hooks.useCallbackRef((event, editor: TinyMCEEditor) => {\n try {\n if (event.keyCode == 27) {\n const isFull = editorRef.current?.editorContainer.classList.contains('tox-fullscreen');\n if (isFull) {\n editorRef.current?.editorCommands.execCommand('mceFullScreen');\n }\n }\n } catch (error) {\n // 异常不处理\n }\n props.onKeyDown?.(event, editor);\n });\n\n const onInit = hooks.useCallbackRef((_, editor: TinyMCEEditor) => {\n editorRef.current = editor;\n try {\n editor.iframeElement?.contentDocument?.addEventListener(\n 'click',\n (event) => {\n if (props.imgPreview && event.target?.['tagName'] === 'IMG') {\n setPreviewUrl(event.target['src']);\n }\n },\n true,\n );\n } catch (error) {\n //\n }\n otherProps.onInit?.(_, editor);\n });\n\n const onEditorChange = hooks.useCallbackRef((a: string, editor: TinyMCEEditor) => {\n editorRef.current = editor;\n otherProps.onEditorChange?.(a, editor);\n onChange?.(a);\n });\n\n const tinymceBaseUrl = 'https://file.40017.cn/tcsk/tinymce@6.4.1';\n\n const getImgRatio = (width: number) => {\n if (imgRatio.length === 0) return 1;\n for (let index = 0; index < imgRatio.length; index++) {\n const element = imgRatio[index];\n if (element.max) {\n if (width >= element.min && width <= element.max) return element.ratio;\n } else {\n if (width >= element.min) return element.ratio;\n }\n }\n return 1;\n };\n\n const paste_postprocess = hooks.useCallbackRef((editor, args) => {\n try {\n const nodes = (args.node.children || []) as unknown as HTMLElement[];\n if (nodes.length === 1 && nodes[0].nodeName === 'IMG') {\n nodes[0].setAttribute('style', `display:none`);\n const img = document.createElement('img');\n img.src = nodes[0].getAttribute('src') as string;\n img.onload = () => {\n const ratio = getImgRatio(img.width);\n editor.execCommand(\n 'mceInsertContent',\n true,\n `<img src=\"${img.src}\" width=\"${img.width * ratio}\" height=\"${img.height * ratio}\" />`,\n );\n };\n }\n } catch (error) {}\n });\n\n return (\n <div className={classNames('v-editor-wrapper', className)}>\n <Editor\n // apiKey=\"ds6j8so4g3d2cycidbhgkds36q0phy1uqd9jd8bot91sfe5l\"\n tinymceScriptSrc={`${tinymceBaseUrl}/tinymce.min.js`}\n {...otherProps}\n onInit={onInit}\n onKeyDown={onKeyDown}\n onEditorChange={onEditorChange}\n init={{\n promotion: false,\n language: 'zh-Hans',\n height: 500,\n paste_data_images: onUploadImage ? true : false,\n paste_postprocess,\n autosave_ask_before_unload: false,\n base_url: tinymceBaseUrl,\n autoresize_bottom_margin: 0,\n images_upload_handler: async (blobInfo) => {\n try {\n const blob = blobInfo.blob();\n const file = new File([blob], blob.name, { type: blob.type });\n const respData = await onUploadImage?.(file);\n return Promise.resolve(respData as string);\n } catch (error) {\n return Promise.reject(error?.message || '图片上传异常');\n }\n },\n\n plugins:\n 'lists link image advlist charmap preview fullscreen code table help codesample ' +\n (props.init?.plugins_append || ''),\n toolbar:\n 'undo redo fullscreen preview | bold italic underline strikethrough |' +\n 'fontsize blocks |' +\n 'forecolor backcolor removeformat |' +\n 'numlist bullist advlist |' +\n 'alignleft aligncenter alignright alignjustify |' +\n 'outdent indent |' +\n 'hr image link code codesample |' +\n (props.init?.toolbar_append || ''),\n font_size_formats: '8px 10px 12px 14px 16px 18px 24px 36px 48px',\n ...props.init,\n content_style: `img {max-width:100%;} table{width:100%} ${props.init?.content_style}`,\n }}\n />\n <Preview\n visible={!!previewUrl}\n url={previewUrl}\n close={() => {\n setPreviewUrl('');\n }}\n />\n </div>\n );\n};\n\n/**\n * undo redo\n * codesample\n * fontselect fontsizeselect formatselect\n * image media link anchor\n * preview save print\n * emoticons(表情)\n */\n"],"names":["Preview","props","visible","url","fbaHooks","useEffectCustom","dynamicNode","append","content","_jsx","_PlusCircleOutlined","onClick","close","className","twoToneColor","remove","_Fragment","Fragment","children","Image","style","left","preview","maskStyle","backgroundColor","src","onVisibleChange","RichTextEditor","_props$init","_props$init2","_props$init3","_props$init4","onUploadImage","onChange","otherProps","_objectWithoutPropertiesLoose","_excluded","editorRef","useRef","_useState","useState","previewUrl","setPreviewUrl","imgRatio","init","img_ratio","min","max","ratio","useKeyPress","event","type","key","_editorRef$current","isFull","current","editorContainer","classList","contains","_editorRef$current2","editorCommands","execCommand","error","events","onKeyDown","_hooks","useCallbackRef","editor","keyCode","_editorRef$current3","_editorRef$current4","onInit","_","_editor$iframeElement","_editor$iframeElement2","iframeElement","contentDocument","addEventListener","_event$target","imgPreview","target","onEditorChange","a","tinymceBaseUrl","getImgRatio","width","length","index","element","paste_postprocess","args","nodes","node","nodeName","setAttribute","img","document","createElement","getAttribute","onload","height","_jsxs","_classNames","Editor","_extends","tinymceScriptSrc","promotion","language","paste_data_images","autosave_ask_before_unload","base_url","autoresize_bottom_margin","images_upload_handler","blobInfo","Promise","$return","$error","blob","_file","respData","$Try_5_Catch","reject","message","$boundEx","file","File","name","resolve","then","$await_6","plugins","plugins_append","toolbar","toolbar_append","font_size_formats","content_style"],"mappings":"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"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import e from"@ant-design/icons/es/icons/FullscreenOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{hooks as i}from"@wove/react/cjs/hooks";import{useKeyPress as o}from"ahooks";import{useState as t,useRef as s}from"react";import{fbaHooks as n}from"./fba-hooks/index.js";import{I as a}from"./icon-wrapper-ed5fcacc.js";import{R as c}from"./rich-text-editor-213daa34.js";import{jsxs as l,jsx as u}from"react/jsx-runtime";var m=function m(f){var d=t(false),v=d[0],p=d[1];var b=s();o((function(){return true}),(function(e){if(e.type==="keyup"&&e.key==="Escape"&&v){p(false)}}),{events:["keydown","keyup"]});var k=i.useCallbackRef((function(){p(!v)}));var h=i.useCallbackRef((function(e,r){b.current=r;f.onInit==null?void 0:f.onInit(r)}));n.useEffectCustom((function(){var e;(e=b.current)==null?void 0:e.editorCommands.execCommand("mceAutoResize")}),[f.value]);return l("div",{className:r("fba-editor-viewer",{"fba-editor-viewer-fixed":v},f.className),style:f.style,children:[f.children,f.fullscreen&&f.value&&u("div",{className:"fba-editor-viewer-icon",children:u(a,{hoverTips:f.fullscreenIconTips,icon:u(e,{}),onClick:k})}),u(c,{value:f.value,onInit:h,imgPreview:true,disabled:true,init:{plugins:"autoresize",menubar:false,toolbar:"",statusbar:false}})]})};export{m as R};
|
|
3
|
-
//# sourceMappingURL=rich-text-viewer-4a859351.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-viewer-4a859351.js","sources":["@flatbiz/antd/src/rich-text-viewer/rich-text-viewer.tsx"],"sourcesContent":["import { FullscreenOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { useKeyPress } from 'ahooks';\nimport { CSSProperties, ReactElement, useRef, useState } from 'react';\nimport { Editor as TinyMCEEditor } from 'tinymce';\n\nimport { fbaHooks } from '../fba-hooks';\nimport { IconWrapper } from '../icon-wrapper';\nimport { RichTextEditor } from '../rich-text-editor';\nimport './style.less';\n\ntype RichTextViewerProps = {\n value: string;\n className?: string;\n style?: CSSProperties;\n fullscreen?: boolean;\n onInit?: (editor: TinyMCEEditor) => void;\n children?: ReactElement;\n fullscreenIconTips?: string;\n};\n\n/**\n * 预览 RichTextEditor 生成的富文本数据\n * ```\n * 1. 通过 onInit 属性可获取实例:editor\n * 2. 如果高度发生变更,可执行 editor.execCommand('mceAutoResize');\n *\n * ```\n * @param props\n * @returns\n */\nexport const RichTextViewer = (props: RichTextViewerProps) => {\n const [isFixed, setIsFixed] = useState(false);\n const editorRef = useRef<TinyMCEEditor>();\n\n useKeyPress(\n () => true,\n (event) => {\n if (event.type === 'keyup' && event.key === 'Escape' && isFixed) {\n setIsFixed(false);\n }\n },\n { events: ['keydown', 'keyup'] },\n );\n\n const onChangeFixed = hooks.useCallbackRef(() => {\n setIsFixed(!isFixed);\n });\n const onInit = hooks.useCallbackRef((_, editor: TinyMCEEditor) => {\n editorRef.current = editor;\n props.onInit?.(editor);\n });\n\n fbaHooks.useEffectCustom(() => {\n editorRef.current?.editorCommands.execCommand('mceAutoResize');\n }, [props.value]);\n\n return (\n <div\n className={classNames('fba-editor-viewer', { 'fba-editor-viewer-fixed': isFixed }, props.className)}\n style={props.style}\n >\n {props.children}\n {props.fullscreen && props.value && (\n <div className=\"fba-editor-viewer-icon\">\n <IconWrapper\n hoverTips={props.fullscreenIconTips}\n icon={<FullscreenOutlined />}\n onClick={onChangeFixed}\n />\n </div>\n )}\n <RichTextEditor\n value={props.value}\n onInit={onInit}\n imgPreview\n disabled\n init={{\n plugins: 'autoresize',\n menubar: false,\n toolbar: '',\n statusbar: false,\n }}\n />\n </div>\n );\n};\n"],"names":["RichTextViewer","props","_useState","useState","isFixed","setIsFixed","editorRef","useRef","useKeyPress","event","type","key","events","onChangeFixed","_hooks","useCallbackRef","onInit","_","editor","current","fbaHooks","useEffectCustom","_editorRef$current","editorCommands","execCommand","value","_jsxs","className","_classNames","style","children","fullscreen","_jsx","IconWrapper","hoverTips","fullscreenIconTips","icon","_FullscreenOutlined","onClick","RichTextEditor","imgPreview","disabled","init","plugins","menubar","toolbar","statusbar"],"mappings":";+bAgCaA,EAAiB,SAAjBA,EAAkBC,GAC7B,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1B,IAAMI,EAAYC,IAElBC,GACE,WAAA,OAAM,IACN,IAAA,SAACC,GACC,GAAIA,EAAMC,OAAS,SAAWD,EAAME,MAAQ,UAAYP,EAAS,CAC/DC,EAAW,MACb,CACF,GACA,CAAEO,OAAQ,CAAC,UAAW,WAGxB,IAAMC,EAAgBC,EAAMC,gBAAe,WACzCV,GAAYD,EACd,IACA,IAAMY,EAASF,EAAMC,gBAAe,SAACE,EAAGC,GACtCZ,EAAUa,QAAUD,EACpBjB,EAAMe,QAANf,UAAAA,EAAAA,EAAMe,OAASE,EACjB,IAEAE,EAASC,iBAAgB,WAAM,IAAAC,GAC7BA,EAAAhB,EAAUa,UAAO,UAAA,EAAjBG,EAAmBC,eAAeC,YAAY,gBAChD,GAAG,CAACvB,EAAMwB,QAEV,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,oBAAqB,CAAE,0BAA2BxB,GAAWH,EAAM0B,WACzFE,MAAO5B,EAAM4B,MAAMC,SAElB7B,CAAAA,EAAM6B,SACN7B,EAAM8B,YAAc9B,EAAMwB,OACzBO,EAAA,MAAA,CAAKL,UAAU,yBAAwBG,SACrCE,EAACC,EAAW,CACVC,UAAWjC,EAAMkC,mBACjBC,KAAMJ,EAAAK,EAAuB,IAC7BC,QAASzB,MAIfmB,EAACO,EAAc,CACbd,MAAOxB,EAAMwB,MACbT,OAAQA,EACRwB,WAAU,KACVC,SAAQ,KACRC,KAAM,CACJC,QAAS,aACTC,QAAS,MACTC,QAAS,GACTC,UAAW,WAKrB"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
2
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{isUndefinedOrNull as l}from"@flatbiz/utils";import{fbaHooks as i}from"./fba-hooks/index.js";import{F as t}from"./flex-layout-8d2b668b.js";import{jsxs as r,jsx as s}from"react/jsx-runtime";var c=function c(a){var d=l(a.showTitleIndex)?true:a.showTitleIndex;var m=i.useThemeToken();var n={"--rule-describe-colorPrimary":m.colorPrimary};return r("div",{className:e("v-rule-describe",a.className),style:n,children:[a.title?s("div",{className:e("v-rule-describe-title",{"v-rule-describe-title-sign":a.titleSign}),children:a.title}):null,a.ruleDataList.map((function(e,l){if(d&&e.title){return r("div",{className:"v-rule-describe-item",children:[r(t,{direction:"horizontal",className:"v-rule-describe-item-title",style:a.ruleItemTitleStyle,children:[r("span",{className:"v-rule-describe-item-title-index",children:[l+1,". "]}),s("span",{className:"v-rule-describe-item-title-content",children:e.title})]}),e.desc?r(t,{direction:"horizontal",className:"v-rule-describe-item-desc",style:a.ruleItemDescStyle,children:[s("span",{className:"v-rule-describe-item-title-index"}),s("span",{className:"v-rule-describe-item-title-content",children:e.desc})]}):null]},l)}return r("div",{className:"v-rule-describe-item",children:[e.title?s("div",{className:"v-rule-describe-item-title",style:a.ruleItemTitleStyle,children:e.title}):null,e.desc?s("div",{className:"v-rule-describe-item-desc",style:a.ruleItemDescStyle,children:e.desc}):null]},l)}))]})};export{c as R};
|
|
3
|
-
//# sourceMappingURL=rule-describe-b4a8e831.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule-describe-b4a8e831.js","sources":["@flatbiz/antd/src/rule-describe/rule-describe.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { CSSProperties, ReactElement } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport './style.less';\n\nexport type RuleDataItem = {\n title?: string | ReactElement;\n desc?: string | ReactElement;\n};\nexport type RuleDescribeProps = {\n title?: string;\n showTitleIndex?: boolean;\n ruleDataList: RuleDataItem[];\n titleSign?: boolean;\n className?: string;\n ruleItemTitleStyle?: CSSProperties;\n ruleItemDescStyle?: CSSProperties;\n};\n\nexport const RuleDescribe = (props: RuleDescribeProps) => {\n const showTitleIndex = isUndefinedOrNull(props.showTitleIndex) ? true : props.showTitleIndex;\n\n const theme = fbaHooks.useThemeToken();\n\n const style = { '--rule-describe-colorPrimary': theme.colorPrimary } as CSSProperties;\n\n return (\n <div className={classNames('v-rule-describe', props.className)} style={style}>\n {props.title ? (\n <div\n className={classNames('v-rule-describe-title', { 'v-rule-describe-title-sign': props.titleSign })}\n >\n {props.title}\n </div>\n ) : null}\n {props.ruleDataList.map((item, index) => {\n if (showTitleIndex && item.title) {\n return (\n <div key={index} className=\"v-rule-describe-item\">\n <FlexLayout\n direction=\"horizontal\"\n className=\"v-rule-describe-item-title\"\n style={props.ruleItemTitleStyle}\n >\n <span className=\"v-rule-describe-item-title-index\">{index + 1}. </span>\n <span className=\"v-rule-describe-item-title-content\">{item.title}</span>\n </FlexLayout>\n {item.desc ? (\n <FlexLayout\n direction=\"horizontal\"\n className=\"v-rule-describe-item-desc\"\n style={props.ruleItemDescStyle}\n >\n <span className=\"v-rule-describe-item-title-index\"></span>\n <span className=\"v-rule-describe-item-title-content\">{item.desc}</span>\n </FlexLayout>\n ) : null}\n </div>\n );\n }\n return (\n <div key={index} className=\"v-rule-describe-item\">\n {item.title ? (\n <div className=\"v-rule-describe-item-title\" style={props.ruleItemTitleStyle}>\n {item.title}\n </div>\n ) : null}\n {item.desc ? (\n <div className=\"v-rule-describe-item-desc\" style={props.ruleItemDescStyle}>\n {item.desc}\n </div>\n ) : null}\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["RuleDescribe","props","showTitleIndex","isUndefinedOrNull","theme","fbaHooks","useThemeToken","style","colorPrimary","_jsxs","className","_classNames","children","title","_jsx","titleSign","ruleDataList","map","item","index","FlexLayout","direction","ruleItemTitleStyle","desc","ruleItemDescStyle"],"mappings":";iQAqBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAiBC,EAAkBF,EAAMC,gBAAkB,KAAOD,EAAMC,eAE9E,IAAME,EAAQC,EAASC,gBAEvB,IAAMC,EAAQ,CAAE,+BAAgCH,EAAMI,cAEtD,OACEC,EAAA,MAAA,CAAKC,UAAWC,EAAW,kBAAmBV,EAAMS,WAAYH,MAAOA,EAAMK,SAC1EX,CAAAA,EAAMY,MACLC,EAAA,MAAA,CACEJ,UAAWC,EAAW,wBAAyB,CAAE,6BAA8BV,EAAMc,YAAaH,SAEjGX,EAAMY,QAEP,KACHZ,EAAMe,aAAaC,KAAI,SAACC,EAAMC,GAC7B,GAAIjB,GAAkBgB,EAAKL,MAAO,CAChC,OACEJ,EAAA,MAAA,CAAiBC,UAAU,uBAAsBE,SAAA,CAC/CH,EAACW,EAAU,CACTC,UAAU,aACVX,UAAU,6BACVH,MAAON,EAAMqB,mBAAmBV,UAEhCH,EAAA,OAAA,CAAMC,UAAU,mCAAkCE,SAAEO,CAAAA,EAAQ,EAAE,QAC9DL,EAAA,OAAA,CAAMJ,UAAU,qCAAoCE,SAAEM,EAAKL,WAE5DK,EAAKK,KACJd,EAACW,EAAU,CACTC,UAAU,aACVX,UAAU,4BACVH,MAAON,EAAMuB,kBAAkBZ,UAE/BE,EAAA,OAAA,CAAMJ,UAAU,qCAChBI,EAAA,OAAA,CAAMJ,UAAU,qCAAoCE,SAAEM,EAAKK,UAE3D,OAlBIJ,EAqBd,CACA,OACEV,EAAA,MAAA,CAAiBC,UAAU,uBAAsBE,SAC9CM,CAAAA,EAAKL,MACJC,EAAA,MAAA,CAAKJ,UAAU,6BAA6BH,MAAON,EAAMqB,mBAAmBV,SACzEM,EAAKL,QAEN,KACHK,EAAKK,KACJT,EAAA,MAAA,CAAKJ,UAAU,4BAA4BH,MAAON,EAAMuB,kBAAkBZ,SACvEM,EAAKK,OAEN,OAVIJ,EAad,MAGN"}
|