microboard-temp 0.14.28 → 0.14.30
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/browser.js +52 -38
- package/dist/cjs/index.js +52 -38
- package/dist/cjs/node.js +52 -38
- package/dist/cjs/protocol.js +10 -1
- package/dist/esm/browser.js +52 -38
- package/dist/esm/index.js +52 -38
- package/dist/esm/node.js +52 -38
- package/dist/esm/protocol.js +10 -1
- package/dist/types/Events/MessageRouter/socketContract.d.ts +170 -0
- package/dist/types/HTMLAdapter/BoardHTMLAdapter.d.ts +4 -7
- package/dist/types/HTMLAdapter/LegacyBoardHTMLAdapter.d.ts +14 -0
- package/dist/types/HTMLAdapter/codecSchemaRegistry.d.ts +13 -0
- package/dist/types/Items/BaseItem/BaseItem.d.ts +0 -3
- package/dist/types/Items/Drawing/Drawing.d.ts +2 -0
- package/dist/types/Items/Drawing/Drawing.schema.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/browser.js
CHANGED
|
@@ -5256,7 +5256,7 @@ function mergeSetPropertyOperations(opA, opB) {
|
|
|
5256
5256
|
}
|
|
5257
5257
|
return {
|
|
5258
5258
|
...opB,
|
|
5259
|
-
|
|
5259
|
+
prevValues: opA.prevValues
|
|
5260
5260
|
};
|
|
5261
5261
|
}
|
|
5262
5262
|
function mergeBoardOperations(opA, opB) {
|
|
@@ -11945,7 +11945,6 @@ class BaseItem {
|
|
|
11945
11945
|
shouldUseRelativeAlignment = true;
|
|
11946
11946
|
resizeEnabled = true;
|
|
11947
11947
|
onlyProportionalResize = false;
|
|
11948
|
-
opacity = 1;
|
|
11949
11948
|
itemType = "";
|
|
11950
11949
|
childIds = [];
|
|
11951
11950
|
isHoverHighlighted = false;
|
|
@@ -12298,7 +12297,6 @@ class BaseItem {
|
|
|
12298
12297
|
itemType: this.itemType,
|
|
12299
12298
|
childIds: this.childIds,
|
|
12300
12299
|
parent: this.parent,
|
|
12301
|
-
opacity: this.opacity,
|
|
12302
12300
|
resizeEnabled: this.resizeEnabled
|
|
12303
12301
|
};
|
|
12304
12302
|
}
|
|
@@ -12510,16 +12508,6 @@ class BaseItem {
|
|
|
12510
12508
|
this.index.render(context);
|
|
12511
12509
|
}
|
|
12512
12510
|
}
|
|
12513
|
-
renderWithOpacity(context) {
|
|
12514
|
-
if (this.opacity === 1) {
|
|
12515
|
-
this.render(context);
|
|
12516
|
-
return;
|
|
12517
|
-
}
|
|
12518
|
-
context.ctx.save();
|
|
12519
|
-
context.ctx.globalAlpha *= this.opacity;
|
|
12520
|
-
this.render(context);
|
|
12521
|
-
context.ctx.restore();
|
|
12522
|
-
}
|
|
12523
12511
|
getSnapAnchorPoints() {
|
|
12524
12512
|
return this.getMbr().getSnapAnchorPoints();
|
|
12525
12513
|
}
|
|
@@ -27727,6 +27715,14 @@ var AudioOperationSchema = exports_external.object({
|
|
|
27727
27715
|
item: StringArraySchema,
|
|
27728
27716
|
url: exports_external.string()
|
|
27729
27717
|
}).passthrough();
|
|
27718
|
+
var ItemSetPropertyOperationSchema = exports_external.object({
|
|
27719
|
+
class: exports_external.literal("Item"),
|
|
27720
|
+
method: exports_external.literal("setProperty"),
|
|
27721
|
+
item: StringArraySchema,
|
|
27722
|
+
property: exports_external.string(),
|
|
27723
|
+
value: exports_external.unknown(),
|
|
27724
|
+
prevValues: exports_external.array(exports_external.unknown())
|
|
27725
|
+
}).passthrough();
|
|
27730
27726
|
var SocketOperationSchema = exports_external.union([
|
|
27731
27727
|
UndoOperationSchema,
|
|
27732
27728
|
RedoOperationSchema,
|
|
@@ -27746,7 +27742,8 @@ var SocketOperationSchema = exports_external.union([
|
|
|
27746
27742
|
...CommentOperationSchemas,
|
|
27747
27743
|
ImageOperationSchema,
|
|
27748
27744
|
VideoOperationSchema,
|
|
27749
|
-
AudioOperationSchema
|
|
27745
|
+
AudioOperationSchema,
|
|
27746
|
+
ItemSetPropertyOperationSchema
|
|
27750
27747
|
]);
|
|
27751
27748
|
var SocketBoardEventBodySchema = exports_external.object({
|
|
27752
27749
|
eventId: exports_external.string(),
|
|
@@ -40931,9 +40928,7 @@ function registerHTMLRenderer(itemType, renderer) {
|
|
|
40931
40928
|
}
|
|
40932
40929
|
function renderItemToHTML(item, documentFactory) {
|
|
40933
40930
|
const renderer = renderers[item.itemType] || defaultRenderer;
|
|
40934
|
-
|
|
40935
|
-
element2.style.opacity = `${item.opacity}`;
|
|
40936
|
-
return element2;
|
|
40931
|
+
return renderer.render(item, documentFactory);
|
|
40937
40932
|
}
|
|
40938
40933
|
var defaultRenderer = {
|
|
40939
40934
|
render(item, documentFactory) {
|
|
@@ -42703,6 +42698,7 @@ function parseHTMLDrawing(el) {
|
|
|
42703
42698
|
transformation,
|
|
42704
42699
|
strokeStyle: pathElement.getAttribute("stroke") || "",
|
|
42705
42700
|
strokeWidth: parseFloat(pathElement.getAttribute("stroke-width") || "1"),
|
|
42701
|
+
borderOpacity: parseFloat(pathElement.getAttribute("stroke-opacity") || el.style.opacity || "1"),
|
|
42706
42702
|
linkTo: el.getAttribute("data-link-to") || undefined
|
|
42707
42703
|
};
|
|
42708
42704
|
}
|
|
@@ -43157,7 +43153,7 @@ class DrawingHTMLRenderer {
|
|
|
43157
43153
|
const pathElement = documentFactory.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
43158
43154
|
pathElement.setAttribute("d", this.getPathData(drawing));
|
|
43159
43155
|
pathElement.setAttribute("stroke", resolveColor(drawing.borderColor, conf.theme, drawing.colorRole));
|
|
43160
|
-
pathElement.setAttribute("stroke-opacity", `${drawing.
|
|
43156
|
+
pathElement.setAttribute("stroke-opacity", `${drawing.getStrokeOpacity()}`);
|
|
43161
43157
|
pathElement.setAttribute("stroke-width", `${drawing.strokeWidth}`);
|
|
43162
43158
|
pathElement.setAttribute("fill", "none");
|
|
43163
43159
|
svg.appendChild(pathElement);
|
|
@@ -44220,7 +44216,7 @@ class SimpleSpatialIndex {
|
|
|
44220
44216
|
}
|
|
44221
44217
|
render(context) {
|
|
44222
44218
|
this.itemsArray.forEach((item) => {
|
|
44223
|
-
item.
|
|
44219
|
+
item.render(context);
|
|
44224
44220
|
});
|
|
44225
44221
|
}
|
|
44226
44222
|
}
|
|
@@ -58974,7 +58970,7 @@ var addShapeToolOverlay = {
|
|
|
58974
58970
|
createsItemType: "Shape",
|
|
58975
58971
|
family: "shape",
|
|
58976
58972
|
icon: {
|
|
58977
|
-
...
|
|
58973
|
+
...symbolIcon("Shape"),
|
|
58978
58974
|
state: {
|
|
58979
58975
|
note: "UI may swap the top-level icon to the selected shape option when desired."
|
|
58980
58976
|
}
|
|
@@ -60537,7 +60533,7 @@ async function exportBoardScreenshot({
|
|
|
60537
60533
|
const { left, top, right, bottom } = selection;
|
|
60538
60534
|
const inView = board.items.index.listEnclosedOrCrossedBy(left, top, right, bottom);
|
|
60539
60535
|
for (const item of inView) {
|
|
60540
|
-
item.
|
|
60536
|
+
item.render(context);
|
|
60541
60537
|
}
|
|
60542
60538
|
const blob = await offscreenCanvas.convertToBlob({ type: "image/png" });
|
|
60543
60539
|
const dataUrl = await convertBlobToDataUrl(blob);
|
|
@@ -62992,6 +62988,7 @@ var DrawingDataSchema = exports_external.object({
|
|
|
62992
62988
|
strokeStyle: ColorValueSchema,
|
|
62993
62989
|
strokeWidth: exports_external.number(),
|
|
62994
62990
|
colorRole: exports_external.enum(["foreground", "background"]).optional(),
|
|
62991
|
+
borderOpacity: exports_external.number().optional(),
|
|
62995
62992
|
opacity: exports_external.number().optional(),
|
|
62996
62993
|
linkTo: exports_external.string().optional()
|
|
62997
62994
|
});
|
|
@@ -63009,6 +63006,7 @@ class Drawing extends BaseItem {
|
|
|
63009
63006
|
borderStyle = "solid";
|
|
63010
63007
|
colorRole = "foreground";
|
|
63011
63008
|
linePattern = scalePatterns(this.strokeWidth)[this.borderStyle];
|
|
63009
|
+
borderOpacity = 1;
|
|
63012
63010
|
transformationRenderBlock = undefined;
|
|
63013
63011
|
points = [];
|
|
63014
63012
|
constructor(board, id = "") {
|
|
@@ -63027,7 +63025,8 @@ class Drawing extends BaseItem {
|
|
|
63027
63025
|
points,
|
|
63028
63026
|
strokeStyle: this.borderColor,
|
|
63029
63027
|
strokeWidth: this.strokeWidth,
|
|
63030
|
-
colorRole: this.colorRole
|
|
63028
|
+
colorRole: this.colorRole,
|
|
63029
|
+
borderOpacity: this.borderOpacity
|
|
63031
63030
|
};
|
|
63032
63031
|
}
|
|
63033
63032
|
deserialize(data) {
|
|
@@ -63045,7 +63044,7 @@ class Drawing extends BaseItem {
|
|
|
63045
63044
|
if (data.colorRole) {
|
|
63046
63045
|
this.colorRole = data.colorRole;
|
|
63047
63046
|
}
|
|
63048
|
-
this.
|
|
63047
|
+
this.borderOpacity = data.borderOpacity ?? data.opacity ?? this.borderOpacity;
|
|
63049
63048
|
this.updateVisuals({ method: "deserialize", class: this.itemType }, "FullRebuild" /* FullRebuild */);
|
|
63050
63049
|
return this;
|
|
63051
63050
|
}
|
|
@@ -63160,6 +63159,7 @@ class Drawing extends BaseItem {
|
|
|
63160
63159
|
const ctx = context.ctx;
|
|
63161
63160
|
ctx.save();
|
|
63162
63161
|
ctx.strokeStyle = resolveColor(this.borderColor, conf.theme, this.colorRole);
|
|
63162
|
+
ctx.globalAlpha = this.borderOpacity;
|
|
63163
63163
|
ctx.lineWidth = this.strokeWidth;
|
|
63164
63164
|
ctx.lineCap = "round";
|
|
63165
63165
|
ctx.setLineDash(this.linePattern);
|
|
@@ -63289,7 +63289,7 @@ class Drawing extends BaseItem {
|
|
|
63289
63289
|
"borderColor",
|
|
63290
63290
|
"strokeWidth",
|
|
63291
63291
|
"borderStyle",
|
|
63292
|
-
"
|
|
63292
|
+
"borderOpacity",
|
|
63293
63293
|
"colorRole",
|
|
63294
63294
|
"strokeStyle"
|
|
63295
63295
|
];
|
|
@@ -63299,7 +63299,7 @@ class Drawing extends BaseItem {
|
|
|
63299
63299
|
return super.getPropertyUpdateHint(property);
|
|
63300
63300
|
}
|
|
63301
63301
|
getStrokeOpacity() {
|
|
63302
|
-
return this.
|
|
63302
|
+
return this.borderOpacity;
|
|
63303
63303
|
}
|
|
63304
63304
|
getBorderStyle() {
|
|
63305
63305
|
return this.borderStyle;
|
|
@@ -63345,7 +63345,7 @@ registerItem({
|
|
|
63345
63345
|
itemType: "Drawing",
|
|
63346
63346
|
points: [],
|
|
63347
63347
|
borderColor: coerceColorValue("#000000"),
|
|
63348
|
-
|
|
63348
|
+
borderOpacity: 1,
|
|
63349
63349
|
borderStyle: "solid",
|
|
63350
63350
|
strokeWidth: 2,
|
|
63351
63351
|
transformation: new DefaultTransformationData
|
|
@@ -64367,7 +64367,7 @@ class ShapeTool extends CustomTool {
|
|
|
64367
64367
|
}
|
|
64368
64368
|
render(context) {
|
|
64369
64369
|
if (this.isDown) {
|
|
64370
|
-
this.item.
|
|
64370
|
+
this.item.render(context);
|
|
64371
64371
|
this.bounds.render(context);
|
|
64372
64372
|
}
|
|
64373
64373
|
}
|
|
@@ -67140,15 +67140,15 @@ class Keyboard {
|
|
|
67140
67140
|
}
|
|
67141
67141
|
}
|
|
67142
67142
|
|
|
67143
|
-
// src/HTMLAdapter/
|
|
67144
|
-
function
|
|
67143
|
+
// src/HTMLAdapter/LegacyBoardHTMLAdapter.ts
|
|
67144
|
+
function parseLegacyHTML(el) {
|
|
67145
67145
|
const parser = parsersHTML[el.tagName.toLowerCase()];
|
|
67146
67146
|
if (!parser) {
|
|
67147
67147
|
throw new Error(`Unknown element tag: ${el.tagName.toLowerCase()}`);
|
|
67148
67148
|
}
|
|
67149
67149
|
return parser(el);
|
|
67150
67150
|
}
|
|
67151
|
-
function
|
|
67151
|
+
function serializeBoardToLegacyHTML(board) {
|
|
67152
67152
|
const boardName = board.getName() || board.getBoardId();
|
|
67153
67153
|
const items = board.index.items.getWholeHTML(conf.documentFactory);
|
|
67154
67154
|
const itemsDiv = `<div id="items">${items}</div>`;
|
|
@@ -67174,14 +67174,14 @@ function serializeBoardToHTML(board) {
|
|
|
67174
67174
|
</head>`.replace(/\t|\n/g, "");
|
|
67175
67175
|
return `${head}${body}`;
|
|
67176
67176
|
}
|
|
67177
|
-
function
|
|
67177
|
+
function deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML) {
|
|
67178
67178
|
const parser = conf.getDOMParser();
|
|
67179
67179
|
const doc2 = parser.parseFromString(stringedHTML, "text/html");
|
|
67180
67180
|
const items = doc2.body.querySelector("#items");
|
|
67181
67181
|
if (items) {
|
|
67182
67182
|
const idsMap = {};
|
|
67183
67183
|
const addedConnectors = [];
|
|
67184
|
-
const data = Array.from(items.children).map((el) =>
|
|
67184
|
+
const data = Array.from(items.children).map((el) => parseLegacyHTML(el));
|
|
67185
67185
|
for (const parsedData of data) {
|
|
67186
67186
|
if ("childrenMap" in parsedData) {
|
|
67187
67187
|
const frameData = parsedData;
|
|
@@ -67229,14 +67229,14 @@ function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
|
|
|
67229
67229
|
}
|
|
67230
67230
|
return [];
|
|
67231
67231
|
}
|
|
67232
|
-
function
|
|
67232
|
+
function deserializeLegacyHTMLToBoard(board, stringedHTML) {
|
|
67233
67233
|
const parser = conf.getDOMParser();
|
|
67234
67234
|
const doc2 = parser.parseFromString(stringedHTML, "text/html");
|
|
67235
67235
|
const itemsDiv = doc2.body.querySelector("#items");
|
|
67236
67236
|
if (!itemsDiv) {
|
|
67237
67237
|
return;
|
|
67238
67238
|
}
|
|
67239
|
-
const items = Array.from(itemsDiv.children).map((el) =>
|
|
67239
|
+
const items = Array.from(itemsDiv.children).map((el) => parseLegacyHTML(el));
|
|
67240
67240
|
board.index.clear();
|
|
67241
67241
|
const createdConnectors = {};
|
|
67242
67242
|
const createdGroups = {};
|
|
@@ -67277,6 +67277,20 @@ function deserializeHTMLToBoard(board, stringedHTML) {
|
|
|
67277
67277
|
}
|
|
67278
67278
|
}
|
|
67279
67279
|
|
|
67280
|
+
// src/HTMLAdapter/BoardHTMLAdapter.ts
|
|
67281
|
+
function parseHTML(el) {
|
|
67282
|
+
return parseLegacyHTML(el);
|
|
67283
|
+
}
|
|
67284
|
+
function serializeBoardToHTML(board) {
|
|
67285
|
+
return serializeBoardToLegacyHTML(board);
|
|
67286
|
+
}
|
|
67287
|
+
function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
|
|
67288
|
+
return deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML);
|
|
67289
|
+
}
|
|
67290
|
+
function deserializeHTMLToBoard(board, stringedHTML) {
|
|
67291
|
+
deserializeLegacyHTMLToBoard(board, stringedHTML);
|
|
67292
|
+
}
|
|
67293
|
+
|
|
67280
67294
|
// src/Presence/consts.ts
|
|
67281
67295
|
var PRESENCE_COLORS = [
|
|
67282
67296
|
"rgb(71,120,245)",
|
|
@@ -68853,13 +68867,13 @@ function createCanvasDrawer(board) {
|
|
|
68853
68867
|
if (container2) {
|
|
68854
68868
|
context.ctx.save();
|
|
68855
68869
|
container2.getNestingMatrix().applyToContext(context.ctx);
|
|
68856
|
-
item.
|
|
68870
|
+
item.render(context);
|
|
68857
68871
|
context.ctx.restore();
|
|
68858
68872
|
} else {
|
|
68859
|
-
item.
|
|
68873
|
+
item.render(context);
|
|
68860
68874
|
}
|
|
68861
68875
|
} else {
|
|
68862
|
-
item.
|
|
68876
|
+
item.render(context);
|
|
68863
68877
|
}
|
|
68864
68878
|
board2.selection.renderItemMbr(context, item, board2.camera.getMatrix().scaleX);
|
|
68865
68879
|
}
|
|
@@ -73327,7 +73341,7 @@ class AddHighlighter extends AddDrawing {
|
|
|
73327
73341
|
}
|
|
73328
73342
|
applyDrawingRole(drawing) {
|
|
73329
73343
|
drawing.setColorRole("background");
|
|
73330
|
-
drawing.apply(propertyOps.setProperty([drawing], "
|
|
73344
|
+
drawing.apply(propertyOps.setProperty([drawing], "borderOpacity", 0.5));
|
|
73331
73345
|
}
|
|
73332
73346
|
updateSettings() {
|
|
73333
73347
|
localStorage.setItem(conf.HIGHLIGHTER_SETTINGS_KEY, JSON.stringify({
|
package/dist/cjs/index.js
CHANGED
|
@@ -5256,7 +5256,7 @@ function mergeSetPropertyOperations(opA, opB) {
|
|
|
5256
5256
|
}
|
|
5257
5257
|
return {
|
|
5258
5258
|
...opB,
|
|
5259
|
-
|
|
5259
|
+
prevValues: opA.prevValues
|
|
5260
5260
|
};
|
|
5261
5261
|
}
|
|
5262
5262
|
function mergeBoardOperations(opA, opB) {
|
|
@@ -11945,7 +11945,6 @@ class BaseItem {
|
|
|
11945
11945
|
shouldUseRelativeAlignment = true;
|
|
11946
11946
|
resizeEnabled = true;
|
|
11947
11947
|
onlyProportionalResize = false;
|
|
11948
|
-
opacity = 1;
|
|
11949
11948
|
itemType = "";
|
|
11950
11949
|
childIds = [];
|
|
11951
11950
|
isHoverHighlighted = false;
|
|
@@ -12298,7 +12297,6 @@ class BaseItem {
|
|
|
12298
12297
|
itemType: this.itemType,
|
|
12299
12298
|
childIds: this.childIds,
|
|
12300
12299
|
parent: this.parent,
|
|
12301
|
-
opacity: this.opacity,
|
|
12302
12300
|
resizeEnabled: this.resizeEnabled
|
|
12303
12301
|
};
|
|
12304
12302
|
}
|
|
@@ -12510,16 +12508,6 @@ class BaseItem {
|
|
|
12510
12508
|
this.index.render(context);
|
|
12511
12509
|
}
|
|
12512
12510
|
}
|
|
12513
|
-
renderWithOpacity(context) {
|
|
12514
|
-
if (this.opacity === 1) {
|
|
12515
|
-
this.render(context);
|
|
12516
|
-
return;
|
|
12517
|
-
}
|
|
12518
|
-
context.ctx.save();
|
|
12519
|
-
context.ctx.globalAlpha *= this.opacity;
|
|
12520
|
-
this.render(context);
|
|
12521
|
-
context.ctx.restore();
|
|
12522
|
-
}
|
|
12523
12511
|
getSnapAnchorPoints() {
|
|
12524
12512
|
return this.getMbr().getSnapAnchorPoints();
|
|
12525
12513
|
}
|
|
@@ -27727,6 +27715,14 @@ var AudioOperationSchema = exports_external.object({
|
|
|
27727
27715
|
item: StringArraySchema,
|
|
27728
27716
|
url: exports_external.string()
|
|
27729
27717
|
}).passthrough();
|
|
27718
|
+
var ItemSetPropertyOperationSchema = exports_external.object({
|
|
27719
|
+
class: exports_external.literal("Item"),
|
|
27720
|
+
method: exports_external.literal("setProperty"),
|
|
27721
|
+
item: StringArraySchema,
|
|
27722
|
+
property: exports_external.string(),
|
|
27723
|
+
value: exports_external.unknown(),
|
|
27724
|
+
prevValues: exports_external.array(exports_external.unknown())
|
|
27725
|
+
}).passthrough();
|
|
27730
27726
|
var SocketOperationSchema = exports_external.union([
|
|
27731
27727
|
UndoOperationSchema,
|
|
27732
27728
|
RedoOperationSchema,
|
|
@@ -27746,7 +27742,8 @@ var SocketOperationSchema = exports_external.union([
|
|
|
27746
27742
|
...CommentOperationSchemas,
|
|
27747
27743
|
ImageOperationSchema,
|
|
27748
27744
|
VideoOperationSchema,
|
|
27749
|
-
AudioOperationSchema
|
|
27745
|
+
AudioOperationSchema,
|
|
27746
|
+
ItemSetPropertyOperationSchema
|
|
27750
27747
|
]);
|
|
27751
27748
|
var SocketBoardEventBodySchema = exports_external.object({
|
|
27752
27749
|
eventId: exports_external.string(),
|
|
@@ -40931,9 +40928,7 @@ function registerHTMLRenderer(itemType, renderer) {
|
|
|
40931
40928
|
}
|
|
40932
40929
|
function renderItemToHTML(item, documentFactory) {
|
|
40933
40930
|
const renderer = renderers[item.itemType] || defaultRenderer;
|
|
40934
|
-
|
|
40935
|
-
element2.style.opacity = `${item.opacity}`;
|
|
40936
|
-
return element2;
|
|
40931
|
+
return renderer.render(item, documentFactory);
|
|
40937
40932
|
}
|
|
40938
40933
|
var defaultRenderer = {
|
|
40939
40934
|
render(item, documentFactory) {
|
|
@@ -42703,6 +42698,7 @@ function parseHTMLDrawing(el) {
|
|
|
42703
42698
|
transformation,
|
|
42704
42699
|
strokeStyle: pathElement.getAttribute("stroke") || "",
|
|
42705
42700
|
strokeWidth: parseFloat(pathElement.getAttribute("stroke-width") || "1"),
|
|
42701
|
+
borderOpacity: parseFloat(pathElement.getAttribute("stroke-opacity") || el.style.opacity || "1"),
|
|
42706
42702
|
linkTo: el.getAttribute("data-link-to") || undefined
|
|
42707
42703
|
};
|
|
42708
42704
|
}
|
|
@@ -43157,7 +43153,7 @@ class DrawingHTMLRenderer {
|
|
|
43157
43153
|
const pathElement = documentFactory.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
43158
43154
|
pathElement.setAttribute("d", this.getPathData(drawing));
|
|
43159
43155
|
pathElement.setAttribute("stroke", resolveColor(drawing.borderColor, conf.theme, drawing.colorRole));
|
|
43160
|
-
pathElement.setAttribute("stroke-opacity", `${drawing.
|
|
43156
|
+
pathElement.setAttribute("stroke-opacity", `${drawing.getStrokeOpacity()}`);
|
|
43161
43157
|
pathElement.setAttribute("stroke-width", `${drawing.strokeWidth}`);
|
|
43162
43158
|
pathElement.setAttribute("fill", "none");
|
|
43163
43159
|
svg.appendChild(pathElement);
|
|
@@ -44220,7 +44216,7 @@ class SimpleSpatialIndex {
|
|
|
44220
44216
|
}
|
|
44221
44217
|
render(context) {
|
|
44222
44218
|
this.itemsArray.forEach((item) => {
|
|
44223
|
-
item.
|
|
44219
|
+
item.render(context);
|
|
44224
44220
|
});
|
|
44225
44221
|
}
|
|
44226
44222
|
}
|
|
@@ -58974,7 +58970,7 @@ var addShapeToolOverlay = {
|
|
|
58974
58970
|
createsItemType: "Shape",
|
|
58975
58971
|
family: "shape",
|
|
58976
58972
|
icon: {
|
|
58977
|
-
...
|
|
58973
|
+
...symbolIcon("Shape"),
|
|
58978
58974
|
state: {
|
|
58979
58975
|
note: "UI may swap the top-level icon to the selected shape option when desired."
|
|
58980
58976
|
}
|
|
@@ -60537,7 +60533,7 @@ async function exportBoardScreenshot({
|
|
|
60537
60533
|
const { left, top, right, bottom } = selection;
|
|
60538
60534
|
const inView = board.items.index.listEnclosedOrCrossedBy(left, top, right, bottom);
|
|
60539
60535
|
for (const item of inView) {
|
|
60540
|
-
item.
|
|
60536
|
+
item.render(context);
|
|
60541
60537
|
}
|
|
60542
60538
|
const blob = await offscreenCanvas.convertToBlob({ type: "image/png" });
|
|
60543
60539
|
const dataUrl = await convertBlobToDataUrl(blob);
|
|
@@ -62992,6 +62988,7 @@ var DrawingDataSchema = exports_external.object({
|
|
|
62992
62988
|
strokeStyle: ColorValueSchema,
|
|
62993
62989
|
strokeWidth: exports_external.number(),
|
|
62994
62990
|
colorRole: exports_external.enum(["foreground", "background"]).optional(),
|
|
62991
|
+
borderOpacity: exports_external.number().optional(),
|
|
62995
62992
|
opacity: exports_external.number().optional(),
|
|
62996
62993
|
linkTo: exports_external.string().optional()
|
|
62997
62994
|
});
|
|
@@ -63009,6 +63006,7 @@ class Drawing extends BaseItem {
|
|
|
63009
63006
|
borderStyle = "solid";
|
|
63010
63007
|
colorRole = "foreground";
|
|
63011
63008
|
linePattern = scalePatterns(this.strokeWidth)[this.borderStyle];
|
|
63009
|
+
borderOpacity = 1;
|
|
63012
63010
|
transformationRenderBlock = undefined;
|
|
63013
63011
|
points = [];
|
|
63014
63012
|
constructor(board, id = "") {
|
|
@@ -63027,7 +63025,8 @@ class Drawing extends BaseItem {
|
|
|
63027
63025
|
points,
|
|
63028
63026
|
strokeStyle: this.borderColor,
|
|
63029
63027
|
strokeWidth: this.strokeWidth,
|
|
63030
|
-
colorRole: this.colorRole
|
|
63028
|
+
colorRole: this.colorRole,
|
|
63029
|
+
borderOpacity: this.borderOpacity
|
|
63031
63030
|
};
|
|
63032
63031
|
}
|
|
63033
63032
|
deserialize(data) {
|
|
@@ -63045,7 +63044,7 @@ class Drawing extends BaseItem {
|
|
|
63045
63044
|
if (data.colorRole) {
|
|
63046
63045
|
this.colorRole = data.colorRole;
|
|
63047
63046
|
}
|
|
63048
|
-
this.
|
|
63047
|
+
this.borderOpacity = data.borderOpacity ?? data.opacity ?? this.borderOpacity;
|
|
63049
63048
|
this.updateVisuals({ method: "deserialize", class: this.itemType }, "FullRebuild" /* FullRebuild */);
|
|
63050
63049
|
return this;
|
|
63051
63050
|
}
|
|
@@ -63160,6 +63159,7 @@ class Drawing extends BaseItem {
|
|
|
63160
63159
|
const ctx = context.ctx;
|
|
63161
63160
|
ctx.save();
|
|
63162
63161
|
ctx.strokeStyle = resolveColor(this.borderColor, conf.theme, this.colorRole);
|
|
63162
|
+
ctx.globalAlpha = this.borderOpacity;
|
|
63163
63163
|
ctx.lineWidth = this.strokeWidth;
|
|
63164
63164
|
ctx.lineCap = "round";
|
|
63165
63165
|
ctx.setLineDash(this.linePattern);
|
|
@@ -63289,7 +63289,7 @@ class Drawing extends BaseItem {
|
|
|
63289
63289
|
"borderColor",
|
|
63290
63290
|
"strokeWidth",
|
|
63291
63291
|
"borderStyle",
|
|
63292
|
-
"
|
|
63292
|
+
"borderOpacity",
|
|
63293
63293
|
"colorRole",
|
|
63294
63294
|
"strokeStyle"
|
|
63295
63295
|
];
|
|
@@ -63299,7 +63299,7 @@ class Drawing extends BaseItem {
|
|
|
63299
63299
|
return super.getPropertyUpdateHint(property);
|
|
63300
63300
|
}
|
|
63301
63301
|
getStrokeOpacity() {
|
|
63302
|
-
return this.
|
|
63302
|
+
return this.borderOpacity;
|
|
63303
63303
|
}
|
|
63304
63304
|
getBorderStyle() {
|
|
63305
63305
|
return this.borderStyle;
|
|
@@ -63345,7 +63345,7 @@ registerItem({
|
|
|
63345
63345
|
itemType: "Drawing",
|
|
63346
63346
|
points: [],
|
|
63347
63347
|
borderColor: coerceColorValue("#000000"),
|
|
63348
|
-
|
|
63348
|
+
borderOpacity: 1,
|
|
63349
63349
|
borderStyle: "solid",
|
|
63350
63350
|
strokeWidth: 2,
|
|
63351
63351
|
transformation: new DefaultTransformationData
|
|
@@ -64367,7 +64367,7 @@ class ShapeTool extends CustomTool {
|
|
|
64367
64367
|
}
|
|
64368
64368
|
render(context) {
|
|
64369
64369
|
if (this.isDown) {
|
|
64370
|
-
this.item.
|
|
64370
|
+
this.item.render(context);
|
|
64371
64371
|
this.bounds.render(context);
|
|
64372
64372
|
}
|
|
64373
64373
|
}
|
|
@@ -67140,15 +67140,15 @@ class Keyboard {
|
|
|
67140
67140
|
}
|
|
67141
67141
|
}
|
|
67142
67142
|
|
|
67143
|
-
// src/HTMLAdapter/
|
|
67144
|
-
function
|
|
67143
|
+
// src/HTMLAdapter/LegacyBoardHTMLAdapter.ts
|
|
67144
|
+
function parseLegacyHTML(el) {
|
|
67145
67145
|
const parser = parsersHTML[el.tagName.toLowerCase()];
|
|
67146
67146
|
if (!parser) {
|
|
67147
67147
|
throw new Error(`Unknown element tag: ${el.tagName.toLowerCase()}`);
|
|
67148
67148
|
}
|
|
67149
67149
|
return parser(el);
|
|
67150
67150
|
}
|
|
67151
|
-
function
|
|
67151
|
+
function serializeBoardToLegacyHTML(board) {
|
|
67152
67152
|
const boardName = board.getName() || board.getBoardId();
|
|
67153
67153
|
const items = board.index.items.getWholeHTML(conf.documentFactory);
|
|
67154
67154
|
const itemsDiv = `<div id="items">${items}</div>`;
|
|
@@ -67174,14 +67174,14 @@ function serializeBoardToHTML(board) {
|
|
|
67174
67174
|
</head>`.replace(/\t|\n/g, "");
|
|
67175
67175
|
return `${head}${body}`;
|
|
67176
67176
|
}
|
|
67177
|
-
function
|
|
67177
|
+
function deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML) {
|
|
67178
67178
|
const parser = conf.getDOMParser();
|
|
67179
67179
|
const doc2 = parser.parseFromString(stringedHTML, "text/html");
|
|
67180
67180
|
const items = doc2.body.querySelector("#items");
|
|
67181
67181
|
if (items) {
|
|
67182
67182
|
const idsMap = {};
|
|
67183
67183
|
const addedConnectors = [];
|
|
67184
|
-
const data = Array.from(items.children).map((el) =>
|
|
67184
|
+
const data = Array.from(items.children).map((el) => parseLegacyHTML(el));
|
|
67185
67185
|
for (const parsedData of data) {
|
|
67186
67186
|
if ("childrenMap" in parsedData) {
|
|
67187
67187
|
const frameData = parsedData;
|
|
@@ -67229,14 +67229,14 @@ function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
|
|
|
67229
67229
|
}
|
|
67230
67230
|
return [];
|
|
67231
67231
|
}
|
|
67232
|
-
function
|
|
67232
|
+
function deserializeLegacyHTMLToBoard(board, stringedHTML) {
|
|
67233
67233
|
const parser = conf.getDOMParser();
|
|
67234
67234
|
const doc2 = parser.parseFromString(stringedHTML, "text/html");
|
|
67235
67235
|
const itemsDiv = doc2.body.querySelector("#items");
|
|
67236
67236
|
if (!itemsDiv) {
|
|
67237
67237
|
return;
|
|
67238
67238
|
}
|
|
67239
|
-
const items = Array.from(itemsDiv.children).map((el) =>
|
|
67239
|
+
const items = Array.from(itemsDiv.children).map((el) => parseLegacyHTML(el));
|
|
67240
67240
|
board.index.clear();
|
|
67241
67241
|
const createdConnectors = {};
|
|
67242
67242
|
const createdGroups = {};
|
|
@@ -67277,6 +67277,20 @@ function deserializeHTMLToBoard(board, stringedHTML) {
|
|
|
67277
67277
|
}
|
|
67278
67278
|
}
|
|
67279
67279
|
|
|
67280
|
+
// src/HTMLAdapter/BoardHTMLAdapter.ts
|
|
67281
|
+
function parseHTML(el) {
|
|
67282
|
+
return parseLegacyHTML(el);
|
|
67283
|
+
}
|
|
67284
|
+
function serializeBoardToHTML(board) {
|
|
67285
|
+
return serializeBoardToLegacyHTML(board);
|
|
67286
|
+
}
|
|
67287
|
+
function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
|
|
67288
|
+
return deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML);
|
|
67289
|
+
}
|
|
67290
|
+
function deserializeHTMLToBoard(board, stringedHTML) {
|
|
67291
|
+
deserializeLegacyHTMLToBoard(board, stringedHTML);
|
|
67292
|
+
}
|
|
67293
|
+
|
|
67280
67294
|
// src/Presence/consts.ts
|
|
67281
67295
|
var PRESENCE_COLORS = [
|
|
67282
67296
|
"rgb(71,120,245)",
|
|
@@ -68853,13 +68867,13 @@ function createCanvasDrawer(board) {
|
|
|
68853
68867
|
if (container2) {
|
|
68854
68868
|
context.ctx.save();
|
|
68855
68869
|
container2.getNestingMatrix().applyToContext(context.ctx);
|
|
68856
|
-
item.
|
|
68870
|
+
item.render(context);
|
|
68857
68871
|
context.ctx.restore();
|
|
68858
68872
|
} else {
|
|
68859
|
-
item.
|
|
68873
|
+
item.render(context);
|
|
68860
68874
|
}
|
|
68861
68875
|
} else {
|
|
68862
|
-
item.
|
|
68876
|
+
item.render(context);
|
|
68863
68877
|
}
|
|
68864
68878
|
board2.selection.renderItemMbr(context, item, board2.camera.getMatrix().scaleX);
|
|
68865
68879
|
}
|
|
@@ -73327,7 +73341,7 @@ class AddHighlighter extends AddDrawing {
|
|
|
73327
73341
|
}
|
|
73328
73342
|
applyDrawingRole(drawing) {
|
|
73329
73343
|
drawing.setColorRole("background");
|
|
73330
|
-
drawing.apply(propertyOps.setProperty([drawing], "
|
|
73344
|
+
drawing.apply(propertyOps.setProperty([drawing], "borderOpacity", 0.5));
|
|
73331
73345
|
}
|
|
73332
73346
|
updateSettings() {
|
|
73333
73347
|
localStorage.setItem(conf.HIGHLIGHTER_SETTINGS_KEY, JSON.stringify({
|