@plait/core 0.48.0 → 0.50.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/constants/index.d.ts +0 -1
- package/esm2022/board/board.component.mjs +8 -7
- package/esm2022/constants/index.mjs +1 -2
- package/esm2022/interfaces/board.mjs +1 -1
- package/esm2022/plugins/create-board.mjs +5 -2
- package/esm2022/plugins/with-moving.mjs +6 -9
- package/esm2022/plugins/with-selection.mjs +7 -8
- package/esm2022/transforms/board.mjs +4 -5
- package/esm2022/utils/board.mjs +1 -15
- package/esm2022/utils/clipboard/clipboard.mjs +36 -0
- package/esm2022/utils/clipboard/common.mjs +64 -0
- package/esm2022/utils/clipboard/data-transfer.mjs +21 -0
- package/esm2022/utils/clipboard/index.mjs +3 -0
- package/esm2022/utils/clipboard/navigator-clipboard.mjs +73 -0
- package/esm2022/utils/clipboard/types.mjs +6 -0
- package/esm2022/utils/dom/common.mjs +1 -23
- package/esm2022/utils/index.mjs +5 -1
- package/esm2022/utils/to-point.mjs +49 -0
- package/esm2022/utils/viewport.mjs +8 -20
- package/fesm2022/plait-core.mjs +257 -107
- package/fesm2022/plait-core.mjs.map +1 -1
- package/interfaces/board.d.ts +3 -2
- package/package.json +1 -1
- package/utils/board.d.ts +0 -3
- package/utils/clipboard/clipboard.d.ts +3 -0
- package/utils/clipboard/common.d.ts +8 -0
- package/utils/clipboard/data-transfer.d.ts +5 -0
- package/utils/clipboard/index.d.ts +2 -0
- package/utils/clipboard/navigator-clipboard.d.ts +3 -0
- package/utils/clipboard/types.d.ts +17 -0
- package/utils/dom/common.d.ts +1 -16
- package/utils/index.d.ts +4 -0
- package/utils/to-point.d.ts +21 -0
- package/utils/viewport.d.ts +2 -7
- package/esm2022/utils/clipboard.mjs +0 -45
- package/utils/clipboard.d.ts +0 -8
package/interfaces/board.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import { PathRef, PathRefOptions } from './path-ref';
|
|
|
14
14
|
import { PlaitNode } from './node';
|
|
15
15
|
import { Path } from './path';
|
|
16
16
|
import { PlaitTheme, ThemeColor } from './theme';
|
|
17
|
+
import { ClipboardData, WritableClipboardContext } from '../utils';
|
|
17
18
|
export interface PlaitBoard {
|
|
18
19
|
viewport: Viewport;
|
|
19
20
|
children: PlaitElement[];
|
|
@@ -37,8 +38,8 @@ export interface PlaitBoard {
|
|
|
37
38
|
keydown: (event: KeyboardEvent) => void;
|
|
38
39
|
globalKeydown: (event: KeyboardEvent) => void;
|
|
39
40
|
keyup: (event: KeyboardEvent) => void;
|
|
40
|
-
setFragment: (data: DataTransfer | null, rectangle: RectangleClient | null, type: 'copy' | 'cut') => void;
|
|
41
|
-
insertFragment: (data: DataTransfer | null, targetPoint: Point) => void;
|
|
41
|
+
setFragment: (data: DataTransfer | null, clipboardContext: WritableClipboardContext | null, rectangle: RectangleClient | null, type: 'copy' | 'cut') => void;
|
|
42
|
+
insertFragment: (data: DataTransfer | null, clipboardData: ClipboardData | null, targetPoint: Point) => void;
|
|
42
43
|
deleteFragment: (data: DataTransfer | null) => void;
|
|
43
44
|
getDeletedFragment: (data: PlaitElement[]) => PlaitElement[];
|
|
44
45
|
getRelatedFragment: (data: PlaitElement[]) => PlaitElement[];
|
package/package.json
CHANGED
package/utils/board.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PlaitBoard } from '../interfaces/board';
|
|
2
|
-
import { Point } from '../interfaces/point';
|
|
3
2
|
export type ViewBox = {
|
|
4
3
|
minX: number;
|
|
5
4
|
minY: number;
|
|
@@ -8,7 +7,5 @@ export type ViewBox = {
|
|
|
8
7
|
viewportWidth: number;
|
|
9
8
|
viewportHeight: number;
|
|
10
9
|
};
|
|
11
|
-
export declare function transformPoints(board: PlaitBoard, points: Point[]): Point[];
|
|
12
|
-
export declare function transformPoint(board: PlaitBoard, point: Point): Point;
|
|
13
10
|
export declare function isInPlaitBoard(board: PlaitBoard, x: number, y: number): boolean;
|
|
14
11
|
export declare function getRealScrollBarWidth(board: PlaitBoard): number;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ClipboardData, WritableClipboardContext } from './types';
|
|
2
|
+
export declare const getClipboardData: (dataTransfer: DataTransfer | null) => Promise<ClipboardData>;
|
|
3
|
+
export declare const setClipboardData: (dataTransfer: DataTransfer | null, clipboardContext: WritableClipboardContext | null) => Promise<void>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ClipboardData, WritableClipboardContext, WritableClipboardData, WritableClipboardType } from './types';
|
|
2
|
+
export declare const buildPlaitHtml: (type: WritableClipboardType, data: WritableClipboardData) => string;
|
|
3
|
+
export declare const getClipboardFromHtml: (html: string) => ClipboardData | null;
|
|
4
|
+
export declare const stripHtml: (html: string) => string;
|
|
5
|
+
export declare const getProbablySupportsClipboardWrite: () => boolean;
|
|
6
|
+
export declare const getProbablySupportsClipboardRead: () => boolean;
|
|
7
|
+
export declare const createClipboardContext: (type: WritableClipboardType, data: WritableClipboardData, text: string) => WritableClipboardContext;
|
|
8
|
+
export declare const addClipboardContext: (clipboardContext: WritableClipboardContext, addition: WritableClipboardContext) => WritableClipboardContext;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ClipboardData, WritableClipboardData, WritableClipboardType } from './types';
|
|
2
|
+
export declare const setDataTransferClipboard: (dataTransfer: DataTransfer | null, type: WritableClipboardType, data: WritableClipboardData) => void;
|
|
3
|
+
export declare const setDataTransferClipboardText: (data: DataTransfer | null, text: string) => void;
|
|
4
|
+
export declare const getDataTransferClipboard: (data: DataTransfer | null) => ClipboardData;
|
|
5
|
+
export declare const getDataTransferClipboardText: (data: DataTransfer | null) => string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ClipboardData, WritableClipboardData, WritableClipboardType } from './types';
|
|
2
|
+
export declare const setNavigatorClipboard: (type: WritableClipboardType, data: WritableClipboardData, text?: string) => Promise<void>;
|
|
3
|
+
export declare const getNavigatorClipboard: () => Promise<ClipboardData>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PlaitElement } from '../../interfaces';
|
|
2
|
+
export declare enum WritableClipboardType {
|
|
3
|
+
'medias' = "medias",
|
|
4
|
+
'elements' = "elements"
|
|
5
|
+
}
|
|
6
|
+
export type WritableClipboardData = PlaitElement[] | any[];
|
|
7
|
+
export interface WritableClipboardContext {
|
|
8
|
+
text: string;
|
|
9
|
+
type: WritableClipboardType;
|
|
10
|
+
data: WritableClipboardData;
|
|
11
|
+
}
|
|
12
|
+
export interface ClipboardData {
|
|
13
|
+
files?: File[];
|
|
14
|
+
elements?: PlaitElement[];
|
|
15
|
+
medias?: any[];
|
|
16
|
+
text?: string;
|
|
17
|
+
}
|
package/utils/dom/common.d.ts
CHANGED
|
@@ -1,21 +1,6 @@
|
|
|
1
1
|
import { Options } from 'roughjs/bin/core';
|
|
2
|
-
import {
|
|
3
|
-
import { Point } from '../../interfaces/point';
|
|
2
|
+
import { RectangleClient } from '../../interfaces';
|
|
4
3
|
export declare const NS = "http://www.w3.org/2000/svg";
|
|
5
|
-
/**
|
|
6
|
-
* Get the screen coordinates starting from the upper left corner of the svg element (based on the svg screen coordinate system)
|
|
7
|
-
* @param x screen x
|
|
8
|
-
* @param y screen x
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
export declare function toPoint(x: number, y: number, svg: SVGElement): Point;
|
|
12
|
-
/**
|
|
13
|
-
* `toPoint` reverse processing
|
|
14
|
-
* Get the screen coordinate starting from the upper left corner of the browser window (based on the screen coordinate system)
|
|
15
|
-
* @param point screen coordinates based on the upper left corner of the svg
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
export declare function toScreenPoint(board: PlaitBoard, point: Point): Point;
|
|
19
4
|
export declare function createG(): SVGGElement;
|
|
20
5
|
export declare function createPath(): SVGPathElement;
|
|
21
6
|
export declare function createRect(rectangle: RectangleClient, options?: Options): SVGRectElement;
|
package/utils/index.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ export * from './viewport';
|
|
|
18
18
|
export * from './common';
|
|
19
19
|
export * from './moving-element';
|
|
20
20
|
export * from './to-image';
|
|
21
|
+
export * from './clipboard/types';
|
|
22
|
+
export * from './clipboard/clipboard';
|
|
23
|
+
export * from './clipboard/common';
|
|
21
24
|
export * from './clipboard';
|
|
22
25
|
export * from './touch';
|
|
23
26
|
export * from './dnd';
|
|
27
|
+
export * from './to-point';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PlaitBoard } from '../interfaces/board';
|
|
2
|
+
import { Point } from '../interfaces/point';
|
|
3
|
+
export declare const getViewBox: (board: PlaitBoard) => DOMRect;
|
|
4
|
+
/**
|
|
5
|
+
* Get the screen point starting from the upper left corner of the svg element (based on the svg screen coordinate system)
|
|
6
|
+
*/
|
|
7
|
+
export declare function toHostPoint(board: PlaitBoard, x: number, y: number): Point;
|
|
8
|
+
/**
|
|
9
|
+
* Get the point in the coordinate system of the svg viewBox
|
|
10
|
+
*/
|
|
11
|
+
export declare function toViewBoxPoint(board: PlaitBoard, hostPoint: Point): Point;
|
|
12
|
+
export declare function toViewBoxPoints(board: PlaitBoard, hostPoints: Point[]): Point[];
|
|
13
|
+
/**
|
|
14
|
+
* `toHostPoint` reverse processing
|
|
15
|
+
* Get the screen point starting from the upper left corner of the browser window or the viewport (based on the screen coordinate system)
|
|
16
|
+
*/
|
|
17
|
+
export declare function toScreenPointFromHostPoint(board: PlaitBoard, hostPoint: Point): Point;
|
|
18
|
+
/**
|
|
19
|
+
* `toViewBoxPoint` reverse processing
|
|
20
|
+
*/
|
|
21
|
+
export declare function toHostPointFromViewBoxPoint(board: PlaitBoard, viewBoxPoint: Point): Point;
|
package/utils/viewport.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PlaitBoard, Point, RectangleClient } from '../interfaces';
|
|
2
|
-
export declare function toSVGScreenPoint(board: PlaitBoard, point: Point): Point;
|
|
3
2
|
export declare function getViewportContainerRect(board: PlaitBoard): {
|
|
4
3
|
width: number;
|
|
5
4
|
height: number;
|
|
@@ -11,14 +10,10 @@ export declare function getElementHostBBox(board: PlaitBoard, zoom: number): {
|
|
|
11
10
|
bottom: number;
|
|
12
11
|
};
|
|
13
12
|
/**
|
|
14
|
-
*
|
|
15
|
-
* @param zoom 缩放比
|
|
16
|
-
* @param minZoom 最小缩放比
|
|
17
|
-
* @param maxZoom 最大缩放比
|
|
18
|
-
* @returns 正确的缩放比
|
|
13
|
+
* Normalize the scaling ratio, or return the corrected scaling ratio if the limit is exceeded
|
|
19
14
|
*/
|
|
20
15
|
export declare function clampZoomLevel(zoom: number, minZoom?: number, maxZoom?: number): number;
|
|
21
|
-
export declare function
|
|
16
|
+
export declare function calcNewViewBox(board: PlaitBoard, zoom: number): number[];
|
|
22
17
|
export declare function getViewBoxCenterPoint(board: PlaitBoard): Point;
|
|
23
18
|
export declare function setSVGViewBox(board: PlaitBoard, viewBox: number[]): void;
|
|
24
19
|
export declare function updateViewportOffset(board: PlaitBoard): void;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { CLIP_BOARD_FORMAT_KEY } from '../constants';
|
|
2
|
-
export const getClipboardByKey = (key) => {
|
|
3
|
-
return `application/x-plait-${key}-fragment`;
|
|
4
|
-
};
|
|
5
|
-
export const setClipboardData = (data, elements) => {
|
|
6
|
-
const result = [...elements];
|
|
7
|
-
const pluginContextResult = getDataFromClipboard(data);
|
|
8
|
-
if (pluginContextResult) {
|
|
9
|
-
result.push(...pluginContextResult);
|
|
10
|
-
}
|
|
11
|
-
const stringObj = JSON.stringify(result);
|
|
12
|
-
const encoded = window.btoa(encodeURIComponent(stringObj));
|
|
13
|
-
data?.setData(`application/${CLIP_BOARD_FORMAT_KEY}`, encoded);
|
|
14
|
-
};
|
|
15
|
-
export const setClipboardDataByText = (data, text) => {
|
|
16
|
-
const pluginContextResult = getTextFromClipboard(data);
|
|
17
|
-
data?.setData(`text/plain`, text + '\n' + pluginContextResult);
|
|
18
|
-
};
|
|
19
|
-
export const setClipboardDataByMedia = (data, media, key) => {
|
|
20
|
-
const stringObj = JSON.stringify(media);
|
|
21
|
-
const encoded = window.btoa(encodeURIComponent(stringObj));
|
|
22
|
-
data?.setData(getClipboardByKey(key), encoded);
|
|
23
|
-
};
|
|
24
|
-
export const getDataFromClipboard = (data) => {
|
|
25
|
-
const encoded = data?.getData(`application/${CLIP_BOARD_FORMAT_KEY}`);
|
|
26
|
-
let nodesData = [];
|
|
27
|
-
if (encoded) {
|
|
28
|
-
const decoded = decodeURIComponent(window.atob(encoded));
|
|
29
|
-
nodesData = JSON.parse(decoded);
|
|
30
|
-
}
|
|
31
|
-
return nodesData;
|
|
32
|
-
};
|
|
33
|
-
export const getTextFromClipboard = (data) => {
|
|
34
|
-
return (data ? data.getData(`text/plain`) : '');
|
|
35
|
-
};
|
|
36
|
-
export const getClipboardDataByMedia = (data, key) => {
|
|
37
|
-
const encoded = data?.getData(getClipboardByKey(key));
|
|
38
|
-
let imageItem = null;
|
|
39
|
-
if (encoded) {
|
|
40
|
-
const decoded = decodeURIComponent(window.atob(encoded));
|
|
41
|
-
imageItem = JSON.parse(decoded);
|
|
42
|
-
}
|
|
43
|
-
return imageItem;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdyRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQzdDLE9BQU8sdUJBQXVCLEdBQUcsV0FBVyxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBeUIsRUFBRSxRQUF3QixFQUFFLEVBQUU7SUFDcEYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLE1BQU0sbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsSUFBSSxtQkFBbUIsRUFBRTtRQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztLQUN2QztJQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNELElBQUksRUFBRSxPQUFPLENBQUMsZUFBZSxxQkFBcUIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsSUFBeUIsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUM5RSxNQUFNLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksR0FBRyxJQUFJLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFtQixJQUF5QixFQUFFLEtBQVEsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUMxRyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMzRCxJQUFJLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBeUIsRUFBRSxFQUFFO0lBQzlELE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsZUFBZSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdEUsSUFBSSxTQUFTLEdBQW1CLEVBQUUsQ0FBQztJQUNuQyxJQUFJLE9BQU8sRUFBRTtRQUNULE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN6RCxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUNuQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBeUIsRUFBRSxFQUFFO0lBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBVyxDQUFDO0FBQzlELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsSUFBeUIsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUM5RSxNQUFNLE9BQU8sR0FBRyxJQUFJLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLElBQUksT0FBTyxFQUFFO1FBQ1QsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3pELFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ0xJUF9CT0FSRF9GT1JNQVRfS0VZIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgZ2V0Q2xpcGJvYXJkQnlLZXkgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gYGFwcGxpY2F0aW9uL3gtcGxhaXQtJHtrZXl9LWZyYWdtZW50YDtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRDbGlwYm9hcmREYXRhID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFsuLi5lbGVtZW50c107XG4gICAgY29uc3QgcGx1Z2luQ29udGV4dFJlc3VsdCA9IGdldERhdGFGcm9tQ2xpcGJvYXJkKGRhdGEpO1xuICAgIGlmIChwbHVnaW5Db250ZXh0UmVzdWx0KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLnBsdWdpbkNvbnRleHRSZXN1bHQpO1xuICAgIH1cbiAgICBjb25zdCBzdHJpbmdPYmogPSBKU09OLnN0cmluZ2lmeShyZXN1bHQpO1xuICAgIGNvbnN0IGVuY29kZWQgPSB3aW5kb3cuYnRvYShlbmNvZGVVUklDb21wb25lbnQoc3RyaW5nT2JqKSk7XG4gICAgZGF0YT8uc2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQX0JPQVJEX0ZPUk1BVF9LRVl9YCwgZW5jb2RlZCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0Q2xpcGJvYXJkRGF0YUJ5VGV4dCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLCB0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwbHVnaW5Db250ZXh0UmVzdWx0ID0gZ2V0VGV4dEZyb21DbGlwYm9hcmQoZGF0YSk7XG4gICAgZGF0YT8uc2V0RGF0YShgdGV4dC9wbGFpbmAsIHRleHQgKyAnXFxuJyArIHBsdWdpbkNvbnRleHRSZXN1bHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldENsaXBib2FyZERhdGFCeU1lZGlhID0gPFQgZXh0ZW5kcyBPYmplY3Q+KGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIG1lZGlhOiBULCBrZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHN0cmluZ09iaiA9IEpTT04uc3RyaW5naWZ5KG1lZGlhKTtcbiAgICBjb25zdCBlbmNvZGVkID0gd2luZG93LmJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ09iaikpO1xuICAgIGRhdGE/LnNldERhdGEoZ2V0Q2xpcGJvYXJkQnlLZXkoa2V5KSwgZW5jb2RlZCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0YUZyb21DbGlwYm9hcmQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCkgPT4ge1xuICAgIGNvbnN0IGVuY29kZWQgPSBkYXRhPy5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBfQk9BUkRfRk9STUFUX0tFWX1gKTtcbiAgICBsZXQgbm9kZXNEYXRhOiBQbGFpdEVsZW1lbnRbXSA9IFtdO1xuICAgIGlmIChlbmNvZGVkKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZW5jb2RlZCkpO1xuICAgICAgICBub2Rlc0RhdGEgPSBKU09OLnBhcnNlKGRlY29kZWQpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXNEYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRGcm9tQ2xpcGJvYXJkID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHtcbiAgICByZXR1cm4gKGRhdGEgPyBkYXRhLmdldERhdGEoYHRleHQvcGxhaW5gKSA6ICcnKSBhcyBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q2xpcGJvYXJkRGF0YUJ5TWVkaWEgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBlbmNvZGVkID0gZGF0YT8uZ2V0RGF0YShnZXRDbGlwYm9hcmRCeUtleShrZXkpKTtcbiAgICBsZXQgaW1hZ2VJdGVtID0gbnVsbDtcbiAgICBpZiAoZW5jb2RlZCkge1xuICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKGVuY29kZWQpKTtcbiAgICAgICAgaW1hZ2VJdGVtID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcbiAgICB9XG4gICAgcmV0dXJuIGltYWdlSXRlbTtcbn07XG4iXX0=
|
package/utils/clipboard.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PlaitElement } from '../interfaces';
|
|
2
|
-
export declare const getClipboardByKey: (key: string) => string;
|
|
3
|
-
export declare const setClipboardData: (data: DataTransfer | null, elements: PlaitElement[]) => void;
|
|
4
|
-
export declare const setClipboardDataByText: (data: DataTransfer | null, text: string) => void;
|
|
5
|
-
export declare const setClipboardDataByMedia: <T extends Object>(data: DataTransfer | null, media: T, key: string) => void;
|
|
6
|
-
export declare const getDataFromClipboard: (data: DataTransfer | null) => PlaitElement[];
|
|
7
|
-
export declare const getTextFromClipboard: (data: DataTransfer | null) => string;
|
|
8
|
-
export declare const getClipboardDataByMedia: (data: DataTransfer | null, key: string) => any;
|