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/esm/index.js CHANGED
@@ -5023,7 +5023,7 @@ function mergeSetPropertyOperations(opA, opB) {
5023
5023
  }
5024
5024
  return {
5025
5025
  ...opB,
5026
- prevValue: opA.prevValue
5026
+ prevValues: opA.prevValues
5027
5027
  };
5028
5028
  }
5029
5029
  function mergeBoardOperations(opA, opB) {
@@ -11712,7 +11712,6 @@ class BaseItem {
11712
11712
  shouldUseRelativeAlignment = true;
11713
11713
  resizeEnabled = true;
11714
11714
  onlyProportionalResize = false;
11715
- opacity = 1;
11716
11715
  itemType = "";
11717
11716
  childIds = [];
11718
11717
  isHoverHighlighted = false;
@@ -12065,7 +12064,6 @@ class BaseItem {
12065
12064
  itemType: this.itemType,
12066
12065
  childIds: this.childIds,
12067
12066
  parent: this.parent,
12068
- opacity: this.opacity,
12069
12067
  resizeEnabled: this.resizeEnabled
12070
12068
  };
12071
12069
  }
@@ -12277,16 +12275,6 @@ class BaseItem {
12277
12275
  this.index.render(context);
12278
12276
  }
12279
12277
  }
12280
- renderWithOpacity(context) {
12281
- if (this.opacity === 1) {
12282
- this.render(context);
12283
- return;
12284
- }
12285
- context.ctx.save();
12286
- context.ctx.globalAlpha *= this.opacity;
12287
- this.render(context);
12288
- context.ctx.restore();
12289
- }
12290
12278
  getSnapAnchorPoints() {
12291
12279
  return this.getMbr().getSnapAnchorPoints();
12292
12280
  }
@@ -27494,6 +27482,14 @@ var AudioOperationSchema = exports_external.object({
27494
27482
  item: StringArraySchema,
27495
27483
  url: exports_external.string()
27496
27484
  }).passthrough();
27485
+ var ItemSetPropertyOperationSchema = exports_external.object({
27486
+ class: exports_external.literal("Item"),
27487
+ method: exports_external.literal("setProperty"),
27488
+ item: StringArraySchema,
27489
+ property: exports_external.string(),
27490
+ value: exports_external.unknown(),
27491
+ prevValues: exports_external.array(exports_external.unknown())
27492
+ }).passthrough();
27497
27493
  var SocketOperationSchema = exports_external.union([
27498
27494
  UndoOperationSchema,
27499
27495
  RedoOperationSchema,
@@ -27513,7 +27509,8 @@ var SocketOperationSchema = exports_external.union([
27513
27509
  ...CommentOperationSchemas,
27514
27510
  ImageOperationSchema,
27515
27511
  VideoOperationSchema,
27516
- AudioOperationSchema
27512
+ AudioOperationSchema,
27513
+ ItemSetPropertyOperationSchema
27517
27514
  ]);
27518
27515
  var SocketBoardEventBodySchema = exports_external.object({
27519
27516
  eventId: exports_external.string(),
@@ -40706,9 +40703,7 @@ function registerHTMLRenderer(itemType, renderer) {
40706
40703
  }
40707
40704
  function renderItemToHTML(item, documentFactory) {
40708
40705
  const renderer = renderers[item.itemType] || defaultRenderer;
40709
- const element2 = renderer.render(item, documentFactory);
40710
- element2.style.opacity = `${item.opacity}`;
40711
- return element2;
40706
+ return renderer.render(item, documentFactory);
40712
40707
  }
40713
40708
  var defaultRenderer = {
40714
40709
  render(item, documentFactory) {
@@ -42478,6 +42473,7 @@ function parseHTMLDrawing(el) {
42478
42473
  transformation,
42479
42474
  strokeStyle: pathElement.getAttribute("stroke") || "",
42480
42475
  strokeWidth: parseFloat(pathElement.getAttribute("stroke-width") || "1"),
42476
+ borderOpacity: parseFloat(pathElement.getAttribute("stroke-opacity") || el.style.opacity || "1"),
42481
42477
  linkTo: el.getAttribute("data-link-to") || undefined
42482
42478
  };
42483
42479
  }
@@ -42932,7 +42928,7 @@ class DrawingHTMLRenderer {
42932
42928
  const pathElement = documentFactory.createElementNS("http://www.w3.org/2000/svg", "path");
42933
42929
  pathElement.setAttribute("d", this.getPathData(drawing));
42934
42930
  pathElement.setAttribute("stroke", resolveColor(drawing.borderColor, conf.theme, drawing.colorRole));
42935
- pathElement.setAttribute("stroke-opacity", `${drawing.opacity}`);
42931
+ pathElement.setAttribute("stroke-opacity", `${drawing.getStrokeOpacity()}`);
42936
42932
  pathElement.setAttribute("stroke-width", `${drawing.strokeWidth}`);
42937
42933
  pathElement.setAttribute("fill", "none");
42938
42934
  svg.appendChild(pathElement);
@@ -43995,7 +43991,7 @@ class SimpleSpatialIndex {
43995
43991
  }
43996
43992
  render(context) {
43997
43993
  this.itemsArray.forEach((item) => {
43998
- item.renderWithOpacity?.(context) ?? item.render(context);
43994
+ item.render(context);
43999
43995
  });
44000
43996
  }
44001
43997
  }
@@ -58749,7 +58745,7 @@ var addShapeToolOverlay = {
58749
58745
  createsItemType: "Shape",
58750
58746
  family: "shape",
58751
58747
  icon: {
58752
- ...overlayAssetIcon("src/Items/Shape/icons/Tool.icon.svg"),
58748
+ ...symbolIcon("Shape"),
58753
58749
  state: {
58754
58750
  note: "UI may swap the top-level icon to the selected shape option when desired."
58755
58751
  }
@@ -60312,7 +60308,7 @@ async function exportBoardScreenshot({
60312
60308
  const { left, top, right, bottom } = selection;
60313
60309
  const inView = board.items.index.listEnclosedOrCrossedBy(left, top, right, bottom);
60314
60310
  for (const item of inView) {
60315
- item.renderWithOpacity?.(context) ?? item.render(context);
60311
+ item.render(context);
60316
60312
  }
60317
60313
  const blob = await offscreenCanvas.convertToBlob({ type: "image/png" });
60318
60314
  const dataUrl = await convertBlobToDataUrl(blob);
@@ -62767,6 +62763,7 @@ var DrawingDataSchema = exports_external.object({
62767
62763
  strokeStyle: ColorValueSchema,
62768
62764
  strokeWidth: exports_external.number(),
62769
62765
  colorRole: exports_external.enum(["foreground", "background"]).optional(),
62766
+ borderOpacity: exports_external.number().optional(),
62770
62767
  opacity: exports_external.number().optional(),
62771
62768
  linkTo: exports_external.string().optional()
62772
62769
  });
@@ -62784,6 +62781,7 @@ class Drawing extends BaseItem {
62784
62781
  borderStyle = "solid";
62785
62782
  colorRole = "foreground";
62786
62783
  linePattern = scalePatterns(this.strokeWidth)[this.borderStyle];
62784
+ borderOpacity = 1;
62787
62785
  transformationRenderBlock = undefined;
62788
62786
  points = [];
62789
62787
  constructor(board, id = "") {
@@ -62802,7 +62800,8 @@ class Drawing extends BaseItem {
62802
62800
  points,
62803
62801
  strokeStyle: this.borderColor,
62804
62802
  strokeWidth: this.strokeWidth,
62805
- colorRole: this.colorRole
62803
+ colorRole: this.colorRole,
62804
+ borderOpacity: this.borderOpacity
62806
62805
  };
62807
62806
  }
62808
62807
  deserialize(data) {
@@ -62820,7 +62819,7 @@ class Drawing extends BaseItem {
62820
62819
  if (data.colorRole) {
62821
62820
  this.colorRole = data.colorRole;
62822
62821
  }
62823
- this.opacity = data.opacity ?? this.opacity;
62822
+ this.borderOpacity = data.borderOpacity ?? data.opacity ?? this.borderOpacity;
62824
62823
  this.updateVisuals({ method: "deserialize", class: this.itemType }, "FullRebuild" /* FullRebuild */);
62825
62824
  return this;
62826
62825
  }
@@ -62935,6 +62934,7 @@ class Drawing extends BaseItem {
62935
62934
  const ctx = context.ctx;
62936
62935
  ctx.save();
62937
62936
  ctx.strokeStyle = resolveColor(this.borderColor, conf.theme, this.colorRole);
62937
+ ctx.globalAlpha = this.borderOpacity;
62938
62938
  ctx.lineWidth = this.strokeWidth;
62939
62939
  ctx.lineCap = "round";
62940
62940
  ctx.setLineDash(this.linePattern);
@@ -63064,7 +63064,7 @@ class Drawing extends BaseItem {
63064
63064
  "borderColor",
63065
63065
  "strokeWidth",
63066
63066
  "borderStyle",
63067
- "opacity",
63067
+ "borderOpacity",
63068
63068
  "colorRole",
63069
63069
  "strokeStyle"
63070
63070
  ];
@@ -63074,7 +63074,7 @@ class Drawing extends BaseItem {
63074
63074
  return super.getPropertyUpdateHint(property);
63075
63075
  }
63076
63076
  getStrokeOpacity() {
63077
- return this.opacity;
63077
+ return this.borderOpacity;
63078
63078
  }
63079
63079
  getBorderStyle() {
63080
63080
  return this.borderStyle;
@@ -63120,7 +63120,7 @@ registerItem({
63120
63120
  itemType: "Drawing",
63121
63121
  points: [],
63122
63122
  borderColor: coerceColorValue("#000000"),
63123
- opacity: 1,
63123
+ borderOpacity: 1,
63124
63124
  borderStyle: "solid",
63125
63125
  strokeWidth: 2,
63126
63126
  transformation: new DefaultTransformationData
@@ -64142,7 +64142,7 @@ class ShapeTool extends CustomTool {
64142
64142
  }
64143
64143
  render(context) {
64144
64144
  if (this.isDown) {
64145
- this.item.renderWithOpacity(context);
64145
+ this.item.render(context);
64146
64146
  this.bounds.render(context);
64147
64147
  }
64148
64148
  }
@@ -66915,15 +66915,15 @@ class Keyboard {
66915
66915
  }
66916
66916
  }
66917
66917
 
66918
- // src/HTMLAdapter/BoardHTMLAdapter.ts
66919
- function parseHTML(el) {
66918
+ // src/HTMLAdapter/LegacyBoardHTMLAdapter.ts
66919
+ function parseLegacyHTML(el) {
66920
66920
  const parser = parsersHTML[el.tagName.toLowerCase()];
66921
66921
  if (!parser) {
66922
66922
  throw new Error(`Unknown element tag: ${el.tagName.toLowerCase()}`);
66923
66923
  }
66924
66924
  return parser(el);
66925
66925
  }
66926
- function serializeBoardToHTML(board) {
66926
+ function serializeBoardToLegacyHTML(board) {
66927
66927
  const boardName = board.getName() || board.getBoardId();
66928
66928
  const items = board.index.items.getWholeHTML(conf.documentFactory);
66929
66929
  const itemsDiv = `<div id="items">${items}</div>`;
@@ -66949,14 +66949,14 @@ function serializeBoardToHTML(board) {
66949
66949
  </head>`.replace(/\t|\n/g, "");
66950
66950
  return `${head}${body}`;
66951
66951
  }
66952
- function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
66952
+ function deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML) {
66953
66953
  const parser = conf.getDOMParser();
66954
66954
  const doc2 = parser.parseFromString(stringedHTML, "text/html");
66955
66955
  const items = doc2.body.querySelector("#items");
66956
66956
  if (items) {
66957
66957
  const idsMap = {};
66958
66958
  const addedConnectors = [];
66959
- const data = Array.from(items.children).map((el) => parseHTML(el));
66959
+ const data = Array.from(items.children).map((el) => parseLegacyHTML(el));
66960
66960
  for (const parsedData of data) {
66961
66961
  if ("childrenMap" in parsedData) {
66962
66962
  const frameData = parsedData;
@@ -67004,14 +67004,14 @@ function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
67004
67004
  }
67005
67005
  return [];
67006
67006
  }
67007
- function deserializeHTMLToBoard(board, stringedHTML) {
67007
+ function deserializeLegacyHTMLToBoard(board, stringedHTML) {
67008
67008
  const parser = conf.getDOMParser();
67009
67009
  const doc2 = parser.parseFromString(stringedHTML, "text/html");
67010
67010
  const itemsDiv = doc2.body.querySelector("#items");
67011
67011
  if (!itemsDiv) {
67012
67012
  return;
67013
67013
  }
67014
- const items = Array.from(itemsDiv.children).map((el) => parseHTML(el));
67014
+ const items = Array.from(itemsDiv.children).map((el) => parseLegacyHTML(el));
67015
67015
  board.index.clear();
67016
67016
  const createdConnectors = {};
67017
67017
  const createdGroups = {};
@@ -67052,6 +67052,20 @@ function deserializeHTMLToBoard(board, stringedHTML) {
67052
67052
  }
67053
67053
  }
67054
67054
 
67055
+ // src/HTMLAdapter/BoardHTMLAdapter.ts
67056
+ function parseHTML(el) {
67057
+ return parseLegacyHTML(el);
67058
+ }
67059
+ function serializeBoardToHTML(board) {
67060
+ return serializeBoardToLegacyHTML(board);
67061
+ }
67062
+ function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
67063
+ return deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML);
67064
+ }
67065
+ function deserializeHTMLToBoard(board, stringedHTML) {
67066
+ deserializeLegacyHTMLToBoard(board, stringedHTML);
67067
+ }
67068
+
67055
67069
  // src/Presence/consts.ts
67056
67070
  var PRESENCE_COLORS = [
67057
67071
  "rgb(71,120,245)",
@@ -68628,13 +68642,13 @@ function createCanvasDrawer(board) {
68628
68642
  if (container2) {
68629
68643
  context.ctx.save();
68630
68644
  container2.getNestingMatrix().applyToContext(context.ctx);
68631
- item.renderWithOpacity(context);
68645
+ item.render(context);
68632
68646
  context.ctx.restore();
68633
68647
  } else {
68634
- item.renderWithOpacity(context);
68648
+ item.render(context);
68635
68649
  }
68636
68650
  } else {
68637
- item.renderWithOpacity(context);
68651
+ item.render(context);
68638
68652
  }
68639
68653
  board2.selection.renderItemMbr(context, item, board2.camera.getMatrix().scaleX);
68640
68654
  }
@@ -73102,7 +73116,7 @@ class AddHighlighter extends AddDrawing {
73102
73116
  }
73103
73117
  applyDrawingRole(drawing) {
73104
73118
  drawing.setColorRole("background");
73105
- drawing.apply(propertyOps.setProperty([drawing], "opacity", 0.5));
73119
+ drawing.apply(propertyOps.setProperty([drawing], "borderOpacity", 0.5));
73106
73120
  }
73107
73121
  updateSettings() {
73108
73122
  localStorage.setItem(conf.HIGHLIGHTER_SETTINGS_KEY, JSON.stringify({
package/dist/esm/node.js CHANGED
@@ -5807,7 +5807,7 @@ function mergeSetPropertyOperations(opA, opB) {
5807
5807
  }
5808
5808
  return {
5809
5809
  ...opB,
5810
- prevValue: opA.prevValue
5810
+ prevValues: opA.prevValues
5811
5811
  };
5812
5812
  }
5813
5813
  function mergeBoardOperations(opA, opB) {
@@ -12495,7 +12495,6 @@ class BaseItem {
12495
12495
  shouldUseRelativeAlignment = true;
12496
12496
  resizeEnabled = true;
12497
12497
  onlyProportionalResize = false;
12498
- opacity = 1;
12499
12498
  itemType = "";
12500
12499
  childIds = [];
12501
12500
  isHoverHighlighted = false;
@@ -12848,7 +12847,6 @@ class BaseItem {
12848
12847
  itemType: this.itemType,
12849
12848
  childIds: this.childIds,
12850
12849
  parent: this.parent,
12851
- opacity: this.opacity,
12852
12850
  resizeEnabled: this.resizeEnabled
12853
12851
  };
12854
12852
  }
@@ -13060,16 +13058,6 @@ class BaseItem {
13060
13058
  this.index.render(context);
13061
13059
  }
13062
13060
  }
13063
- renderWithOpacity(context) {
13064
- if (this.opacity === 1) {
13065
- this.render(context);
13066
- return;
13067
- }
13068
- context.ctx.save();
13069
- context.ctx.globalAlpha *= this.opacity;
13070
- this.render(context);
13071
- context.ctx.restore();
13072
- }
13073
13061
  getSnapAnchorPoints() {
13074
13062
  return this.getMbr().getSnapAnchorPoints();
13075
13063
  }
@@ -28277,6 +28265,14 @@ var AudioOperationSchema = exports_external.object({
28277
28265
  item: StringArraySchema,
28278
28266
  url: exports_external.string()
28279
28267
  }).passthrough();
28268
+ var ItemSetPropertyOperationSchema = exports_external.object({
28269
+ class: exports_external.literal("Item"),
28270
+ method: exports_external.literal("setProperty"),
28271
+ item: StringArraySchema,
28272
+ property: exports_external.string(),
28273
+ value: exports_external.unknown(),
28274
+ prevValues: exports_external.array(exports_external.unknown())
28275
+ }).passthrough();
28280
28276
  var SocketOperationSchema = exports_external.union([
28281
28277
  UndoOperationSchema,
28282
28278
  RedoOperationSchema,
@@ -28296,7 +28292,8 @@ var SocketOperationSchema = exports_external.union([
28296
28292
  ...CommentOperationSchemas,
28297
28293
  ImageOperationSchema,
28298
28294
  VideoOperationSchema,
28299
- AudioOperationSchema
28295
+ AudioOperationSchema,
28296
+ ItemSetPropertyOperationSchema
28300
28297
  ]);
28301
28298
  var SocketBoardEventBodySchema = exports_external.object({
28302
28299
  eventId: exports_external.string(),
@@ -43173,9 +43170,7 @@ function registerHTMLRenderer(itemType, renderer) {
43173
43170
  }
43174
43171
  function renderItemToHTML(item, documentFactory) {
43175
43172
  const renderer = renderers[item.itemType] || defaultRenderer;
43176
- const element = renderer.render(item, documentFactory);
43177
- element.style.opacity = `${item.opacity}`;
43178
- return element;
43173
+ return renderer.render(item, documentFactory);
43179
43174
  }
43180
43175
  var defaultRenderer = {
43181
43176
  render(item, documentFactory) {
@@ -44945,6 +44940,7 @@ function parseHTMLDrawing(el) {
44945
44940
  transformation,
44946
44941
  strokeStyle: pathElement.getAttribute("stroke") || "",
44947
44942
  strokeWidth: parseFloat(pathElement.getAttribute("stroke-width") || "1"),
44943
+ borderOpacity: parseFloat(pathElement.getAttribute("stroke-opacity") || el.style.opacity || "1"),
44948
44944
  linkTo: el.getAttribute("data-link-to") || undefined
44949
44945
  };
44950
44946
  }
@@ -45399,7 +45395,7 @@ class DrawingHTMLRenderer {
45399
45395
  const pathElement = documentFactory.createElementNS("http://www.w3.org/2000/svg", "path");
45400
45396
  pathElement.setAttribute("d", this.getPathData(drawing));
45401
45397
  pathElement.setAttribute("stroke", resolveColor(drawing.borderColor, conf.theme, drawing.colorRole));
45402
- pathElement.setAttribute("stroke-opacity", `${drawing.opacity}`);
45398
+ pathElement.setAttribute("stroke-opacity", `${drawing.getStrokeOpacity()}`);
45403
45399
  pathElement.setAttribute("stroke-width", `${drawing.strokeWidth}`);
45404
45400
  pathElement.setAttribute("fill", "none");
45405
45401
  svg.appendChild(pathElement);
@@ -46462,7 +46458,7 @@ class SimpleSpatialIndex {
46462
46458
  }
46463
46459
  render(context) {
46464
46460
  this.itemsArray.forEach((item) => {
46465
- item.renderWithOpacity?.(context) ?? item.render(context);
46461
+ item.render(context);
46466
46462
  });
46467
46463
  }
46468
46464
  }
@@ -61217,7 +61213,7 @@ var addShapeToolOverlay = {
61217
61213
  createsItemType: "Shape",
61218
61214
  family: "shape",
61219
61215
  icon: {
61220
- ...overlayAssetIcon("src/Items/Shape/icons/Tool.icon.svg"),
61216
+ ...symbolIcon("Shape"),
61221
61217
  state: {
61222
61218
  note: "UI may swap the top-level icon to the selected shape option when desired."
61223
61219
  }
@@ -62780,7 +62776,7 @@ async function exportBoardScreenshot({
62780
62776
  const { left, top, right, bottom } = selection;
62781
62777
  const inView = board.items.index.listEnclosedOrCrossedBy(left, top, right, bottom);
62782
62778
  for (const item of inView) {
62783
- item.renderWithOpacity?.(context) ?? item.render(context);
62779
+ item.render(context);
62784
62780
  }
62785
62781
  const blob = await offscreenCanvas.convertToBlob({ type: "image/png" });
62786
62782
  const dataUrl = await convertBlobToDataUrl(blob);
@@ -65235,6 +65231,7 @@ var DrawingDataSchema = exports_external.object({
65235
65231
  strokeStyle: ColorValueSchema,
65236
65232
  strokeWidth: exports_external.number(),
65237
65233
  colorRole: exports_external.enum(["foreground", "background"]).optional(),
65234
+ borderOpacity: exports_external.number().optional(),
65238
65235
  opacity: exports_external.number().optional(),
65239
65236
  linkTo: exports_external.string().optional()
65240
65237
  });
@@ -65252,6 +65249,7 @@ class Drawing extends BaseItem {
65252
65249
  borderStyle = "solid";
65253
65250
  colorRole = "foreground";
65254
65251
  linePattern = scalePatterns(this.strokeWidth)[this.borderStyle];
65252
+ borderOpacity = 1;
65255
65253
  transformationRenderBlock = undefined;
65256
65254
  points = [];
65257
65255
  constructor(board, id = "") {
@@ -65270,7 +65268,8 @@ class Drawing extends BaseItem {
65270
65268
  points,
65271
65269
  strokeStyle: this.borderColor,
65272
65270
  strokeWidth: this.strokeWidth,
65273
- colorRole: this.colorRole
65271
+ colorRole: this.colorRole,
65272
+ borderOpacity: this.borderOpacity
65274
65273
  };
65275
65274
  }
65276
65275
  deserialize(data) {
@@ -65288,7 +65287,7 @@ class Drawing extends BaseItem {
65288
65287
  if (data.colorRole) {
65289
65288
  this.colorRole = data.colorRole;
65290
65289
  }
65291
- this.opacity = data.opacity ?? this.opacity;
65290
+ this.borderOpacity = data.borderOpacity ?? data.opacity ?? this.borderOpacity;
65292
65291
  this.updateVisuals({ method: "deserialize", class: this.itemType }, "FullRebuild" /* FullRebuild */);
65293
65292
  return this;
65294
65293
  }
@@ -65403,6 +65402,7 @@ class Drawing extends BaseItem {
65403
65402
  const ctx = context.ctx;
65404
65403
  ctx.save();
65405
65404
  ctx.strokeStyle = resolveColor(this.borderColor, conf.theme, this.colorRole);
65405
+ ctx.globalAlpha = this.borderOpacity;
65406
65406
  ctx.lineWidth = this.strokeWidth;
65407
65407
  ctx.lineCap = "round";
65408
65408
  ctx.setLineDash(this.linePattern);
@@ -65532,7 +65532,7 @@ class Drawing extends BaseItem {
65532
65532
  "borderColor",
65533
65533
  "strokeWidth",
65534
65534
  "borderStyle",
65535
- "opacity",
65535
+ "borderOpacity",
65536
65536
  "colorRole",
65537
65537
  "strokeStyle"
65538
65538
  ];
@@ -65542,7 +65542,7 @@ class Drawing extends BaseItem {
65542
65542
  return super.getPropertyUpdateHint(property);
65543
65543
  }
65544
65544
  getStrokeOpacity() {
65545
- return this.opacity;
65545
+ return this.borderOpacity;
65546
65546
  }
65547
65547
  getBorderStyle() {
65548
65548
  return this.borderStyle;
@@ -65588,7 +65588,7 @@ registerItem({
65588
65588
  itemType: "Drawing",
65589
65589
  points: [],
65590
65590
  borderColor: coerceColorValue("#000000"),
65591
- opacity: 1,
65591
+ borderOpacity: 1,
65592
65592
  borderStyle: "solid",
65593
65593
  strokeWidth: 2,
65594
65594
  transformation: new DefaultTransformationData
@@ -66610,7 +66610,7 @@ class ShapeTool extends CustomTool {
66610
66610
  }
66611
66611
  render(context) {
66612
66612
  if (this.isDown) {
66613
- this.item.renderWithOpacity(context);
66613
+ this.item.render(context);
66614
66614
  this.bounds.render(context);
66615
66615
  }
66616
66616
  }
@@ -69383,15 +69383,15 @@ class Keyboard {
69383
69383
  }
69384
69384
  }
69385
69385
 
69386
- // src/HTMLAdapter/BoardHTMLAdapter.ts
69387
- function parseHTML(el) {
69386
+ // src/HTMLAdapter/LegacyBoardHTMLAdapter.ts
69387
+ function parseLegacyHTML(el) {
69388
69388
  const parser = parsersHTML[el.tagName.toLowerCase()];
69389
69389
  if (!parser) {
69390
69390
  throw new Error(`Unknown element tag: ${el.tagName.toLowerCase()}`);
69391
69391
  }
69392
69392
  return parser(el);
69393
69393
  }
69394
- function serializeBoardToHTML(board) {
69394
+ function serializeBoardToLegacyHTML(board) {
69395
69395
  const boardName = board.getName() || board.getBoardId();
69396
69396
  const items = board.index.items.getWholeHTML(conf.documentFactory);
69397
69397
  const itemsDiv = `<div id="items">${items}</div>`;
@@ -69417,14 +69417,14 @@ function serializeBoardToHTML(board) {
69417
69417
  </head>`.replace(/\t|\n/g, "");
69418
69418
  return `${head}${body}`;
69419
69419
  }
69420
- function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
69420
+ function deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML) {
69421
69421
  const parser = conf.getDOMParser();
69422
69422
  const doc2 = parser.parseFromString(stringedHTML, "text/html");
69423
69423
  const items = doc2.body.querySelector("#items");
69424
69424
  if (items) {
69425
69425
  const idsMap = {};
69426
69426
  const addedConnectors = [];
69427
- const data = Array.from(items.children).map((el) => parseHTML(el));
69427
+ const data = Array.from(items.children).map((el) => parseLegacyHTML(el));
69428
69428
  for (const parsedData of data) {
69429
69429
  if ("childrenMap" in parsedData) {
69430
69430
  const frameData = parsedData;
@@ -69472,14 +69472,14 @@ function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
69472
69472
  }
69473
69473
  return [];
69474
69474
  }
69475
- function deserializeHTMLToBoard(board, stringedHTML) {
69475
+ function deserializeLegacyHTMLToBoard(board, stringedHTML) {
69476
69476
  const parser = conf.getDOMParser();
69477
69477
  const doc2 = parser.parseFromString(stringedHTML, "text/html");
69478
69478
  const itemsDiv = doc2.body.querySelector("#items");
69479
69479
  if (!itemsDiv) {
69480
69480
  return;
69481
69481
  }
69482
- const items = Array.from(itemsDiv.children).map((el) => parseHTML(el));
69482
+ const items = Array.from(itemsDiv.children).map((el) => parseLegacyHTML(el));
69483
69483
  board.index.clear();
69484
69484
  const createdConnectors = {};
69485
69485
  const createdGroups = {};
@@ -69520,6 +69520,20 @@ function deserializeHTMLToBoard(board, stringedHTML) {
69520
69520
  }
69521
69521
  }
69522
69522
 
69523
+ // src/HTMLAdapter/BoardHTMLAdapter.ts
69524
+ function parseHTML(el) {
69525
+ return parseLegacyHTML(el);
69526
+ }
69527
+ function serializeBoardToHTML(board) {
69528
+ return serializeBoardToLegacyHTML(board);
69529
+ }
69530
+ function deserializeHTMLAndEmitToBoard(board, stringedHTML) {
69531
+ return deserializeLegacyHTMLAndEmitToBoard(board, stringedHTML);
69532
+ }
69533
+ function deserializeHTMLToBoard(board, stringedHTML) {
69534
+ deserializeLegacyHTMLToBoard(board, stringedHTML);
69535
+ }
69536
+
69523
69537
  // src/Presence/consts.ts
69524
69538
  var PRESENCE_COLORS = [
69525
69539
  "rgb(71,120,245)",
@@ -71096,13 +71110,13 @@ function createCanvasDrawer(board) {
71096
71110
  if (container2) {
71097
71111
  context.ctx.save();
71098
71112
  container2.getNestingMatrix().applyToContext(context.ctx);
71099
- item.renderWithOpacity(context);
71113
+ item.render(context);
71100
71114
  context.ctx.restore();
71101
71115
  } else {
71102
- item.renderWithOpacity(context);
71116
+ item.render(context);
71103
71117
  }
71104
71118
  } else {
71105
- item.renderWithOpacity(context);
71119
+ item.render(context);
71106
71120
  }
71107
71121
  board2.selection.renderItemMbr(context, item, board2.camera.getMatrix().scaleX);
71108
71122
  }
@@ -75570,7 +75584,7 @@ class AddHighlighter extends AddDrawing {
75570
75584
  }
75571
75585
  applyDrawingRole(drawing) {
75572
75586
  drawing.setColorRole("background");
75573
- drawing.apply(propertyOps.setProperty([drawing], "opacity", 0.5));
75587
+ drawing.apply(propertyOps.setProperty([drawing], "borderOpacity", 0.5));
75574
75588
  }
75575
75589
  updateSettings() {
75576
75590
  localStorage.setItem(conf.HIGHLIGHTER_SETTINGS_KEY, JSON.stringify({
@@ -14175,6 +14175,14 @@ var AudioOperationSchema = exports_external.object({
14175
14175
  item: StringArraySchema,
14176
14176
  url: exports_external.string()
14177
14177
  }).passthrough();
14178
+ var ItemSetPropertyOperationSchema = exports_external.object({
14179
+ class: exports_external.literal("Item"),
14180
+ method: exports_external.literal("setProperty"),
14181
+ item: StringArraySchema,
14182
+ property: exports_external.string(),
14183
+ value: exports_external.unknown(),
14184
+ prevValues: exports_external.array(exports_external.unknown())
14185
+ }).passthrough();
14178
14186
  var SocketOperationSchema = exports_external.union([
14179
14187
  UndoOperationSchema,
14180
14188
  RedoOperationSchema,
@@ -14194,7 +14202,8 @@ var SocketOperationSchema = exports_external.union([
14194
14202
  ...CommentOperationSchemas,
14195
14203
  ImageOperationSchema,
14196
14204
  VideoOperationSchema,
14197
- AudioOperationSchema
14205
+ AudioOperationSchema,
14206
+ ItemSetPropertyOperationSchema
14198
14207
  ]);
14199
14208
  var SocketBoardEventBodySchema = exports_external.object({
14200
14209
  eventId: exports_external.string(),