@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.
Files changed (36) hide show
  1. package/constants/index.d.ts +0 -1
  2. package/esm2022/board/board.component.mjs +8 -7
  3. package/esm2022/constants/index.mjs +1 -2
  4. package/esm2022/interfaces/board.mjs +1 -1
  5. package/esm2022/plugins/create-board.mjs +5 -2
  6. package/esm2022/plugins/with-moving.mjs +6 -9
  7. package/esm2022/plugins/with-selection.mjs +7 -8
  8. package/esm2022/transforms/board.mjs +4 -5
  9. package/esm2022/utils/board.mjs +1 -15
  10. package/esm2022/utils/clipboard/clipboard.mjs +36 -0
  11. package/esm2022/utils/clipboard/common.mjs +64 -0
  12. package/esm2022/utils/clipboard/data-transfer.mjs +21 -0
  13. package/esm2022/utils/clipboard/index.mjs +3 -0
  14. package/esm2022/utils/clipboard/navigator-clipboard.mjs +73 -0
  15. package/esm2022/utils/clipboard/types.mjs +6 -0
  16. package/esm2022/utils/dom/common.mjs +1 -23
  17. package/esm2022/utils/index.mjs +5 -1
  18. package/esm2022/utils/to-point.mjs +49 -0
  19. package/esm2022/utils/viewport.mjs +8 -20
  20. package/fesm2022/plait-core.mjs +257 -107
  21. package/fesm2022/plait-core.mjs.map +1 -1
  22. package/interfaces/board.d.ts +3 -2
  23. package/package.json +1 -1
  24. package/utils/board.d.ts +0 -3
  25. package/utils/clipboard/clipboard.d.ts +3 -0
  26. package/utils/clipboard/common.d.ts +8 -0
  27. package/utils/clipboard/data-transfer.d.ts +5 -0
  28. package/utils/clipboard/index.d.ts +2 -0
  29. package/utils/clipboard/navigator-clipboard.d.ts +3 -0
  30. package/utils/clipboard/types.d.ts +17 -0
  31. package/utils/dom/common.d.ts +1 -16
  32. package/utils/index.d.ts +4 -0
  33. package/utils/to-point.d.ts +21 -0
  34. package/utils/viewport.d.ts +2 -7
  35. package/esm2022/utils/clipboard.mjs +0 -45
  36. package/utils/clipboard.d.ts +0 -8
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plait/core",
3
- "version": "0.48.0",
3
+ "version": "0.50.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.0.0",
6
6
  "@angular/core": "^16.0.0",
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,2 @@
1
+ export * from './data-transfer';
2
+ export * from './types';
@@ -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
+ }
@@ -1,21 +1,6 @@
1
1
  import { Options } from 'roughjs/bin/core';
2
- import { PlaitBoard, RectangleClient } from '../../interfaces';
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;
@@ -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 getViewBox(board: PlaitBoard, zoom: number): number[];
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=
@@ -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;