deepsea-components 5.6.0 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CopyButton.d.ts +9 -0
- package/dist/cjs/components/CopyButton.js +59 -0
- package/dist/cjs/components/CopyButton.js.map +7 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/components/CopyButton.d.ts +9 -0
- package/dist/esm/components/CopyButton.js +29 -0
- package/dist/esm/components/CopyButton.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +3 -1
- package/src/components/CopyButton.tsx +29 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Event } from "clipboard";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
export { Event } from "clipboard";
|
|
4
|
+
export type CopyButtonProps = ComponentProps<"button"> & {
|
|
5
|
+
text?: string;
|
|
6
|
+
onCopySuccess?: (e: Event) => void;
|
|
7
|
+
onCopyError?: (e: Event) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const CopyButton: import("react").ForwardRefExoticComponent<Omit<CopyButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/CopyButton.tsx
|
|
30
|
+
var CopyButton_exports = {};
|
|
31
|
+
__export(CopyButton_exports, {
|
|
32
|
+
CopyButton: () => CopyButton,
|
|
33
|
+
Event: () => import_clipboard2.Event
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(CopyButton_exports);
|
|
36
|
+
var import_ahooks = require("ahooks");
|
|
37
|
+
var import_clipboard = __toESM(require("clipboard"));
|
|
38
|
+
var import_react = require("react");
|
|
39
|
+
var import_clipboard2 = require("clipboard");
|
|
40
|
+
var CopyButton = (0, import_react.forwardRef)((props, ref) => {
|
|
41
|
+
const { text, onCopySuccess: _onCoptSuccess, onCopyError: _onCopyError, ...rest } = props;
|
|
42
|
+
const ele = (0, import_react.useRef)(null);
|
|
43
|
+
const onCopySuccess = (0, import_ahooks.useLatest)(_onCoptSuccess);
|
|
44
|
+
const onCopyError = (0, import_ahooks.useLatest)(_onCopyError);
|
|
45
|
+
(0, import_react.useImperativeHandle)(ref, () => ele.current, [ele.current]);
|
|
46
|
+
(0, import_react.useEffect)(() => {
|
|
47
|
+
const clipboard = new import_clipboard.default(ele.current);
|
|
48
|
+
clipboard.on("success", (event) => onCopySuccess.current?.(event));
|
|
49
|
+
clipboard.on("error", (event) => onCopyError.current?.(event));
|
|
50
|
+
return () => clipboard.destroy();
|
|
51
|
+
}, []);
|
|
52
|
+
return /* @__PURE__ */ React.createElement("button", { ref: ele, ...rest, "data-clipboard-text": text });
|
|
53
|
+
});
|
|
54
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
55
|
+
0 && (module.exports = {
|
|
56
|
+
CopyButton,
|
|
57
|
+
Event
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=CopyButton.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/CopyButton.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useLatest } from \"ahooks\"\r\nimport ClipboardJS, { Event } from \"clipboard\"\r\nimport { ComponentProps, forwardRef, useEffect, useImperativeHandle, useRef } from \"react\"\r\n\r\nexport { Event } from \"clipboard\"\r\n\r\nexport type CopyButtonProps = ComponentProps<\"button\"> & {\r\n text?: string\r\n onCopySuccess?: (e: Event) => void\r\n onCopyError?: (e: Event) => void\r\n}\r\n\r\nexport const CopyButton = forwardRef<HTMLButtonElement, CopyButtonProps>((props, ref) => {\r\n const { text, onCopySuccess: _onCoptSuccess, onCopyError: _onCopyError, ...rest } = props\r\n const ele = useRef<HTMLButtonElement>(null)\r\n const onCopySuccess = useLatest(_onCoptSuccess)\r\n const onCopyError = useLatest(_onCopyError)\r\n\r\n useImperativeHandle(ref, () => ele.current!, [ele.current])\r\n\r\n useEffect(() => {\r\n const clipboard = new ClipboardJS(ele.current!)\r\n clipboard.on(\"success\", event => onCopySuccess.current?.(event))\r\n clipboard.on(\"error\", event => onCopyError.current?.(event))\r\n return () => clipboard.destroy()\r\n }, [])\r\n\r\n return <button ref={ele} {...rest} data-clipboard-text={text} />\r\n})\r\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0B;AAC1B,uBAAmC;AACnC,mBAAmF;AAEnF,IAAAA,oBAAsB;AAQf,IAAM,iBAAa,yBAA+C,CAAC,OAAO,QAAQ;AACrF,QAAM,EAAE,MAAM,eAAe,gBAAgB,aAAa,cAAc,GAAG,KAAK,IAAI;AACpF,QAAM,UAAM,qBAA0B,IAAI;AAC1C,QAAM,oBAAgB,yBAAU,cAAc;AAC9C,QAAM,kBAAc,yBAAU,YAAY;AAE1C,wCAAoB,KAAK,MAAM,IAAI,SAAU,CAAC,IAAI,OAAO,CAAC;AAE1D,8BAAU,MAAM;AACZ,UAAM,YAAY,IAAI,iBAAAC,QAAY,IAAI,OAAQ;AAC9C,cAAU,GAAG,WAAW,WAAS,cAAc,UAAU,KAAK,CAAC;AAC/D,cAAU,GAAG,SAAS,WAAS,YAAY,UAAU,KAAK,CAAC;AAC3D,WAAO,MAAM,UAAU,QAAQ;AAAA,EACnC,GAAG,CAAC,CAAC;AAEL,SAAO,oCAAC,YAAO,KAAK,KAAM,GAAG,MAAM,uBAAqB,MAAM;AAClE,CAAC;",
|
|
6
|
+
"names": ["import_clipboard", "ClipboardJS"]
|
|
7
|
+
}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./components/AutoFit";
|
|
|
2
2
|
export * from "./components/AutoScroll";
|
|
3
3
|
export * from "./components/AutoSizeTextarea";
|
|
4
4
|
export * from "./components/CircleText";
|
|
5
|
+
export * from "./components/CopyButton";
|
|
5
6
|
export * from "./components/Echart";
|
|
6
7
|
export * from "./components/Flow";
|
|
7
8
|
export * from "./components/FormLabel";
|
package/dist/cjs/index.js
CHANGED
|
@@ -20,6 +20,7 @@ __reExport(src_exports, require("./components/AutoFit"), module.exports);
|
|
|
20
20
|
__reExport(src_exports, require("./components/AutoScroll"), module.exports);
|
|
21
21
|
__reExport(src_exports, require("./components/AutoSizeTextarea"), module.exports);
|
|
22
22
|
__reExport(src_exports, require("./components/CircleText"), module.exports);
|
|
23
|
+
__reExport(src_exports, require("./components/CopyButton"), module.exports);
|
|
23
24
|
__reExport(src_exports, require("./components/Echart"), module.exports);
|
|
24
25
|
__reExport(src_exports, require("./components/Flow"), module.exports);
|
|
25
26
|
__reExport(src_exports, require("./components/FormLabel"), module.exports);
|
|
@@ -43,6 +44,7 @@ __reExport(src_exports, require("./utils/index"), module.exports);
|
|
|
43
44
|
...require("./components/AutoScroll"),
|
|
44
45
|
...require("./components/AutoSizeTextarea"),
|
|
45
46
|
...require("./components/CircleText"),
|
|
47
|
+
...require("./components/CopyButton"),
|
|
46
48
|
...require("./components/Echart"),
|
|
47
49
|
...require("./components/Flow"),
|
|
48
50
|
...require("./components/FormLabel"),
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"@components/AutoFit\"\nexport * from \"@components/AutoScroll\"\nexport * from \"@components/AutoSizeTextarea\"\nexport * from \"@components/CircleText\"\nexport * from \"@components/Echart\"\nexport * from \"@components/Flow\"\nexport * from \"@components/FormLabel\"\nexport * from \"@components/HlsPlayer\"\nexport * from \"@components/InfiniteScroll\"\nexport * from \"@components/InputFile\"\nexport * from \"@components/LoopSwiper\"\nexport * from \"@components/Ring\"\nexport * from \"@components/Scroll\"\nexport * from \"@components/SectionRing\"\nexport * from \"@components/Skeleton\"\nexport * from \"@components/Title\"\nexport * from \"@components/TransitionBox\"\nexport * from \"@components/TransitionNum\"\nexport * from \"@components/Trapezium\"\nexport * from \"@utils/getReactVersion\"\nexport * from \"@utils/index\"\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,iCAAd;AACA,wBAAc,oCADd;AAEA,wBAAc,0CAFd;AAGA,wBAAc,oCAHd;AAIA,wBAAc,
|
|
4
|
+
"sourcesContent": ["export * from \"@components/AutoFit\"\nexport * from \"@components/AutoScroll\"\nexport * from \"@components/AutoSizeTextarea\"\nexport * from \"@components/CircleText\"\nexport * from \"@components/CopyButton\"\nexport * from \"@components/Echart\"\nexport * from \"@components/Flow\"\nexport * from \"@components/FormLabel\"\nexport * from \"@components/HlsPlayer\"\nexport * from \"@components/InfiniteScroll\"\nexport * from \"@components/InputFile\"\nexport * from \"@components/LoopSwiper\"\nexport * from \"@components/Ring\"\nexport * from \"@components/Scroll\"\nexport * from \"@components/SectionRing\"\nexport * from \"@components/Skeleton\"\nexport * from \"@components/Title\"\nexport * from \"@components/TransitionBox\"\nexport * from \"@components/TransitionNum\"\nexport * from \"@components/Trapezium\"\nexport * from \"@utils/getReactVersion\"\nexport * from \"@utils/index\"\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,iCAAd;AACA,wBAAc,oCADd;AAEA,wBAAc,0CAFd;AAGA,wBAAc,oCAHd;AAIA,wBAAc,oCAJd;AAKA,wBAAc,gCALd;AAMA,wBAAc,8BANd;AAOA,wBAAc,mCAPd;AAQA,wBAAc,mCARd;AASA,wBAAc,wCATd;AAUA,wBAAc,mCAVd;AAWA,wBAAc,oCAXd;AAYA,wBAAc,8BAZd;AAaA,wBAAc,gCAbd;AAcA,wBAAc,qCAdd;AAeA,wBAAc,kCAfd;AAgBA,wBAAc,+BAhBd;AAiBA,wBAAc,uCAjBd;AAkBA,wBAAc,uCAlBd;AAmBA,wBAAc,mCAnBd;AAoBA,wBAAc,oCApBd;AAqBA,wBAAc,0BArBd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Event } from "clipboard";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
export { Event } from "clipboard";
|
|
4
|
+
export type CopyButtonProps = ComponentProps<"button"> & {
|
|
5
|
+
text?: string;
|
|
6
|
+
onCopySuccess?: (e: Event) => void;
|
|
7
|
+
onCopyError?: (e: Event) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const CopyButton: import("react").ForwardRefExoticComponent<Omit<CopyButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useLatest } from "ahooks";
|
|
2
|
+
import ClipboardJS from "clipboard";
|
|
3
|
+
import { forwardRef, useEffect, useImperativeHandle, useRef } from "react";
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
export { Event } from "clipboard";
|
|
6
|
+
export const CopyButton = /*#__PURE__*/forwardRef((props, ref) => {
|
|
7
|
+
const {
|
|
8
|
+
text,
|
|
9
|
+
onCopySuccess: _onCoptSuccess,
|
|
10
|
+
onCopyError: _onCopyError,
|
|
11
|
+
...rest
|
|
12
|
+
} = props;
|
|
13
|
+
const ele = useRef(null);
|
|
14
|
+
const onCopySuccess = useLatest(_onCoptSuccess);
|
|
15
|
+
const onCopyError = useLatest(_onCopyError);
|
|
16
|
+
useImperativeHandle(ref, () => ele.current, [ele.current]);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const clipboard = new ClipboardJS(ele.current);
|
|
19
|
+
clipboard.on("success", event => onCopySuccess.current?.(event));
|
|
20
|
+
clipboard.on("error", event => onCopyError.current?.(event));
|
|
21
|
+
return () => clipboard.destroy();
|
|
22
|
+
}, []);
|
|
23
|
+
return /*#__PURE__*/_jsx("button", {
|
|
24
|
+
ref: ele,
|
|
25
|
+
...rest,
|
|
26
|
+
"data-clipboard-text": text
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=CopyButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useLatest","ClipboardJS","forwardRef","useEffect","useImperativeHandle","useRef","jsx","_jsx","Event","CopyButton","props","ref","text","onCopySuccess","_onCoptSuccess","onCopyError","_onCopyError","rest","ele","current","clipboard","on","event","destroy"],"sources":["../../../src/components/CopyButton.tsx"],"sourcesContent":["import { useLatest } from \"ahooks\"\r\nimport ClipboardJS, { Event } from \"clipboard\"\r\nimport { ComponentProps, forwardRef, useEffect, useImperativeHandle, useRef } from \"react\"\r\n\r\nexport { Event } from \"clipboard\"\r\n\r\nexport type CopyButtonProps = ComponentProps<\"button\"> & {\r\n text?: string\r\n onCopySuccess?: (e: Event) => void\r\n onCopyError?: (e: Event) => void\r\n}\r\n\r\nexport const CopyButton = forwardRef<HTMLButtonElement, CopyButtonProps>((props, ref) => {\r\n const { text, onCopySuccess: _onCoptSuccess, onCopyError: _onCopyError, ...rest } = props\r\n const ele = useRef<HTMLButtonElement>(null)\r\n const onCopySuccess = useLatest(_onCoptSuccess)\r\n const onCopyError = useLatest(_onCopyError)\r\n\r\n useImperativeHandle(ref, () => ele.current!, [ele.current])\r\n\r\n useEffect(() => {\r\n const clipboard = new ClipboardJS(ele.current!)\r\n clipboard.on(\"success\", event => onCopySuccess.current?.(event))\r\n clipboard.on(\"error\", event => onCopyError.current?.(event))\r\n return () => clipboard.destroy()\r\n }, [])\r\n\r\n return <button ref={ele} {...rest} data-clipboard-text={text} />\r\n})\r\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,OAAOC,WAAW,MAAiB,WAAW;AAC9C,SAAyBC,UAAU,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,QAAQ,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE1F,SAASC,KAAK,QAAQ,WAAW;AAQjC,OAAO,MAAMC,UAAU,gBAAGP,UAAU,CAAqC,CAACQ,KAAK,EAAEC,GAAG,KAAK;EACrF,MAAM;IAAEC,IAAI;IAAEC,aAAa,EAAEC,cAAc;IAAEC,WAAW,EAAEC,YAAY;IAAE,GAAGC;EAAK,CAAC,GAAGP,KAAK;EACzF,MAAMQ,GAAG,GAAGb,MAAM,CAAoB,IAAI,CAAC;EAC3C,MAAMQ,aAAa,GAAGb,SAAS,CAACc,cAAc,CAAC;EAC/C,MAAMC,WAAW,GAAGf,SAAS,CAACgB,YAAY,CAAC;EAE3CZ,mBAAmB,CAACO,GAAG,EAAE,MAAMO,GAAG,CAACC,OAAQ,EAAE,CAACD,GAAG,CAACC,OAAO,CAAC,CAAC;EAE3DhB,SAAS,CAAC,MAAM;IACZ,MAAMiB,SAAS,GAAG,IAAInB,WAAW,CAACiB,GAAG,CAACC,OAAQ,CAAC;IAC/CC,SAAS,CAACC,EAAE,CAAC,SAAS,EAAEC,KAAK,IAAIT,aAAa,CAACM,OAAO,GAAGG,KAAK,CAAC,CAAC;IAChEF,SAAS,CAACC,EAAE,CAAC,OAAO,EAAEC,KAAK,IAAIP,WAAW,CAACI,OAAO,GAAGG,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAMF,SAAS,CAACG,OAAO,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAOhB,IAAA;IAAQI,GAAG,EAAEO,GAAI;IAAA,GAAKD,IAAI;IAAE,uBAAqBL;EAAK,CAAE,CAAC;AACpE,CAAC,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./components/AutoFit";
|
|
|
2
2
|
export * from "./components/AutoScroll";
|
|
3
3
|
export * from "./components/AutoSizeTextarea";
|
|
4
4
|
export * from "./components/CircleText";
|
|
5
|
+
export * from "./components/CopyButton";
|
|
5
6
|
export * from "./components/Echart";
|
|
6
7
|
export * from "./components/Flow";
|
|
7
8
|
export * from "./components/FormLabel";
|
package/dist/esm/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from "./components/AutoFit";
|
|
|
2
2
|
export * from "./components/AutoScroll";
|
|
3
3
|
export * from "./components/AutoSizeTextarea";
|
|
4
4
|
export * from "./components/CircleText";
|
|
5
|
+
export * from "./components/CopyButton";
|
|
5
6
|
export * from "./components/Echart";
|
|
6
7
|
export * from "./components/Flow";
|
|
7
8
|
export * from "./components/FormLabel";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"@components/AutoFit\"\nexport * from \"@components/AutoScroll\"\nexport * from \"@components/AutoSizeTextarea\"\nexport * from \"@components/CircleText\"\nexport * from \"@components/Echart\"\nexport * from \"@components/Flow\"\nexport * from \"@components/FormLabel\"\nexport * from \"@components/HlsPlayer\"\nexport * from \"@components/InfiniteScroll\"\nexport * from \"@components/InputFile\"\nexport * from \"@components/LoopSwiper\"\nexport * from \"@components/Ring\"\nexport * from \"@components/Scroll\"\nexport * from \"@components/SectionRing\"\nexport * from \"@components/Skeleton\"\nexport * from \"@components/Title\"\nexport * from \"@components/TransitionBox\"\nexport * from \"@components/TransitionNum\"\nexport * from \"@components/Trapezium\"\nexport * from \"@utils/getReactVersion\"\nexport * from \"@utils/index\"\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"@components/AutoFit\"\nexport * from \"@components/AutoScroll\"\nexport * from \"@components/AutoSizeTextarea\"\nexport * from \"@components/CircleText\"\nexport * from \"@components/CopyButton\"\nexport * from \"@components/Echart\"\nexport * from \"@components/Flow\"\nexport * from \"@components/FormLabel\"\nexport * from \"@components/HlsPlayer\"\nexport * from \"@components/InfiniteScroll\"\nexport * from \"@components/InputFile\"\nexport * from \"@components/LoopSwiper\"\nexport * from \"@components/Ring\"\nexport * from \"@components/Scroll\"\nexport * from \"@components/SectionRing\"\nexport * from \"@components/Skeleton\"\nexport * from \"@components/Title\"\nexport * from \"@components/TransitionBox\"\nexport * from \"@components/TransitionNum\"\nexport * from \"@components/Trapezium\"\nexport * from \"@utils/getReactVersion\"\nexport * from \"@utils/index\"\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deepsea-components",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.7.0",
|
|
4
4
|
"description": "格数科技自用组件库",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@emotion/css": "^11.11.2",
|
|
29
29
|
"ahooks": "^3.7.11",
|
|
30
|
+
"clipboard": "^2.0.11",
|
|
30
31
|
"echarts": "^5.5.0",
|
|
31
32
|
"hls.js": "^1.5.8",
|
|
32
33
|
"smooth-scrollbar": "^8.8.4",
|
|
@@ -42,6 +43,7 @@
|
|
|
42
43
|
"scripts": {
|
|
43
44
|
"dev": "father dev",
|
|
44
45
|
"build": "father build",
|
|
46
|
+
"prebuild": "tsx scripts/export.ts",
|
|
45
47
|
"build:deps": "father prebundle"
|
|
46
48
|
}
|
|
47
49
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useLatest } from "ahooks"
|
|
2
|
+
import ClipboardJS, { Event } from "clipboard"
|
|
3
|
+
import { ComponentProps, forwardRef, useEffect, useImperativeHandle, useRef } from "react"
|
|
4
|
+
|
|
5
|
+
export { Event } from "clipboard"
|
|
6
|
+
|
|
7
|
+
export type CopyButtonProps = ComponentProps<"button"> & {
|
|
8
|
+
text?: string
|
|
9
|
+
onCopySuccess?: (e: Event) => void
|
|
10
|
+
onCopyError?: (e: Event) => void
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const CopyButton = forwardRef<HTMLButtonElement, CopyButtonProps>((props, ref) => {
|
|
14
|
+
const { text, onCopySuccess: _onCoptSuccess, onCopyError: _onCopyError, ...rest } = props
|
|
15
|
+
const ele = useRef<HTMLButtonElement>(null)
|
|
16
|
+
const onCopySuccess = useLatest(_onCoptSuccess)
|
|
17
|
+
const onCopyError = useLatest(_onCopyError)
|
|
18
|
+
|
|
19
|
+
useImperativeHandle(ref, () => ele.current!, [ele.current])
|
|
20
|
+
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
const clipboard = new ClipboardJS(ele.current!)
|
|
23
|
+
clipboard.on("success", event => onCopySuccess.current?.(event))
|
|
24
|
+
clipboard.on("error", event => onCopyError.current?.(event))
|
|
25
|
+
return () => clipboard.destroy()
|
|
26
|
+
}, [])
|
|
27
|
+
|
|
28
|
+
return <button ref={ele} {...rest} data-clipboard-text={text} />
|
|
29
|
+
})
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from "@components/AutoFit"
|
|
|
2
2
|
export * from "@components/AutoScroll"
|
|
3
3
|
export * from "@components/AutoSizeTextarea"
|
|
4
4
|
export * from "@components/CircleText"
|
|
5
|
+
export * from "@components/CopyButton"
|
|
5
6
|
export * from "@components/Echart"
|
|
6
7
|
export * from "@components/Flow"
|
|
7
8
|
export * from "@components/FormLabel"
|