@flatbiz/antd 4.5.53 → 4.5.54
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/copy-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js.map +1 -1
- package/index.d.ts +4 -1
- package/package.json +1 -1
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../icon-wrapper/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import i from"@ant-design/icons/es/icons/CopyOutlined";import r from"@ant-design/icons/es/icons/CheckOutlined";import{_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Flex as o,message as
|
|
5
|
+
import i from"@ant-design/icons/es/icons/CopyOutlined";import r from"@ant-design/icons/es/icons/CheckOutlined";import{_ as e}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{Flex as o,message as n}from"antd";import t from"copy-to-clipboard";import{useState as l,useEffect as c,useMemo as s,Fragment as p}from"react";import{IconWrapper as a}from"../icon-wrapper/index.js";import{jsx as f,jsxs as m}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-undefined";var u=function u(y){var d=l(false),v=d[0],h=d[1];var x=function i(){if(v)return;h(true);var r=typeof y.copyText==="function"?y.copyText():y.copyText;t(r);if(y.copyAfterMsg){void n.success(y.copyAfterMsg)}};c((function(){if(v){setTimeout((function(){h(false)}),1e3)}}),[v]);var T=s((function(){if(y.hiddenTips)return undefined;if(typeof y.hoverTips==="function"){return y.hoverTips(v)}if(y.hoverTips)return y.hoverTips;return"复制"}),[y,v]);if(!y.text){return f(a,{hoverTips:T,wrapperStyle:{display:"inline-flex"},text:v?f(r,{style:e({color:"var(--color-primary)"},y.iconStyle)}):y.icon?f(p,{children:y.icon}):f(i,{style:e({color:"var(--color-primary)"},y.iconStyle)}),size:"small",onClick:x})}return m(o,{align:"center",gap:5,style:{alignItems:"center"},children:[y.iconPosition!=="left"?f("div",{children:y.text}):null,f(a,{hoverTips:T,wrapperStyle:{display:"inline-flex"},text:v?f(r,{style:e({color:"var(--color-primary)"},y.iconStyle)}):y.icon?f(p,{children:y.icon}):f(i,{style:e({color:"var(--color-primary)"},y.iconStyle)}),size:"small",onClick:x}),y.iconPosition==="left"?f("div",{children:y.text}):null]})};u.copy=function(i){t(i)};export{u as CopyWrapper};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/copy-wrapper/copy.tsx"],"sourcesContent":["import { CheckOutlined, CopyOutlined } from '@ant-design/icons';\nimport { Flex, message } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport type { CSSProperties, ReactNode } from 'react';\nimport { Fragment, useEffect, useMemo, useState } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\nexport type CopyWrapperProps = {\n copyText: string | (() => string);\n /** 复制后提示消息 */\n copyAfterMsg?: string;\n /** 复制鼠标悬浮提示\n * ```\n * hoverTips={(trigger) => {\n * return trigger ? '复制成功' : '复制数据';\n * }}\n * ```\n */\n hoverTips?: string | ((trigger) => string);\n /** 设置icon后失效 */\n iconStyle?: CSSProperties;\n /** 自定义文本,显示在复制图标前或后 */\n text?: ReactNode;\n\n hiddenTips?: boolean;\n /** 自定义复制icon图标 */\n icon?: ReactNode;\n /** 复制图标位置,text 为空时,此配置无效 */\n iconPosition?: 'left' | 'right';\n};\n\nexport const CopyWrapper = (props: CopyWrapperProps) => {\n const [trigger, setTrigger] = useState(false);\n\n const onClick = () => {\n if (trigger) return;\n setTrigger(true);\n const copyText = typeof props.copyText === 'function' ? props.copyText() : props.copyText;\n copy(copyText);\n if (props.copyAfterMsg) {\n void message.success(props.copyAfterMsg);\n }\n };\n\n useEffect(() => {\n if (trigger) {\n setTimeout(() => {\n setTrigger(false);\n }, 1000);\n }\n }, [trigger]);\n\n const hoverTips = useMemo(() => {\n if (props.hiddenTips) return undefined;\n if (typeof props.hoverTips === 'function') {\n return props.hoverTips(trigger);\n }\n if (props.hoverTips) return props.hoverTips;\n return '复制';\n }, [props, trigger]);\n\n if (!props.text) {\n return (\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n );\n }\n\n return (\n <Flex align=\"center\" gap={5} style={{ alignItems: 'center' }}>\n {props.iconPosition !== 'left' ? <div>{props.text}</div> : null}\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n {props.iconPosition === 'left' ? <div>{props.text}</div> : null}\n </Flex>\n );\n};\n"],"names":["CopyWrapper","props","_useState","useState","trigger","setTrigger","onClick","copyText","copy","copyAfterMsg","message","success","useEffect","setTimeout","hoverTips","useMemo","hiddenTips","undefined","text","_jsx","IconWrapper","wrapperStyle","display","_CheckOutlined","style","_extends","color","iconStyle","icon","Fragment","children","_CopyOutlined","size","_jsxs","Flex","align","gap","alignItems","iconPosition"],"mappings":";wfA+BaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1B,IAAMI,EAAU,SAAVA,IACJ,GAAIF,EAAS,OACbC,EAAW,MACX,IAAME,SAAkBN,EAAMM,WAAa,WAAaN,EAAMM,WAAaN,EAAMM,SACjFC,EAAKD,GACL,GAAIN,EAAMQ,aAAc,MACjBC,EAAQC,QAAQV,EAAMQ,aAC7B,GAGFG,GAAU,WACR,GAAIR,EAAS,CACXS,YAAW,WACTR,EAAW,MACZ,GAAE,IACL,CACF,GAAG,CAACD,IAEJ,IAAMU,EAAYC,GAAQ,WACxB,GAAId,EAAMe,WAAY,OAAOC,UAC7B,UAAWhB,EAAMa,YAAc,WAAY,CACzC,OAAOb,EAAMa,UAAUV,EACzB,CACA,GAAIH,EAAMa,UAAW,OAAOb,EAAMa,UAClC,MAAO,IACT,GAAG,CAACb,EAAOG,IAEX,IAAKH,EAAMiB,KAAM,CACf,OACEC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,GAGf,CAEA,OACE2B,EAACC,EAAI,CAACC,MAAM,SAASC,IAAK,EAAGZ,MAAO,CAAEa,WAAY,UAAWP,UAC1D7B,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,KAC3DC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,IAEVL,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,OAGjE"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/copy-wrapper/copy.tsx"],"sourcesContent":["import { CheckOutlined, CopyOutlined } from '@ant-design/icons';\nimport { Flex, message } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport type { CSSProperties, ReactNode } from 'react';\nimport { Fragment, useEffect, useMemo, useState } from 'react';\nimport { IconWrapper } from '../icon-wrapper';\n\nexport type CopyWrapperProps = {\n copyText: string | (() => string);\n /** 复制后提示消息 */\n copyAfterMsg?: string;\n /** 复制鼠标悬浮提示\n * ```\n * hoverTips={(trigger) => {\n * return trigger ? '复制成功' : '复制数据';\n * }}\n * ```\n */\n hoverTips?: string | ((trigger) => string);\n /** 设置icon后失效 */\n iconStyle?: CSSProperties;\n /** 自定义文本,显示在复制图标前或后 */\n text?: ReactNode;\n\n hiddenTips?: boolean;\n /** 自定义复制icon图标 */\n icon?: ReactNode;\n /** 复制图标位置,text 为空时,此配置无效 */\n iconPosition?: 'left' | 'right';\n};\n\nexport const CopyWrapper = (props: CopyWrapperProps) => {\n const [trigger, setTrigger] = useState(false);\n\n const onClick = () => {\n if (trigger) return;\n setTrigger(true);\n const copyText = typeof props.copyText === 'function' ? props.copyText() : props.copyText;\n copy(copyText);\n if (props.copyAfterMsg) {\n void message.success(props.copyAfterMsg);\n }\n };\n\n useEffect(() => {\n if (trigger) {\n setTimeout(() => {\n setTrigger(false);\n }, 1000);\n }\n }, [trigger]);\n\n const hoverTips = useMemo(() => {\n if (props.hiddenTips) return undefined;\n if (typeof props.hoverTips === 'function') {\n return props.hoverTips(trigger);\n }\n if (props.hoverTips) return props.hoverTips;\n return '复制';\n }, [props, trigger]);\n\n if (!props.text) {\n return (\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n );\n }\n\n return (\n <Flex align=\"center\" gap={5} style={{ alignItems: 'center' }}>\n {props.iconPosition !== 'left' ? <div>{props.text}</div> : null}\n <IconWrapper\n hoverTips={hoverTips}\n wrapperStyle={{ display: 'inline-flex' }}\n text={\n trigger ? (\n <CheckOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n ) : props.icon ? (\n <Fragment>{props.icon}</Fragment>\n ) : (\n <CopyOutlined style={{ color: 'var(--color-primary)', ...props.iconStyle }} />\n )\n }\n size=\"small\"\n onClick={onClick}\n />\n {props.iconPosition === 'left' ? <div>{props.text}</div> : null}\n </Flex>\n );\n};\n\nCopyWrapper.copy = (text: string) => {\n copy(text);\n};\n"],"names":["CopyWrapper","props","_useState","useState","trigger","setTrigger","onClick","copyText","copy","copyAfterMsg","message","success","useEffect","setTimeout","hoverTips","useMemo","hiddenTips","undefined","text","_jsx","IconWrapper","wrapperStyle","display","_CheckOutlined","style","_extends","color","iconStyle","icon","Fragment","children","_CopyOutlined","size","_jsxs","Flex","align","gap","alignItems","iconPosition"],"mappings":";wfA+BaA,EAAc,SAAdA,EAAeC,GAC1B,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1B,IAAMI,EAAU,SAAVA,IACJ,GAAIF,EAAS,OACbC,EAAW,MACX,IAAME,SAAkBN,EAAMM,WAAa,WAAaN,EAAMM,WAAaN,EAAMM,SACjFC,EAAKD,GACL,GAAIN,EAAMQ,aAAc,MACjBC,EAAQC,QAAQV,EAAMQ,aAC7B,GAGFG,GAAU,WACR,GAAIR,EAAS,CACXS,YAAW,WACTR,EAAW,MACZ,GAAE,IACL,CACF,GAAG,CAACD,IAEJ,IAAMU,EAAYC,GAAQ,WACxB,GAAId,EAAMe,WAAY,OAAOC,UAC7B,UAAWhB,EAAMa,YAAc,WAAY,CACzC,OAAOb,EAAMa,UAAUV,EACzB,CACA,GAAIH,EAAMa,UAAW,OAAOb,EAAMa,UAClC,MAAO,IACT,GAAG,CAACb,EAAOG,IAEX,IAAKH,EAAMiB,KAAM,CACf,OACEC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,GAGf,CAEA,OACE2B,EAACC,EAAI,CAACC,MAAM,SAASC,IAAK,EAAGZ,MAAO,CAAEa,WAAY,UAAWP,UAC1D7B,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,KAC3DC,EAACC,EAAW,CACVN,UAAWA,EACXO,aAAc,CAAEC,QAAS,eACzBJ,KACEd,EACEe,EAAAI,EAAA,CAAeC,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAC9D1B,EAAM2B,KACRT,EAACU,EAAQ,CAAAC,SAAE7B,EAAM2B,OAEjBT,EAAAY,EAAA,CAAcP,MAAKC,EAAA,CAAIC,MAAO,wBAA2BzB,EAAM0B,aAGnEK,KAAK,QACL1B,QAASA,IAEVL,EAAMqC,eAAiB,OAASnB,EAAA,MAAA,CAAAW,SAAM7B,EAAMiB,OAAc,OAGjE,EAEAlB,EAAYQ,KAAO,SAACU,GAClBV,EAAKU,EACP"}
|
package/index.d.ts
CHANGED
|
@@ -900,7 +900,10 @@ export type CopyWrapperProps = {
|
|
|
900
900
|
/** 复制图标位置,text 为空时,此配置无效 */
|
|
901
901
|
iconPosition?: "left" | "right";
|
|
902
902
|
};
|
|
903
|
-
export declare const CopyWrapper:
|
|
903
|
+
export declare const CopyWrapper: {
|
|
904
|
+
(props: CopyWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
905
|
+
copy(text: string): void;
|
|
906
|
+
};
|
|
904
907
|
export interface DrawerStateType {
|
|
905
908
|
title: string;
|
|
906
909
|
/**
|