microboard-ui-temp 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-tvvz6w0f.js → chunk-8aacyxvb.js} +443 -376
- package/dist/example.html +1 -1
- package/dist/index.html +1 -1
- package/dist/index.js +443 -376
- package/dist/spa.js +443 -376
- package/package.json +2 -2
|
@@ -237738,7 +237738,7 @@ function fillHighlight(ctx, textBlock) {
|
|
|
237738
237738
|
return;
|
|
237739
237739
|
}
|
|
237740
237740
|
const measure = textBlock.measure;
|
|
237741
|
-
ctx.fillStyle = textBlock.style.backgroundColor;
|
|
237741
|
+
ctx.fillStyle = resolveColor(textBlock.style.backgroundColor, conf.theme, "background");
|
|
237742
237742
|
ctx.fillRect(textBlock.x, textBlock.y - measure.ascent, measure.width, measure.height);
|
|
237743
237743
|
}
|
|
237744
237744
|
function underline(ctx, textBlock) {
|
|
@@ -237750,14 +237750,13 @@ function underline(ctx, textBlock) {
|
|
|
237750
237750
|
const style = textBlock.style;
|
|
237751
237751
|
const measure = textBlock.measure;
|
|
237752
237752
|
const width = measure.width - (textBlock.marginLeft || 0);
|
|
237753
|
-
|
|
237754
|
-
ctx.strokeStyle = color;
|
|
237753
|
+
ctx.strokeStyle = resolveColor(style.color, conf.theme, "foreground");
|
|
237755
237754
|
ctx.lineWidth = textBlock.fontSize / 14;
|
|
237756
237755
|
ctx.beginPath();
|
|
237757
237756
|
ctx.moveTo(x, y + 2 * textBlock.fontSize / 14);
|
|
237758
237757
|
ctx.lineTo(x + width, y + 2 * textBlock.fontSize / 14);
|
|
237759
237758
|
ctx.stroke();
|
|
237760
|
-
ctx.strokeStyle = style.backgroundColor
|
|
237759
|
+
ctx.strokeStyle = style.backgroundColor ? resolveColor(style.backgroundColor, conf.theme, "background") : "black";
|
|
237761
237760
|
ctx.lineWidth = 2;
|
|
237762
237761
|
}
|
|
237763
237762
|
function cross(ctx, textBlock) {
|
|
@@ -237770,19 +237769,18 @@ function cross(ctx, textBlock) {
|
|
|
237770
237769
|
const measure = textBlock.measure;
|
|
237771
237770
|
const width = measure.width;
|
|
237772
237771
|
const height = measure.height;
|
|
237773
|
-
|
|
237774
|
-
ctx.strokeStyle = color;
|
|
237772
|
+
ctx.strokeStyle = resolveColor(style.color, conf.theme, "foreground");
|
|
237775
237773
|
ctx.lineWidth = textBlock.fontSize / 14;
|
|
237776
237774
|
ctx.beginPath();
|
|
237777
237775
|
ctx.moveTo(x, y - height / 4);
|
|
237778
237776
|
ctx.lineTo(x + width, y - height / 4);
|
|
237779
237777
|
ctx.stroke();
|
|
237780
|
-
ctx.strokeStyle = style.backgroundColor
|
|
237778
|
+
ctx.strokeStyle = style.backgroundColor ? resolveColor(style.backgroundColor, conf.theme, "background") : "black";
|
|
237781
237779
|
ctx.lineWidth = 2;
|
|
237782
237780
|
}
|
|
237783
237781
|
function fillText(ctx, textBlock) {
|
|
237784
237782
|
const { text, style, x, y } = textBlock;
|
|
237785
|
-
ctx.fillStyle = style.color;
|
|
237783
|
+
ctx.fillStyle = resolveColor(style.color, conf.theme, "foreground");
|
|
237786
237784
|
ctx.fillText(text, x, y);
|
|
237787
237785
|
if (textBlock.listMark) {
|
|
237788
237786
|
ctx.fillText(textBlock.listMark, x - measureText(textBlock.listMark, style).width - 4, y);
|
|
@@ -244857,7 +244855,7 @@ function setSelectionFontHighlight(editor, format, selectionContext) {
|
|
|
244857
244855
|
}
|
|
244858
244856
|
if (format === "none") {
|
|
244859
244857
|
Editor.removeMark(editor, "fontHighlight");
|
|
244860
|
-
} else if (marks3.fontHighlight === format) {
|
|
244858
|
+
} else if (typeof format === "string" && marks3.fontHighlight === format) {
|
|
244861
244859
|
Editor.removeMark(editor, "fontHighlight");
|
|
244862
244860
|
} else {
|
|
244863
244861
|
Editor.addMark(editor, "fontHighlight", format);
|
|
@@ -250530,8 +250528,8 @@ class RichText extends BaseItem {
|
|
|
250530
250528
|
node22.underline ? "underline" : "",
|
|
250531
250529
|
node22["line-through"] ? "line-through" : ""
|
|
250532
250530
|
].filter(Boolean).join(" "),
|
|
250533
|
-
color: node22.fontColor
|
|
250534
|
-
backgroundColor: node22.fontHighlight
|
|
250531
|
+
color: node22.fontColor ? resolveColor(node22.fontColor, conf.theme, "foreground") : conf.DEFAULT_TEXT_STYLES.fontColor,
|
|
250532
|
+
backgroundColor: node22.fontHighlight ? resolveColor(node22.fontHighlight, conf.theme, "background") : conf.DEFAULT_TEXT_STYLES.fontHighlight,
|
|
250535
250533
|
fontSize: node22.fontSize ? `${node22.fontSize}px` : `${conf.DEFAULT_TEXT_STYLES.fontSize}px`,
|
|
250536
250534
|
fontFamily: node22.fontFamily || conf.DEFAULT_TEXT_STYLES.fontFamily
|
|
250537
250535
|
});
|
|
@@ -265388,6 +265386,12 @@ class Connector2 extends BaseItem {
|
|
|
265388
265386
|
mbr.strokeWidth = 3;
|
|
265389
265387
|
mbr.borderStyle = "solid";
|
|
265390
265388
|
this.clipText(context);
|
|
265389
|
+
const resolvedLineColor = resolveColor(this.lineColor, conf.theme, "foreground");
|
|
265390
|
+
this.lines.setBorderColor(resolvedLineColor);
|
|
265391
|
+
this.startPointer.path.setBorderColor(resolvedLineColor);
|
|
265392
|
+
this.startPointer.path.setBackgroundColor(resolvedLineColor);
|
|
265393
|
+
this.endPointer.path.setBorderColor(resolvedLineColor);
|
|
265394
|
+
this.endPointer.path.setBackgroundColor(resolvedLineColor);
|
|
265391
265395
|
if (!this.text.isRenderEnabled && this.board.selection.getContext() !== "EditTextUnderPointer") {
|
|
265392
265396
|
this.lines.render(context);
|
|
265393
265397
|
}
|
|
@@ -265669,17 +265673,11 @@ class Connector2 extends BaseItem {
|
|
|
265669
265673
|
const endPoint = this.endPoint;
|
|
265670
265674
|
this.lines = getLine(this.lineStyle, startPoint, endPoint, this.middlePoint).addConnectedItemType(this.itemType);
|
|
265671
265675
|
this.startPointer = getStartPointer(startPoint, this.startPointerStyle, this.lineStyle, this.lines, this.lineWidth * 0.1 + 0.2);
|
|
265672
|
-
const resolvedLineColor = resolveColor(this.lineColor, conf.theme, "foreground");
|
|
265673
|
-
this.startPointer.path.setBorderColor(resolvedLineColor);
|
|
265674
265676
|
this.startPointer.path.setBorderWidth(this.lineWidth);
|
|
265675
|
-
this.startPointer.path.setBackgroundColor(resolvedLineColor);
|
|
265676
265677
|
this.endPointer = getEndPointer(endPoint, this.endPointerStyle, this.lineStyle, this.lines, this.lineWidth * 0.1 + 0.2);
|
|
265677
|
-
this.endPointer.path.setBorderColor(resolvedLineColor);
|
|
265678
265678
|
this.endPointer.path.setBorderWidth(this.lineWidth);
|
|
265679
|
-
this.endPointer.path.setBackgroundColor(resolvedLineColor);
|
|
265680
265679
|
this.offsetLines();
|
|
265681
265680
|
this.lines.setBorderWidth(this.lineWidth);
|
|
265682
|
-
this.lines.setBorderColor(resolvedLineColor);
|
|
265683
265681
|
this.lines.setBorderStyle(this.borderStyle);
|
|
265684
265682
|
this.updateTitle();
|
|
265685
265683
|
}
|
|
@@ -267366,7 +267364,6 @@ class Shape extends BaseItem {
|
|
|
267366
267364
|
}
|
|
267367
267365
|
applyBackgroundColor(backgroundColor) {
|
|
267368
267366
|
this.backgroundColor = backgroundColor;
|
|
267369
|
-
this.path.setBackgroundColor(resolveColor(backgroundColor, conf.theme, "background"));
|
|
267370
267367
|
}
|
|
267371
267368
|
setBackgroundColor(backgroundColor) {
|
|
267372
267369
|
this.emit({
|
|
@@ -267402,7 +267399,6 @@ class Shape extends BaseItem {
|
|
|
267402
267399
|
}
|
|
267403
267400
|
applyBorderColor(borderColor) {
|
|
267404
267401
|
this.borderColor = borderColor;
|
|
267405
|
-
this.path.setBorderColor(resolveColor(borderColor, conf.theme, "foreground"));
|
|
267406
267402
|
}
|
|
267407
267403
|
setBorderColor(borderColor) {
|
|
267408
267404
|
this.emit({
|
|
@@ -267510,6 +267506,8 @@ class Shape extends BaseItem {
|
|
|
267510
267506
|
if (this.transformationRenderBlock) {
|
|
267511
267507
|
return;
|
|
267512
267508
|
}
|
|
267509
|
+
this.path.setBackgroundColor(resolveColor(this.backgroundColor, conf.theme, "background"));
|
|
267510
|
+
this.path.setBorderColor(resolveColor(this.borderColor, conf.theme, "foreground"));
|
|
267513
267511
|
this.path.render(context);
|
|
267514
267512
|
this.text.render(context);
|
|
267515
267513
|
if (this.getLinkTo()) {
|
|
@@ -267610,9 +267608,7 @@ class Shape extends BaseItem {
|
|
|
267610
267608
|
this.text.setContainer(this.textContainer.copy());
|
|
267611
267609
|
this.textContainer.transform(this.transformation.toMatrix());
|
|
267612
267610
|
this.path.transform(this.transformation.toMatrix());
|
|
267613
|
-
this.path.setBackgroundColor(this.backgroundColor);
|
|
267614
267611
|
this.path.setBackgroundOpacity(this.backgroundOpacity);
|
|
267615
|
-
this.path.setBorderColor(this.borderColor);
|
|
267616
267612
|
this.path.setBorderWidth(this.borderWidth);
|
|
267617
267613
|
this.path.setBorderStyle(this.borderStyle);
|
|
267618
267614
|
this.path.setBorderOpacity(this.borderOpacity);
|
|
@@ -267797,7 +267793,6 @@ class Sticker extends BaseItem {
|
|
|
267797
267793
|
this.stickerPath.transform(this.transformation.toMatrix());
|
|
267798
267794
|
this.text.setContainer(this.textContainer.copy());
|
|
267799
267795
|
this.textContainer.transform(this.transformation.toMatrix());
|
|
267800
|
-
this.stickerPath.setBackgroundColor(resolveColor(this.backgroundColor, conf.theme, "background"));
|
|
267801
267796
|
this.saveStickerData();
|
|
267802
267797
|
}
|
|
267803
267798
|
setId(id2) {
|
|
@@ -267841,7 +267836,6 @@ class Sticker extends BaseItem {
|
|
|
267841
267836
|
}
|
|
267842
267837
|
applyBackgroundColor(backgroundColor) {
|
|
267843
267838
|
this.backgroundColor = backgroundColor;
|
|
267844
|
-
this.stickerPath.setBackgroundColor(resolveColor(backgroundColor, conf.theme, "background"));
|
|
267845
267839
|
}
|
|
267846
267840
|
setBackgroundColor(backgroundColor) {
|
|
267847
267841
|
this.emit({
|
|
@@ -267888,6 +267882,7 @@ class Sticker extends BaseItem {
|
|
|
267888
267882
|
return;
|
|
267889
267883
|
}
|
|
267890
267884
|
this.renderShadow(context);
|
|
267885
|
+
this.stickerPath.setBackgroundColor(resolveColor(this.backgroundColor, conf.theme, "background"));
|
|
267891
267886
|
this.stickerPath.render(context);
|
|
267892
267887
|
this.text.render(context);
|
|
267893
267888
|
if (this.getLinkTo()) {
|
|
@@ -268425,9 +268420,7 @@ class Frame2 extends BaseItem {
|
|
|
268425
268420
|
this.path.transform(this.transformation.toMatrix());
|
|
268426
268421
|
this.textContainer.transform(this.transformation.toMatrix());
|
|
268427
268422
|
}
|
|
268428
|
-
this.path.setBackgroundColor(resolveColor(this.backgroundColor, conf.theme, "background"));
|
|
268429
268423
|
this.path.setBackgroundOpacity(this.backgroundOpacity);
|
|
268430
|
-
this.path.setBorderColor(resolveColor(this.borderColor, conf.theme, "foreground"));
|
|
268431
268424
|
this.path.setBorderWidth(this.borderWidth);
|
|
268432
268425
|
this.path.setBorderStyle(this.borderStyle);
|
|
268433
268426
|
this.path.setBorderOpacity(this.borderOpacity);
|
|
@@ -268578,7 +268571,6 @@ class Frame2 extends BaseItem {
|
|
|
268578
268571
|
}
|
|
268579
268572
|
applyBackgroundColor(backgroundColor) {
|
|
268580
268573
|
this.backgroundColor = backgroundColor;
|
|
268581
|
-
this.path.setBackgroundColor(resolveColor(backgroundColor, conf.theme, "background"));
|
|
268582
268574
|
}
|
|
268583
268575
|
setBackgroundColor(backgroundColor) {
|
|
268584
268576
|
this.emit({
|
|
@@ -268626,6 +268618,8 @@ class Frame2 extends BaseItem {
|
|
|
268626
268618
|
if (this.transformationRenderBlock) {
|
|
268627
268619
|
return;
|
|
268628
268620
|
}
|
|
268621
|
+
this.path.setBackgroundColor(resolveColor(this.backgroundColor, conf.theme, "background"));
|
|
268622
|
+
this.path.setBorderColor(resolveColor(this.borderColor, conf.theme, "foreground"));
|
|
268629
268623
|
this.path.render(context);
|
|
268630
268624
|
this.renderNewShape(context);
|
|
268631
268625
|
if (this.getLinkTo()) {
|
|
@@ -373226,7 +373220,6 @@ function FillStyle() {
|
|
|
373226
373220
|
board.selection.setFillColor(color2);
|
|
373227
373221
|
};
|
|
373228
373222
|
const isSemanticFill = getSemanticId(rawFillColor) !== null;
|
|
373229
|
-
const isPredefinedColor = isSemanticFill || window.MICROBOARD_CONFIG.SHAPE_FILL_COLORS.some((color2) => color2 === fillColor);
|
|
373230
373223
|
return /* @__PURE__ */ import_react239.default.createElement(ButtonWithMenu, {
|
|
373231
373224
|
menuName: MENU_NAME4,
|
|
373232
373225
|
openedMenu,
|
|
@@ -373257,15 +373250,10 @@ function FillStyle() {
|
|
|
373257
373250
|
id: "fill-style",
|
|
373258
373251
|
currentValue: rawFillColor,
|
|
373259
373252
|
onPick: handlePick
|
|
373260
|
-
}), /* @__PURE__ */ import_react239.default.createElement(ColorPicker, {
|
|
373261
|
-
id: "fill-style",
|
|
373262
|
-
selectedColor: fillColor,
|
|
373263
|
-
colors: window.MICROBOARD_CONFIG.SHAPE_FILL_COLORS,
|
|
373264
|
-
onPick: handlePick
|
|
373265
373253
|
}), /* @__PURE__ */ import_react239.default.createElement(UiColorInput, {
|
|
373266
373254
|
onChange: handleCustomPick,
|
|
373267
|
-
color:
|
|
373268
|
-
isActive: fillColor !== "none" && !
|
|
373255
|
+
color: isSemanticFill ? "none" : fillColor,
|
|
373256
|
+
isActive: fillColor !== "none" && !isSemanticFill,
|
|
373269
373257
|
toggleMenu
|
|
373270
373258
|
})));
|
|
373271
373259
|
}
|
|
@@ -373613,7 +373601,6 @@ function FrameFill() {
|
|
|
373613
373601
|
board.selection.setFillColor(color2);
|
|
373614
373602
|
};
|
|
373615
373603
|
const isSemanticFill = getSemanticId(rawFillColor) !== null;
|
|
373616
|
-
const isPredefinedColor = isSemanticFill || FRAME_FILL_COLORS.some((color2) => color2 === fillColor);
|
|
373617
373604
|
return /* @__PURE__ */ import_react245.default.createElement(ButtonWithMenu, {
|
|
373618
373605
|
menuName: MENU_NAME7,
|
|
373619
373606
|
openedMenu,
|
|
@@ -373644,15 +373631,10 @@ function FrameFill() {
|
|
|
373644
373631
|
id: "frame-fill",
|
|
373645
373632
|
currentValue: rawFillColor,
|
|
373646
373633
|
onPick: handlePick
|
|
373647
|
-
}), /* @__PURE__ */ import_react245.default.createElement(ColorPicker, {
|
|
373648
|
-
id: "fill-style",
|
|
373649
|
-
selectedColor: fillColor,
|
|
373650
|
-
colors: FRAME_FILL_COLORS,
|
|
373651
|
-
onPick: handlePick
|
|
373652
373634
|
}), /* @__PURE__ */ import_react245.default.createElement(UiColorInput, {
|
|
373653
373635
|
onChange: handleCustomPick,
|
|
373654
|
-
color:
|
|
373655
|
-
isActive: fillColor !== "none" && !
|
|
373636
|
+
color: isSemanticFill ? "none" : fillColor,
|
|
373637
|
+
isActive: fillColor !== "none" && !isSemanticFill,
|
|
373656
373638
|
toggleMenu
|
|
373657
373639
|
})));
|
|
373658
373640
|
}
|
|
@@ -374161,11 +374143,6 @@ function StickerFillStyle() {
|
|
|
374161
374143
|
id: "sticker-fill",
|
|
374162
374144
|
currentValue: rawColor,
|
|
374163
374145
|
onPick: handlePick
|
|
374164
|
-
}), /* @__PURE__ */ import_react258.default.createElement(ColorPicker, {
|
|
374165
|
-
id: "sticker-fill",
|
|
374166
|
-
selectedColor: color2,
|
|
374167
|
-
colors: window.MICROBOARD_CONFIG.STICKER_COLORS,
|
|
374168
|
-
onPick: handlePick
|
|
374169
374146
|
})));
|
|
374170
374147
|
}
|
|
374171
374148
|
|
|
@@ -374221,7 +374198,6 @@ function StrokeStyle({
|
|
|
374221
374198
|
board.selection.setStrokeColor(color2);
|
|
374222
374199
|
};
|
|
374223
374200
|
const isSemanticStroke = getSemanticId(rawBorderColor) !== null;
|
|
374224
|
-
const isPredefinedColor = isSemanticStroke || window.MICROBOARD_CONFIG.SHAPE_STROKE_COLORS.some((color2) => color2 === borderColor);
|
|
374225
374201
|
return /* @__PURE__ */ import_react259.default.createElement(ButtonWithMenu, {
|
|
374226
374202
|
menuName: MENU_NAME13,
|
|
374227
374203
|
openedMenu,
|
|
@@ -374264,15 +374240,10 @@ function StrokeStyle({
|
|
|
374264
374240
|
id: "stroke-style",
|
|
374265
374241
|
currentValue: rawBorderColor,
|
|
374266
374242
|
onPick: handleStrokeColorPick
|
|
374267
|
-
}), /* @__PURE__ */ import_react259.default.createElement(ColorPicker, {
|
|
374268
|
-
id: "stroke-style",
|
|
374269
|
-
colors: window.MICROBOARD_CONFIG.SHAPE_STROKE_COLORS,
|
|
374270
|
-
onPick: handleStrokeColorPick,
|
|
374271
|
-
selectedColor: borderColor
|
|
374272
374243
|
}), /* @__PURE__ */ import_react259.default.createElement(UiColorInput, {
|
|
374273
374244
|
onChange: handleStrokeCustomColorPick,
|
|
374274
|
-
color:
|
|
374275
|
-
isActive: borderColor !== "none" && !
|
|
374245
|
+
color: isSemanticStroke ? "none" : borderColor,
|
|
374246
|
+
isActive: borderColor !== "none" && !isSemanticStroke,
|
|
374276
374247
|
toggleMenu
|
|
374277
374248
|
}))));
|
|
374278
374249
|
}
|
|
@@ -374454,15 +374425,20 @@ function TextColor() {
|
|
|
374454
374425
|
const handleClick = () => {
|
|
374455
374426
|
toggleMenu(MENU_NAME15);
|
|
374456
374427
|
};
|
|
374457
|
-
const
|
|
374458
|
-
|
|
374428
|
+
const handleSemanticPick = (colorValue) => {
|
|
374429
|
+
const resolved = resolveColorForUI(colorValue, "foreground");
|
|
374430
|
+
board.selection.setFontColor(resolved);
|
|
374459
374431
|
toggleMenu("None");
|
|
374460
374432
|
};
|
|
374461
374433
|
const handleCustomPick = (color2) => {
|
|
374462
374434
|
const rgbColor = convertHexToRGBA2(color2, false);
|
|
374463
374435
|
board.selection.setFontColor(rgbColor);
|
|
374464
374436
|
};
|
|
374465
|
-
const
|
|
374437
|
+
const activeSemanticId = CONTRAST_PALETTE_LIST.find((pair) => {
|
|
374438
|
+
const fg2 = conf.theme === "light" ? pair.dark : pair.light;
|
|
374439
|
+
return fg2 === fontColor;
|
|
374440
|
+
})?.id ?? null;
|
|
374441
|
+
const isSemanticFont = activeSemanticId !== null;
|
|
374466
374442
|
return /* @__PURE__ */ import_react264.default.createElement(ButtonWithMenu, {
|
|
374467
374443
|
menuName: MENU_NAME15,
|
|
374468
374444
|
openedMenu,
|
|
@@ -374487,15 +374463,14 @@ function TextColor() {
|
|
|
374487
374463
|
grid: true,
|
|
374488
374464
|
columns: 4,
|
|
374489
374465
|
gap: 8
|
|
374490
|
-
}, /* @__PURE__ */ import_react264.default.createElement(
|
|
374466
|
+
}, /* @__PURE__ */ import_react264.default.createElement(SemanticColorPicker, {
|
|
374491
374467
|
id: "TextColor",
|
|
374492
|
-
|
|
374493
|
-
|
|
374494
|
-
onPick: handlePick
|
|
374468
|
+
currentValue: { type: "semantic", id: activeSemanticId },
|
|
374469
|
+
onPick: handleSemanticPick
|
|
374495
374470
|
}), /* @__PURE__ */ import_react264.default.createElement(UiColorInput, {
|
|
374496
374471
|
onChange: handleCustomPick,
|
|
374497
|
-
color:
|
|
374498
|
-
isActive: fontColor !== "none" && !
|
|
374472
|
+
color: isSemanticFont ? "none" : fontColor,
|
|
374473
|
+
isActive: fontColor !== "none" && !isSemanticFont
|
|
374499
374474
|
})));
|
|
374500
374475
|
}
|
|
374501
374476
|
|
|
@@ -374510,15 +374485,20 @@ function TextHighlight() {
|
|
|
374510
374485
|
const handleClick = () => {
|
|
374511
374486
|
toggleMenu(MENU_NAME16);
|
|
374512
374487
|
};
|
|
374513
|
-
const
|
|
374514
|
-
|
|
374488
|
+
const handleSemanticPick = (colorValue) => {
|
|
374489
|
+
const resolved = resolveColorForUI(colorValue, "background");
|
|
374490
|
+
board.selection.setFontHighlight(resolved);
|
|
374515
374491
|
toggleMenu("None");
|
|
374516
374492
|
};
|
|
374517
374493
|
const handleCustomPick = (color2) => {
|
|
374518
374494
|
const rgbColor = convertHexToRGBA2(color2, false);
|
|
374519
374495
|
board.selection.setFontHighlight(rgbColor);
|
|
374520
374496
|
};
|
|
374521
|
-
const
|
|
374497
|
+
const activeSemanticId = CONTRAST_PALETTE_LIST.find((pair) => {
|
|
374498
|
+
const bg = conf.theme === "light" ? pair.light : pair.dark;
|
|
374499
|
+
return bg === highlightColor;
|
|
374500
|
+
})?.id ?? null;
|
|
374501
|
+
const isSemanticHighlight = activeSemanticId !== null;
|
|
374522
374502
|
return /* @__PURE__ */ import_react265.default.createElement(ButtonWithMenu, {
|
|
374523
374503
|
menuName: MENU_NAME16,
|
|
374524
374504
|
openedMenu,
|
|
@@ -374543,15 +374523,14 @@ function TextHighlight() {
|
|
|
374543
374523
|
grid: true,
|
|
374544
374524
|
columns: 4,
|
|
374545
374525
|
gap: 8
|
|
374546
|
-
}, /* @__PURE__ */ import_react265.default.createElement(
|
|
374526
|
+
}, /* @__PURE__ */ import_react265.default.createElement(SemanticColorPicker, {
|
|
374547
374527
|
id: "TextHighlight",
|
|
374548
|
-
|
|
374549
|
-
|
|
374550
|
-
onPick: handlePick
|
|
374528
|
+
currentValue: { type: "semantic", id: activeSemanticId },
|
|
374529
|
+
onPick: handleSemanticPick
|
|
374551
374530
|
}), /* @__PURE__ */ import_react265.default.createElement(UiColorInput, {
|
|
374552
374531
|
onChange: handleCustomPick,
|
|
374553
|
-
color:
|
|
374554
|
-
isActive: highlightColor !== "none" && !
|
|
374532
|
+
color: isSemanticHighlight ? "none" : highlightColor,
|
|
374533
|
+
isActive: highlightColor !== "none" && !isSemanticHighlight,
|
|
374555
374534
|
toggleMenu
|
|
374556
374535
|
})));
|
|
374557
374536
|
}
|
|
@@ -374663,7 +374642,6 @@ function ConnectorLineColor() {
|
|
|
374663
374642
|
board.selection.setStrokeColor(color2);
|
|
374664
374643
|
};
|
|
374665
374644
|
const isSemanticLine = getSemanticId(rawLineColor) !== null;
|
|
374666
|
-
const isPredefinedColor = isSemanticLine || window.MICROBOARD_CONFIG.SHAPE_STROKE_COLORS.some((color2) => color2 === connectorLineColor);
|
|
374667
374645
|
return /* @__PURE__ */ import_react268.default.createElement(ButtonWithMenu, {
|
|
374668
374646
|
menuName: MENU_NAME17,
|
|
374669
374647
|
openedMenu,
|
|
@@ -374694,15 +374672,10 @@ function ConnectorLineColor() {
|
|
|
374694
374672
|
id: "connector-line-color",
|
|
374695
374673
|
currentValue: rawLineColor,
|
|
374696
374674
|
onPick: handlePick
|
|
374697
|
-
}), /* @__PURE__ */ import_react268.default.createElement(ColorPicker, {
|
|
374698
|
-
id: "connector-line-color",
|
|
374699
|
-
selectedColor: connectorLineColor,
|
|
374700
|
-
colors: window.MICROBOARD_CONFIG.SHAPE_STROKE_COLORS,
|
|
374701
|
-
onPick: handlePick
|
|
374702
374675
|
}), /* @__PURE__ */ import_react268.default.createElement(UiColorInput, {
|
|
374703
374676
|
onChange: handleCustomPick,
|
|
374704
|
-
color:
|
|
374705
|
-
isActive: connectorLineColor !== "none" && !
|
|
374677
|
+
color: isSemanticLine ? "none" : connectorLineColor,
|
|
374678
|
+
isActive: connectorLineColor !== "none" && !isSemanticLine,
|
|
374706
374679
|
toggleMenu
|
|
374707
374680
|
})));
|
|
374708
374681
|
}
|
|
@@ -376803,7 +376776,7 @@ function shouldShow(panel) {
|
|
|
376803
376776
|
}
|
|
376804
376777
|
|
|
376805
376778
|
// src/features/SidePanelsContainer/SidePanelsContainer.tsx
|
|
376806
|
-
var
|
|
376779
|
+
var import_react368 = __toESM(require_react(), 1);
|
|
376807
376780
|
|
|
376808
376781
|
// src/features/AppView/InactiveBoardHidder.tsx
|
|
376809
376782
|
var import_react309 = __toESM(require_react(), 1);
|
|
@@ -437851,7 +437824,7 @@ var AIChatPanel = ({ board }) => {
|
|
|
437851
437824
|
var AIChatPanel_default = AIChatPanel;
|
|
437852
437825
|
|
|
437853
437826
|
// src/features/ToolsPanel/ToolsPanel.tsx
|
|
437854
|
-
var
|
|
437827
|
+
var import_react362 = __toESM(require_react(), 1);
|
|
437855
437828
|
|
|
437856
437829
|
// src/features/ToolsPanel/Buttons/AddConnector.tsx
|
|
437857
437830
|
var import_react325 = __toESM(require_react(), 1);
|
|
@@ -439644,28 +439617,8 @@ function Select3({ rounded = "top" }) {
|
|
|
439644
439617
|
}));
|
|
439645
439618
|
}
|
|
439646
439619
|
|
|
439647
|
-
// src/features/ToolsPanel/Buttons/ThemeToggle.tsx
|
|
439648
|
-
var import_react354 = __toESM(require_react(), 1);
|
|
439649
|
-
function ThemeToggle() {
|
|
439650
|
-
const { board } = useAppContext();
|
|
439651
|
-
const [theme2, setTheme] = import_react354.useState(conf.theme);
|
|
439652
|
-
const handleClick = () => {
|
|
439653
|
-
const next5 = conf.theme === "light" ? "dark" : "light";
|
|
439654
|
-
conf.theme = next5;
|
|
439655
|
-
setTheme(next5);
|
|
439656
|
-
board.items.subject.publish(board.items);
|
|
439657
|
-
};
|
|
439658
|
-
return /* @__PURE__ */ import_react354.default.createElement(UiButton, {
|
|
439659
|
-
id: "theme-toggle",
|
|
439660
|
-
tooltip: theme2 === "light" ? "Switch to dark theme" : "Switch to light theme",
|
|
439661
|
-
onClick: handleClick,
|
|
439662
|
-
variant: "secondary",
|
|
439663
|
-
rounded: "none"
|
|
439664
|
-
}, theme2 === "light" ? "☀" : "☾");
|
|
439665
|
-
}
|
|
439666
|
-
|
|
439667
439620
|
// src/features/ToolsPanel/Buttons/Undo.tsx
|
|
439668
|
-
var
|
|
439621
|
+
var import_react354 = __toESM(require_react(), 1);
|
|
439669
439622
|
function Undo() {
|
|
439670
439623
|
const { board } = useAppContext();
|
|
439671
439624
|
const { t: t11 } = useTranslation();
|
|
@@ -439678,7 +439631,7 @@ function Undo() {
|
|
|
439678
439631
|
board.events?.undo();
|
|
439679
439632
|
};
|
|
439680
439633
|
const canUndo = board.events?.canUndo();
|
|
439681
|
-
return /* @__PURE__ */
|
|
439634
|
+
return /* @__PURE__ */ import_react354.default.createElement(UiButton, {
|
|
439682
439635
|
id: "undo",
|
|
439683
439636
|
tooltip: t11("toolsPanel.undo.tooltip"),
|
|
439684
439637
|
hotkey: getHotkeyLabel("undo"),
|
|
@@ -439686,7 +439639,7 @@ function Undo() {
|
|
|
439686
439639
|
disabled: !canUndo,
|
|
439687
439640
|
rounded: "top",
|
|
439688
439641
|
variant: "secondary"
|
|
439689
|
-
}, /* @__PURE__ */
|
|
439642
|
+
}, /* @__PURE__ */ import_react354.default.createElement(Icon, {
|
|
439690
439643
|
iconName: "Undo"
|
|
439691
439644
|
}));
|
|
439692
439645
|
}
|
|
@@ -439702,13 +439655,13 @@ var ToolsPanel_module_default = {
|
|
|
439702
439655
|
};
|
|
439703
439656
|
|
|
439704
439657
|
// src/features/ToolsPanel/Buttons/AddGameItem/AddGameItem.tsx
|
|
439705
|
-
var
|
|
439658
|
+
var import_react361 = __toESM(require_react(), 1);
|
|
439706
439659
|
|
|
439707
439660
|
// src/features/ToolsPanel/Buttons/AddGameItem/AddDice.tsx
|
|
439708
|
-
var
|
|
439661
|
+
var import_react356 = __toESM(require_react(), 1);
|
|
439709
439662
|
|
|
439710
439663
|
// src/features/GameItems/CreateDiceModal.tsx
|
|
439711
|
-
var
|
|
439664
|
+
var import_react355 = __toESM(require_react(), 1);
|
|
439712
439665
|
|
|
439713
439666
|
// src/features/GameItems/Modal.module.css
|
|
439714
439667
|
var Modal_module_default = {
|
|
@@ -439734,14 +439687,14 @@ var MIN_SIDES = 3;
|
|
|
439734
439687
|
var MAX_SIDES = 20;
|
|
439735
439688
|
function CreateDiceModal() {
|
|
439736
439689
|
const { closeModal: closeModal2 } = useUiModalContext();
|
|
439737
|
-
const [faces, setFaces] =
|
|
439738
|
-
const [previews, setPreviews] =
|
|
439739
|
-
const [isLoading, setIsLoading] =
|
|
439740
|
-
const inputRefs =
|
|
439690
|
+
const [faces, setFaces] = import_react355.useState(Array(MIN_SIDES).fill(null));
|
|
439691
|
+
const [previews, setPreviews] = import_react355.useState(Array(MIN_SIDES).fill(null));
|
|
439692
|
+
const [isLoading, setIsLoading] = import_react355.useState(false);
|
|
439693
|
+
const inputRefs = import_react355.useRef([]);
|
|
439741
439694
|
const { board } = useAppContext();
|
|
439742
439695
|
const account = useAccount();
|
|
439743
439696
|
const { t: t11 } = useTranslation();
|
|
439744
|
-
|
|
439697
|
+
import_react355.useEffect(() => {
|
|
439745
439698
|
faces.forEach((file, idx) => {
|
|
439746
439699
|
if (file) {
|
|
439747
439700
|
const reader = new FileReader;
|
|
@@ -439827,43 +439780,43 @@ function CreateDiceModal() {
|
|
|
439827
439780
|
}
|
|
439828
439781
|
closeModal2();
|
|
439829
439782
|
};
|
|
439830
|
-
return /* @__PURE__ */
|
|
439783
|
+
return /* @__PURE__ */ import_react355.default.createElement(UiModal, {
|
|
439831
439784
|
modalId: CREATE_DICE_MODAL,
|
|
439832
439785
|
closeOnClickOutside: false,
|
|
439833
439786
|
renderAsPageOnMobile: true
|
|
439834
|
-
}, /* @__PURE__ */
|
|
439787
|
+
}, /* @__PURE__ */ import_react355.default.createElement("div", {
|
|
439835
439788
|
className: Modal_module_default.modalContent
|
|
439836
|
-
}, /* @__PURE__ */
|
|
439789
|
+
}, /* @__PURE__ */ import_react355.default.createElement("div", {
|
|
439837
439790
|
className: Modal_module_default.title
|
|
439838
|
-
}, t11("toolsPanel.addGameItem.addDice.title")), /* @__PURE__ */
|
|
439791
|
+
}, t11("toolsPanel.addGameItem.addDice.title")), /* @__PURE__ */ import_react355.default.createElement("div", {
|
|
439839
439792
|
className: Modal_module_default.cardsRow,
|
|
439840
439793
|
style: { flexWrap: "wrap", gap: 16 }
|
|
439841
|
-
}, faces.map((face, idx) => /* @__PURE__ */
|
|
439794
|
+
}, faces.map((face, idx) => /* @__PURE__ */ import_react355.default.createElement("div", {
|
|
439842
439795
|
key: idx,
|
|
439843
439796
|
className: Modal_module_default.diceFace,
|
|
439844
439797
|
onClick: () => handleFaceClick(idx)
|
|
439845
|
-
}, previews[idx] ? /* @__PURE__ */
|
|
439798
|
+
}, previews[idx] ? /* @__PURE__ */ import_react355.default.createElement("img", {
|
|
439846
439799
|
src: previews[idx] || undefined,
|
|
439847
439800
|
alt: `face-${idx + 1}`,
|
|
439848
439801
|
className: Modal_module_default.dicePreview
|
|
439849
|
-
}) : /* @__PURE__ */
|
|
439802
|
+
}) : /* @__PURE__ */ import_react355.default.createElement("span", {
|
|
439850
439803
|
className: Modal_module_default.diceLabel
|
|
439851
|
-
}, idx + 1), /* @__PURE__ */
|
|
439804
|
+
}, idx + 1), /* @__PURE__ */ import_react355.default.createElement("input", {
|
|
439852
439805
|
type: "file",
|
|
439853
439806
|
accept: "image/*",
|
|
439854
439807
|
style: { display: "none" },
|
|
439855
439808
|
ref: (el2) => inputRefs.current[idx] = el2,
|
|
439856
439809
|
onChange: (ev) => handleFileChange(idx, ev)
|
|
439857
|
-
}))), faces.length < MAX_SIDES && /* @__PURE__ */
|
|
439810
|
+
}))), faces.length < MAX_SIDES && /* @__PURE__ */ import_react355.default.createElement("div", {
|
|
439858
439811
|
className: Modal_module_default.addFaceBtn,
|
|
439859
439812
|
onClick: handleAddFace
|
|
439860
|
-
}, "+")), faces.length > MIN_SIDES && /* @__PURE__ */
|
|
439813
|
+
}, "+")), faces.length > MIN_SIDES && /* @__PURE__ */ import_react355.default.createElement("div", {
|
|
439861
439814
|
className: Modal_module_default.removeFaceBtnWrapper
|
|
439862
|
-
}, /* @__PURE__ */
|
|
439815
|
+
}, /* @__PURE__ */ import_react355.default.createElement(UiButton, {
|
|
439863
439816
|
variant: "secondary",
|
|
439864
439817
|
onClick: handleRemoveLastFace,
|
|
439865
439818
|
className: Modal_module_default.removeFaceBtn
|
|
439866
|
-
}, t11("toolsPanel.addGameItem.addDice.removeFace"))), /* @__PURE__ */
|
|
439819
|
+
}, t11("toolsPanel.addGameItem.addDice.removeFace"))), /* @__PURE__ */ import_react355.default.createElement(UiButton, {
|
|
439867
439820
|
className: Modal_module_default.acceptBtn,
|
|
439868
439821
|
variant: "primary",
|
|
439869
439822
|
onClick: handleAccept,
|
|
@@ -439878,23 +439831,23 @@ function AddDice2({ rounded }) {
|
|
|
439878
439831
|
const handleClick = () => {
|
|
439879
439832
|
openModal2(CREATE_DICE_MODAL);
|
|
439880
439833
|
};
|
|
439881
|
-
return /* @__PURE__ */
|
|
439834
|
+
return /* @__PURE__ */ import_react356.default.createElement(UiButton, {
|
|
439882
439835
|
id: "tool-add-dice",
|
|
439883
439836
|
tooltip: t11("toolsPanel.addGameItem.addDice.tooltip"),
|
|
439884
439837
|
onClick: handleClick,
|
|
439885
439838
|
active: false,
|
|
439886
439839
|
variant: "secondary",
|
|
439887
439840
|
rounded
|
|
439888
|
-
}, /* @__PURE__ */
|
|
439841
|
+
}, /* @__PURE__ */ import_react356.default.createElement(Icon, {
|
|
439889
439842
|
iconName: "Dice"
|
|
439890
439843
|
}));
|
|
439891
439844
|
}
|
|
439892
439845
|
|
|
439893
439846
|
// src/features/ToolsPanel/Buttons/AddGameItem/AddCard.tsx
|
|
439894
|
-
var
|
|
439847
|
+
var import_react358 = __toESM(require_react(), 1);
|
|
439895
439848
|
|
|
439896
439849
|
// src/features/GameItems/CreateCardsModal.tsx
|
|
439897
|
-
var
|
|
439850
|
+
var import_react357 = __toESM(require_react(), 1);
|
|
439898
439851
|
var CREATE_CARDS_MODAL = Symbol("createCardsModal");
|
|
439899
439852
|
var getImageDimensions = (file) => {
|
|
439900
439853
|
return new Promise((resolve2) => {
|
|
@@ -439913,14 +439866,14 @@ function CreateCardsModal() {
|
|
|
439913
439866
|
const { closeModal: closeModal2 } = useUiModalContext();
|
|
439914
439867
|
const { board } = useAppContext();
|
|
439915
439868
|
const account = useAccount();
|
|
439916
|
-
const [cover, setCover] =
|
|
439917
|
-
const [coverPreview, setCoverPreview] =
|
|
439918
|
-
const [cards, setCards] =
|
|
439919
|
-
const [cardsPreview, setCardsPreview] =
|
|
439920
|
-
const [loading, setLoading] =
|
|
439921
|
-
const [cardDimensions, setCardDimensions] =
|
|
439922
|
-
const coverInputRef =
|
|
439923
|
-
const cardsInputRef =
|
|
439869
|
+
const [cover, setCover] = import_react357.default.useState(null);
|
|
439870
|
+
const [coverPreview, setCoverPreview] = import_react357.default.useState(null);
|
|
439871
|
+
const [cards, setCards] = import_react357.default.useState([]);
|
|
439872
|
+
const [cardsPreview, setCardsPreview] = import_react357.default.useState([]);
|
|
439873
|
+
const [loading, setLoading] = import_react357.default.useState(false);
|
|
439874
|
+
const [cardDimensions, setCardDimensions] = import_react357.useState(conf.DEFAULT_GAME_ITEM_DIMENSIONS);
|
|
439875
|
+
const coverInputRef = import_react357.default.useRef(null);
|
|
439876
|
+
const cardsInputRef = import_react357.default.useRef(null);
|
|
439924
439877
|
const handleCoverClick = () => coverInputRef.current?.click();
|
|
439925
439878
|
const handleCardsClick = () => cardsInputRef.current?.click();
|
|
439926
439879
|
const createDeck2 = (backsideUrl, faceUrls) => {
|
|
@@ -439984,17 +439937,17 @@ function CreateCardsModal() {
|
|
|
439984
439937
|
setLoading(false);
|
|
439985
439938
|
}
|
|
439986
439939
|
};
|
|
439987
|
-
return /* @__PURE__ */
|
|
439940
|
+
return /* @__PURE__ */ import_react357.default.createElement(UiModal, {
|
|
439988
439941
|
modalId: CREATE_CARDS_MODAL,
|
|
439989
439942
|
closeOnClickOutside: false,
|
|
439990
439943
|
renderAsPageOnMobile: true
|
|
439991
|
-
}, /* @__PURE__ */
|
|
439944
|
+
}, /* @__PURE__ */ import_react357.default.createElement("div", {
|
|
439992
439945
|
className: Modal_module_default.modalContent
|
|
439993
|
-
}, /* @__PURE__ */
|
|
439946
|
+
}, /* @__PURE__ */ import_react357.default.createElement("div", {
|
|
439994
439947
|
className: Modal_module_default.title
|
|
439995
|
-
}, t11("toolsPanel.addGameItem.addCard.title")), /* @__PURE__ */
|
|
439948
|
+
}, t11("toolsPanel.addGameItem.addCard.title")), /* @__PURE__ */ import_react357.default.createElement("div", {
|
|
439996
439949
|
className: Modal_module_default.cardsRow
|
|
439997
|
-
}, /* @__PURE__ */
|
|
439950
|
+
}, /* @__PURE__ */ import_react357.default.createElement("div", {
|
|
439998
439951
|
className: Modal_module_default.cardSilhouette,
|
|
439999
439952
|
onClick: handleCoverClick,
|
|
440000
439953
|
style: {
|
|
@@ -440002,19 +439955,19 @@ function CreateCardsModal() {
|
|
|
440002
439955
|
height: cardDimensions.height,
|
|
440003
439956
|
maxWidth: "80vw"
|
|
440004
439957
|
}
|
|
440005
|
-
}, coverPreview ? /* @__PURE__ */
|
|
439958
|
+
}, coverPreview ? /* @__PURE__ */ import_react357.default.createElement("img", {
|
|
440006
439959
|
src: coverPreview,
|
|
440007
439960
|
alt: "cover",
|
|
440008
439961
|
className: Modal_module_default.cardPreview
|
|
440009
|
-
}) : /* @__PURE__ */
|
|
439962
|
+
}) : /* @__PURE__ */ import_react357.default.createElement("span", {
|
|
440010
439963
|
className: Modal_module_default.cardLabel
|
|
440011
|
-
}, t11("toolsPanel.addGameItem.addCard.cover")), /* @__PURE__ */
|
|
439964
|
+
}, t11("toolsPanel.addGameItem.addCard.cover")), /* @__PURE__ */ import_react357.default.createElement("input", {
|
|
440012
439965
|
type: "file",
|
|
440013
439966
|
accept: "image/*",
|
|
440014
439967
|
style: { display: "none" },
|
|
440015
439968
|
ref: coverInputRef,
|
|
440016
439969
|
onChange: handleCoverChange
|
|
440017
|
-
})), /* @__PURE__ */
|
|
439970
|
+
})), /* @__PURE__ */ import_react357.default.createElement("div", {
|
|
440018
439971
|
className: Modal_module_default.cardSilhouette,
|
|
440019
439972
|
onClick: handleCardsClick,
|
|
440020
439973
|
style: {
|
|
@@ -440022,20 +439975,20 @@ function CreateCardsModal() {
|
|
|
440022
439975
|
height: cardDimensions.height,
|
|
440023
439976
|
maxWidth: "80vw"
|
|
440024
439977
|
}
|
|
440025
|
-
}, cardsPreview.length > 0 ? /* @__PURE__ */
|
|
439978
|
+
}, cardsPreview.length > 0 ? /* @__PURE__ */ import_react357.default.createElement("img", {
|
|
440026
439979
|
src: cardsPreview[0],
|
|
440027
439980
|
alt: "preview",
|
|
440028
439981
|
className: Modal_module_default.cardPreview
|
|
440029
|
-
}) : /* @__PURE__ */
|
|
439982
|
+
}) : /* @__PURE__ */ import_react357.default.createElement("span", {
|
|
440030
439983
|
className: Modal_module_default.cardLabel
|
|
440031
|
-
}, t11("toolsPanel.addGameItem.addCard.cards")), /* @__PURE__ */
|
|
439984
|
+
}, t11("toolsPanel.addGameItem.addCard.cards")), /* @__PURE__ */ import_react357.default.createElement("input", {
|
|
440032
439985
|
type: "file",
|
|
440033
439986
|
accept: "image/*",
|
|
440034
439987
|
multiple: true,
|
|
440035
439988
|
style: { display: "none" },
|
|
440036
439989
|
ref: cardsInputRef,
|
|
440037
439990
|
onChange: handleCardsChange
|
|
440038
|
-
}))), /* @__PURE__ */
|
|
439991
|
+
}))), /* @__PURE__ */ import_react357.default.createElement(UiButton, {
|
|
440039
439992
|
className: Modal_module_default.acceptBtn,
|
|
440040
439993
|
variant: "primary",
|
|
440041
439994
|
onClick: handleAccept,
|
|
@@ -440050,13 +440003,13 @@ function AddCard({ rounded = "none" }) {
|
|
|
440050
440003
|
const handleClick = () => {
|
|
440051
440004
|
openModal2(CREATE_CARDS_MODAL);
|
|
440052
440005
|
};
|
|
440053
|
-
return /* @__PURE__ */
|
|
440006
|
+
return /* @__PURE__ */ import_react358.default.createElement(UiButton, {
|
|
440054
440007
|
id: `tool-add-card`,
|
|
440055
440008
|
tooltip: t11("toolsPanel.addGameItem.addCard.tooltip"),
|
|
440056
440009
|
onClick: handleClick,
|
|
440057
440010
|
rounded,
|
|
440058
440011
|
variant: "secondary"
|
|
440059
|
-
}, /* @__PURE__ */
|
|
440012
|
+
}, /* @__PURE__ */ import_react358.default.createElement(Icon, {
|
|
440060
440013
|
iconName: "Card",
|
|
440061
440014
|
width: 24,
|
|
440062
440015
|
height: 24
|
|
@@ -440064,7 +440017,7 @@ function AddCard({ rounded = "none" }) {
|
|
|
440064
440017
|
}
|
|
440065
440018
|
|
|
440066
440019
|
// src/features/ToolsPanel/Buttons/AddGameItem/AddScreen.tsx
|
|
440067
|
-
var
|
|
440020
|
+
var import_react359 = __toESM(require_react(), 1);
|
|
440068
440021
|
function AddScreen2() {
|
|
440069
440022
|
const { board } = useAppContext();
|
|
440070
440023
|
const { t: t11 } = useTranslation();
|
|
@@ -440072,20 +440025,20 @@ function AddScreen2() {
|
|
|
440072
440025
|
board.tools.addRegisteredTool("AddScreen", true);
|
|
440073
440026
|
};
|
|
440074
440027
|
const isActive = Boolean(board.tools.getAddRegisteredTool("AddScreen"));
|
|
440075
|
-
return /* @__PURE__ */
|
|
440028
|
+
return /* @__PURE__ */ import_react359.default.createElement(UiButton, {
|
|
440076
440029
|
id: "tool-add-screen",
|
|
440077
440030
|
tooltip: t11("toolsPanel.addGameItem.addScreen.tooltip"),
|
|
440078
440031
|
onClick: handleClick,
|
|
440079
440032
|
variant: "secondary",
|
|
440080
440033
|
rounded: "none",
|
|
440081
440034
|
active: isActive
|
|
440082
|
-
}, /* @__PURE__ */
|
|
440035
|
+
}, /* @__PURE__ */ import_react359.default.createElement(Icon, {
|
|
440083
440036
|
iconName: "AddScreen"
|
|
440084
440037
|
}));
|
|
440085
440038
|
}
|
|
440086
440039
|
|
|
440087
440040
|
// src/features/ToolsPanel/Buttons/AddGameItem/AddPouch.tsx
|
|
440088
|
-
var
|
|
440041
|
+
var import_react360 = __toESM(require_react(), 1);
|
|
440089
440042
|
function AddPouch2() {
|
|
440090
440043
|
const { board } = useAppContext();
|
|
440091
440044
|
const { t: t11 } = useTranslation();
|
|
@@ -440093,14 +440046,14 @@ function AddPouch2() {
|
|
|
440093
440046
|
board.tools.addRegisteredTool("AddPouch", true);
|
|
440094
440047
|
};
|
|
440095
440048
|
const isActive = Boolean(board.tools.getAddRegisteredTool("AddPouch"));
|
|
440096
|
-
return /* @__PURE__ */
|
|
440049
|
+
return /* @__PURE__ */ import_react360.default.createElement(UiButton, {
|
|
440097
440050
|
id: "tool-add-pouch",
|
|
440098
440051
|
tooltip: t11("toolsPanel.addGameItem.addPouch.tooltip"),
|
|
440099
440052
|
onClick: handleClick,
|
|
440100
440053
|
variant: "secondary",
|
|
440101
440054
|
rounded: "none",
|
|
440102
440055
|
active: isActive
|
|
440103
|
-
}, /* @__PURE__ */
|
|
440056
|
+
}, /* @__PURE__ */ import_react360.default.createElement(Icon, {
|
|
440104
440057
|
iconName: "AddPouch",
|
|
440105
440058
|
width: 24,
|
|
440106
440059
|
height: 24
|
|
@@ -440109,35 +440062,35 @@ function AddPouch2() {
|
|
|
440109
440062
|
|
|
440110
440063
|
// src/features/ToolsPanel/Buttons/AddGameItem/AddGameItem.tsx
|
|
440111
440064
|
function AddGameItem() {
|
|
440112
|
-
const [isOpen, setIsOpen] =
|
|
440065
|
+
const [isOpen, setIsOpen] = import_react361.useState(false);
|
|
440113
440066
|
const { t: t11 } = useTranslation();
|
|
440114
440067
|
const ref4 = useClickOutside(() => setIsOpen(false), [], true);
|
|
440115
|
-
return /* @__PURE__ */
|
|
440068
|
+
return /* @__PURE__ */ import_react361.default.createElement(ButtonWithMenu2, {
|
|
440116
440069
|
ref: ref4,
|
|
440117
|
-
button: /* @__PURE__ */
|
|
440070
|
+
button: /* @__PURE__ */ import_react361.default.createElement(UiButton, {
|
|
440118
440071
|
id: "tool-add-game-item",
|
|
440119
440072
|
tooltip: t11("toolsPanel.addGameItem.tooltip"),
|
|
440120
440073
|
active: isOpen,
|
|
440121
440074
|
variant: "secondary",
|
|
440122
440075
|
rounded: "top",
|
|
440123
440076
|
onClick: () => setIsOpen(!isOpen)
|
|
440124
|
-
}, /* @__PURE__ */
|
|
440077
|
+
}, /* @__PURE__ */ import_react361.default.createElement(Icon, {
|
|
440125
440078
|
iconName: "GameItems"
|
|
440126
440079
|
})),
|
|
440127
440080
|
isOpen
|
|
440128
|
-
}, /* @__PURE__ */
|
|
440081
|
+
}, /* @__PURE__ */ import_react361.default.createElement(UiPanel, {
|
|
440129
440082
|
vertical: true,
|
|
440130
440083
|
padding: 0
|
|
440131
|
-
}, /* @__PURE__ */
|
|
440084
|
+
}, /* @__PURE__ */ import_react361.default.createElement(AddDice2, {
|
|
440132
440085
|
rounded: "top"
|
|
440133
|
-
}), /* @__PURE__ */
|
|
440086
|
+
}), /* @__PURE__ */ import_react361.default.createElement(AddScreen2, null), /* @__PURE__ */ import_react361.default.createElement(AddPouch2, null), /* @__PURE__ */ import_react361.default.createElement(AddCard, {
|
|
440134
440087
|
rounded: "bottom"
|
|
440135
440088
|
})));
|
|
440136
440089
|
}
|
|
440137
440090
|
|
|
440138
440091
|
// src/features/ToolsPanel/ToolsPanel.tsx
|
|
440139
440092
|
function ToolsPanel() {
|
|
440140
|
-
const [openedMenu, setOpenedMenu] =
|
|
440093
|
+
const [openedMenu, setOpenedMenu] = import_react362.useState("None");
|
|
440141
440094
|
const toggleMenu = (menu) => setOpenedMenu((prev2) => prev2 === menu ? "None" : menu);
|
|
440142
440095
|
const { app } = useAppContext();
|
|
440143
440096
|
const forceUpdate = useForceUpdate();
|
|
@@ -440145,31 +440098,31 @@ function ToolsPanel() {
|
|
|
440145
440098
|
subjects: ["tools"],
|
|
440146
440099
|
observer: forceUpdate
|
|
440147
440100
|
});
|
|
440148
|
-
|
|
440149
|
-
return /* @__PURE__ */
|
|
440101
|
+
import_react362.useEffect(() => {}, [window.showDebug]);
|
|
440102
|
+
return /* @__PURE__ */ import_react362.default.createElement(PanelContext2.Provider, {
|
|
440150
440103
|
value: { toggleMenu, openedMenu }
|
|
440151
|
-
}, /* @__PURE__ */
|
|
440104
|
+
}, /* @__PURE__ */ import_react362.default.createElement("div", {
|
|
440152
440105
|
className: window.location.protocol === "file:" ? ToolsPanel_module_default.localWrapper : ToolsPanel_module_default.wrapper
|
|
440153
|
-
}, /* @__PURE__ */
|
|
440106
|
+
}, /* @__PURE__ */ import_react362.default.createElement(UiPanel, {
|
|
440154
440107
|
vertical: true,
|
|
440155
440108
|
padding: 0,
|
|
440156
440109
|
zIndex: 20
|
|
440157
|
-
}, /* @__PURE__ */
|
|
440110
|
+
}, /* @__PURE__ */ import_react362.default.createElement(AddGameItem, null), /* @__PURE__ */ import_react362.default.createElement(AddTemplate, null), /* @__PURE__ */ import_react362.default.createElement(UiSeparator, null), /* @__PURE__ */ import_react362.default.createElement(Select3, {
|
|
440158
440111
|
rounded: "none"
|
|
440159
|
-
}), /* @__PURE__ */
|
|
440112
|
+
}), /* @__PURE__ */ import_react362.default.createElement(AddDrawing2, null), /* @__PURE__ */ import_react362.default.createElement(AddText2, null), /* @__PURE__ */ import_react362.default.createElement(AddShape2, null), /* @__PURE__ */ import_react362.default.createElement(AddConnector2, null), /* @__PURE__ */ import_react362.default.createElement(AddSticker2, null), /* @__PURE__ */ import_react362.default.createElement(AddFrame2, null), /* @__PURE__ */ import_react362.default.createElement(AddMedia, null)), /* @__PURE__ */ import_react362.default.createElement(UiPanel, {
|
|
440160
440113
|
vertical: true,
|
|
440161
440114
|
padding: 0
|
|
440162
|
-
}, /* @__PURE__ */
|
|
440115
|
+
}, /* @__PURE__ */ import_react362.default.createElement(Undo, null), /* @__PURE__ */ import_react362.default.createElement(Redo, null)), /* @__PURE__ */ import_react362.default.createElement("div", {
|
|
440163
440116
|
className: ToolsPanel_module_default.bottomLeftWrapper
|
|
440164
|
-
}, window.showDebug && /* @__PURE__ */
|
|
440117
|
+
}, window.showDebug && /* @__PURE__ */ import_react362.default.createElement(EventList, null), window.enableDiagrams && /* @__PURE__ */ import_react362.default.createElement(AIChatPanel_default, {
|
|
440165
440118
|
board: app.getBoard()
|
|
440166
440119
|
}))));
|
|
440167
440120
|
}
|
|
440168
440121
|
// src/features/ToolsPanel/ViewToolsPanel.tsx
|
|
440169
|
-
var
|
|
440122
|
+
var import_react364 = __toESM(require_react(), 1);
|
|
440170
440123
|
|
|
440171
440124
|
// src/features/ToolsPanel/Buttons/Grab.tsx
|
|
440172
|
-
var
|
|
440125
|
+
var import_react363 = __toESM(require_react(), 1);
|
|
440173
440126
|
function Grab() {
|
|
440174
440127
|
const { board } = useAppContext();
|
|
440175
440128
|
const { t: t11 } = useTranslation();
|
|
@@ -440177,14 +440130,14 @@ function Grab() {
|
|
|
440177
440130
|
board.tools.navigate();
|
|
440178
440131
|
};
|
|
440179
440132
|
const isActive = Boolean(board.tools.getNavigate());
|
|
440180
|
-
return /* @__PURE__ */
|
|
440133
|
+
return /* @__PURE__ */ import_react363.default.createElement(UiButton, {
|
|
440181
440134
|
id: "tool-select",
|
|
440182
440135
|
tooltip: isActive ? undefined : t11("toolsPanel.grab.tooltip"),
|
|
440183
440136
|
onClick: handleClick,
|
|
440184
440137
|
active: isActive,
|
|
440185
440138
|
variant: "secondary",
|
|
440186
440139
|
rounded: "top"
|
|
440187
|
-
}, /* @__PURE__ */
|
|
440140
|
+
}, /* @__PURE__ */ import_react363.default.createElement(Icon, {
|
|
440188
440141
|
iconName: "Hand"
|
|
440189
440142
|
}));
|
|
440190
440143
|
}
|
|
@@ -440196,25 +440149,25 @@ function ViewToolsPanel() {
|
|
|
440196
440149
|
subjects: ["tools"],
|
|
440197
440150
|
observer: forceUpdate
|
|
440198
440151
|
});
|
|
440199
|
-
|
|
440200
|
-
return /* @__PURE__ */
|
|
440152
|
+
import_react364.useEffect(() => {}, [window.showDebug]);
|
|
440153
|
+
return /* @__PURE__ */ import_react364.default.createElement("div", {
|
|
440201
440154
|
className: ToolsPanel_module_default.wrapper
|
|
440202
|
-
}, /* @__PURE__ */
|
|
440155
|
+
}, /* @__PURE__ */ import_react364.default.createElement(UiPanel, {
|
|
440203
440156
|
vertical: true,
|
|
440204
440157
|
padding: 0,
|
|
440205
440158
|
zIndex: 20
|
|
440206
|
-
}, /* @__PURE__ */
|
|
440159
|
+
}, /* @__PURE__ */ import_react364.default.createElement(Grab, null), /* @__PURE__ */ import_react364.default.createElement(UiSeparator, null), /* @__PURE__ */ import_react364.default.createElement(Select3, {
|
|
440207
440160
|
rounded: "bottom"
|
|
440208
|
-
})), window.showDebug && /* @__PURE__ */
|
|
440161
|
+
})), window.showDebug && /* @__PURE__ */ import_react364.default.createElement(EventList, null));
|
|
440209
440162
|
}
|
|
440210
440163
|
|
|
440211
440164
|
// src/features/BoardItemsPanel/BoardItemsPanel.tsx
|
|
440212
|
-
var
|
|
440165
|
+
var import_react367 = __toESM(require_react(), 1);
|
|
440213
440166
|
|
|
440214
440167
|
// src/shared/lib/useHotkey.ts
|
|
440215
|
-
var
|
|
440168
|
+
var import_react365 = __toESM(require_react(), 1);
|
|
440216
440169
|
function useHotkey(code4, callback, options3 = {}) {
|
|
440217
|
-
|
|
440170
|
+
import_react365.useEffect(() => {
|
|
440218
440171
|
const { ctrl = false, shift: shift2 = false, alt = false, meta: meta3 = false } = options3;
|
|
440219
440172
|
const handler = (event) => {
|
|
440220
440173
|
const target = event.target;
|
|
@@ -440232,7 +440185,7 @@ function useHotkey(code4, callback, options3 = {}) {
|
|
|
440232
440185
|
}
|
|
440233
440186
|
|
|
440234
440187
|
// src/features/BoardItemsPanel/BoardItemsPanelContext.tsx
|
|
440235
|
-
var
|
|
440188
|
+
var import_react366 = __toESM(require_react(), 1);
|
|
440236
440189
|
var BoardItemsPanelContext = createStrictContext();
|
|
440237
440190
|
function useBoardItemsPanelContext() {
|
|
440238
440191
|
return useStrictContext(BoardItemsPanelContext);
|
|
@@ -440240,8 +440193,8 @@ function useBoardItemsPanelContext() {
|
|
|
440240
440193
|
function BoardItemsPanelContextProvider({
|
|
440241
440194
|
children
|
|
440242
440195
|
}) {
|
|
440243
|
-
const [isOpen, setIsOpen] =
|
|
440244
|
-
return /* @__PURE__ */
|
|
440196
|
+
const [isOpen, setIsOpen] = import_react366.useState(false);
|
|
440197
|
+
return /* @__PURE__ */ import_react366.default.createElement(BoardItemsPanelContext.Provider, {
|
|
440245
440198
|
value: {
|
|
440246
440199
|
isOpen,
|
|
440247
440200
|
openPanel: () => setIsOpen(true),
|
|
@@ -440268,49 +440221,49 @@ var BoardItemsPanel_module_default = {
|
|
|
440268
440221
|
// src/features/BoardItemsPanel/BoardItemsPanel.tsx
|
|
440269
440222
|
function BoardItemsPanel() {
|
|
440270
440223
|
const { isOpen, openPanel, closePanel } = useBoardItemsPanelContext();
|
|
440271
|
-
const [query2, setQuery] =
|
|
440272
|
-
const inputRef =
|
|
440273
|
-
const handleOpenSearch =
|
|
440224
|
+
const [query2, setQuery] = import_react367.useState("");
|
|
440225
|
+
const inputRef = import_react367.useRef(null);
|
|
440226
|
+
const handleOpenSearch = import_react367.useCallback(() => {
|
|
440274
440227
|
openPanel();
|
|
440275
440228
|
setTimeout(() => inputRef.current?.focus(), 50);
|
|
440276
440229
|
}, [openPanel]);
|
|
440277
440230
|
useHotkey("KeyF", handleOpenSearch, { ctrl: true });
|
|
440278
|
-
return /* @__PURE__ */
|
|
440231
|
+
return /* @__PURE__ */ import_react367.default.createElement(UiPanel, {
|
|
440279
440232
|
padding: 0,
|
|
440280
440233
|
className: clsx_default(BoardItemsPanel_module_default.panel, isOpen && BoardItemsPanel_module_default.open)
|
|
440281
|
-
}, /* @__PURE__ */
|
|
440234
|
+
}, /* @__PURE__ */ import_react367.default.createElement("div", {
|
|
440282
440235
|
className: BoardItemsPanel_module_default.header
|
|
440283
|
-
}, /* @__PURE__ */
|
|
440236
|
+
}, /* @__PURE__ */ import_react367.default.createElement("h3", {
|
|
440284
440237
|
className: BoardItemsPanel_module_default.title
|
|
440285
|
-
}, "Предметы"), /* @__PURE__ */
|
|
440238
|
+
}, "Предметы"), /* @__PURE__ */ import_react367.default.createElement(UiButton, {
|
|
440286
440239
|
onClick: closePanel,
|
|
440287
440240
|
variant: "secondary",
|
|
440288
440241
|
className: BoardItemsPanel_module_default.close
|
|
440289
|
-
}, /* @__PURE__ */
|
|
440242
|
+
}, /* @__PURE__ */ import_react367.default.createElement(Icon, {
|
|
440290
440243
|
iconName: "Close"
|
|
440291
|
-
}))), /* @__PURE__ */
|
|
440244
|
+
}))), /* @__PURE__ */ import_react367.default.createElement("div", {
|
|
440292
440245
|
className: BoardItemsPanel_module_default.search
|
|
440293
|
-
}, /* @__PURE__ */
|
|
440246
|
+
}, /* @__PURE__ */ import_react367.default.createElement(Icon, {
|
|
440294
440247
|
iconName: "Search",
|
|
440295
440248
|
width: 14,
|
|
440296
440249
|
height: 14,
|
|
440297
440250
|
className: BoardItemsPanel_module_default.searchIcon
|
|
440298
|
-
}), /* @__PURE__ */
|
|
440251
|
+
}), /* @__PURE__ */ import_react367.default.createElement("input", {
|
|
440299
440252
|
className: BoardItemsPanel_module_default.searchInput,
|
|
440300
440253
|
placeholder: "Поиск...",
|
|
440301
440254
|
ref: inputRef,
|
|
440302
440255
|
value: query2,
|
|
440303
440256
|
onChange: (e15) => setQuery(e15.target.value)
|
|
440304
|
-
}), query2 && /* @__PURE__ */
|
|
440257
|
+
}), query2 && /* @__PURE__ */ import_react367.default.createElement("button", {
|
|
440305
440258
|
className: BoardItemsPanel_module_default.searchClear,
|
|
440306
440259
|
onClick: () => setQuery("")
|
|
440307
|
-
}, /* @__PURE__ */
|
|
440260
|
+
}, /* @__PURE__ */ import_react367.default.createElement(Icon, {
|
|
440308
440261
|
iconName: "Close",
|
|
440309
440262
|
width: 12,
|
|
440310
440263
|
height: 12
|
|
440311
|
-
}))), /* @__PURE__ */
|
|
440264
|
+
}))), /* @__PURE__ */ import_react367.default.createElement("div", {
|
|
440312
440265
|
className: BoardItemsPanel_module_default.content
|
|
440313
|
-
}, /* @__PURE__ */
|
|
440266
|
+
}, /* @__PURE__ */ import_react367.default.createElement(BoardItemsList, {
|
|
440314
440267
|
query: query2
|
|
440315
440268
|
})));
|
|
440316
440269
|
}
|
|
@@ -440321,7 +440274,7 @@ var SidePanelsContainer_module_default = {
|
|
|
440321
440274
|
};
|
|
440322
440275
|
|
|
440323
440276
|
// src/features/SidePanelsContainer/SidePanelsContainer.tsx
|
|
440324
|
-
var SidePanelsContainer =
|
|
440277
|
+
var SidePanelsContainer = import_react368.memo(({ isBlank }) => {
|
|
440325
440278
|
const { toggleSideMenu, isOpen } = useSidePanelContext();
|
|
440326
440279
|
const { renamingId } = useRenameContext();
|
|
440327
440280
|
const containerRef = useClickOutside(() => {
|
|
@@ -440329,21 +440282,21 @@ var SidePanelsContainer = import_react369.memo(({ isBlank }) => {
|
|
|
440329
440282
|
toggleSideMenu();
|
|
440330
440283
|
}
|
|
440331
440284
|
});
|
|
440332
|
-
return /* @__PURE__ */
|
|
440285
|
+
return /* @__PURE__ */ import_react368.default.createElement(BoardItemsPanelContextProvider, null, /* @__PURE__ */ import_react368.default.createElement(ShapesPanelContextProvider, null, /* @__PURE__ */ import_react368.default.createElement("div", {
|
|
440333
440286
|
ref: containerRef,
|
|
440334
440287
|
className: SidePanelsContainer_module_default.sidePanels
|
|
440335
|
-
}, (shouldShow("titlePanel") || !isIframe2()) && /* @__PURE__ */
|
|
440288
|
+
}, (shouldShow("titlePanel") || !isIframe2()) && /* @__PURE__ */ import_react368.default.createElement(TitlePanel, null), /* @__PURE__ */ import_react368.default.createElement(ViewModeGuard, {
|
|
440336
440289
|
iframe: true
|
|
440337
|
-
}, /* @__PURE__ */
|
|
440290
|
+
}, /* @__PURE__ */ import_react368.default.createElement("div", {
|
|
440338
440291
|
className: SidePanelsContainer_module_default.hidingPanels
|
|
440339
|
-
}, /* @__PURE__ */
|
|
440292
|
+
}, /* @__PURE__ */ import_react368.default.createElement(SidePanel, null), /* @__PURE__ */ import_react368.default.createElement(ShapesPanel, null), /* @__PURE__ */ import_react368.default.createElement(BoardItemsPanel, null)), /* @__PURE__ */ import_react368.default.createElement(InactiveBoardHidder, null, /* @__PURE__ */ import_react368.default.createElement(ViewModeGuard, {
|
|
440340
440293
|
mode: ["edit", "view"]
|
|
440341
440294
|
}, (interfaceType) => {
|
|
440342
440295
|
switch (interfaceType) {
|
|
440343
440296
|
case "view":
|
|
440344
|
-
return /* @__PURE__ */
|
|
440297
|
+
return /* @__PURE__ */ import_react368.default.createElement(ViewToolsPanel, null);
|
|
440345
440298
|
case "edit":
|
|
440346
|
-
return /* @__PURE__ */
|
|
440299
|
+
return /* @__PURE__ */ import_react368.default.createElement(ToolsPanel, null);
|
|
440347
440300
|
default:
|
|
440348
440301
|
return null;
|
|
440349
440302
|
}
|
|
@@ -440351,10 +440304,10 @@ var SidePanelsContainer = import_react369.memo(({ isBlank }) => {
|
|
|
440351
440304
|
});
|
|
440352
440305
|
SidePanelsContainer.displayName = "SidePanelsContainer";
|
|
440353
440306
|
// src/features/TextEditor/TextEditor.tsx
|
|
440354
|
-
var
|
|
440307
|
+
var import_react371 = __toESM(require_react(), 1);
|
|
440355
440308
|
|
|
440356
440309
|
// src/features/TextEditor/Leaf.tsx
|
|
440357
|
-
var
|
|
440310
|
+
var import_react369 = __toESM(require_react(), 1);
|
|
440358
440311
|
function Leaf2(props) {
|
|
440359
440312
|
const { attributes, leaf: leaf3, fontSize, isAutoSize, text: text5 } = props;
|
|
440360
440313
|
let { children } = props;
|
|
@@ -440380,26 +440333,26 @@ function Leaf2(props) {
|
|
|
440380
440333
|
for (const style3 of styles2) {
|
|
440381
440334
|
switch (style3) {
|
|
440382
440335
|
case "bold":
|
|
440383
|
-
children = /* @__PURE__ */
|
|
440336
|
+
children = /* @__PURE__ */ import_react369.default.createElement("strong", null, children);
|
|
440384
440337
|
break;
|
|
440385
440338
|
case "italic":
|
|
440386
|
-
children = /* @__PURE__ */
|
|
440339
|
+
children = /* @__PURE__ */ import_react369.default.createElement("em", null, children);
|
|
440387
440340
|
break;
|
|
440388
440341
|
case "underline":
|
|
440389
|
-
children = /* @__PURE__ */
|
|
440342
|
+
children = /* @__PURE__ */ import_react369.default.createElement("u", null, children);
|
|
440390
440343
|
break;
|
|
440391
440344
|
case "line-through":
|
|
440392
|
-
children = /* @__PURE__ */
|
|
440345
|
+
children = /* @__PURE__ */ import_react369.default.createElement("s", null, children);
|
|
440393
440346
|
break;
|
|
440394
440347
|
case "sub":
|
|
440395
|
-
children = /* @__PURE__ */
|
|
440348
|
+
children = /* @__PURE__ */ import_react369.default.createElement("sub", null, children);
|
|
440396
440349
|
break;
|
|
440397
440350
|
case "super":
|
|
440398
|
-
children = /* @__PURE__ */
|
|
440351
|
+
children = /* @__PURE__ */ import_react369.default.createElement("sup", null, children);
|
|
440399
440352
|
break;
|
|
440400
440353
|
}
|
|
440401
440354
|
}
|
|
440402
|
-
return /* @__PURE__ */
|
|
440355
|
+
return /* @__PURE__ */ import_react369.default.createElement("span", {
|
|
440403
440356
|
...attributes,
|
|
440404
440357
|
style: {
|
|
440405
440358
|
color: props.text.fontColor,
|
|
@@ -440411,7 +440364,7 @@ function Leaf2(props) {
|
|
|
440411
440364
|
}
|
|
440412
440365
|
|
|
440413
440366
|
// src/features/TextEditor/Element.tsx
|
|
440414
|
-
var
|
|
440367
|
+
var import_react370 = __toESM(require_react(), 1);
|
|
440415
440368
|
|
|
440416
440369
|
// src/features/TextEditor/TextEditor.module.css
|
|
440417
440370
|
var TextEditor_module_default = {
|
|
@@ -440456,7 +440409,7 @@ function Element4(props) {
|
|
|
440456
440409
|
}
|
|
440457
440410
|
switch (element5.type) {
|
|
440458
440411
|
case "paragraph":
|
|
440459
|
-
return /* @__PURE__ */
|
|
440412
|
+
return /* @__PURE__ */ import_react370.default.createElement("p", {
|
|
440460
440413
|
...attributes,
|
|
440461
440414
|
style: {
|
|
440462
440415
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440466,7 +440419,7 @@ function Element4(props) {
|
|
|
440466
440419
|
}
|
|
440467
440420
|
}, children);
|
|
440468
440421
|
case "ul_list":
|
|
440469
|
-
return /* @__PURE__ */
|
|
440422
|
+
return /* @__PURE__ */ import_react370.default.createElement("ul", {
|
|
440470
440423
|
...attributes,
|
|
440471
440424
|
style: {
|
|
440472
440425
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440476,7 +440429,7 @@ function Element4(props) {
|
|
|
440476
440429
|
}
|
|
440477
440430
|
}, children);
|
|
440478
440431
|
case "ol_list":
|
|
440479
|
-
return /* @__PURE__ */
|
|
440432
|
+
return /* @__PURE__ */ import_react370.default.createElement("ol", {
|
|
440480
440433
|
...attributes,
|
|
440481
440434
|
style: {
|
|
440482
440435
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440487,7 +440440,7 @@ function Element4(props) {
|
|
|
440487
440440
|
className: getListMarkType2(element5.listLevel || 1)
|
|
440488
440441
|
}, children);
|
|
440489
440442
|
case "block-quote":
|
|
440490
|
-
return /* @__PURE__ */
|
|
440443
|
+
return /* @__PURE__ */ import_react370.default.createElement("blockquote", {
|
|
440491
440444
|
...attributes,
|
|
440492
440445
|
style: {
|
|
440493
440446
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440496,7 +440449,7 @@ function Element4(props) {
|
|
|
440496
440449
|
}
|
|
440497
440450
|
}, children);
|
|
440498
440451
|
case "heading_one":
|
|
440499
|
-
return /* @__PURE__ */
|
|
440452
|
+
return /* @__PURE__ */ import_react370.default.createElement("h1", {
|
|
440500
440453
|
...attributes,
|
|
440501
440454
|
style: {
|
|
440502
440455
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440505,7 +440458,7 @@ function Element4(props) {
|
|
|
440505
440458
|
}
|
|
440506
440459
|
}, children);
|
|
440507
440460
|
case "heading_two":
|
|
440508
|
-
return /* @__PURE__ */
|
|
440461
|
+
return /* @__PURE__ */ import_react370.default.createElement("h2", {
|
|
440509
440462
|
...attributes,
|
|
440510
440463
|
style: {
|
|
440511
440464
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440514,7 +440467,7 @@ function Element4(props) {
|
|
|
440514
440467
|
}
|
|
440515
440468
|
}, children);
|
|
440516
440469
|
case "heading_three":
|
|
440517
|
-
return /* @__PURE__ */
|
|
440470
|
+
return /* @__PURE__ */ import_react370.default.createElement("h3", {
|
|
440518
440471
|
...attributes,
|
|
440519
440472
|
style: {
|
|
440520
440473
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440523,7 +440476,7 @@ function Element4(props) {
|
|
|
440523
440476
|
}
|
|
440524
440477
|
}, children);
|
|
440525
440478
|
case "heading_four":
|
|
440526
|
-
return /* @__PURE__ */
|
|
440479
|
+
return /* @__PURE__ */ import_react370.default.createElement("h4", {
|
|
440527
440480
|
...attributes,
|
|
440528
440481
|
style: {
|
|
440529
440482
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440532,7 +440485,7 @@ function Element4(props) {
|
|
|
440532
440485
|
}
|
|
440533
440486
|
}, children);
|
|
440534
440487
|
case "heading_five":
|
|
440535
|
-
return /* @__PURE__ */
|
|
440488
|
+
return /* @__PURE__ */ import_react370.default.createElement("h5", {
|
|
440536
440489
|
...attributes,
|
|
440537
440490
|
style: {
|
|
440538
440491
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440541,7 +440494,7 @@ function Element4(props) {
|
|
|
440541
440494
|
}
|
|
440542
440495
|
}, children);
|
|
440543
440496
|
case "code_block":
|
|
440544
|
-
return /* @__PURE__ */
|
|
440497
|
+
return /* @__PURE__ */ import_react370.default.createElement("code", {
|
|
440545
440498
|
...attributes,
|
|
440546
440499
|
style: {
|
|
440547
440500
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440551,7 +440504,7 @@ function Element4(props) {
|
|
|
440551
440504
|
}
|
|
440552
440505
|
}, children);
|
|
440553
440506
|
case "list_item":
|
|
440554
|
-
return /* @__PURE__ */
|
|
440507
|
+
return /* @__PURE__ */ import_react370.default.createElement("li", {
|
|
440555
440508
|
...attributes,
|
|
440556
440509
|
className: TextEditor_module_default.listItem,
|
|
440557
440510
|
style: {
|
|
@@ -440565,7 +440518,7 @@ function Element4(props) {
|
|
|
440565
440518
|
}
|
|
440566
440519
|
}, children);
|
|
440567
440520
|
default:
|
|
440568
|
-
return /* @__PURE__ */
|
|
440521
|
+
return /* @__PURE__ */ import_react370.default.createElement("span", {
|
|
440569
440522
|
...attributes,
|
|
440570
440523
|
style: {
|
|
440571
440524
|
textAlign: props.element.horisontalAlignment,
|
|
@@ -440588,7 +440541,7 @@ function verticalAlignmentToFlex(align2) {
|
|
|
440588
440541
|
}
|
|
440589
440542
|
|
|
440590
440543
|
// src/features/TextEditor/TextEditor.tsx
|
|
440591
|
-
class TextEditors extends
|
|
440544
|
+
class TextEditors extends import_react371.default.Component {
|
|
440592
440545
|
observer = () => {
|
|
440593
440546
|
this.forceUpdate();
|
|
440594
440547
|
};
|
|
@@ -440607,7 +440560,7 @@ class TextEditors extends import_react372.default.Component {
|
|
|
440607
440560
|
if (!text5) {
|
|
440608
440561
|
return null;
|
|
440609
440562
|
}
|
|
440610
|
-
return /* @__PURE__ */
|
|
440563
|
+
return /* @__PURE__ */ import_react371.default.createElement(TextEditor, {
|
|
440611
440564
|
app: this.props.app,
|
|
440612
440565
|
board: this.props.board,
|
|
440613
440566
|
text: text5,
|
|
@@ -440619,7 +440572,7 @@ class TextEditors extends import_react372.default.Component {
|
|
|
440619
440572
|
}
|
|
440620
440573
|
}
|
|
440621
440574
|
|
|
440622
|
-
class TextEditor extends
|
|
440575
|
+
class TextEditor extends import_react371.default.Component {
|
|
440623
440576
|
static getDerivedStateFromError(error3) {
|
|
440624
440577
|
console.error("Text Editor error", error3);
|
|
440625
440578
|
return { hasError: true };
|
|
@@ -440648,8 +440601,8 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440648
440601
|
isButtonVisible: false,
|
|
440649
440602
|
isQuoteBtnTooltipVisible: false
|
|
440650
440603
|
};
|
|
440651
|
-
containerRef =
|
|
440652
|
-
editableRef =
|
|
440604
|
+
containerRef = import_react371.default.createRef();
|
|
440605
|
+
editableRef = import_react371.default.createRef();
|
|
440653
440606
|
updateHyperLinkDataFromSelectionAnchor(editor, isWatchMode) {
|
|
440654
440607
|
const link2 = editor.getFirstSelectionLink(editor.getSelection());
|
|
440655
440608
|
if (link2) {
|
|
@@ -440830,7 +440783,7 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440830
440783
|
const editorMaxWidth = text5.insideOf === "Sticker" ? maxWidth3 : Math.ceil(maxWidth3);
|
|
440831
440784
|
const showPlaceholder = !text5.editor.includesListNode() && text5.getTextString().length === 0;
|
|
440832
440785
|
if (this.state.hasError) {
|
|
440833
|
-
return /* @__PURE__ */
|
|
440786
|
+
return /* @__PURE__ */ import_react371.default.createElement("div", {
|
|
440834
440787
|
id: "TextEditor",
|
|
440835
440788
|
ref: this.containerRef,
|
|
440836
440789
|
className: "notranslate",
|
|
@@ -440862,7 +440815,7 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440862
440815
|
}
|
|
440863
440816
|
}, "An editor error has occured");
|
|
440864
440817
|
}
|
|
440865
|
-
return /* @__PURE__ */
|
|
440818
|
+
return /* @__PURE__ */ import_react371.default.createElement(import_react371.default.Fragment, null, /* @__PURE__ */ import_react371.default.createElement("div", {
|
|
440866
440819
|
id: "TextEditor",
|
|
440867
440820
|
ref: this.containerRef,
|
|
440868
440821
|
className: "notranslate",
|
|
@@ -440895,7 +440848,7 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440895
440848
|
willChange: "transform",
|
|
440896
440849
|
transform: "translate3d(0,0,0)"
|
|
440897
440850
|
}
|
|
440898
|
-
}, /* @__PURE__ */
|
|
440851
|
+
}, /* @__PURE__ */ import_react371.default.createElement("div", {
|
|
440899
440852
|
ref: this.editableRef,
|
|
440900
440853
|
style: {
|
|
440901
440854
|
position: "relative",
|
|
@@ -440911,14 +440864,14 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440911
440864
|
},
|
|
440912
440865
|
className: clsx_default(TextEditor_module_default.editorContainer, showPlaceholder && TextEditor_module_default.showPlaceholder),
|
|
440913
440866
|
"data-placeholder": text5.placeholderText
|
|
440914
|
-
}, /* @__PURE__ */
|
|
440867
|
+
}, /* @__PURE__ */ import_react371.default.createElement(Slate, {
|
|
440915
440868
|
editor: text5.editor.editor,
|
|
440916
440869
|
initialValue: text5.getText(),
|
|
440917
440870
|
key: text5.rtCounter,
|
|
440918
440871
|
onChange: this.handleSelectionChange
|
|
440919
|
-
}, /* @__PURE__ */
|
|
440872
|
+
}, /* @__PURE__ */ import_react371.default.createElement(Editable, {
|
|
440920
440873
|
renderElement: Element4,
|
|
440921
|
-
renderLeaf: (props) => /* @__PURE__ */
|
|
440874
|
+
renderLeaf: (props) => /* @__PURE__ */ import_react371.default.createElement(Leaf2, {
|
|
440922
440875
|
fontSize: text5.getFontSize(),
|
|
440923
440876
|
isAutoSize: text5.isAutosize(),
|
|
440924
440877
|
...props
|
|
@@ -440936,7 +440889,7 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440936
440889
|
fontSize: text5.isEmpty() ? `${window.MICROBOARD_CONFIG.DEFAULT_TEXT_STYLES.fontSize}px` : undefined
|
|
440937
440890
|
},
|
|
440938
440891
|
autoFocus: this.props.text.getLastClickPoint() ? false : true
|
|
440939
|
-
}))), /* @__PURE__ */
|
|
440892
|
+
}))), /* @__PURE__ */ import_react371.default.createElement(Icon, {
|
|
440940
440893
|
iconName: "TextLimitWarning",
|
|
440941
440894
|
width: this.editableRef.current?.offsetWidth,
|
|
440942
440895
|
height: this.editableRef.current?.offsetHeight,
|
|
@@ -440944,7 +440897,7 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440944
440897
|
style: {
|
|
440945
440898
|
transform: `translate(0px) scale(${editorScale})`
|
|
440946
440899
|
}
|
|
440947
|
-
})), isButtonVisible && buttonPosition && text5.insideOf === "AINode" && /* @__PURE__ */
|
|
440900
|
+
})), isButtonVisible && buttonPosition && text5.insideOf === "AINode" && /* @__PURE__ */ import_react371.default.createElement("button", {
|
|
440948
440901
|
onMouseEnter: () => this.setState({
|
|
440949
440902
|
isQuoteBtnTooltipVisible: true
|
|
440950
440903
|
}),
|
|
@@ -440958,15 +440911,15 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440958
440911
|
top: buttonPosition.top,
|
|
440959
440912
|
left: buttonPosition.left
|
|
440960
440913
|
}
|
|
440961
|
-
}, this.state.isQuoteBtnTooltipVisible && /* @__PURE__ */
|
|
440914
|
+
}, this.state.isQuoteBtnTooltipVisible && /* @__PURE__ */ import_react371.default.createElement("div", {
|
|
440962
440915
|
className: TextEditor_module_default.tooltip
|
|
440963
|
-
}, window.MICROBOARD_CONFIG.i18n.t("AIInput.quoteBtnTooltip")), /* @__PURE__ */
|
|
440916
|
+
}, window.MICROBOARD_CONFIG.i18n.t("AIInput.quoteBtnTooltip")), /* @__PURE__ */ import_react371.default.createElement("svg", {
|
|
440964
440917
|
width: "16",
|
|
440965
440918
|
height: "16",
|
|
440966
440919
|
viewBox: "0 0 12 10",
|
|
440967
440920
|
fill: "none",
|
|
440968
440921
|
xmlns: "http://www.w3.org/2000/svg"
|
|
440969
|
-
}, /* @__PURE__ */
|
|
440922
|
+
}, /* @__PURE__ */ import_react371.default.createElement("path", {
|
|
440970
440923
|
d: "M10.9485 1.45275C11.6352 2.18208 12.0039 3.00008 12.0039 4.32608C12.0039 6.65942 10.3659 8.75075 7.98385 9.78475L7.38852 8.86608C9.61185 7.66341 10.0465 6.10275 10.2199 5.11875C9.86185 5.30408 9.39319 5.36875 8.93385 5.32608C7.73119 5.21475 6.78319 4.22741 6.78319 3.00008C6.78319 2.38124 7.02902 1.78775 7.4666 1.35017C7.90419 0.912581 8.49768 0.666748 9.11652 0.666748C9.83185 0.666748 10.5159 0.993415 10.9485 1.45275ZM4.28185 1.45275C4.96852 2.18208 5.33719 3.00008 5.33719 4.32608C5.33719 6.65942 3.69919 8.75075 1.31719 9.78475L0.721854 8.86608C2.94519 7.66341 3.37985 6.10275 3.55319 5.11875C3.19519 5.30408 2.72652 5.36875 2.26719 5.32608C1.06452 5.21475 0.117188 4.22741 0.117188 3.00008C0.117188 2.38124 0.36302 1.78775 0.800605 1.35017C1.23819 0.912581 1.83168 0.666748 2.45052 0.666748C3.16585 0.666748 3.84985 0.993415 4.28252 1.45275H4.28185Z",
|
|
440971
440924
|
fill: "#696B76"
|
|
440972
440925
|
}))));
|
|
@@ -440974,11 +440927,11 @@ class TextEditor extends import_react372.default.Component {
|
|
|
440974
440927
|
}
|
|
440975
440928
|
|
|
440976
440929
|
// src/features/ToastProvider.tsx
|
|
440977
|
-
var
|
|
440930
|
+
var import_react372 = __toESM(require_react(), 1);
|
|
440978
440931
|
function ToastProvider() {
|
|
440979
440932
|
const isPhoneScreenCheck = () => matchMedia("screen and (max-width: 640px)").matches;
|
|
440980
|
-
const [isPhoneScreen, setIsPhoneScreen] =
|
|
440981
|
-
|
|
440933
|
+
const [isPhoneScreen, setIsPhoneScreen] = import_react372.useState(isPhoneScreenCheck);
|
|
440934
|
+
import_react372.useEffect(() => {
|
|
440982
440935
|
const setScreen = () => {
|
|
440983
440936
|
setIsPhoneScreen(isPhoneScreenCheck());
|
|
440984
440937
|
};
|
|
@@ -440987,7 +440940,7 @@ function ToastProvider() {
|
|
|
440987
440940
|
window.removeEventListener("resize", setScreen);
|
|
440988
440941
|
};
|
|
440989
440942
|
});
|
|
440990
|
-
return /* @__PURE__ */
|
|
440943
|
+
return /* @__PURE__ */ import_react372.default.createElement(Ie, {
|
|
440991
440944
|
containerStyle: isPhoneScreen ? {
|
|
440992
440945
|
left: 10,
|
|
440993
440946
|
top: 10,
|
|
@@ -441001,7 +440954,7 @@ function ToastProvider() {
|
|
|
441001
440954
|
var import_react405 = __toESM(require_react(), 1);
|
|
441002
440955
|
|
|
441003
440956
|
// src/entities/comments/CommentsPanel/CommentsPanelContext.tsx
|
|
441004
|
-
var
|
|
440957
|
+
var import_react373 = __toESM(require_react(), 1);
|
|
441005
440958
|
var CommentsPanelContext = createStrictContext();
|
|
441006
440959
|
function useCommentsPanelContext() {
|
|
441007
440960
|
return useStrictContext(CommentsPanelContext);
|
|
@@ -441009,8 +440962,8 @@ function useCommentsPanelContext() {
|
|
|
441009
440962
|
var CommentsPanelContextProvider = ({
|
|
441010
440963
|
children
|
|
441011
440964
|
}) => {
|
|
441012
|
-
const [isPanelOpen, setIsPanelOpen] =
|
|
441013
|
-
return /* @__PURE__ */
|
|
440965
|
+
const [isPanelOpen, setIsPanelOpen] = import_react373.useState(false);
|
|
440966
|
+
return /* @__PURE__ */ import_react373.default.createElement(CommentsPanelContext.Provider, {
|
|
441014
440967
|
value: {
|
|
441015
440968
|
isPanelOpen,
|
|
441016
440969
|
setIsPanelOpen
|
|
@@ -441019,20 +440972,20 @@ var CommentsPanelContextProvider = ({
|
|
|
441019
440972
|
};
|
|
441020
440973
|
|
|
441021
440974
|
// src/features/UserPanel/UserPic/UserPic.tsx
|
|
441022
|
-
var
|
|
440975
|
+
var import_react377 = __toESM(require_react(), 1);
|
|
441023
440976
|
|
|
441024
440977
|
// src/features/Presence/BringToMe/BringToMe.tsx
|
|
441025
|
-
var
|
|
440978
|
+
var import_react375 = __toESM(require_react(), 1);
|
|
441026
440979
|
|
|
441027
440980
|
// src/features/Presence/PresenceUsers/EyeIcon.tsx
|
|
441028
|
-
var
|
|
441029
|
-
var EyeIcon = ({ fill: fill3 = "#14151A" }) => /* @__PURE__ */
|
|
440981
|
+
var import_react374 = __toESM(require_react(), 1);
|
|
440982
|
+
var EyeIcon = ({ fill: fill3 = "#14151A" }) => /* @__PURE__ */ import_react374.default.createElement("svg", {
|
|
441030
440983
|
width: "16",
|
|
441031
440984
|
height: "16",
|
|
441032
440985
|
viewBox: "0 0 16 16",
|
|
441033
440986
|
fill: "none",
|
|
441034
440987
|
xmlns: "http://www.w3.org/2000/svg"
|
|
441035
|
-
}, /* @__PURE__ */
|
|
440988
|
+
}, /* @__PURE__ */ import_react374.default.createElement("path", {
|
|
441036
440989
|
d: "M0.787109 8C1.41378 4.58667 4.40511 2 7.99978 2C11.5944 2 14.5851 4.58667 15.2124 8C14.5858 11.4133 11.5944 14 7.99978 14C4.40511 14 1.41444 11.4133 0.787109 8V8ZM7.99978 11.3333C8.88383 11.3333 9.73168 10.9821 10.3568 10.357C10.9819 9.7319 11.3331 8.88406 11.3331 8C11.3331 7.11595 10.9819 6.2681 10.3568 5.64298C9.73168 5.01786 8.88383 4.66667 7.99978 4.66667C7.11572 4.66667 6.26788 5.01786 5.64275 5.64298C5.01763 6.2681 4.66644 7.11595 4.66644 8C4.66644 8.88406 5.01763 9.7319 5.64275 10.357C6.26788 10.9821 7.11572 11.3333 7.99978 11.3333ZM7.99978 10C7.46934 10 6.96064 9.78929 6.58556 9.41421C6.21049 9.03914 5.99978 8.53043 5.99978 8C5.99978 7.46957 6.21049 6.96086 6.58556 6.58579C6.96064 6.21071 7.46934 6 7.99978 6C8.53021 6 9.03892 6.21071 9.41399 6.58579C9.78906 6.96086 9.99978 7.46957 9.99978 8C9.99978 8.53043 9.78906 9.03914 9.41399 9.41421C9.03892 9.78929 8.53021 10 7.99978 10Z",
|
|
441037
440990
|
fill: fill3
|
|
441038
440991
|
}));
|
|
@@ -441105,11 +441058,11 @@ var UserActionsDropdown = ({
|
|
|
441105
441058
|
userId,
|
|
441106
441059
|
onClose
|
|
441107
441060
|
}) => {
|
|
441108
|
-
const dropdownRef =
|
|
441061
|
+
const dropdownRef = import_react375.useRef(null);
|
|
441109
441062
|
const { board } = useAppContext();
|
|
441110
441063
|
const { t: t11 } = useTranslation();
|
|
441111
441064
|
const notifyPosition = window.innerWidth < 768 ? "top-center" : "bottom-center";
|
|
441112
|
-
|
|
441065
|
+
import_react375.useEffect(() => {
|
|
441113
441066
|
const handleClickOutside = (event) => {
|
|
441114
441067
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
441115
441068
|
onClose();
|
|
@@ -441147,10 +441100,10 @@ var UserActionsDropdown = ({
|
|
|
441147
441100
|
});
|
|
441148
441101
|
onClose();
|
|
441149
441102
|
};
|
|
441150
|
-
return /* @__PURE__ */
|
|
441103
|
+
return /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441151
441104
|
ref: dropdownRef,
|
|
441152
441105
|
className: BringToMe_module_default.userActionsDropdown
|
|
441153
|
-
}, /* @__PURE__ */
|
|
441106
|
+
}, /* @__PURE__ */ import_react375.default.createElement(UiButton, {
|
|
441154
441107
|
className: BringToMe_module_default.dropdownButton,
|
|
441155
441108
|
size: "sm",
|
|
441156
441109
|
radius: "md",
|
|
@@ -441159,12 +441112,12 @@ var UserActionsDropdown = ({
|
|
|
441159
441112
|
onMouseDown: (ev) => {
|
|
441160
441113
|
ev.stopPropagation();
|
|
441161
441114
|
}
|
|
441162
|
-
}, /* @__PURE__ */
|
|
441115
|
+
}, /* @__PURE__ */ import_react375.default.createElement(Icon, {
|
|
441163
441116
|
iconName: "FollowUser",
|
|
441164
441117
|
width: 16,
|
|
441165
441118
|
height: 16,
|
|
441166
441119
|
className: BringToMe_module_default.icon
|
|
441167
|
-
}), /* @__PURE__ */
|
|
441120
|
+
}), /* @__PURE__ */ import_react375.default.createElement("span", null, t11("presence.followUser"))), /* @__PURE__ */ import_react375.default.createElement(UiButton, {
|
|
441168
441121
|
className: BringToMe_module_default.dropdownButton,
|
|
441169
441122
|
size: "sm",
|
|
441170
441123
|
radius: "md",
|
|
@@ -441173,22 +441126,22 @@ var UserActionsDropdown = ({
|
|
|
441173
441126
|
onMouseDown: (ev) => {
|
|
441174
441127
|
ev.stopPropagation();
|
|
441175
441128
|
}
|
|
441176
|
-
}, /* @__PURE__ */
|
|
441129
|
+
}, /* @__PURE__ */ import_react375.default.createElement(Icon, {
|
|
441177
441130
|
iconName: "BringToMe",
|
|
441178
441131
|
width: 16,
|
|
441179
441132
|
height: 16,
|
|
441180
441133
|
className: BringToMe_module_default.icon
|
|
441181
|
-
}), /* @__PURE__ */
|
|
441134
|
+
}), /* @__PURE__ */ import_react375.default.createElement("span", null, t11("presence.bringToMe"))));
|
|
441182
441135
|
};
|
|
441183
441136
|
var BringToMe = ({ followers, users }) => {
|
|
441184
441137
|
const { board } = useAppContext();
|
|
441185
441138
|
const { t: t11 } = useTranslation();
|
|
441186
|
-
const modalRef =
|
|
441187
|
-
const [trackedUser, setIsTrackedUser] =
|
|
441188
|
-
const [openDropdownUserId, setOpenDropdownUserId] =
|
|
441189
|
-
const [searchTerm, setSearchTerm] =
|
|
441139
|
+
const modalRef = import_react375.useRef(null);
|
|
441140
|
+
const [trackedUser, setIsTrackedUser] = import_react375.useState();
|
|
441141
|
+
const [openDropdownUserId, setOpenDropdownUserId] = import_react375.useState(null);
|
|
441142
|
+
const [searchTerm, setSearchTerm] = import_react375.useState("");
|
|
441190
441143
|
const notifyPosition = window.innerWidth < 768 ? "top-center" : "bottom-center";
|
|
441191
|
-
|
|
441144
|
+
import_react375.useEffect(() => {
|
|
441192
441145
|
const observer = (presence) => {
|
|
441193
441146
|
setIsTrackedUser(presence.trackedUser || null);
|
|
441194
441147
|
};
|
|
@@ -441197,18 +441150,18 @@ var BringToMe = ({ followers, users }) => {
|
|
|
441197
441150
|
board.presence.subject.unsubscribe(observer);
|
|
441198
441151
|
};
|
|
441199
441152
|
});
|
|
441200
|
-
const filteredUsers =
|
|
441153
|
+
const filteredUsers = import_react375.useMemo(() => {
|
|
441201
441154
|
return users.filter((user) => user.name.toLowerCase().includes(searchTerm.toLowerCase()));
|
|
441202
441155
|
}, [users, searchTerm]);
|
|
441203
|
-
return /* @__PURE__ */
|
|
441156
|
+
return /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441204
441157
|
className: PresenceUsers_module_default.shareModal,
|
|
441205
441158
|
ref: modalRef
|
|
441206
|
-
}, /* @__PURE__ */
|
|
441159
|
+
}, /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441207
441160
|
className: PresenceUsers_module_default.shareModalSearch
|
|
441208
|
-
}, /* @__PURE__ */
|
|
441161
|
+
}, /* @__PURE__ */ import_react375.default.createElement(Input, {
|
|
441209
441162
|
id: "searchNicknameId",
|
|
441210
441163
|
placeholder: t11("presence.searchByName"),
|
|
441211
|
-
prefixIcon: /* @__PURE__ */
|
|
441164
|
+
prefixIcon: /* @__PURE__ */ import_react375.default.createElement(Icon, {
|
|
441212
441165
|
iconName: "Search",
|
|
441213
441166
|
height: 16,
|
|
441214
441167
|
width: 16,
|
|
@@ -441221,34 +441174,34 @@ var BringToMe = ({ followers, users }) => {
|
|
|
441221
441174
|
setSearchTerm(ev.target.value);
|
|
441222
441175
|
setOpenDropdownUserId(null);
|
|
441223
441176
|
}
|
|
441224
|
-
})), /* @__PURE__ */
|
|
441177
|
+
})), /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441225
441178
|
className: PresenceUsers_module_default.shareList
|
|
441226
|
-
}, filteredUsers.map((user) => /* @__PURE__ */
|
|
441179
|
+
}, filteredUsers.map((user) => /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441227
441180
|
key: user.id,
|
|
441228
441181
|
className: `${PresenceUsers_module_default.shareUser} ${BringToMe_module_default.userListItem}`
|
|
441229
|
-
}, user?.avatar ? /* @__PURE__ */
|
|
441182
|
+
}, user?.avatar ? /* @__PURE__ */ import_react375.default.createElement("img", {
|
|
441230
441183
|
src: user.avatar,
|
|
441231
441184
|
className: clsx_default(PresenceUsers_module_default.shareUserPic, user.idle && BringToMe_module_default.idleAvatar),
|
|
441232
441185
|
style: {
|
|
441233
441186
|
border: `1px solid ${trackedUser && trackedUser.userId === user.id ? user.color : "transparent"}`
|
|
441234
441187
|
}
|
|
441235
|
-
}) : /* @__PURE__ */
|
|
441188
|
+
}) : /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441236
441189
|
className: clsx_default(PresenceUsers_module_default.shareUserPic, user.idle && BringToMe_module_default.idleAvatar),
|
|
441237
441190
|
style: {
|
|
441238
441191
|
backgroundColor: rgbToRgba(user.color, 0.5),
|
|
441239
441192
|
border: `1px solid ${trackedUser && trackedUser.userId === user.id ? user.color : "transparent"}`
|
|
441240
441193
|
}
|
|
441241
|
-
}, user.name.charAt(0).toUpperCase()), trackedUser && trackedUser.userId === user.id && /* @__PURE__ */
|
|
441194
|
+
}, user.name.charAt(0).toUpperCase()), trackedUser && trackedUser.userId === user.id && /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441242
441195
|
className: PresenceUsers_module_default.shareEye
|
|
441243
|
-
}, /* @__PURE__ */
|
|
441196
|
+
}, /* @__PURE__ */ import_react375.default.createElement(EyeIcon, null)), /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441244
441197
|
className: clsx_default(user.idle && BringToMe_module_default.idleHide)
|
|
441245
|
-
}, /* @__PURE__ */
|
|
441198
|
+
}, /* @__PURE__ */ import_react375.default.createElement("p", {
|
|
441246
441199
|
className: BringToMe_module_default.nickname
|
|
441247
|
-
}, user.name), user.idle && /* @__PURE__ */
|
|
441200
|
+
}, user.name), user.idle && /* @__PURE__ */ import_react375.default.createElement("p", {
|
|
441248
441201
|
className: BringToMe_module_default.idle
|
|
441249
|
-
}, t11("presence.idle"))), /* @__PURE__ */
|
|
441202
|
+
}, t11("presence.idle"))), /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441250
441203
|
className: BringToMe_module_default.userActionsContainer
|
|
441251
|
-
}, /* @__PURE__ */
|
|
441204
|
+
}, /* @__PURE__ */ import_react375.default.createElement(UiButton, {
|
|
441252
441205
|
className: BringToMe_module_default.btn,
|
|
441253
441206
|
size: "md",
|
|
441254
441207
|
radius: "md",
|
|
@@ -441260,20 +441213,20 @@ var BringToMe = ({ followers, users }) => {
|
|
|
441260
441213
|
onClick: (ev) => {
|
|
441261
441214
|
ev.stopPropagation();
|
|
441262
441215
|
}
|
|
441263
|
-
}, /* @__PURE__ */
|
|
441216
|
+
}, /* @__PURE__ */ import_react375.default.createElement(Icon, {
|
|
441264
441217
|
iconName: "ThreeDots",
|
|
441265
441218
|
width: 20,
|
|
441266
441219
|
height: 20
|
|
441267
|
-
})), openDropdownUserId === user.id && /* @__PURE__ */
|
|
441220
|
+
})), openDropdownUserId === user.id && /* @__PURE__ */ import_react375.default.createElement(UserActionsDropdown, {
|
|
441268
441221
|
userId: user.id,
|
|
441269
441222
|
onClose: () => setOpenDropdownUserId(null)
|
|
441270
|
-
}))))), filteredUsers.length === 0 && searchTerm && /* @__PURE__ */
|
|
441223
|
+
}))))), filteredUsers.length === 0 && searchTerm && /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441271
441224
|
className: BringToMe_module_default.noResults
|
|
441272
|
-
}, /* @__PURE__ */
|
|
441225
|
+
}, /* @__PURE__ */ import_react375.default.createElement("span", null, t11("presence.noUsersFound")), /* @__PURE__ */ import_react375.default.createElement("p", {
|
|
441273
441226
|
className: BringToMe_module_default.noResultsTerm
|
|
441274
|
-
}, '"', searchTerm, '"'), /* @__PURE__ */
|
|
441227
|
+
}, '"', searchTerm, '"'), /* @__PURE__ */ import_react375.default.createElement("span", null, t11("presence.noUsersFoundPostfix"))), /* @__PURE__ */ import_react375.default.createElement("div", {
|
|
441275
441228
|
className: BringToMe_module_default.btns
|
|
441276
|
-
}, /* @__PURE__ */
|
|
441229
|
+
}, /* @__PURE__ */ import_react375.default.createElement(UiButton, {
|
|
441277
441230
|
size: "md",
|
|
441278
441231
|
className: BringToMe_module_default.btnBring,
|
|
441279
441232
|
onClick: () => {
|
|
@@ -441298,7 +441251,7 @@ var BringToMe = ({ followers, users }) => {
|
|
|
441298
441251
|
});
|
|
441299
441252
|
}
|
|
441300
441253
|
}
|
|
441301
|
-
}, t11("presence.bringToMe")), followers.length > 0 && /* @__PURE__ */
|
|
441254
|
+
}, t11("presence.bringToMe")), followers.length > 0 && /* @__PURE__ */ import_react375.default.createElement(UiButton, {
|
|
441302
441255
|
className: BringToMe_module_default.btnStop,
|
|
441303
441256
|
variant: "secondary",
|
|
441304
441257
|
size: "md",
|
|
@@ -441310,18 +441263,18 @@ var BringToMe = ({ followers, users }) => {
|
|
|
441310
441263
|
users: followers.map((follower) => follower.userId)
|
|
441311
441264
|
});
|
|
441312
441265
|
}
|
|
441313
|
-
}, /* @__PURE__ */
|
|
441266
|
+
}, /* @__PURE__ */ import_react375.default.createElement(Icon, {
|
|
441314
441267
|
iconName: "EyeDashed",
|
|
441315
441268
|
width: 16,
|
|
441316
441269
|
height: 16,
|
|
441317
441270
|
style: { color: "#696B76" }
|
|
441318
|
-
}), /* @__PURE__ */
|
|
441271
|
+
}), /* @__PURE__ */ import_react375.default.createElement("span", {
|
|
441319
441272
|
className: BringToMe_module_default.text
|
|
441320
441273
|
}, `${t11("presence.stop")} ${followers.length} ${followers?.length > 1 ? t11("presence.followers") : t11("presence.follower")}`))));
|
|
441321
441274
|
};
|
|
441322
441275
|
|
|
441323
441276
|
// src/features/UserPanel/UserDropdown/UserDropdown.tsx
|
|
441324
|
-
var
|
|
441277
|
+
var import_react376 = __toESM(require_react(), 1);
|
|
441325
441278
|
var UserDropDown = ({
|
|
441326
441279
|
setIsDropdownOpen,
|
|
441327
441280
|
isOpen,
|
|
@@ -441340,26 +441293,26 @@ var UserDropDown = ({
|
|
|
441340
441293
|
if (!isOpen) {
|
|
441341
441294
|
return null;
|
|
441342
441295
|
}
|
|
441343
|
-
return /* @__PURE__ */
|
|
441296
|
+
return /* @__PURE__ */ import_react376.default.createElement("div", {
|
|
441344
441297
|
className: UserPanel_module_default.dropdownWrapper,
|
|
441345
441298
|
ref: dropdownRef,
|
|
441346
441299
|
style: { top: customTop }
|
|
441347
|
-
}, email && /* @__PURE__ */
|
|
441300
|
+
}, email && /* @__PURE__ */ import_react376.default.createElement("div", {
|
|
441348
441301
|
className: UserPanel_module_default.userInfo
|
|
441349
|
-
}, /* @__PURE__ */
|
|
441302
|
+
}, /* @__PURE__ */ import_react376.default.createElement(UserAvatar, {
|
|
441350
441303
|
src: account.info?.avatar,
|
|
441351
441304
|
width: 40,
|
|
441352
441305
|
height: 40
|
|
441353
|
-
}), /* @__PURE__ */
|
|
441306
|
+
}), /* @__PURE__ */ import_react376.default.createElement("p", {
|
|
441354
441307
|
className: UserPanel_module_default.userName
|
|
441355
|
-
}, email)), /* @__PURE__ */
|
|
441308
|
+
}, email)), /* @__PURE__ */ import_react376.default.createElement("div", {
|
|
441356
441309
|
className: UserPanel_module_default.dropdownBtns
|
|
441357
|
-
}, buttons.filter(
|
|
441358
|
-
return
|
|
441310
|
+
}, buttons.filter(import_react376.default.isValidElement).map((button, index4) => {
|
|
441311
|
+
return import_react376.default.cloneElement(button, {
|
|
441359
441312
|
className: UserPanel_module_default.dropdownBtn,
|
|
441360
441313
|
key: index4
|
|
441361
441314
|
});
|
|
441362
|
-
}), presenceUsers.length > 0 && /* @__PURE__ */
|
|
441315
|
+
}), presenceUsers.length > 0 && /* @__PURE__ */ import_react376.default.createElement(BringToMe, {
|
|
441363
441316
|
followers,
|
|
441364
441317
|
users: presenceUsers
|
|
441365
441318
|
})));
|
|
@@ -441384,7 +441337,7 @@ var UserPic = ({ ...props }) => {
|
|
|
441384
441337
|
const { t: t11 } = useTranslation();
|
|
441385
441338
|
const { board } = useAppContext();
|
|
441386
441339
|
const { setIsPanelOpen } = useCommentsPanelContext();
|
|
441387
|
-
const userPanelRef =
|
|
441340
|
+
const userPanelRef = import_react377.useRef(null);
|
|
441388
441341
|
const account = useAccount();
|
|
441389
441342
|
const { openModal: openModal2 } = useUiModalContext();
|
|
441390
441343
|
const navigate = useNavigate();
|
|
@@ -441415,7 +441368,7 @@ var UserPic = ({ ...props }) => {
|
|
|
441415
441368
|
ev.stopPropagation();
|
|
441416
441369
|
navigate("/admin");
|
|
441417
441370
|
};
|
|
441418
|
-
return /* @__PURE__ */
|
|
441371
|
+
return /* @__PURE__ */ import_react377.default.createElement(import_react377.default.Fragment, null, /* @__PURE__ */ import_react377.default.createElement("div", {
|
|
441419
441372
|
className: UserPanel_module_default.userPicWrapper,
|
|
441420
441373
|
ref: userPanelRef,
|
|
441421
441374
|
onClick: (event) => {
|
|
@@ -441428,14 +441381,14 @@ var UserPic = ({ ...props }) => {
|
|
|
441428
441381
|
setIsPanelOpen(false);
|
|
441429
441382
|
}
|
|
441430
441383
|
}
|
|
441431
|
-
}, /* @__PURE__ */
|
|
441384
|
+
}, /* @__PURE__ */ import_react377.default.createElement(UserAvatar, {
|
|
441432
441385
|
src: account.info?.avatar,
|
|
441433
441386
|
isOwner,
|
|
441434
441387
|
tooltip: !props.isDropdownOpen,
|
|
441435
441388
|
name: account.info?.name
|
|
441436
|
-
}), /* @__PURE__ */
|
|
441389
|
+
}), /* @__PURE__ */ import_react377.default.createElement(FollowingUsersCount, {
|
|
441437
441390
|
followers: props.followers
|
|
441438
|
-
})), /* @__PURE__ */
|
|
441391
|
+
})), /* @__PURE__ */ import_react377.default.createElement(UserDropDown, {
|
|
441439
441392
|
openerRef: userPanelRef,
|
|
441440
441393
|
isOpen: props.isDropdownOpen,
|
|
441441
441394
|
setIsDropdownOpen: props.setIsDropdownOpen,
|
|
@@ -441443,67 +441396,67 @@ var UserPic = ({ ...props }) => {
|
|
|
441443
441396
|
followers: props.followers,
|
|
441444
441397
|
presenceUsers: props.presenceUsers,
|
|
441445
441398
|
buttons: [
|
|
441446
|
-
/* @__PURE__ */
|
|
441399
|
+
/* @__PURE__ */ import_react377.default.createElement(UiButton, {
|
|
441447
441400
|
type: "button",
|
|
441448
441401
|
key: "userDropDown1",
|
|
441449
441402
|
onClick: handlePlanModalOpen,
|
|
441450
441403
|
variant: "ghost",
|
|
441451
441404
|
size: "lg"
|
|
441452
|
-
}, /* @__PURE__ */
|
|
441405
|
+
}, /* @__PURE__ */ import_react377.default.createElement(Icon, {
|
|
441453
441406
|
iconName: "ArrowUpCircle",
|
|
441454
441407
|
width: 20,
|
|
441455
441408
|
height: 20
|
|
441456
|
-
}), " ", /* @__PURE__ */
|
|
441409
|
+
}), " ", /* @__PURE__ */ import_react377.default.createElement("span", {
|
|
441457
441410
|
className: UserPanel_module_default.userDropDownButton
|
|
441458
441411
|
}, t11("userPlan.upgradePlan"))),
|
|
441459
|
-
/* @__PURE__ */
|
|
441412
|
+
/* @__PURE__ */ import_react377.default.createElement(UiButton, {
|
|
441460
441413
|
type: "button",
|
|
441461
441414
|
key: "userDropDown2",
|
|
441462
441415
|
onClick: handleOpenProfileSettings,
|
|
441463
441416
|
variant: "ghost",
|
|
441464
441417
|
size: "lg"
|
|
441465
|
-
}, /* @__PURE__ */
|
|
441418
|
+
}, /* @__PURE__ */ import_react377.default.createElement(Icon, {
|
|
441466
441419
|
width: 20,
|
|
441467
441420
|
height: 20,
|
|
441468
441421
|
iconName: "human"
|
|
441469
|
-
}), " ", /* @__PURE__ */
|
|
441422
|
+
}), " ", /* @__PURE__ */ import_react377.default.createElement("span", {
|
|
441470
441423
|
className: UserPanel_module_default.userDropDownButton
|
|
441471
441424
|
}, t11("profile.title"))),
|
|
441472
|
-
/* @__PURE__ */
|
|
441425
|
+
/* @__PURE__ */ import_react377.default.createElement(UiButton, {
|
|
441473
441426
|
type: "button",
|
|
441474
441427
|
key: "userDropDown2",
|
|
441475
441428
|
onClick: handleOpenSupport,
|
|
441476
441429
|
variant: "ghost",
|
|
441477
441430
|
size: "lg"
|
|
441478
|
-
}, /* @__PURE__ */
|
|
441431
|
+
}, /* @__PURE__ */ import_react377.default.createElement(Icon, {
|
|
441479
441432
|
width: 20,
|
|
441480
441433
|
height: 20,
|
|
441481
441434
|
iconName: "support"
|
|
441482
|
-
}), " ", /* @__PURE__ */
|
|
441435
|
+
}), " ", /* @__PURE__ */ import_react377.default.createElement("span", {
|
|
441483
441436
|
className: UserPanel_module_default.userDropDownButton
|
|
441484
441437
|
}, t11("profile.support"))),
|
|
441485
|
-
/* @__PURE__ */
|
|
441438
|
+
/* @__PURE__ */ import_react377.default.createElement(ComponentRolesGuard, {
|
|
441486
441439
|
allowedRoles: ["ADMIN" /* ADMIN */]
|
|
441487
|
-
}, /* @__PURE__ */
|
|
441440
|
+
}, /* @__PURE__ */ import_react377.default.createElement(UiButton, {
|
|
441488
441441
|
type: "button",
|
|
441489
441442
|
key: "userDropDown3",
|
|
441490
441443
|
onClick: handleOpenAdminPage,
|
|
441491
441444
|
variant: "ghost",
|
|
441492
441445
|
size: "lg"
|
|
441493
|
-
}, /* @__PURE__ */
|
|
441446
|
+
}, /* @__PURE__ */ import_react377.default.createElement(Icon, {
|
|
441494
441447
|
width: 20,
|
|
441495
441448
|
height: 20,
|
|
441496
441449
|
iconName: "Admin"
|
|
441497
|
-
}), " ", /* @__PURE__ */
|
|
441450
|
+
}), " ", /* @__PURE__ */ import_react377.default.createElement("span", {
|
|
441498
441451
|
className: UserPanel_module_default.userDropDownButton
|
|
441499
441452
|
}, t11("profile.adminPanel")))),
|
|
441500
|
-
/* @__PURE__ */
|
|
441453
|
+
/* @__PURE__ */ import_react377.default.createElement(UiButton, {
|
|
441501
441454
|
type: "button",
|
|
441502
441455
|
key: "userDropDown4",
|
|
441503
441456
|
onClick: handleLogout,
|
|
441504
441457
|
variant: "ghost",
|
|
441505
441458
|
size: "lg"
|
|
441506
|
-
}, /* @__PURE__ */
|
|
441459
|
+
}, /* @__PURE__ */ import_react377.default.createElement(Logout, null), /* @__PURE__ */ import_react377.default.createElement("span", {
|
|
441507
441460
|
className: UserPanel_module_default.userDropDownButton
|
|
441508
441461
|
}, t11("profile.logout")))
|
|
441509
441462
|
]
|
|
@@ -441511,18 +441464,18 @@ var UserPic = ({ ...props }) => {
|
|
|
441511
441464
|
};
|
|
441512
441465
|
|
|
441513
441466
|
// src/features/Presence/PresenceUsers/PresenceUsers.tsx
|
|
441514
|
-
var
|
|
441467
|
+
var import_react379 = __toESM(require_react(), 1);
|
|
441515
441468
|
|
|
441516
441469
|
// src/features/Presence/PresenceUsers/PresenceUserAvatar.tsx
|
|
441517
|
-
var
|
|
441470
|
+
var import_react378 = __toESM(require_react(), 1);
|
|
441518
441471
|
var TippySvg = () => {
|
|
441519
|
-
return /* @__PURE__ */
|
|
441472
|
+
return /* @__PURE__ */ import_react378.default.createElement("svg", {
|
|
441520
441473
|
width: "14",
|
|
441521
441474
|
height: "4",
|
|
441522
441475
|
viewBox: "0 0 14 4",
|
|
441523
441476
|
fill: "none",
|
|
441524
441477
|
xmlns: "http://www.w3.org/2000/svg"
|
|
441525
|
-
}, /* @__PURE__ */
|
|
441478
|
+
}, /* @__PURE__ */ import_react378.default.createElement("path", {
|
|
441526
441479
|
d: "M6.9372 0C6.9372 0 3.40535 3.99848 0.0980963 3.99963C-1.46344 4.00017 16.1695 4.00007 13.7763 3.99963C10.2587 3.99898 6.9372 0 6.9372 0Z",
|
|
441527
441480
|
fill: "#0B0C0E"
|
|
441528
441481
|
}));
|
|
@@ -441535,35 +441488,35 @@ var PresenceUserAvatar = ({
|
|
|
441535
441488
|
}) => {
|
|
441536
441489
|
const isTracked = trackedUser?.userId === user.id;
|
|
441537
441490
|
const { t: t11 } = useTranslation();
|
|
441538
|
-
return /* @__PURE__ */
|
|
441491
|
+
return /* @__PURE__ */ import_react378.default.createElement("div", {
|
|
441539
441492
|
className: PresenceUsers_module_default.userWrapper,
|
|
441540
441493
|
style: { "--index": index4 },
|
|
441541
441494
|
onClick
|
|
441542
|
-
}, /* @__PURE__ */
|
|
441495
|
+
}, /* @__PURE__ */ import_react378.default.createElement("div", {
|
|
441543
441496
|
className: clsx_default(PresenceUsers_module_default.userAvatar, isTracked ? PresenceUsers_module_default.selectedAvatar : "", user.idle && !isTracked ? PresenceUsers_module_default.idle : ""),
|
|
441544
441497
|
style: {
|
|
441545
441498
|
borderColor: user.color,
|
|
441546
441499
|
backgroundColor: user.avatar ? undefined : rgbToRgba(user.color, 0.5)
|
|
441547
441500
|
}
|
|
441548
|
-
}, user.avatar ? /* @__PURE__ */
|
|
441501
|
+
}, user.avatar ? /* @__PURE__ */ import_react378.default.createElement("img", {
|
|
441549
441502
|
src: user.avatar,
|
|
441550
441503
|
alt: user.name
|
|
441551
|
-
}) : user.name.charAt(0), isTracked && /* @__PURE__ */
|
|
441504
|
+
}) : user.name.charAt(0), isTracked && /* @__PURE__ */ import_react378.default.createElement("div", {
|
|
441552
441505
|
className: PresenceUsers_module_default.trackedUserOverlay,
|
|
441553
441506
|
style: {
|
|
441554
441507
|
backgroundColor: rgbToRgba(user.color, 0.5) || user.color
|
|
441555
441508
|
}
|
|
441556
|
-
}, /* @__PURE__ */
|
|
441509
|
+
}, /* @__PURE__ */ import_react378.default.createElement(EyeIcon, null))), /* @__PURE__ */ import_react378.default.createElement("div", {
|
|
441557
441510
|
className: PresenceUsers_module_default.tooltip
|
|
441558
|
-
}, user.name === "Anonymous" ? t11("presence.anonymous") : user.name), /* @__PURE__ */
|
|
441511
|
+
}, user.name === "Anonymous" ? t11("presence.anonymous") : user.name), /* @__PURE__ */ import_react378.default.createElement("div", {
|
|
441559
441512
|
className: PresenceUsers_module_default.tippy
|
|
441560
|
-
}, /* @__PURE__ */
|
|
441513
|
+
}, /* @__PURE__ */ import_react378.default.createElement(TippySvg, null)));
|
|
441561
441514
|
};
|
|
441562
441515
|
|
|
441563
441516
|
// src/features/Presence/PresenceUsers/PresenceUsers.tsx
|
|
441564
441517
|
var FollowingUsersCount = ({ followers }) => {
|
|
441565
441518
|
const { t: t11 } = useTranslation();
|
|
441566
|
-
const [isOpen, setIsOpen] =
|
|
441519
|
+
const [isOpen, setIsOpen] = import_react379.useState(false);
|
|
441567
441520
|
const account = useAccount();
|
|
441568
441521
|
const tooltipRef = useClickOutside(() => {
|
|
441569
441522
|
setIsOpen(false);
|
|
@@ -441571,9 +441524,9 @@ var FollowingUsersCount = ({ followers }) => {
|
|
|
441571
441524
|
if (!followers.length) {
|
|
441572
441525
|
return null;
|
|
441573
441526
|
}
|
|
441574
|
-
return /* @__PURE__ */
|
|
441527
|
+
return /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441575
441528
|
className: PresenceUsers_module_default.followingCounter
|
|
441576
|
-
}, /* @__PURE__ */
|
|
441529
|
+
}, /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441577
441530
|
className: PresenceUsers_module_default.followingCounterIcon,
|
|
441578
441531
|
onMouseDown: (ev) => {
|
|
441579
441532
|
ev.stopPropagation();
|
|
@@ -441584,20 +441537,20 @@ var FollowingUsersCount = ({ followers }) => {
|
|
|
441584
441537
|
}
|
|
441585
441538
|
setIsOpen(!isOpen);
|
|
441586
441539
|
}
|
|
441587
|
-
}, /* @__PURE__ */
|
|
441540
|
+
}, /* @__PURE__ */ import_react379.default.createElement(EyeIcon, {
|
|
441588
441541
|
fill: "white"
|
|
441589
|
-
}), /* @__PURE__ */
|
|
441542
|
+
}), /* @__PURE__ */ import_react379.default.createElement("span", null, followers.length)), /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441590
441543
|
ref: tooltipRef,
|
|
441591
441544
|
className: clsx_default(PresenceUsers_module_default.followersTooltip, isOpen && PresenceUsers_module_default.followersVisible)
|
|
441592
|
-
}, /* @__PURE__ */
|
|
441545
|
+
}, /* @__PURE__ */ import_react379.default.createElement("p", {
|
|
441593
441546
|
className: PresenceUsers_module_default.followersMe
|
|
441594
|
-
}, account.info?.email, " ", t11("presence.(you)")), /* @__PURE__ */
|
|
441547
|
+
}, account.info?.email, " ", t11("presence.(you)")), /* @__PURE__ */ import_react379.default.createElement("span", {
|
|
441595
441548
|
className: PresenceUsers_module_default.followersBoard
|
|
441596
|
-
}, t11("presence.yourBoard")), /* @__PURE__ */
|
|
441549
|
+
}, t11("presence.yourBoard")), /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441597
441550
|
className: PresenceUsers_module_default.followersHr
|
|
441598
|
-
}), /* @__PURE__ */
|
|
441551
|
+
}), /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441599
441552
|
className: PresenceUsers_module_default.followersList
|
|
441600
|
-
}, followers.map((follower) => /* @__PURE__ */
|
|
441553
|
+
}, followers.map((follower) => /* @__PURE__ */ import_react379.default.createElement("span", {
|
|
441601
441554
|
key: follower.userId,
|
|
441602
441555
|
className: PresenceUsers_module_default.followersItem
|
|
441603
441556
|
}, follower.nickname, " ", t11("presence.following"))))));
|
|
@@ -441605,16 +441558,16 @@ var FollowingUsersCount = ({ followers }) => {
|
|
|
441605
441558
|
var USERS_IN_ROW = 3;
|
|
441606
441559
|
var PresenceUsers = () => {
|
|
441607
441560
|
const { board } = useAppContext();
|
|
441608
|
-
const [selectedUsers, setSelectedUsers] =
|
|
441609
|
-
const [users, setUsers] =
|
|
441610
|
-
const [followers, setFollowers] =
|
|
441611
|
-
const [trackedUser, setTrackedUser] =
|
|
441612
|
-
const [displayUsers, setDisplayUsers] =
|
|
441613
|
-
const [isUserDropdownOpen, setIsUserDropdownOpen] =
|
|
441561
|
+
const [selectedUsers, setSelectedUsers] = import_react379.useState(new Set);
|
|
441562
|
+
const [users, setUsers] = import_react379.useState([]);
|
|
441563
|
+
const [followers, setFollowers] = import_react379.useState([]);
|
|
441564
|
+
const [trackedUser, setTrackedUser] = import_react379.useState(null);
|
|
441565
|
+
const [displayUsers, setDisplayUsers] = import_react379.useState(users);
|
|
441566
|
+
const [isUserDropdownOpen, setIsUserDropdownOpen] = import_react379.useState(false);
|
|
441614
441567
|
const account = useAccount();
|
|
441615
441568
|
const { setIsPanelOpen } = useCommentsPanelContext();
|
|
441616
441569
|
const needsCollapse = users.length >= 3;
|
|
441617
|
-
|
|
441570
|
+
import_react379.useEffect(() => {
|
|
441618
441571
|
const sortedUsers = [...users].sort((first2, second) => selectedUsers.has(first2.id) === selectedUsers.has(second.id) ? 0 : selectedUsers.has(first2.id) ? -1 : 1).sort((first2, second) => first2.idle === second.idle ? 0 : first2.idle ? 1 : -1);
|
|
441619
441572
|
setDisplayUsers(sortedUsers.slice(0, USERS_IN_ROW));
|
|
441620
441573
|
}, [users, selectedUsers]);
|
|
@@ -441644,7 +441597,7 @@ var PresenceUsers = () => {
|
|
|
441644
441597
|
setUsers(uniqueUsersByHardId);
|
|
441645
441598
|
setFollowers(board.presence.getFollowers());
|
|
441646
441599
|
};
|
|
441647
|
-
|
|
441600
|
+
import_react379.useEffect(() => {
|
|
441648
441601
|
const observer = (presence) => {
|
|
441649
441602
|
updateUsers(presence);
|
|
441650
441603
|
setTrackedUser(presence.trackedUser || null);
|
|
@@ -441654,22 +441607,22 @@ var PresenceUsers = () => {
|
|
|
441654
441607
|
board.presence.subject.unsubscribe(observer);
|
|
441655
441608
|
};
|
|
441656
441609
|
}, [board]);
|
|
441657
|
-
|
|
441610
|
+
import_react379.useEffect(() => {
|
|
441658
441611
|
updateUsers(board.presence);
|
|
441659
441612
|
}, [board.getInterfaceType()]);
|
|
441660
|
-
return /* @__PURE__ */
|
|
441613
|
+
return /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441661
441614
|
className: PresenceUsers_module_default.wrapper
|
|
441662
|
-
}, /* @__PURE__ */
|
|
441615
|
+
}, /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441663
441616
|
className: PresenceUsers_module_default.container
|
|
441664
|
-
}, /* @__PURE__ */
|
|
441617
|
+
}, /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441665
441618
|
className: PresenceUsers_module_default.userList
|
|
441666
|
-
}, displayUsers.map((user, index4) => /* @__PURE__ */
|
|
441619
|
+
}, displayUsers.map((user, index4) => /* @__PURE__ */ import_react379.default.createElement(PresenceUserAvatar, {
|
|
441667
441620
|
key: user.id,
|
|
441668
441621
|
user,
|
|
441669
441622
|
trackedUser,
|
|
441670
441623
|
index: index4,
|
|
441671
441624
|
onClick: () => selectUser(user.id)
|
|
441672
|
-
})), /* @__PURE__ */
|
|
441625
|
+
})), /* @__PURE__ */ import_react379.default.createElement(UserPic, {
|
|
441673
441626
|
className: PresenceUsers_module_default.userWrapper,
|
|
441674
441627
|
style: { zIndex: 1000 },
|
|
441675
441628
|
followers,
|
|
@@ -441677,7 +441630,7 @@ var PresenceUsers = () => {
|
|
|
441677
441630
|
email: account.info?.name ?? getEmailPrefix(account.info?.email ?? "", "Anonymous"),
|
|
441678
441631
|
setIsDropdownOpen: setIsUserDropdownOpen,
|
|
441679
441632
|
isDropdownOpen: isUserDropdownOpen
|
|
441680
|
-
}), needsCollapse && /* @__PURE__ */
|
|
441633
|
+
}), needsCollapse && /* @__PURE__ */ import_react379.default.createElement("button", {
|
|
441681
441634
|
onClick: (event) => {
|
|
441682
441635
|
event.stopPropagation();
|
|
441683
441636
|
if (!isUserDropdownOpen) {
|
|
@@ -441692,11 +441645,11 @@ var PresenceUsers = () => {
|
|
|
441692
441645
|
"--index": displayUsers.length
|
|
441693
441646
|
},
|
|
441694
441647
|
className: PresenceUsers_module_default.usersOverflowWrapper
|
|
441695
|
-
}, /* @__PURE__ */
|
|
441648
|
+
}, /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441696
441649
|
className: PresenceUsers_module_default.usersOverflowGap
|
|
441697
|
-
}), /* @__PURE__ */
|
|
441650
|
+
}), /* @__PURE__ */ import_react379.default.createElement("div", {
|
|
441698
441651
|
className: PresenceUsers_module_default.usersOverflowCounter
|
|
441699
|
-
}, /* @__PURE__ */
|
|
441652
|
+
}, /* @__PURE__ */ import_react379.default.createElement("span", null, users.length), /* @__PURE__ */ import_react379.default.createElement(Icon, {
|
|
441700
441653
|
iconName: "StrokeChevronDown",
|
|
441701
441654
|
width: 11,
|
|
441702
441655
|
height: 6
|
|
@@ -441707,7 +441660,7 @@ var PresenceUsers = () => {
|
|
|
441707
441660
|
var import_react383 = __toESM(require_react(), 1);
|
|
441708
441661
|
|
|
441709
441662
|
// src/features/UserPanel/Buttons/AddComment/AddComment.tsx
|
|
441710
|
-
var
|
|
441663
|
+
var import_react380 = __toESM(require_react(), 1);
|
|
441711
441664
|
|
|
441712
441665
|
// src/features/UserPanel/Buttons/AddComment/AddComment.module.css
|
|
441713
441666
|
var AddComment_module_default = {
|
|
@@ -441742,7 +441695,7 @@ function AddComment2() {
|
|
|
441742
441695
|
}
|
|
441743
441696
|
board.tools.addComment(true);
|
|
441744
441697
|
};
|
|
441745
|
-
return /* @__PURE__ */
|
|
441698
|
+
return /* @__PURE__ */ import_react380.default.createElement(UiButton, {
|
|
441746
441699
|
className: AddComment_module_default.btn,
|
|
441747
441700
|
id: "tool-add-comment",
|
|
441748
441701
|
tooltipPosition: "bottom",
|
|
@@ -441751,16 +441704,16 @@ function AddComment2() {
|
|
|
441751
441704
|
active: isActive,
|
|
441752
441705
|
variant: "secondary",
|
|
441753
441706
|
rounded: "left"
|
|
441754
|
-
}, /* @__PURE__ */
|
|
441707
|
+
}, /* @__PURE__ */ import_react380.default.createElement(Icon, {
|
|
441755
441708
|
iconName: "Comment",
|
|
441756
441709
|
width: 20,
|
|
441757
441710
|
height: 20
|
|
441758
|
-
}), showBadge && /* @__PURE__ */
|
|
441711
|
+
}), showBadge && /* @__PURE__ */ import_react380.default.createElement("div", {
|
|
441759
441712
|
className: AddComment_module_default.badge
|
|
441760
441713
|
}));
|
|
441761
441714
|
}
|
|
441762
441715
|
// src/features/UserPanel/Buttons/TogglePresenceRender/TogglePresenceRender.tsx
|
|
441763
|
-
var
|
|
441716
|
+
var import_react381 = __toESM(require_react(), 1);
|
|
441764
441717
|
|
|
441765
441718
|
// src/features/UserPanel/Buttons/TogglePresenceRender/TogglePresenceRender.module.css
|
|
441766
441719
|
var TogglePresenceRender_module_default = {
|
|
@@ -441771,9 +441724,9 @@ var TogglePresenceRender_module_default = {
|
|
|
441771
441724
|
// src/features/UserPanel/Buttons/TogglePresenceRender/TogglePresenceRender.tsx
|
|
441772
441725
|
var TogglePresenceRender = () => {
|
|
441773
441726
|
const { t: t11 } = useTranslation();
|
|
441774
|
-
const [cursorsActive, setCursorsActive] =
|
|
441727
|
+
const [cursorsActive, setCursorsActive] = import_react381.useState(true);
|
|
441775
441728
|
const { app } = useAppContext();
|
|
441776
|
-
return /* @__PURE__ */
|
|
441729
|
+
return /* @__PURE__ */ import_react381.default.createElement(UiButton, {
|
|
441777
441730
|
id: "tool-cursors-toggle",
|
|
441778
441731
|
tooltipPosition: "bottom",
|
|
441779
441732
|
tooltip: cursorsActive ? t11("presence.hideCursors") : t11("presence.showCursors"),
|
|
@@ -441785,13 +441738,127 @@ var TogglePresenceRender = () => {
|
|
|
441785
441738
|
const cursorsEnabled = app.getBoard().presence.toggleCursorsRendering();
|
|
441786
441739
|
setCursorsActive(cursorsEnabled);
|
|
441787
441740
|
}
|
|
441788
|
-
}, /* @__PURE__ */
|
|
441741
|
+
}, /* @__PURE__ */ import_react381.default.createElement(Icon, {
|
|
441789
441742
|
iconName: "ToggleCursors",
|
|
441790
441743
|
width: 20,
|
|
441791
441744
|
height: 20
|
|
441792
441745
|
}));
|
|
441793
441746
|
};
|
|
441794
441747
|
|
|
441748
|
+
// src/features/ToolsPanel/Buttons/ThemeToggle.tsx
|
|
441749
|
+
var import_react382 = __toESM(require_react(), 1);
|
|
441750
|
+
function SunIcon() {
|
|
441751
|
+
return /* @__PURE__ */ import_react382.default.createElement("svg", {
|
|
441752
|
+
width: "20",
|
|
441753
|
+
height: "20",
|
|
441754
|
+
viewBox: "0 0 20 20",
|
|
441755
|
+
fill: "none",
|
|
441756
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
441757
|
+
}, /* @__PURE__ */ import_react382.default.createElement("circle", {
|
|
441758
|
+
cx: "10",
|
|
441759
|
+
cy: "10",
|
|
441760
|
+
r: "3.5",
|
|
441761
|
+
stroke: "currentColor",
|
|
441762
|
+
strokeWidth: "1.5"
|
|
441763
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441764
|
+
x1: "10",
|
|
441765
|
+
y1: "1",
|
|
441766
|
+
x2: "10",
|
|
441767
|
+
y2: "3.5",
|
|
441768
|
+
stroke: "currentColor",
|
|
441769
|
+
strokeWidth: "1.5",
|
|
441770
|
+
strokeLinecap: "round"
|
|
441771
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441772
|
+
x1: "10",
|
|
441773
|
+
y1: "16.5",
|
|
441774
|
+
x2: "10",
|
|
441775
|
+
y2: "19",
|
|
441776
|
+
stroke: "currentColor",
|
|
441777
|
+
strokeWidth: "1.5",
|
|
441778
|
+
strokeLinecap: "round"
|
|
441779
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441780
|
+
x1: "19",
|
|
441781
|
+
y1: "10",
|
|
441782
|
+
x2: "16.5",
|
|
441783
|
+
y2: "10",
|
|
441784
|
+
stroke: "currentColor",
|
|
441785
|
+
strokeWidth: "1.5",
|
|
441786
|
+
strokeLinecap: "round"
|
|
441787
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441788
|
+
x1: "3.5",
|
|
441789
|
+
y1: "10",
|
|
441790
|
+
x2: "1",
|
|
441791
|
+
y2: "10",
|
|
441792
|
+
stroke: "currentColor",
|
|
441793
|
+
strokeWidth: "1.5",
|
|
441794
|
+
strokeLinecap: "round"
|
|
441795
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441796
|
+
x1: "16.07",
|
|
441797
|
+
y1: "3.93",
|
|
441798
|
+
x2: "14.31",
|
|
441799
|
+
y2: "5.69",
|
|
441800
|
+
stroke: "currentColor",
|
|
441801
|
+
strokeWidth: "1.5",
|
|
441802
|
+
strokeLinecap: "round"
|
|
441803
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441804
|
+
x1: "5.69",
|
|
441805
|
+
y1: "14.31",
|
|
441806
|
+
x2: "3.93",
|
|
441807
|
+
y2: "16.07",
|
|
441808
|
+
stroke: "currentColor",
|
|
441809
|
+
strokeWidth: "1.5",
|
|
441810
|
+
strokeLinecap: "round"
|
|
441811
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441812
|
+
x1: "16.07",
|
|
441813
|
+
y1: "16.07",
|
|
441814
|
+
x2: "14.31",
|
|
441815
|
+
y2: "14.31",
|
|
441816
|
+
stroke: "currentColor",
|
|
441817
|
+
strokeWidth: "1.5",
|
|
441818
|
+
strokeLinecap: "round"
|
|
441819
|
+
}), /* @__PURE__ */ import_react382.default.createElement("line", {
|
|
441820
|
+
x1: "5.69",
|
|
441821
|
+
y1: "5.69",
|
|
441822
|
+
x2: "3.93",
|
|
441823
|
+
y2: "3.93",
|
|
441824
|
+
stroke: "currentColor",
|
|
441825
|
+
strokeWidth: "1.5",
|
|
441826
|
+
strokeLinecap: "round"
|
|
441827
|
+
}));
|
|
441828
|
+
}
|
|
441829
|
+
function MoonIcon() {
|
|
441830
|
+
return /* @__PURE__ */ import_react382.default.createElement("svg", {
|
|
441831
|
+
width: "20",
|
|
441832
|
+
height: "20",
|
|
441833
|
+
viewBox: "0 0 20 20",
|
|
441834
|
+
fill: "none",
|
|
441835
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
441836
|
+
}, /* @__PURE__ */ import_react382.default.createElement("path", {
|
|
441837
|
+
d: "M17 12.5A7.5 7.5 0 1 1 7.5 3a5.5 5.5 0 0 0 9.5 9.5z",
|
|
441838
|
+
stroke: "currentColor",
|
|
441839
|
+
strokeWidth: "1.5",
|
|
441840
|
+
strokeLinecap: "round",
|
|
441841
|
+
strokeLinejoin: "round"
|
|
441842
|
+
}));
|
|
441843
|
+
}
|
|
441844
|
+
function ThemeToggle() {
|
|
441845
|
+
const { board } = useAppContext();
|
|
441846
|
+
const [theme2, setTheme] = import_react382.useState(conf.theme);
|
|
441847
|
+
const handleClick = () => {
|
|
441848
|
+
const next5 = conf.theme === "light" ? "dark" : "light";
|
|
441849
|
+
conf.theme = next5;
|
|
441850
|
+
setTheme(next5);
|
|
441851
|
+
board.items.subject.publish(board.items);
|
|
441852
|
+
};
|
|
441853
|
+
return /* @__PURE__ */ import_react382.default.createElement(UiButton, {
|
|
441854
|
+
id: "theme-toggle",
|
|
441855
|
+
tooltip: theme2 === "light" ? "Switch to dark theme" : "Switch to light theme",
|
|
441856
|
+
onClick: handleClick,
|
|
441857
|
+
variant: "secondary",
|
|
441858
|
+
rounded: "none"
|
|
441859
|
+
}, theme2 === "light" ? /* @__PURE__ */ import_react382.default.createElement(MoonIcon, null) : /* @__PURE__ */ import_react382.default.createElement(SunIcon, null));
|
|
441860
|
+
}
|
|
441861
|
+
|
|
441795
441862
|
// src/features/UserPanel/ActionButtons/ActionButtons.module.css
|
|
441796
441863
|
var ActionButtons_module_default = {
|
|
441797
441864
|
wrapper: "wrapper_VBuAXg"
|
|
@@ -441807,7 +441874,7 @@ var ActionButtons = () => {
|
|
|
441807
441874
|
}
|
|
441808
441875
|
return /* @__PURE__ */ import_react383.default.createElement("div", {
|
|
441809
441876
|
className: ActionButtons_module_default.wrapper
|
|
441810
|
-
}, (account.info?.name || account.info?.email) && /* @__PURE__ */ import_react383.default.createElement(AddComment2, null), /* @__PURE__ */ import_react383.default.createElement(TogglePresenceRender, null));
|
|
441877
|
+
}, (account.info?.name || account.info?.email) && /* @__PURE__ */ import_react383.default.createElement(AddComment2, null), /* @__PURE__ */ import_react383.default.createElement(TogglePresenceRender, null), /* @__PURE__ */ import_react383.default.createElement(ThemeToggle, null));
|
|
441811
441878
|
};
|
|
441812
441879
|
|
|
441813
441880
|
// src/features/UserPanel/Buttons/ShareBtn/ShareBtn.tsx
|