@plait/draw 0.62.0-next.0 → 0.62.0-next.1
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/esm2022/generators/table.generator.mjs +8 -4
- package/esm2022/utils/style/stroke.mjs +2 -4
- package/esm2022/utils/swimlane.mjs +2 -2
- package/fesm2022/plait-draw.mjs +8 -6
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/clipboard.d.ts +1 -1
- package/utils/style/stroke.d.ts +3 -4
|
@@ -2,19 +2,23 @@ import { TableSymbols } from '../interfaces';
|
|
|
2
2
|
import { Generator } from '@plait/common';
|
|
3
3
|
import { RectangleClient } from '@plait/core';
|
|
4
4
|
import { getEngine } from '../engines';
|
|
5
|
-
import {
|
|
5
|
+
import { getLineDashByElement, getStrokeColorByElement, getStrokeWidthByElement } from '../utils';
|
|
6
6
|
export class TableGenerator extends Generator {
|
|
7
7
|
canDraw(element, data) {
|
|
8
8
|
return true;
|
|
9
9
|
}
|
|
10
10
|
draw(element, data) {
|
|
11
11
|
const rectangle = RectangleClient.getRectangleByPoints(element.points);
|
|
12
|
+
const strokeLineDash = getLineDashByElement(element);
|
|
13
|
+
const strokeWidth = getStrokeWidthByElement(element);
|
|
14
|
+
const strokeColor = getStrokeColorByElement(this.board, element);
|
|
12
15
|
return getEngine(TableSymbols.table).draw(this.board, rectangle, {
|
|
13
|
-
strokeWidth
|
|
14
|
-
stroke:
|
|
16
|
+
strokeWidth,
|
|
17
|
+
stroke: strokeColor,
|
|
18
|
+
strokeLineDash,
|
|
15
19
|
}, {
|
|
16
20
|
element: element
|
|
17
21
|
});
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy90YWJsZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUErQyxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvSSxNQUFNLE9BQU8sY0FBd0QsU0FBUSxTQUF1QjtJQUNoRyxPQUFPLENBQUMsT0FBVSxFQUFFLElBQWU7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFVLEVBQUUsSUFBZTtRQUM1QixNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU8sQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakUsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDckMsSUFBSSxDQUFDLEtBQUssRUFDVixTQUFTLEVBQ1Q7WUFDSSxXQUFXO1lBQ1gsTUFBTSxFQUFFLFdBQVc7WUFDbkIsY0FBYztTQUNqQixFQUNEO1lBQ0ksT0FBTyxFQUFFLE9BQU87U0FDbkIsQ0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVTeW1ib2xzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHZW5lcmF0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRCYXNlVGFibGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3RhYmxlJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZXMnO1xuaW1wb3J0IHsgZ2V0RHJhd0RlZmF1bHRTdHJva2VDb2xvciwgZ2V0RmlsbEJ5RWxlbWVudCwgZ2V0TGluZURhc2hCeUVsZW1lbnQsIGdldFN0cm9rZUNvbG9yQnlFbGVtZW50LCBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZURhdGEge31cblxuZXhwb3J0IGNsYXNzIFRhYmxlR2VuZXJhdG9yPFQgZXh0ZW5kcyBQbGFpdEVsZW1lbnQgPSBQbGFpdEJhc2VUYWJsZT4gZXh0ZW5kcyBHZW5lcmF0b3I8VCwgVGFibGVEYXRhPiB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBULCBkYXRhOiBUYWJsZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBULCBkYXRhOiBUYWJsZURhdGEpIHtcbiAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzISk7XG4gICAgICAgIGNvbnN0IHN0cm9rZUxpbmVEYXNoID0gZ2V0TGluZURhc2hCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHN0cm9rZUNvbG9yID0gZ2V0U3Ryb2tlQ29sb3JCeUVsZW1lbnQodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBnZXRFbmdpbmUoVGFibGVTeW1ib2xzLnRhYmxlKS5kcmF3KFxuICAgICAgICAgICAgdGhpcy5ib2FyZCxcbiAgICAgICAgICAgIHJlY3RhbmdsZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgICAgICBzdHJva2U6IHN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVEYXNoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50OiBlbGVtZW50XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -8,9 +8,7 @@ export const getStrokeColorByElement = (board, element) => {
|
|
|
8
8
|
return strokeColor;
|
|
9
9
|
};
|
|
10
10
|
export const getFillByElement = (board, element) => {
|
|
11
|
-
const defaultFill = PlaitDrawElement.isFlowchart(element)
|
|
12
|
-
? getFlowchartDefaultFill(board.theme.themeColorMode)
|
|
13
|
-
: DefaultDrawStyle.fill;
|
|
11
|
+
const defaultFill = PlaitDrawElement.isFlowchart(element) ? getFlowchartDefaultFill(board.theme.themeColorMode) : DefaultDrawStyle.fill;
|
|
14
12
|
const fill = element.fill || defaultFill;
|
|
15
13
|
return fill;
|
|
16
14
|
};
|
|
@@ -27,4 +25,4 @@ export const getLineDashByElement = (element) => {
|
|
|
27
25
|
export const getStrokeStyleByElement = (element) => {
|
|
28
26
|
return element.strokeStyle || StrokeStyle.solid;
|
|
29
27
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Ryb2tlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvdXRpbHMvc3R5bGUvc3Ryb2tlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBcUIsRUFBRSxFQUFFO0lBQ2hGLE1BQU0sWUFBWSxHQUFHLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDM0UsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxZQUFZLENBQUM7SUFDeEQsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQXFCLEVBQUUsRUFBRTtJQUN6RSxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUN4SSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQztJQUN6QyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUMxRCxRQUFRLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQixLQUFLLFdBQVcsQ0FBQyxNQUFNO1lBQ25CLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDckQsS0FBSyxXQUFXLENBQUMsTUFBTTtZQUNuQixPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3JEO1lBQ0ksT0FBTyxTQUFTLENBQUM7SUFDekIsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQzdELE9BQU8sT0FBTyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDO0FBQ3BELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0QmFzZVRhYmxlLCBQbGFpdERyYXdFbGVtZW50LCBTdHJva2VTdHlsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRGVmYXVsdERyYXdTdHlsZSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXREcmF3RGVmYXVsdFN0cm9rZUNvbG9yLCBnZXRGbG93Y2hhcnREZWZhdWx0RmlsbCB9IGZyb20gJy4uL2dlb21ldHJ5JztcbmltcG9ydCB7IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi4vY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IGdldFN0cm9rZUNvbG9yQnlFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0Q29sb3IgPSBnZXREcmF3RGVmYXVsdFN0cm9rZUNvbG9yKGJvYXJkLnRoZW1lLnRoZW1lQ29sb3JNb2RlKTtcbiAgICBjb25zdCBzdHJva2VDb2xvciA9IGVsZW1lbnQuc3Ryb2tlQ29sb3IgfHwgZGVmYXVsdENvbG9yO1xuICAgIHJldHVybiBzdHJva2VDb2xvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxsQnlFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0RmlsbCA9IFBsYWl0RHJhd0VsZW1lbnQuaXNGbG93Y2hhcnQoZWxlbWVudCkgPyBnZXRGbG93Y2hhcnREZWZhdWx0RmlsbChib2FyZC50aGVtZS50aGVtZUNvbG9yTW9kZSkgOiBEZWZhdWx0RHJhd1N0eWxlLmZpbGw7XG4gICAgY29uc3QgZmlsbCA9IGVsZW1lbnQuZmlsbCB8fCBkZWZhdWx0RmlsbDtcbiAgICByZXR1cm4gZmlsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMaW5lRGFzaEJ5RWxlbWVudCA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBzd2l0Y2ggKGVsZW1lbnQuc3Ryb2tlU3R5bGUpIHtcbiAgICAgICAgY2FzZSBTdHJva2VTdHlsZS5kYXNoZWQ6XG4gICAgICAgICAgICByZXR1cm4gWzgsIDggKyBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChlbGVtZW50KV07XG4gICAgICAgIGNhc2UgU3Ryb2tlU3R5bGUuZG90dGVkOlxuICAgICAgICAgICAgcmV0dXJuIFswLCA0ICsgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCldO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3Ryb2tlU3R5bGVCeUVsZW1lbnQgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnQuc3Ryb2tlU3R5bGUgfHwgU3Ryb2tlU3R5bGUuc29saWQ7XG59O1xuIl19
|
|
@@ -87,7 +87,7 @@ export const createDefaultCells = (shape, rows, columns, header) => {
|
|
|
87
87
|
if (index < 3) {
|
|
88
88
|
const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex].id : rows[index].id;
|
|
89
89
|
const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index].id : columns[startIndex].id;
|
|
90
|
-
return createCell(rowId, columnId, 'Lane');
|
|
90
|
+
return createCell(rowId, columnId, header ? 'Lane' : 'New Swimlane');
|
|
91
91
|
}
|
|
92
92
|
const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex + 1].id : rows[index - 3].id;
|
|
93
93
|
const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 3].id : columns[startIndex + 1].id;
|
|
@@ -112,4 +112,4 @@ export const adjustSwimlaneShape = (shape) => {
|
|
|
112
112
|
? SwimlaneSymbols.swimlaneHorizontal
|
|
113
113
|
: SwimlaneSymbols.swimlaneVertical;
|
|
114
114
|
};
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9zd2ltbGFuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFpQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBc0I7SUFDckQsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxlQUFlLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksR0FBRztvQkFDSCxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUNuQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUMvQixDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkQsSUFBSSxHQUFHO29CQUNILEdBQUcsSUFBSTtvQkFDUCxJQUFJLEVBQUU7d0JBQ0YsR0FBRyxJQUFJ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LFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDaEQsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtJQUMvRCxPQUFPLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLEVBQUUsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUgsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUEwQixFQUFtQixFQUFFO0lBQy9FLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyw0QkFBNEIsRUFBRSxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDN0csQ0FBQyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7UUFDcEMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQztBQUMzQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZENyZWF0b3IsIFBvaW50LCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0U3dpbWxhbmVQcm9wZXJ0eU1hcCwgU1dJTUxBTkVfSEVBREVSX1NJWkUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRTd2ltbGFuZSwgUGxhaXRUYWJsZUNlbGwsIFN3aW1sYW5lRHJhd1N5bWJvbHMsIFN3aW1sYW5lU3ltYm9scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlQ2VsbCB9IGZyb20gJy4vdGFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTd2ltbGFuZVRhYmxlKGVsZW1lbnQ6IFBsYWl0U3dpbWxhbmUpIHtcbiAgICBjb25zdCBzd2ltbGFuZUVsZW1lbnQgPSB7IC4uLmVsZW1lbnQgfTtcbiAgICBpZiAoUGxhaXREcmF3RWxlbWVudC5pc0hvcml6b250YWxTd2ltbGFuZShlbGVtZW50KSkge1xuICAgICAgICBzd2ltbGFuZUVsZW1lbnQuY2VsbHMgPSBlbGVtZW50LmNlbGxzLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCAmJiBlbGVtZW50LmhlYWRlcikge1xuICAgICAgICAgICAgICAgIGl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVsZW1lbnQuY2VsbHNbMF0sXG4gICAgICAgICAgICAgICAgICAgIHJvd3NwYW46IGVsZW1lbnQucm93cy5sZW5ndGhcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0udGV4dCAmJiBpdGVtLnRleHRIZWlnaHQgJiYgIWl0ZW0udGV4dC5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBpdGVtID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246ICd2ZXJ0aWNhbCdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQuaGVhZGVyKSB7XG4gICAgICAgIHN3aW1sYW5lRWxlbWVudC5jZWxscyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzWzBdLFxuICAgICAgICAgICAgICAgIGNvbHNwYW46IGVsZW1lbnQuY29sdW1ucy5sZW5ndGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzLnNsaWNlKDEsIGVsZW1lbnQuY2VsbHMubGVuZ3RoKVxuICAgICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gc3dpbWxhbmVFbGVtZW50O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdFN3aW1sYW5lUG9pbnRzID0gKHBvaW50ZXI6IFN3aW1sYW5lRHJhd1N5bWJvbHMsIGNlbnRlclBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXBbcG9pbnRlcl07XG4gICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRQb2ludHMoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5Q2VudGVyUG9pbnQoY2VudGVyUG9pbnQsIHByb3BlcnR5LndpZHRoLCBwcm9wZXJ0eS5oZWlnaHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0U3dpbWxhbmUgPSAoc2hhcGU6IFN3aW1sYW5lRHJhd1N5bWJvbHMsIHBvaW50czogW1BvaW50LCBQb2ludF0pID0+IHtcbiAgICBjb25zdCBoZWFkZXIgPSBpc1N3aW1sYW5lV2l0aEhlYWRlcihzaGFwZSk7XG4gICAgY29uc3QgZGF0YVNoYXBlID0gYWRqdXN0U3dpbWxhbmVTaGFwZShzaGFwZSk7XG4gICAgY29uc3Qgcm93cyA9IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zKGRhdGFTaGFwZSwgJ3JvdycsIGhlYWRlcik7XG4gICAgY29uc3QgY29sdW1ucyA9IGNyZWF0ZURlZmF1bHRSb3dzT3JDb2x1bW5zKGRhdGFTaGFwZSwgJ2NvbHVtbicsIGhlYWRlcik7XG4gICAgY29uc3Qgc3dpbWxhbmUgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdHlwZTogJ3N3aW1sYW5lJyxcbiAgICAgICAgc2hhcGU6IGRhdGFTaGFwZSxcbiAgICAgICAgcG9pbnRzLFxuICAgICAgICByb3dzLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBoZWFkZXIsXG4gICAgICAgIGNlbGxzOiBjcmVhdGVEZWZhdWx0Q2VsbHMoZGF0YVNoYXBlLCByb3dzLCBjb2x1bW5zLCBoZWFkZXIpXG4gICAgfSBhcyBQbGFpdFN3aW1sYW5lO1xuICAgIHJldHVybiBzd2ltbGFuZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyA9IChzaGFwZTogU3dpbWxhbmVTeW1ib2xzLCB0eXBlOiAncm93JyB8ICdjb2x1bW4nLCBoZWFkZXI6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBjcmVhdGVJdGVtcyA9IChjb3VudDogbnVtYmVyKSA9PiBuZXcgQXJyYXkoY291bnQpLmZpbGwoJycpLm1hcCgoKSA9PiAoeyBpZDogaWRDcmVhdG9yKCkgfSkpO1xuICAgIGxldCBkYXRhID0gY3JlYXRlSXRlbXMoMyk7XG4gICAgaWYgKFxuICAgICAgICAodHlwZSA9PT0gJ3JvdycgJiYgc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsKSB8fFxuICAgICAgICAodHlwZSA9PT0gJ2NvbHVtbicgJiYgc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZUhvcml6b250YWwpXG4gICAgKSB7XG4gICAgICAgIGRhdGEgPSBoZWFkZXIgPyBkYXRhIDogY3JlYXRlSXRlbXMoMik7XG4gICAgICAgIGNvbnN0IGRpbWVuc2lvbiA9IHR5cGUgPT09ICdyb3cnID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICAgICAgICBkYXRhID0gZGF0YS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IDAgfHwgKGluZGV4ID09PSAxICYmIGhlYWRlcikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBbZGltZW5zaW9uXTogU1dJTUxBTkVfSEVBREVSX1NJWkVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRDZWxscyA9IChcbiAgICBzaGFwZTogU3dpbWxhbmVTeW1ib2xzLFxuICAgIHJvd3M6IHsgaWQ6IHN0cmluZzsgaGVpZ2h0PzogbnVtYmVyIH1bXSxcbiAgICBjb2x1bW5zOiB7IGlkOiBzdHJpbmc7IHdpZHRoPzogbnVtYmVyIH1bXSxcbiAgICBoZWFkZXI6IGJvb2xlYW5cbikgPT4ge1xuICAgIGxldCBoZWFkZXJDZWxsOiBQbGFpdFRhYmxlQ2VsbFtdID0gW107XG4gICAgbGV0IHN0YXJ0SW5kZXggPSAwO1xuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgICAgaGVhZGVyQ2VsbCA9IFtjcmVhdGVDZWxsKHJvd3NbMF0uaWQsIGNvbHVtbnNbMF0uaWQsICdOZXcgU3dpbWxhbmUnKV07XG4gICAgICAgIHN0YXJ0SW5kZXggPSAxO1xuICAgIH1cbiAgICBjb25zdCBjZWxscyA9IG5ldyBBcnJheSg2KS5maWxsKCcnKS5tYXAoKF8sIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA8IDMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvd0lkID0gc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gcm93c1tzdGFydEluZGV4XS5pZCA6IHJvd3NbaW5kZXhdLmlkO1xuICAgICAgICAgICAgY29uc3QgY29sdW1uSWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4XS5pZCA6IGNvbHVtbnNbc3RhcnRJbmRleF0uaWQ7XG4gICAgICAgICAgICByZXR1cm4gY3JlYXRlQ2VsbChyb3dJZCwgY29sdW1uSWQsICdMYW5lJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm93SWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyByb3dzW3N0YXJ0SW5kZXggKyAxXS5pZCA6IHJvd3NbaW5kZXggLSAzXS5pZDtcbiAgICAgICAgY29uc3QgY29sdW1uSWQgPSBzaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWwgPyBjb2x1bW5zW2luZGV4IC0gM10uaWQgOiBjb2x1bW5zW3N0YXJ0SW5kZXggKyAxXS5pZDtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUNlbGwocm93SWQsIGNvbHVtbklkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gWy4uLmhlYWRlckNlbGwsIC4uLmNlbGxzXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTd2ltbGFuZUNvdW50ID0gKHN3aW1sYW5lOiBQbGFpdFN3aW1sYW5lKSA9PiB7XG4gICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNIb3Jpem9udGFsU3dpbWxhbmUoc3dpbWxhbmUpKSB7XG4gICAgICAgIHJldHVybiBzd2ltbGFuZS5yb3dzLmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNWZXJ0aWNhbFN3aW1sYW5lKHN3aW1sYW5lKSkge1xuICAgICAgICByZXR1cm4gc3dpbWxhbmUuY29sdW1ucy5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU3dpbWxhbmVXaXRoSGVhZGVyID0gKHNoYXBlOiBTd2ltbGFuZURyYXdTeW1ib2xzKSA9PiB7XG4gICAgcmV0dXJuIFtTd2ltbGFuZURyYXdTeW1ib2xzLnN3aW1sYW5lSG9yaXpvbnRhbFdpdGhIZWFkZXIsIFN3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbFdpdGhIZWFkZXJdLmluY2x1ZGVzKHNoYXBlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGp1c3RTd2ltbGFuZVNoYXBlID0gKHNoYXBlOiBTd2ltbGFuZURyYXdTeW1ib2xzKTogU3dpbWxhbmVTeW1ib2xzID0+IHtcbiAgICByZXR1cm4gW1N3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsV2l0aEhlYWRlciwgU3dpbWxhbmVEcmF3U3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxdLmluY2x1ZGVzKHNoYXBlKVxuICAgICAgICA/IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxcbiAgICAgICAgOiBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbDtcbn07XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy91dGlscy9zd2ltbGFuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFpQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBc0I7SUFDckQsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLElBQUksZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxlQUFlLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksR0FBRztvQkFDSCxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO29CQUNuQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNO2lCQUMvQixDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdkQsSUFBSSxHQUFHO29CQUNILEdBQUcsSUFBSTtvQkFDUCxJQUFJLEVBQUU7d0JBQ0YsR0FBRyxJQUFJ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QyxDQUFDO0lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2hELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUEwQixFQUFFLEVBQUU7SUFDL0QsT0FBTyxDQUFDLG1CQUFtQixDQUFDLDRCQUE0QixFQUFFLG1CQUFtQixDQUFDLDBCQUEwQixDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBMEIsRUFBbUIsRUFBRTtJQUMvRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLEVBQUUsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzdHLENBQUMsQ0FBQyxlQUFlLENBQUMsa0JBQWtCO1FBQ3BDLENBQUMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7QUFDM0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaWRDcmVhdG9yLCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgRGVmYXVsdFN3aW1sYW5lUHJvcGVydHlNYXAsIFNXSU1MQU5FX0hFQURFUl9TSVpFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFBsYWl0RHJhd0VsZW1lbnQsIFBsYWl0U3dpbWxhbmUsIFBsYWl0VGFibGVDZWxsLCBTd2ltbGFuZURyYXdTeW1ib2xzLCBTd2ltbGFuZVN5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNyZWF0ZUNlbGwgfSBmcm9tICcuL3RhYmxlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU3dpbWxhbmVUYWJsZShlbGVtZW50OiBQbGFpdFN3aW1sYW5lKSB7XG4gICAgY29uc3Qgc3dpbWxhbmVFbGVtZW50ID0geyAuLi5lbGVtZW50IH07XG4gICAgaWYgKFBsYWl0RHJhd0VsZW1lbnQuaXNIb3Jpem9udGFsU3dpbWxhbmUoZWxlbWVudCkpIHtcbiAgICAgICAgc3dpbWxhbmVFbGVtZW50LmNlbGxzID0gZWxlbWVudC5jZWxscy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggPT09IDAgJiYgZWxlbWVudC5oZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBpdGVtID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbGVtZW50LmNlbGxzWzBdLFxuICAgICAgICAgICAgICAgICAgICByb3dzcGFuOiBlbGVtZW50LnJvd3MubGVuZ3RoXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLnRleHQgJiYgaXRlbS50ZXh0SGVpZ2h0ICYmICFpdGVtLnRleHQuZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgaXRlbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiAndmVydGljYWwnXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBzd2ltbGFuZUVsZW1lbnQ7XG4gICAgfVxuICAgIGlmIChlbGVtZW50LmhlYWRlcikge1xuICAgICAgICBzd2ltbGFuZUVsZW1lbnQuY2VsbHMgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uZWxlbWVudC5jZWxsc1swXSxcbiAgICAgICAgICAgICAgICBjb2xzcGFuOiBlbGVtZW50LmNvbHVtbnMubGVuZ3RoXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uZWxlbWVudC5jZWxscy5zbGljZSgxLCBlbGVtZW50LmNlbGxzLmxlbmd0aClcbiAgICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHN3aW1sYW5lRWxlbWVudDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRTd2ltbGFuZVBvaW50cyA9IChwb2ludGVyOiBTd2ltbGFuZURyYXdTeW1ib2xzLCBjZW50ZXJQb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCBwcm9wZXJ0eSA9IERlZmF1bHRTd2ltbGFuZVByb3BlcnR5TWFwW3BvaW50ZXJdO1xuICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0UG9pbnRzKFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeUNlbnRlclBvaW50KGNlbnRlclBvaW50LCBwcm9wZXJ0eS53aWR0aCwgcHJvcGVydHkuaGVpZ2h0KSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVmYXVsdFN3aW1sYW5lID0gKHNoYXBlOiBTd2ltbGFuZURyYXdTeW1ib2xzLCBwb2ludHM6IFtQb2ludCwgUG9pbnRdKSA9PiB7XG4gICAgY29uc3QgaGVhZGVyID0gaXNTd2ltbGFuZVdpdGhIZWFkZXIoc2hhcGUpO1xuICAgIGNvbnN0IGRhdGFTaGFwZSA9IGFkanVzdFN3aW1sYW5lU2hhcGUoc2hhcGUpO1xuICAgIGNvbnN0IHJvd3MgPSBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyhkYXRhU2hhcGUsICdyb3cnLCBoZWFkZXIpO1xuICAgIGNvbnN0IGNvbHVtbnMgPSBjcmVhdGVEZWZhdWx0Um93c09yQ29sdW1ucyhkYXRhU2hhcGUsICdjb2x1bW4nLCBoZWFkZXIpO1xuICAgIGNvbnN0IHN3aW1sYW5lID0ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIHR5cGU6ICdzd2ltbGFuZScsXG4gICAgICAgIHNoYXBlOiBkYXRhU2hhcGUsXG4gICAgICAgIHBvaW50cyxcbiAgICAgICAgcm93cyxcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgaGVhZGVyLFxuICAgICAgICBjZWxsczogY3JlYXRlRGVmYXVsdENlbGxzKGRhdGFTaGFwZSwgcm93cywgY29sdW1ucywgaGVhZGVyKVxuICAgIH0gYXMgUGxhaXRTd2ltbGFuZTtcbiAgICByZXR1cm4gc3dpbWxhbmU7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVmYXVsdFJvd3NPckNvbHVtbnMgPSAoc2hhcGU6IFN3aW1sYW5lU3ltYm9scywgdHlwZTogJ3JvdycgfCAnY29sdW1uJywgaGVhZGVyOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgY3JlYXRlSXRlbXMgPSAoY291bnQ6IG51bWJlcikgPT4gbmV3IEFycmF5KGNvdW50KS5maWxsKCcnKS5tYXAoKCkgPT4gKHsgaWQ6IGlkQ3JlYXRvcigpIH0pKTtcbiAgICBsZXQgZGF0YSA9IGNyZWF0ZUl0ZW1zKDMpO1xuICAgIGlmIChcbiAgICAgICAgKHR5cGUgPT09ICdyb3cnICYmIHNoYXBlID09PSBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbCkgfHxcbiAgICAgICAgKHR5cGUgPT09ICdjb2x1bW4nICYmIHNoYXBlID09PSBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsKVxuICAgICkge1xuICAgICAgICBkYXRhID0gaGVhZGVyID8gZGF0YSA6IGNyZWF0ZUl0ZW1zKDIpO1xuICAgICAgICBjb25zdCBkaW1lbnNpb24gPSB0eXBlID09PSAncm93JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgICAgICAgZGF0YSA9IGRhdGEubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwIHx8IChpbmRleCA9PT0gMSAmJiBoZWFkZXIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgICAgICAgW2RpbWVuc2lvbl06IFNXSU1MQU5FX0hFQURFUl9TSVpFXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEZWZhdWx0Q2VsbHMgPSAoXG4gICAgc2hhcGU6IFN3aW1sYW5lU3ltYm9scyxcbiAgICByb3dzOiB7IGlkOiBzdHJpbmc7IGhlaWdodD86IG51bWJlciB9W10sXG4gICAgY29sdW1uczogeyBpZDogc3RyaW5nOyB3aWR0aD86IG51bWJlciB9W10sXG4gICAgaGVhZGVyOiBib29sZWFuXG4pID0+IHtcbiAgICBsZXQgaGVhZGVyQ2VsbDogUGxhaXRUYWJsZUNlbGxbXSA9IFtdO1xuICAgIGxldCBzdGFydEluZGV4ID0gMDtcbiAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgIGhlYWRlckNlbGwgPSBbY3JlYXRlQ2VsbChyb3dzWzBdLmlkLCBjb2x1bW5zWzBdLmlkLCAnTmV3IFN3aW1sYW5lJyldO1xuICAgICAgICBzdGFydEluZGV4ID0gMTtcbiAgICB9XG4gICAgY29uc3QgY2VsbHMgPSBuZXcgQXJyYXkoNikuZmlsbCgnJykubWFwKChfLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPCAzKSB7XG4gICAgICAgICAgICBjb25zdCByb3dJZCA9IHNoYXBlID09PSBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbCA/IHJvd3Nbc3RhcnRJbmRleF0uaWQgOiByb3dzW2luZGV4XS5pZDtcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbklkID0gc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gY29sdW1uc1tpbmRleF0uaWQgOiBjb2x1bW5zW3N0YXJ0SW5kZXhdLmlkO1xuICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUNlbGwocm93SWQsIGNvbHVtbklkLCBoZWFkZXI/ICdMYW5lJzogJ05ldyBTd2ltbGFuZScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvd0lkID0gc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gcm93c1tzdGFydEluZGV4ICsgMV0uaWQgOiByb3dzW2luZGV4IC0gM10uaWQ7XG4gICAgICAgIGNvbnN0IGNvbHVtbklkID0gc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsID8gY29sdW1uc1tpbmRleCAtIDNdLmlkIDogY29sdW1uc1tzdGFydEluZGV4ICsgMV0uaWQ7XG4gICAgICAgIHJldHVybiBjcmVhdGVDZWxsKHJvd0lkLCBjb2x1bW5JZCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIFsuLi5oZWFkZXJDZWxsLCAuLi5jZWxsc107XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3dpbWxhbmVDb3VudCA9IChzd2ltbGFuZTogUGxhaXRTd2ltbGFuZSkgPT4ge1xuICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzSG9yaXpvbnRhbFN3aW1sYW5lKHN3aW1sYW5lKSkge1xuICAgICAgICByZXR1cm4gc3dpbWxhbmUucm93cy5sZW5ndGg7XG4gICAgfVxuICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzVmVydGljYWxTd2ltbGFuZShzd2ltbGFuZSkpIHtcbiAgICAgICAgcmV0dXJuIHN3aW1sYW5lLmNvbHVtbnMubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1N3aW1sYW5lV2l0aEhlYWRlciA9IChzaGFwZTogU3dpbWxhbmVEcmF3U3ltYm9scykgPT4ge1xuICAgIHJldHVybiBbU3dpbWxhbmVEcmF3U3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxXaXRoSGVhZGVyLCBTd2ltbGFuZURyYXdTeW1ib2xzLnN3aW1sYW5lVmVydGljYWxXaXRoSGVhZGVyXS5pbmNsdWRlcyhzaGFwZSk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRqdXN0U3dpbWxhbmVTaGFwZSA9IChzaGFwZTogU3dpbWxhbmVEcmF3U3ltYm9scyk6IFN3aW1sYW5lU3ltYm9scyA9PiB7XG4gICAgcmV0dXJuIFtTd2ltbGFuZURyYXdTeW1ib2xzLnN3aW1sYW5lSG9yaXpvbnRhbFdpdGhIZWFkZXIsIFN3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsXS5pbmNsdWRlcyhzaGFwZSlcbiAgICAgICAgPyBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsXG4gICAgICAgIDogU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWw7XG59O1xuIl19
|
package/fesm2022/plait-draw.mjs
CHANGED
|
@@ -1229,9 +1229,7 @@ const getStrokeColorByElement = (board, element) => {
|
|
|
1229
1229
|
return strokeColor;
|
|
1230
1230
|
};
|
|
1231
1231
|
const getFillByElement = (board, element) => {
|
|
1232
|
-
const defaultFill = PlaitDrawElement.isFlowchart(element)
|
|
1233
|
-
? getFlowchartDefaultFill(board.theme.themeColorMode)
|
|
1234
|
-
: DefaultDrawStyle.fill;
|
|
1232
|
+
const defaultFill = PlaitDrawElement.isFlowchart(element) ? getFlowchartDefaultFill(board.theme.themeColorMode) : DefaultDrawStyle.fill;
|
|
1235
1233
|
const fill = element.fill || defaultFill;
|
|
1236
1234
|
return fill;
|
|
1237
1235
|
};
|
|
@@ -2695,7 +2693,7 @@ const createDefaultCells = (shape, rows, columns, header) => {
|
|
|
2695
2693
|
if (index < 3) {
|
|
2696
2694
|
const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex].id : rows[index].id;
|
|
2697
2695
|
const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index].id : columns[startIndex].id;
|
|
2698
|
-
return createCell(rowId, columnId, 'Lane');
|
|
2696
|
+
return createCell(rowId, columnId, header ? 'Lane' : 'New Swimlane');
|
|
2699
2697
|
}
|
|
2700
2698
|
const rowId = shape === SwimlaneSymbols.swimlaneVertical ? rows[startIndex + 1].id : rows[index - 3].id;
|
|
2701
2699
|
const columnId = shape === SwimlaneSymbols.swimlaneVertical ? columns[index - 3].id : columns[startIndex + 1].id;
|
|
@@ -6783,9 +6781,13 @@ class TableGenerator extends Generator {
|
|
|
6783
6781
|
}
|
|
6784
6782
|
draw(element, data) {
|
|
6785
6783
|
const rectangle = RectangleClient.getRectangleByPoints(element.points);
|
|
6784
|
+
const strokeLineDash = getLineDashByElement(element);
|
|
6785
|
+
const strokeWidth = getStrokeWidthByElement(element);
|
|
6786
|
+
const strokeColor = getStrokeColorByElement(this.board, element);
|
|
6786
6787
|
return getEngine(TableSymbols.table).draw(this.board, rectangle, {
|
|
6787
|
-
strokeWidth
|
|
6788
|
-
stroke:
|
|
6788
|
+
strokeWidth,
|
|
6789
|
+
stroke: strokeColor,
|
|
6790
|
+
strokeLineDash,
|
|
6789
6791
|
}, {
|
|
6790
6792
|
element: element
|
|
6791
6793
|
});
|