@myoc/excalidraw 0.18.6 → 0.18.8
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/dev/{chunk-LRA2BMXO.js → chunk-J24A3ZD7.js} +17 -3
- package/dist/dev/chunk-J24A3ZD7.js.map +7 -0
- package/dist/dev/{chunk-4OALG4EH.js → chunk-KMBT3CO4.js} +2 -2
- package/dist/dev/{chunk-YSK5QYKJ.js → chunk-PEI7EPYO.js} +2 -1
- package/dist/dev/chunk-PEI7EPYO.js.map +7 -0
- package/dist/dev/data/{image-OTIQTZCO.js → image-J5RTIMP7.js} +3 -3
- package/dist/dev/index.css +31 -8
- package/dist/dev/index.css.map +2 -2
- package/dist/dev/index.js +768 -679
- package/dist/dev/index.js.map +3 -3
- package/dist/dev/locales/{en-IPMKTZRA.js → en-R455UJTM.js} +2 -2
- package/dist/dev/subset-shared.chunk.js +1 -1
- package/dist/dev/subset-worker.chunk.js +1 -1
- package/dist/prod/{chunk-S7PD52DD.js → chunk-H4546KRD.js} +15 -15
- package/dist/prod/{chunk-SNPKQ4QJ.js → chunk-IYXWN32B.js} +1 -1
- package/dist/prod/{chunk-HYYBIWRU.js → chunk-KZWZ7WHC.js} +1 -1
- package/dist/prod/data/image-AN2TITOS.js +1 -0
- package/dist/prod/index.css +1 -1
- package/dist/prod/index.js +15 -15
- package/dist/prod/locales/{en-3XEBA2ZW.js → en-YWERZJD6.js} +1 -1
- package/dist/prod/subset-shared.chunk.js +1 -1
- package/dist/prod/subset-worker.chunk.js +1 -1
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +1 -0
- package/dist/types/excalidraw/components/icons.d.ts +1 -0
- package/package.json +1 -1
- package/dist/dev/chunk-LRA2BMXO.js.map +0 -7
- package/dist/dev/chunk-YSK5QYKJ.js.map +0 -7
- package/dist/prod/data/image-TF47GACX.js +0 -1
- /package/dist/dev/{chunk-4OALG4EH.js.map → chunk-KMBT3CO4.js.map} +0 -0
- /package/dist/dev/data/{image-OTIQTZCO.js.map → image-J5RTIMP7.js.map} +0 -0
- /package/dist/dev/locales/{en-IPMKTZRA.js.map → en-R455UJTM.js.map} +0 -0
package/dist/dev/index.js
CHANGED
|
@@ -219,6 +219,7 @@ import {
|
|
|
219
219
|
arrayToMap,
|
|
220
220
|
arrayToMapWithIndex,
|
|
221
221
|
arrayToObject,
|
|
222
|
+
arrowsToEyeIcon,
|
|
222
223
|
assertNever,
|
|
223
224
|
bindElementsToFramesAfterDuplication,
|
|
224
225
|
bindLinearElement,
|
|
@@ -617,13 +618,13 @@ import {
|
|
|
617
618
|
wrapEvent,
|
|
618
619
|
wrapText,
|
|
619
620
|
zoomAreaIcon
|
|
620
|
-
} from "./chunk-
|
|
621
|
+
} from "./chunk-J24A3ZD7.js";
|
|
621
622
|
import {
|
|
622
623
|
define_import_meta_env_default
|
|
623
|
-
} from "./chunk-
|
|
624
|
+
} from "./chunk-KMBT3CO4.js";
|
|
624
625
|
import {
|
|
625
626
|
en_default
|
|
626
|
-
} from "./chunk-
|
|
627
|
+
} from "./chunk-PEI7EPYO.js";
|
|
627
628
|
import {
|
|
628
629
|
percentages_default
|
|
629
630
|
} from "./chunk-MFAYKRVR.js";
|
|
@@ -637,7 +638,7 @@ import {
|
|
|
637
638
|
import React44, { useEffect as useEffect45 } from "react";
|
|
638
639
|
|
|
639
640
|
// components/App.tsx
|
|
640
|
-
import
|
|
641
|
+
import clsx57 from "clsx";
|
|
641
642
|
import throttle3 from "lodash.throttle";
|
|
642
643
|
import React42, { useContext as useContext3 } from "react";
|
|
643
644
|
import { flushSync as flushSync2 } from "react-dom";
|
|
@@ -3221,7 +3222,7 @@ var globImport_locales_json = __glob({
|
|
|
3221
3222
|
"./locales/da-DK.json": () => import("./locales/da-DK-N76F4QAJ.js"),
|
|
3222
3223
|
"./locales/de-DE.json": () => import("./locales/de-DE-DMRXZ2SZ.js"),
|
|
3223
3224
|
"./locales/el-GR.json": () => import("./locales/el-GR-HIKPLEXI.js"),
|
|
3224
|
-
"./locales/en.json": () => import("./locales/en-
|
|
3225
|
+
"./locales/en.json": () => import("./locales/en-R455UJTM.js"),
|
|
3225
3226
|
"./locales/es-ES.json": () => import("./locales/es-ES-AQYVXC32.js"),
|
|
3226
3227
|
"./locales/eu-ES.json": () => import("./locales/eu-ES-3TOEU5DE.js"),
|
|
3227
3228
|
"./locales/fa-IR.json": () => import("./locales/fa-IR-527GAKUP.js"),
|
|
@@ -10906,7 +10907,7 @@ var exportCanvas = async (type, elements, appState, files, {
|
|
|
10906
10907
|
let blob = canvasToBlob(tempCanvas);
|
|
10907
10908
|
if (appState.exportEmbedScene) {
|
|
10908
10909
|
blob = blob.then(
|
|
10909
|
-
(blob2) => import("./data/image-
|
|
10910
|
+
(blob2) => import("./data/image-J5RTIMP7.js").then(
|
|
10910
10911
|
({ encodePngMetadata: encodePngMetadata2 }) => encodePngMetadata2({
|
|
10911
10912
|
blob: blob2,
|
|
10912
10913
|
metadata: serializeAsJSON(elements, appState, files, "local")
|
|
@@ -16984,7 +16985,7 @@ var findShapeByKey = (key) => {
|
|
|
16984
16985
|
|
|
16985
16986
|
// components/Actions.tsx
|
|
16986
16987
|
import clsx30 from "clsx";
|
|
16987
|
-
import { useState as useState20 } from "react";
|
|
16988
|
+
import { useMemo as useMemo7, useState as useState20 } from "react";
|
|
16988
16989
|
import { Fragment as Fragment9, jsx as jsx69, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
16989
16990
|
var canChangeStrokeColor = (appState, targetElements) => {
|
|
16990
16991
|
let commonSelectedType = targetElements[0]?.type || null;
|
|
@@ -17112,7 +17113,66 @@ var ShapesSwitcher = ({
|
|
|
17112
17113
|
const laserToolSelected = activeTool.type === "laser";
|
|
17113
17114
|
const lassoToolSelected = activeTool.type === "lasso";
|
|
17114
17115
|
const embeddableToolSelected = activeTool.type === "embeddable";
|
|
17115
|
-
const
|
|
17116
|
+
const simplifiedShapeTools = SHAPES2.filter(
|
|
17117
|
+
(s) => s.myocSimplifiedMode === false
|
|
17118
|
+
);
|
|
17119
|
+
const dropdownIcon = useMemo7(() => {
|
|
17120
|
+
switch (activeTool.type) {
|
|
17121
|
+
case "frame":
|
|
17122
|
+
return {
|
|
17123
|
+
icon: frameToolIcon,
|
|
17124
|
+
highlight: false
|
|
17125
|
+
};
|
|
17126
|
+
case "lasso":
|
|
17127
|
+
return {
|
|
17128
|
+
icon: LassoIcon,
|
|
17129
|
+
highlight: true
|
|
17130
|
+
};
|
|
17131
|
+
case "embeddable":
|
|
17132
|
+
return {
|
|
17133
|
+
icon: EmbedIcon,
|
|
17134
|
+
highlight: true
|
|
17135
|
+
};
|
|
17136
|
+
case "laser":
|
|
17137
|
+
if (!app.props.isCollaborating) {
|
|
17138
|
+
return {
|
|
17139
|
+
icon: laserPointerToolIcon,
|
|
17140
|
+
highlight: true
|
|
17141
|
+
};
|
|
17142
|
+
}
|
|
17143
|
+
return {
|
|
17144
|
+
icon: extraToolsIcon,
|
|
17145
|
+
highlight: true
|
|
17146
|
+
};
|
|
17147
|
+
case "diamond":
|
|
17148
|
+
return {
|
|
17149
|
+
icon: DiamondIcon,
|
|
17150
|
+
highlight: true
|
|
17151
|
+
};
|
|
17152
|
+
case "rectangle":
|
|
17153
|
+
return {
|
|
17154
|
+
icon: RectangleIcon,
|
|
17155
|
+
highlight: true
|
|
17156
|
+
};
|
|
17157
|
+
case "ellipse":
|
|
17158
|
+
return {
|
|
17159
|
+
icon: RectangleIcon,
|
|
17160
|
+
highlight: true
|
|
17161
|
+
};
|
|
17162
|
+
case "arrow":
|
|
17163
|
+
return {
|
|
17164
|
+
icon: ArrowIcon,
|
|
17165
|
+
highlight: true
|
|
17166
|
+
};
|
|
17167
|
+
case "line":
|
|
17168
|
+
return {
|
|
17169
|
+
icon: LineIcon,
|
|
17170
|
+
highlight: true
|
|
17171
|
+
};
|
|
17172
|
+
default:
|
|
17173
|
+
return { icon: extraToolsIcon, highlight: false };
|
|
17174
|
+
}
|
|
17175
|
+
}, [activeTool.type, app.props.isCollaborating]);
|
|
17116
17176
|
return /* @__PURE__ */ jsxs38(Fragment9, { children: [
|
|
17117
17177
|
SHAPES2.filter(
|
|
17118
17178
|
(shape) => !appState.myocSimplifiedMode || shape.myocSimplifiedMode
|
|
@@ -17170,14 +17230,11 @@ var ShapesSwitcher = ({
|
|
|
17170
17230
|
DropdownMenu_default.Trigger,
|
|
17171
17231
|
{
|
|
17172
17232
|
className: clsx30("App-toolbar__extra-tools-trigger", {
|
|
17173
|
-
"App-toolbar__extra-tools-trigger--selected":
|
|
17174
|
-
// outside toolbar, so let's not highlight extra-tools button
|
|
17175
|
-
// on top of it
|
|
17176
|
-
laserToolSelected && !app.props.isCollaborating
|
|
17233
|
+
"App-toolbar__extra-tools-trigger--selected": dropdownIcon.highlight
|
|
17177
17234
|
}),
|
|
17178
17235
|
onToggle: () => setIsExtraToolsMenuOpen(!isExtraToolsMenuOpen),
|
|
17179
17236
|
title: t("toolBar.extraTools"),
|
|
17180
|
-
children:
|
|
17237
|
+
children: dropdownIcon.icon
|
|
17181
17238
|
}
|
|
17182
17239
|
),
|
|
17183
17240
|
/* @__PURE__ */ jsxs38(
|
|
@@ -17197,7 +17254,7 @@ var ShapesSwitcher = ({
|
|
|
17197
17254
|
children: t("toolBar.lasso")
|
|
17198
17255
|
}
|
|
17199
17256
|
),
|
|
17200
|
-
|
|
17257
|
+
simplifiedShapeTools.map(({ value, icon, key, fillable }) => {
|
|
17201
17258
|
const label = t(`toolBar.${value}`);
|
|
17202
17259
|
const letter = key && capitalizeString(typeof key === "string" ? key : key[0]);
|
|
17203
17260
|
return /* @__PURE__ */ jsx69(
|
|
@@ -17213,6 +17270,18 @@ var ShapesSwitcher = ({
|
|
|
17213
17270
|
value
|
|
17214
17271
|
);
|
|
17215
17272
|
}),
|
|
17273
|
+
/* @__PURE__ */ jsx69("div", { className: "App-toolbar__dropdown-divider" }),
|
|
17274
|
+
/* @__PURE__ */ jsx69(
|
|
17275
|
+
DropdownMenu_default.Item,
|
|
17276
|
+
{
|
|
17277
|
+
onSelect: () => app.toggleLock(),
|
|
17278
|
+
icon: appState.activeTool.locked ? LockedIcon : UnlockedIcon,
|
|
17279
|
+
"data-testid": `toolbar-lock`,
|
|
17280
|
+
selected: appState.activeTool.locked,
|
|
17281
|
+
shortcut: KEYS.Q,
|
|
17282
|
+
children: capitalizeString(t("toolBar.lock-short"))
|
|
17283
|
+
}
|
|
17284
|
+
),
|
|
17216
17285
|
!appState.myocSimplifiedMode && /* @__PURE__ */ jsx69(
|
|
17217
17286
|
DropdownMenu_default.Item,
|
|
17218
17287
|
{
|
|
@@ -18590,6 +18659,8 @@ var actionTextAutoResize = register({
|
|
|
18590
18659
|
});
|
|
18591
18660
|
|
|
18592
18661
|
// actions/actionToggleViewMode.tsx
|
|
18662
|
+
import clsx32 from "clsx";
|
|
18663
|
+
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
18593
18664
|
var actionToggleViewMode = register({
|
|
18594
18665
|
name: "viewMode",
|
|
18595
18666
|
label: "labels.viewMode",
|
|
@@ -18612,11 +18683,25 @@ var actionToggleViewMode = register({
|
|
|
18612
18683
|
predicate: (elements, appState, appProps) => {
|
|
18613
18684
|
return typeof appProps.viewModeEnabled === "undefined";
|
|
18614
18685
|
},
|
|
18615
|
-
keyTest: (event) => !event[KEYS.CTRL_OR_CMD] && event.altKey && event.code === CODES.R
|
|
18686
|
+
keyTest: (event) => !event[KEYS.CTRL_OR_CMD] && event.altKey && event.code === CODES.R,
|
|
18687
|
+
PanelComponent: ({ data, updateData, appState }) => /* @__PURE__ */ jsx74(
|
|
18688
|
+
ToolButton,
|
|
18689
|
+
{
|
|
18690
|
+
type: "button",
|
|
18691
|
+
icon: eyeIcon,
|
|
18692
|
+
"aria-label": t("labels.viewMode"),
|
|
18693
|
+
onClick: () => updateData(null),
|
|
18694
|
+
size: data?.size || "medium",
|
|
18695
|
+
"data-testid": "button-view-mode",
|
|
18696
|
+
className: clsx32({
|
|
18697
|
+
enabled: appState.viewModeEnabled
|
|
18698
|
+
})
|
|
18699
|
+
}
|
|
18700
|
+
)
|
|
18616
18701
|
});
|
|
18617
18702
|
|
|
18618
18703
|
// actions/manager.tsx
|
|
18619
|
-
import { jsx as
|
|
18704
|
+
import { jsx as jsx75 } from "react/jsx-runtime";
|
|
18620
18705
|
var trackAction = (action, source, appState, elements, app, value) => {
|
|
18621
18706
|
if (action.trackEvent) {
|
|
18622
18707
|
try {
|
|
@@ -18664,7 +18749,7 @@ var ActionManager = class {
|
|
|
18664
18749
|
)
|
|
18665
18750
|
);
|
|
18666
18751
|
};
|
|
18667
|
-
return /* @__PURE__ */
|
|
18752
|
+
return /* @__PURE__ */ jsx75(
|
|
18668
18753
|
PanelComponent,
|
|
18669
18754
|
{
|
|
18670
18755
|
elements: this.getElementsIncludingDeleted(),
|
|
@@ -21397,7 +21482,7 @@ var Renderer = class {
|
|
|
21397
21482
|
};
|
|
21398
21483
|
|
|
21399
21484
|
// components/ElementCanvasButtons.tsx
|
|
21400
|
-
import { jsx as
|
|
21485
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
21401
21486
|
var CONTAINER_PADDING = 5;
|
|
21402
21487
|
var getContainerCoords = (element, appState, elementsMap) => {
|
|
21403
21488
|
const [x1, y1] = getElementAbsoluteCoords(element, elementsMap);
|
|
@@ -21419,7 +21504,7 @@ var ElementCanvasButtons = ({
|
|
|
21419
21504
|
return null;
|
|
21420
21505
|
}
|
|
21421
21506
|
const { x, y } = getContainerCoords(element, appState, elementsMap);
|
|
21422
|
-
return /* @__PURE__ */
|
|
21507
|
+
return /* @__PURE__ */ jsx76(
|
|
21423
21508
|
"div",
|
|
21424
21509
|
{
|
|
21425
21510
|
className: "excalidraw-canvas-buttons",
|
|
@@ -22420,12 +22505,12 @@ var LassoTrail = class extends AnimatedTrail {
|
|
|
22420
22505
|
};
|
|
22421
22506
|
|
|
22422
22507
|
// actions/actionSmartZoom.tsx
|
|
22423
|
-
import { jsx as
|
|
22508
|
+
import { jsx as jsx77 } from "react/jsx-runtime";
|
|
22424
22509
|
var actionSmartZoom = register({
|
|
22425
22510
|
name: "smartZoom",
|
|
22426
22511
|
label: "toolBar.smartZoom",
|
|
22427
22512
|
trackEvent: { category: "toolbar" },
|
|
22428
|
-
icon:
|
|
22513
|
+
icon: arrowsToEyeIcon,
|
|
22429
22514
|
viewMode: true,
|
|
22430
22515
|
perform: (elements, appState, _, app) => {
|
|
22431
22516
|
const settings = {
|
|
@@ -22445,11 +22530,11 @@ var actionSmartZoom = register({
|
|
|
22445
22530
|
};
|
|
22446
22531
|
},
|
|
22447
22532
|
keyTest: (event) => !event[KEYS.CTRL_OR_CMD] && !event.shiftKey && !event.altKey && event.key.toLocaleLowerCase() === KEYS.F,
|
|
22448
|
-
PanelComponent: ({ data, updateData }) => /* @__PURE__ */
|
|
22533
|
+
PanelComponent: ({ data, updateData }) => /* @__PURE__ */ jsx77(
|
|
22449
22534
|
ToolButton,
|
|
22450
22535
|
{
|
|
22451
22536
|
type: "button",
|
|
22452
|
-
icon:
|
|
22537
|
+
icon: arrowsToEyeIcon,
|
|
22453
22538
|
"aria-label": t("labels.smartZoom"),
|
|
22454
22539
|
onClick: () => updateData(null),
|
|
22455
22540
|
size: data?.size || "medium",
|
|
@@ -22615,13 +22700,13 @@ var eraserTest = (pathSegments, element, elementsSegments, shapesCache, elements
|
|
|
22615
22700
|
};
|
|
22616
22701
|
|
|
22617
22702
|
// components/ContextMenu.tsx
|
|
22618
|
-
import
|
|
22703
|
+
import clsx33 from "clsx";
|
|
22619
22704
|
import React27 from "react";
|
|
22620
22705
|
|
|
22621
22706
|
// components/Popover.tsx
|
|
22622
22707
|
import { useLayoutEffect as useLayoutEffect4, useRef as useRef23, useEffect as useEffect28 } from "react";
|
|
22623
22708
|
import { unstable_batchedUpdates as unstable_batchedUpdates2 } from "react-dom";
|
|
22624
|
-
import { jsx as
|
|
22709
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
22625
22710
|
var Popover6 = ({
|
|
22626
22711
|
children,
|
|
22627
22712
|
left,
|
|
@@ -22721,11 +22806,11 @@ var Popover6 = ({
|
|
|
22721
22806
|
return () => document.removeEventListener("pointerdown", handler, false);
|
|
22722
22807
|
}
|
|
22723
22808
|
}, [onCloseRequest]);
|
|
22724
|
-
return /* @__PURE__ */
|
|
22809
|
+
return /* @__PURE__ */ jsx78("div", { className: "popover", ref: popoverRef, tabIndex: -1, children });
|
|
22725
22810
|
};
|
|
22726
22811
|
|
|
22727
22812
|
// components/ContextMenu.tsx
|
|
22728
|
-
import { jsx as
|
|
22813
|
+
import { jsx as jsx79, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
22729
22814
|
var CONTEXT_MENU_SEPARATOR = "separator";
|
|
22730
22815
|
var ContextMenu = React27.memo(
|
|
22731
22816
|
({ actionManager, items, top, left, onClose }) => {
|
|
@@ -22742,7 +22827,7 @@ var ContextMenu = React27.memo(
|
|
|
22742
22827
|
}
|
|
22743
22828
|
return acc;
|
|
22744
22829
|
}, []);
|
|
22745
|
-
return /* @__PURE__ */
|
|
22830
|
+
return /* @__PURE__ */ jsx79(
|
|
22746
22831
|
Popover6,
|
|
22747
22832
|
{
|
|
22748
22833
|
onCloseRequest: () => {
|
|
@@ -22755,7 +22840,7 @@ var ContextMenu = React27.memo(
|
|
|
22755
22840
|
offsetTop: appState.offsetTop,
|
|
22756
22841
|
viewportWidth: appState.width,
|
|
22757
22842
|
viewportHeight: appState.height,
|
|
22758
|
-
children: /* @__PURE__ */
|
|
22843
|
+
children: /* @__PURE__ */ jsx79(
|
|
22759
22844
|
"ul",
|
|
22760
22845
|
{
|
|
22761
22846
|
className: "context-menu",
|
|
@@ -22765,7 +22850,7 @@ var ContextMenu = React27.memo(
|
|
|
22765
22850
|
if (!filteredItems[idx - 1] || filteredItems[idx - 1] === CONTEXT_MENU_SEPARATOR) {
|
|
22766
22851
|
return null;
|
|
22767
22852
|
}
|
|
22768
|
-
return /* @__PURE__ */
|
|
22853
|
+
return /* @__PURE__ */ jsx79("hr", { className: "context-menu-item-separator" }, idx);
|
|
22769
22854
|
}
|
|
22770
22855
|
const actionName = item.name;
|
|
22771
22856
|
let label = "";
|
|
@@ -22782,7 +22867,7 @@ var ContextMenu = React27.memo(
|
|
|
22782
22867
|
label = t(item.label);
|
|
22783
22868
|
}
|
|
22784
22869
|
}
|
|
22785
|
-
return /* @__PURE__ */
|
|
22870
|
+
return /* @__PURE__ */ jsx79(
|
|
22786
22871
|
"li",
|
|
22787
22872
|
{
|
|
22788
22873
|
"data-testid": actionName,
|
|
@@ -22795,13 +22880,13 @@ var ContextMenu = React27.memo(
|
|
|
22795
22880
|
"button",
|
|
22796
22881
|
{
|
|
22797
22882
|
type: "button",
|
|
22798
|
-
className:
|
|
22883
|
+
className: clsx33("context-menu-item", {
|
|
22799
22884
|
dangerous: actionName === "deleteSelectedElements",
|
|
22800
22885
|
checkmark: item.checked?.(appState)
|
|
22801
22886
|
}),
|
|
22802
22887
|
children: [
|
|
22803
|
-
/* @__PURE__ */
|
|
22804
|
-
/* @__PURE__ */
|
|
22888
|
+
/* @__PURE__ */ jsx79("div", { className: "context-menu-item__label", children: label }),
|
|
22889
|
+
/* @__PURE__ */ jsx79("kbd", { className: "context-menu-item__shortcut", children: actionName ? getShortcutFromShortcutName(actionName) : "" })
|
|
22805
22890
|
]
|
|
22806
22891
|
}
|
|
22807
22892
|
)
|
|
@@ -22817,18 +22902,18 @@ var ContextMenu = React27.memo(
|
|
|
22817
22902
|
);
|
|
22818
22903
|
|
|
22819
22904
|
// components/FollowMode/FollowMode.tsx
|
|
22820
|
-
import { jsx as
|
|
22905
|
+
import { jsx as jsx80, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
22821
22906
|
var FollowMode = ({
|
|
22822
22907
|
height,
|
|
22823
22908
|
width,
|
|
22824
22909
|
userToFollow,
|
|
22825
22910
|
onDisconnect
|
|
22826
22911
|
}) => {
|
|
22827
|
-
return /* @__PURE__ */
|
|
22912
|
+
return /* @__PURE__ */ jsx80("div", { className: "follow-mode", style: { width, height }, children: /* @__PURE__ */ jsxs41("div", { className: "follow-mode__badge", children: [
|
|
22828
22913
|
/* @__PURE__ */ jsxs41("div", { className: "follow-mode__badge__label", children: [
|
|
22829
22914
|
"Following",
|
|
22830
22915
|
" ",
|
|
22831
|
-
/* @__PURE__ */
|
|
22916
|
+
/* @__PURE__ */ jsx80(
|
|
22832
22917
|
"span",
|
|
22833
22918
|
{
|
|
22834
22919
|
className: "follow-mode__badge__username",
|
|
@@ -22837,7 +22922,7 @@ var FollowMode = ({
|
|
|
22837
22922
|
}
|
|
22838
22923
|
)
|
|
22839
22924
|
] }),
|
|
22840
|
-
/* @__PURE__ */
|
|
22925
|
+
/* @__PURE__ */ jsx80(
|
|
22841
22926
|
"button",
|
|
22842
22927
|
{
|
|
22843
22928
|
type: "button",
|
|
@@ -22851,7 +22936,7 @@ var FollowMode = ({
|
|
|
22851
22936
|
var FollowMode_default = FollowMode;
|
|
22852
22937
|
|
|
22853
22938
|
// components/LayerUI.tsx
|
|
22854
|
-
import
|
|
22939
|
+
import clsx55 from "clsx";
|
|
22855
22940
|
import React39 from "react";
|
|
22856
22941
|
|
|
22857
22942
|
// context/tunnels.ts
|
|
@@ -22880,9 +22965,9 @@ var useInitializeTunnels = () => {
|
|
|
22880
22965
|
};
|
|
22881
22966
|
|
|
22882
22967
|
// components/LoadingMessage.tsx
|
|
22883
|
-
import
|
|
22968
|
+
import clsx34 from "clsx";
|
|
22884
22969
|
import { useState as useState23, useEffect as useEffect29 } from "react";
|
|
22885
|
-
import { jsx as
|
|
22970
|
+
import { jsx as jsx81, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
22886
22971
|
var LoadingMessage = ({
|
|
22887
22972
|
delay,
|
|
22888
22973
|
theme
|
|
@@ -22903,28 +22988,28 @@ var LoadingMessage = ({
|
|
|
22903
22988
|
return /* @__PURE__ */ jsxs42(
|
|
22904
22989
|
"div",
|
|
22905
22990
|
{
|
|
22906
|
-
className:
|
|
22991
|
+
className: clsx34("LoadingMessage", {
|
|
22907
22992
|
"LoadingMessage--dark": theme === THEME.DARK
|
|
22908
22993
|
}),
|
|
22909
22994
|
children: [
|
|
22910
|
-
/* @__PURE__ */
|
|
22911
|
-
/* @__PURE__ */
|
|
22995
|
+
/* @__PURE__ */ jsx81("div", { children: /* @__PURE__ */ jsx81(Spinner_default, {}) }),
|
|
22996
|
+
/* @__PURE__ */ jsx81("div", { className: "LoadingMessage-text", children: t("labels.loadingScene") })
|
|
22912
22997
|
]
|
|
22913
22998
|
}
|
|
22914
22999
|
);
|
|
22915
23000
|
};
|
|
22916
23001
|
|
|
22917
23002
|
// components/FixedSideContainer.tsx
|
|
22918
|
-
import
|
|
22919
|
-
import { jsx as
|
|
23003
|
+
import clsx35 from "clsx";
|
|
23004
|
+
import { jsx as jsx82 } from "react/jsx-runtime";
|
|
22920
23005
|
var FixedSideContainer = ({
|
|
22921
23006
|
children,
|
|
22922
23007
|
side,
|
|
22923
23008
|
className
|
|
22924
|
-
}) => /* @__PURE__ */
|
|
23009
|
+
}) => /* @__PURE__ */ jsx82(
|
|
22925
23010
|
"div",
|
|
22926
23011
|
{
|
|
22927
|
-
className:
|
|
23012
|
+
className: clsx35(
|
|
22928
23013
|
"FixedSideContainer",
|
|
22929
23014
|
`FixedSideContainer_side_${side}`,
|
|
22930
23015
|
className
|
|
@@ -22934,13 +23019,13 @@ var FixedSideContainer = ({
|
|
|
22934
23019
|
);
|
|
22935
23020
|
|
|
22936
23021
|
// components/HandButton.tsx
|
|
22937
|
-
import
|
|
22938
|
-
import { jsx as
|
|
23022
|
+
import clsx36 from "clsx";
|
|
23023
|
+
import { jsx as jsx83 } from "react/jsx-runtime";
|
|
22939
23024
|
var HandButton = (props) => {
|
|
22940
|
-
return /* @__PURE__ */
|
|
23025
|
+
return /* @__PURE__ */ jsx83(
|
|
22941
23026
|
ToolButton,
|
|
22942
23027
|
{
|
|
22943
|
-
className:
|
|
23028
|
+
className: clsx36("Shape", { fillable: false }),
|
|
22944
23029
|
type: "radio",
|
|
22945
23030
|
icon: handIcon,
|
|
22946
23031
|
name: "editor-current-shape",
|
|
@@ -22956,7 +23041,7 @@ var HandButton = (props) => {
|
|
|
22956
23041
|
};
|
|
22957
23042
|
|
|
22958
23043
|
// components/HintViewer.tsx
|
|
22959
|
-
import { jsx as
|
|
23044
|
+
import { jsx as jsx84 } from "react/jsx-runtime";
|
|
22960
23045
|
var getHints = ({
|
|
22961
23046
|
appState,
|
|
22962
23047
|
isMobile,
|
|
@@ -23069,12 +23154,12 @@ var HintViewer = ({
|
|
|
23069
23154
|
const hint = Array.isArray(hints) ? hints.map((hint2) => {
|
|
23070
23155
|
return getShortcutKey(hint2).replace(/\. ?$/, "");
|
|
23071
23156
|
}).join(". ") : getShortcutKey(hints);
|
|
23072
|
-
return /* @__PURE__ */
|
|
23157
|
+
return /* @__PURE__ */ jsx84("div", { className: "HintViewer", children: /* @__PURE__ */ jsx84("span", { children: hint }) });
|
|
23073
23158
|
};
|
|
23074
23159
|
|
|
23075
23160
|
// components/LockButton.tsx
|
|
23076
|
-
import
|
|
23077
|
-
import { jsx as
|
|
23161
|
+
import clsx37 from "clsx";
|
|
23162
|
+
import { jsx as jsx85, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
23078
23163
|
var DEFAULT_SIZE = "medium";
|
|
23079
23164
|
var ICONS2 = {
|
|
23080
23165
|
CHECKED: LockedIcon,
|
|
@@ -23084,7 +23169,7 @@ var LockButton = (props) => {
|
|
|
23084
23169
|
return /* @__PURE__ */ jsxs43(
|
|
23085
23170
|
"label",
|
|
23086
23171
|
{
|
|
23087
|
-
className:
|
|
23172
|
+
className: clsx37(
|
|
23088
23173
|
"ToolIcon ToolIcon__lock",
|
|
23089
23174
|
`ToolIcon_size_${DEFAULT_SIZE}`,
|
|
23090
23175
|
{
|
|
@@ -23093,7 +23178,7 @@ var LockButton = (props) => {
|
|
|
23093
23178
|
),
|
|
23094
23179
|
title: `${props.title} \u2014 Q`,
|
|
23095
23180
|
children: [
|
|
23096
|
-
/* @__PURE__ */
|
|
23181
|
+
/* @__PURE__ */ jsx85(
|
|
23097
23182
|
"input",
|
|
23098
23183
|
{
|
|
23099
23184
|
className: "ToolIcon_type_checkbox",
|
|
@@ -23105,15 +23190,15 @@ var LockButton = (props) => {
|
|
|
23105
23190
|
"data-testid": "toolbar-lock"
|
|
23106
23191
|
}
|
|
23107
23192
|
),
|
|
23108
|
-
/* @__PURE__ */
|
|
23193
|
+
/* @__PURE__ */ jsx85("div", { className: "ToolIcon__icon", children: props.checked ? ICONS2.CHECKED : ICONS2.UNCHECKED })
|
|
23109
23194
|
]
|
|
23110
23195
|
}
|
|
23111
23196
|
);
|
|
23112
23197
|
};
|
|
23113
23198
|
|
|
23114
23199
|
// components/PenModeButton.tsx
|
|
23115
|
-
import
|
|
23116
|
-
import { jsx as
|
|
23200
|
+
import clsx38 from "clsx";
|
|
23201
|
+
import { jsx as jsx86, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
23117
23202
|
var DEFAULT_SIZE2 = "medium";
|
|
23118
23203
|
var PenModeButton = (props) => {
|
|
23119
23204
|
if (!props.penDetected) {
|
|
@@ -23122,7 +23207,7 @@ var PenModeButton = (props) => {
|
|
|
23122
23207
|
return /* @__PURE__ */ jsxs44(
|
|
23123
23208
|
"label",
|
|
23124
23209
|
{
|
|
23125
|
-
className:
|
|
23210
|
+
className: clsx38(
|
|
23126
23211
|
"ToolIcon ToolIcon__penMode",
|
|
23127
23212
|
`ToolIcon_size_${DEFAULT_SIZE2}`,
|
|
23128
23213
|
{
|
|
@@ -23131,7 +23216,7 @@ var PenModeButton = (props) => {
|
|
|
23131
23216
|
),
|
|
23132
23217
|
title: `${props.title}`,
|
|
23133
23218
|
children: [
|
|
23134
|
-
/* @__PURE__ */
|
|
23219
|
+
/* @__PURE__ */ jsx86(
|
|
23135
23220
|
"input",
|
|
23136
23221
|
{
|
|
23137
23222
|
className: "ToolIcon_type_checkbox",
|
|
@@ -23142,25 +23227,25 @@ var PenModeButton = (props) => {
|
|
|
23142
23227
|
"aria-label": props.title
|
|
23143
23228
|
}
|
|
23144
23229
|
),
|
|
23145
|
-
/* @__PURE__ */
|
|
23230
|
+
/* @__PURE__ */ jsx86("div", { className: "ToolIcon__icon", children: PenModeIcon })
|
|
23146
23231
|
]
|
|
23147
23232
|
}
|
|
23148
23233
|
);
|
|
23149
23234
|
};
|
|
23150
23235
|
|
|
23151
23236
|
// components/Section.tsx
|
|
23152
|
-
import { Fragment as Fragment10, jsx as
|
|
23237
|
+
import { Fragment as Fragment10, jsx as jsx87, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
23153
23238
|
var Section = ({ heading, children, ...props }) => {
|
|
23154
23239
|
const { id } = useExcalidrawContainer();
|
|
23155
|
-
const header = /* @__PURE__ */
|
|
23156
|
-
return /* @__PURE__ */
|
|
23240
|
+
const header = /* @__PURE__ */ jsx87("h2", { className: "visually-hidden", id: `${id}-${heading}-title`, children: t(`headings.${heading}`) });
|
|
23241
|
+
return /* @__PURE__ */ jsx87("section", { ...props, "aria-labelledby": `${id}-${heading}-title`, children: typeof children === "function" ? children(header) : /* @__PURE__ */ jsxs45(Fragment10, { children: [
|
|
23157
23242
|
header,
|
|
23158
23243
|
children
|
|
23159
23244
|
] }) });
|
|
23160
23245
|
};
|
|
23161
23246
|
|
|
23162
23247
|
// components/MobileMenu.tsx
|
|
23163
|
-
import { Fragment as Fragment11, jsx as
|
|
23248
|
+
import { Fragment as Fragment11, jsx as jsx88, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
23164
23249
|
var MobileMenu = ({
|
|
23165
23250
|
appState,
|
|
23166
23251
|
elements,
|
|
@@ -23184,11 +23269,11 @@ var MobileMenu = ({
|
|
|
23184
23269
|
} = useTunnels();
|
|
23185
23270
|
const renderToolbar = () => {
|
|
23186
23271
|
return /* @__PURE__ */ jsxs46(FixedSideContainer, { side: "top", className: "App-top-bar", children: [
|
|
23187
|
-
renderWelcomeScreen && /* @__PURE__ */
|
|
23188
|
-
/* @__PURE__ */
|
|
23272
|
+
renderWelcomeScreen && /* @__PURE__ */ jsx88(WelcomeScreenCenterTunnel.Out, {}),
|
|
23273
|
+
/* @__PURE__ */ jsx88(Section, { heading: "shapes", children: (heading) => /* @__PURE__ */ jsx88(Stack_default.Col, { gap: 4, align: "center", children: /* @__PURE__ */ jsxs46(Stack_default.Row, { gap: 1, className: "App-toolbar-container", children: [
|
|
23189
23274
|
/* @__PURE__ */ jsxs46(Island, { padding: 1, className: "App-toolbar App-toolbar--mobile", children: [
|
|
23190
23275
|
heading,
|
|
23191
|
-
/* @__PURE__ */
|
|
23276
|
+
/* @__PURE__ */ jsx88(Stack_default.Row, { gap: 1, children: /* @__PURE__ */ jsx88(
|
|
23192
23277
|
ShapesSwitcher,
|
|
23193
23278
|
{
|
|
23194
23279
|
appState,
|
|
@@ -23200,8 +23285,8 @@ var MobileMenu = ({
|
|
|
23200
23285
|
] }),
|
|
23201
23286
|
renderTopRightUI && renderTopRightUI(true, appState),
|
|
23202
23287
|
/* @__PURE__ */ jsxs46("div", { className: "mobile-misc-tools-container", children: [
|
|
23203
|
-
!appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && /* @__PURE__ */
|
|
23204
|
-
/* @__PURE__ */
|
|
23288
|
+
!appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && /* @__PURE__ */ jsx88(DefaultSidebarTriggerTunnel.Out, {}),
|
|
23289
|
+
/* @__PURE__ */ jsx88(
|
|
23205
23290
|
PenModeButton,
|
|
23206
23291
|
{
|
|
23207
23292
|
checked: appState.penMode,
|
|
@@ -23211,7 +23296,7 @@ var MobileMenu = ({
|
|
|
23211
23296
|
penDetected: appState.penDetected
|
|
23212
23297
|
}
|
|
23213
23298
|
),
|
|
23214
|
-
/* @__PURE__ */
|
|
23299
|
+
/* @__PURE__ */ jsx88(
|
|
23215
23300
|
LockButton,
|
|
23216
23301
|
{
|
|
23217
23302
|
checked: appState.activeTool.locked,
|
|
@@ -23220,7 +23305,7 @@ var MobileMenu = ({
|
|
|
23220
23305
|
isMobile: true
|
|
23221
23306
|
}
|
|
23222
23307
|
),
|
|
23223
|
-
/* @__PURE__ */
|
|
23308
|
+
/* @__PURE__ */ jsx88(
|
|
23224
23309
|
HandButton,
|
|
23225
23310
|
{
|
|
23226
23311
|
checked: isHandToolActive(appState),
|
|
@@ -23231,7 +23316,7 @@ var MobileMenu = ({
|
|
|
23231
23316
|
)
|
|
23232
23317
|
] })
|
|
23233
23318
|
] }) }) }),
|
|
23234
|
-
/* @__PURE__ */
|
|
23319
|
+
/* @__PURE__ */ jsx88(
|
|
23235
23320
|
HintViewer,
|
|
23236
23321
|
{
|
|
23237
23322
|
appState,
|
|
@@ -23244,11 +23329,14 @@ var MobileMenu = ({
|
|
|
23244
23329
|
};
|
|
23245
23330
|
const renderAppToolbar = () => {
|
|
23246
23331
|
if (appState.viewModeEnabled || appState.openDialog?.name === "elementLinkSelector") {
|
|
23247
|
-
return /* @__PURE__ */
|
|
23332
|
+
return /* @__PURE__ */ jsxs46("div", { className: "App-toolbar-content", children: [
|
|
23333
|
+
actionManager.renderAction("viewMode"),
|
|
23334
|
+
/* @__PURE__ */ jsx88(MainMenuTunnel.Out, {})
|
|
23335
|
+
] });
|
|
23248
23336
|
}
|
|
23249
23337
|
return /* @__PURE__ */ jsxs46("div", { className: "App-toolbar-content", children: [
|
|
23250
23338
|
/* @__PURE__ */ jsxs46("div", { children: [
|
|
23251
|
-
actionManager.renderAction("
|
|
23339
|
+
actionManager.renderAction("viewMode"),
|
|
23252
23340
|
actionManager.renderAction("undo"),
|
|
23253
23341
|
actionManager.renderAction("redo")
|
|
23254
23342
|
] }),
|
|
@@ -23262,7 +23350,7 @@ var MobileMenu = ({
|
|
|
23262
23350
|
return /* @__PURE__ */ jsxs46(Fragment11, { children: [
|
|
23263
23351
|
renderSidebars(),
|
|
23264
23352
|
!appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && renderToolbar(),
|
|
23265
|
-
/* @__PURE__ */
|
|
23353
|
+
/* @__PURE__ */ jsx88(
|
|
23266
23354
|
"div",
|
|
23267
23355
|
{
|
|
23268
23356
|
className: "App-bottom-bar",
|
|
@@ -23272,7 +23360,7 @@ var MobileMenu = ({
|
|
|
23272
23360
|
marginRight: SCROLLBAR_WIDTH + SCROLLBAR_MARGIN * 2
|
|
23273
23361
|
},
|
|
23274
23362
|
children: /* @__PURE__ */ jsxs46(Island, { padding: 0, children: [
|
|
23275
|
-
appState.openMenu === "shape" && !appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && showSelectedShapeActions(appState, elements) ? /* @__PURE__ */
|
|
23363
|
+
appState.openMenu === "shape" && !appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && showSelectedShapeActions(appState, elements) ? /* @__PURE__ */ jsx88(Section, { className: "App-mobile-menu", heading: "selectedShapeActions", children: /* @__PURE__ */ jsx88(
|
|
23276
23364
|
SelectedShapeActions,
|
|
23277
23365
|
{
|
|
23278
23366
|
appState,
|
|
@@ -23283,7 +23371,7 @@ var MobileMenu = ({
|
|
|
23283
23371
|
) }) : null,
|
|
23284
23372
|
/* @__PURE__ */ jsxs46("footer", { className: "App-toolbar", children: [
|
|
23285
23373
|
renderAppToolbar(),
|
|
23286
|
-
appState.scrolledOutside && !appState.openMenu && !appState.openSidebar && /* @__PURE__ */
|
|
23374
|
+
appState.scrolledOutside && !appState.openMenu && !appState.openSidebar && /* @__PURE__ */ jsx88(
|
|
23287
23375
|
"button",
|
|
23288
23376
|
{
|
|
23289
23377
|
type: "button",
|
|
@@ -23306,7 +23394,7 @@ var MobileMenu = ({
|
|
|
23306
23394
|
// components/PasteChartDialog.tsx
|
|
23307
23395
|
import oc2 from "open-color";
|
|
23308
23396
|
import React29, { useLayoutEffect as useLayoutEffect5, useRef as useRef24, useState as useState24 } from "react";
|
|
23309
|
-
import { jsx as
|
|
23397
|
+
import { jsx as jsx89, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
23310
23398
|
var ChartPreviewBtn = (props) => {
|
|
23311
23399
|
const previewRef = useRef24(null);
|
|
23312
23400
|
const [chartElements, setChartElements] = useState24(
|
|
@@ -23349,7 +23437,7 @@ var ChartPreviewBtn = (props) => {
|
|
|
23349
23437
|
previewNode.replaceChildren();
|
|
23350
23438
|
};
|
|
23351
23439
|
}, [props.spreadsheet, props.chartType, props.selected]);
|
|
23352
|
-
return /* @__PURE__ */
|
|
23440
|
+
return /* @__PURE__ */ jsx89(
|
|
23353
23441
|
"button",
|
|
23354
23442
|
{
|
|
23355
23443
|
type: "button",
|
|
@@ -23359,7 +23447,7 @@ var ChartPreviewBtn = (props) => {
|
|
|
23359
23447
|
props.onClick(props.chartType, chartElements);
|
|
23360
23448
|
}
|
|
23361
23449
|
},
|
|
23362
|
-
children: /* @__PURE__ */
|
|
23450
|
+
children: /* @__PURE__ */ jsx89("div", { ref: previewRef })
|
|
23363
23451
|
}
|
|
23364
23452
|
);
|
|
23365
23453
|
};
|
|
@@ -23385,7 +23473,7 @@ var PasteChartDialog = ({
|
|
|
23385
23473
|
}
|
|
23386
23474
|
});
|
|
23387
23475
|
};
|
|
23388
|
-
return /* @__PURE__ */
|
|
23476
|
+
return /* @__PURE__ */ jsx89(
|
|
23389
23477
|
Dialog,
|
|
23390
23478
|
{
|
|
23391
23479
|
size: "small",
|
|
@@ -23394,7 +23482,7 @@ var PasteChartDialog = ({
|
|
|
23394
23482
|
className: "PasteChartDialog",
|
|
23395
23483
|
autofocus: false,
|
|
23396
23484
|
children: /* @__PURE__ */ jsxs47("div", { className: "container", children: [
|
|
23397
|
-
/* @__PURE__ */
|
|
23485
|
+
/* @__PURE__ */ jsx89(
|
|
23398
23486
|
ChartPreviewBtn,
|
|
23399
23487
|
{
|
|
23400
23488
|
chartType: "bar",
|
|
@@ -23403,7 +23491,7 @@ var PasteChartDialog = ({
|
|
|
23403
23491
|
onClick: handleChartClick
|
|
23404
23492
|
}
|
|
23405
23493
|
),
|
|
23406
|
-
/* @__PURE__ */
|
|
23494
|
+
/* @__PURE__ */ jsx89(
|
|
23407
23495
|
ChartPreviewBtn,
|
|
23408
23496
|
{
|
|
23409
23497
|
chartType: "line",
|
|
@@ -23419,16 +23507,16 @@ var PasteChartDialog = ({
|
|
|
23419
23507
|
|
|
23420
23508
|
// components/UserList.tsx
|
|
23421
23509
|
import * as Popover7 from "@radix-ui/react-popover";
|
|
23422
|
-
import
|
|
23510
|
+
import clsx39 from "clsx";
|
|
23423
23511
|
import React30, { useLayoutEffect as useLayoutEffect6 } from "react";
|
|
23424
|
-
import { Fragment as Fragment12, jsx as
|
|
23512
|
+
import { Fragment as Fragment12, jsx as jsx90, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
23425
23513
|
var DEFAULT_MAX_AVATARS = 4;
|
|
23426
23514
|
var SHOW_COLLABORATORS_FILTER_AT = 8;
|
|
23427
23515
|
var ConditionalTooltipWrapper = ({
|
|
23428
23516
|
shouldWrap,
|
|
23429
23517
|
children,
|
|
23430
23518
|
username
|
|
23431
|
-
}) => shouldWrap ? /* @__PURE__ */
|
|
23519
|
+
}) => shouldWrap ? /* @__PURE__ */ jsx90(Tooltip, { label: username || "Unknown user", children }) : /* @__PURE__ */ jsx90(Fragment12, { children });
|
|
23432
23520
|
var renderCollaborator = ({
|
|
23433
23521
|
actionManager,
|
|
23434
23522
|
collaborator,
|
|
@@ -23444,7 +23532,7 @@ var renderCollaborator = ({
|
|
|
23444
23532
|
isBeingFollowed
|
|
23445
23533
|
};
|
|
23446
23534
|
const avatarJSX = actionManager.renderAction("goToCollaborator", data);
|
|
23447
|
-
return /* @__PURE__ */
|
|
23535
|
+
return /* @__PURE__ */ jsx90(
|
|
23448
23536
|
ConditionalTooltipWrapper,
|
|
23449
23537
|
{
|
|
23450
23538
|
username: collaborator.username,
|
|
@@ -23519,7 +23607,7 @@ var UserList = React30.memo(
|
|
|
23519
23607
|
isBeingFollowed: collaborator.socketId === userToFollow
|
|
23520
23608
|
})
|
|
23521
23609
|
);
|
|
23522
|
-
return mobile ? /* @__PURE__ */
|
|
23610
|
+
return mobile ? /* @__PURE__ */ jsx90("div", { className: clsx39("UserList UserList_mobile", className), children: uniqueCollaboratorsArray.map(
|
|
23523
23611
|
(collaborator) => renderCollaborator({
|
|
23524
23612
|
actionManager,
|
|
23525
23613
|
collaborator,
|
|
@@ -23527,10 +23615,10 @@ var UserList = React30.memo(
|
|
|
23527
23615
|
shouldWrapWithTooltip: true,
|
|
23528
23616
|
isBeingFollowed: collaborator.socketId === userToFollow
|
|
23529
23617
|
})
|
|
23530
|
-
) }) : /* @__PURE__ */
|
|
23618
|
+
) }) : /* @__PURE__ */ jsx90("div", { className: "UserList__wrapper", ref: userListWrapper, children: /* @__PURE__ */ jsxs48(
|
|
23531
23619
|
"div",
|
|
23532
23620
|
{
|
|
23533
|
-
className:
|
|
23621
|
+
className: clsx39("UserList", className),
|
|
23534
23622
|
style: { [`--max-avatars`]: maxAvatars },
|
|
23535
23623
|
children: [
|
|
23536
23624
|
firstNAvatarsJSX,
|
|
@@ -23539,7 +23627,7 @@ var UserList = React30.memo(
|
|
|
23539
23627
|
"+",
|
|
23540
23628
|
uniqueCollaboratorsArray.length - maxAvatars + 1
|
|
23541
23629
|
] }),
|
|
23542
|
-
/* @__PURE__ */
|
|
23630
|
+
/* @__PURE__ */ jsx90(
|
|
23543
23631
|
Popover7.Content,
|
|
23544
23632
|
{
|
|
23545
23633
|
style: {
|
|
@@ -23550,20 +23638,20 @@ var UserList = React30.memo(
|
|
|
23550
23638
|
align: "end",
|
|
23551
23639
|
sideOffset: 10,
|
|
23552
23640
|
children: /* @__PURE__ */ jsxs48(Island, { padding: 2, children: [
|
|
23553
|
-
uniqueCollaboratorsArray.length >= SHOW_COLLABORATORS_FILTER_AT && /* @__PURE__ */
|
|
23641
|
+
uniqueCollaboratorsArray.length >= SHOW_COLLABORATORS_FILTER_AT && /* @__PURE__ */ jsx90(
|
|
23554
23642
|
QuickSearch,
|
|
23555
23643
|
{
|
|
23556
23644
|
placeholder: t("quickSearch.placeholder"),
|
|
23557
23645
|
onChange: setSearchTerm
|
|
23558
23646
|
}
|
|
23559
23647
|
),
|
|
23560
|
-
/* @__PURE__ */
|
|
23648
|
+
/* @__PURE__ */ jsx90(
|
|
23561
23649
|
ScrollableList,
|
|
23562
23650
|
{
|
|
23563
23651
|
className: "dropdown-menu UserList__collaborators",
|
|
23564
23652
|
placeholder: t("userList.empty"),
|
|
23565
23653
|
children: filteredCollaborators.length > 0 ? [
|
|
23566
|
-
/* @__PURE__ */
|
|
23654
|
+
/* @__PURE__ */ jsx90("div", { className: "hint", children: t("userList.hint.text") }),
|
|
23567
23655
|
filteredCollaborators.map(
|
|
23568
23656
|
(collaborator) => renderCollaborator({
|
|
23569
23657
|
actionManager,
|
|
@@ -23576,7 +23664,7 @@ var UserList = React30.memo(
|
|
|
23576
23664
|
] : []
|
|
23577
23665
|
}
|
|
23578
23666
|
),
|
|
23579
|
-
/* @__PURE__ */
|
|
23667
|
+
/* @__PURE__ */ jsx90(
|
|
23580
23668
|
Popover7.Arrow,
|
|
23581
23669
|
{
|
|
23582
23670
|
width: 20,
|
|
@@ -23617,11 +23705,11 @@ var UserList = React30.memo(
|
|
|
23617
23705
|
);
|
|
23618
23706
|
|
|
23619
23707
|
// components/footer/Footer.tsx
|
|
23620
|
-
import
|
|
23708
|
+
import clsx40 from "clsx";
|
|
23621
23709
|
|
|
23622
23710
|
// components/HelpButton.tsx
|
|
23623
|
-
import { jsx as
|
|
23624
|
-
var HelpButton = (props) => /* @__PURE__ */
|
|
23711
|
+
import { jsx as jsx91 } from "react/jsx-runtime";
|
|
23712
|
+
var HelpButton = (props) => /* @__PURE__ */ jsx91(
|
|
23625
23713
|
"button",
|
|
23626
23714
|
{
|
|
23627
23715
|
className: "help-icon",
|
|
@@ -23634,7 +23722,7 @@ var HelpButton = (props) => /* @__PURE__ */ jsx90(
|
|
|
23634
23722
|
);
|
|
23635
23723
|
|
|
23636
23724
|
// components/footer/Footer.tsx
|
|
23637
|
-
import { jsx as
|
|
23725
|
+
import { jsx as jsx92, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
23638
23726
|
var Footer = ({
|
|
23639
23727
|
appState,
|
|
23640
23728
|
actionManager,
|
|
@@ -23650,35 +23738,36 @@ var Footer = ({
|
|
|
23650
23738
|
role: "contentinfo",
|
|
23651
23739
|
className: "layer-ui__wrapper__footer App-menu App-menu_bottom",
|
|
23652
23740
|
children: [
|
|
23653
|
-
/* @__PURE__ */
|
|
23741
|
+
/* @__PURE__ */ jsx92(
|
|
23654
23742
|
"div",
|
|
23655
23743
|
{
|
|
23656
|
-
className:
|
|
23744
|
+
className: clsx40("layer-ui__wrapper__footer-left zen-mode-transition", {
|
|
23657
23745
|
"layer-ui__wrapper__footer-left--transition-left": appState.zenModeEnabled
|
|
23658
23746
|
}),
|
|
23659
|
-
children: /* @__PURE__ */
|
|
23660
|
-
/* @__PURE__ */
|
|
23661
|
-
/* @__PURE__ */
|
|
23747
|
+
children: /* @__PURE__ */ jsx92(Stack_default.Col, { gap: 2, children: /* @__PURE__ */ jsxs49(Section, { heading: "canvasActions", children: [
|
|
23748
|
+
/* @__PURE__ */ jsx92(Tooltip, { label: t("labels.viewMode"), children: /* @__PURE__ */ jsx92("div", { className: clsx40("view-mode-button"), children: actionManager.renderAction("viewMode") }) }),
|
|
23749
|
+
/* @__PURE__ */ jsx92(Tooltip, { label: t("buttons.smartZoom"), children: /* @__PURE__ */ jsx92("div", { className: clsx40("smart-zoom-button"), children: actionManager.renderAction("smartZoom") }) }),
|
|
23750
|
+
/* @__PURE__ */ jsx92(
|
|
23662
23751
|
ZoomActions,
|
|
23663
23752
|
{
|
|
23664
23753
|
renderAction: actionManager.renderAction,
|
|
23665
23754
|
zoom: appState.zoom
|
|
23666
23755
|
}
|
|
23667
23756
|
),
|
|
23668
|
-
!appState.viewModeEnabled && /* @__PURE__ */
|
|
23757
|
+
!appState.viewModeEnabled && /* @__PURE__ */ jsx92(
|
|
23669
23758
|
UndoRedoActions,
|
|
23670
23759
|
{
|
|
23671
23760
|
renderAction: actionManager.renderAction,
|
|
23672
|
-
className:
|
|
23761
|
+
className: clsx40("zen-mode-transition", {
|
|
23673
23762
|
"layer-ui__wrapper__footer-left--transition-bottom": appState.zenModeEnabled
|
|
23674
23763
|
})
|
|
23675
23764
|
}
|
|
23676
23765
|
),
|
|
23677
|
-
showFinalize && /* @__PURE__ */
|
|
23766
|
+
showFinalize && /* @__PURE__ */ jsx92(
|
|
23678
23767
|
FinalizeAction,
|
|
23679
23768
|
{
|
|
23680
23769
|
renderAction: actionManager.renderAction,
|
|
23681
|
-
className:
|
|
23770
|
+
className: clsx40("zen-mode-transition", {
|
|
23682
23771
|
"layer-ui__wrapper__footer-left--transition-left": appState.zenModeEnabled
|
|
23683
23772
|
})
|
|
23684
23773
|
}
|
|
@@ -23686,16 +23775,16 @@ var Footer = ({
|
|
|
23686
23775
|
] }) })
|
|
23687
23776
|
}
|
|
23688
23777
|
),
|
|
23689
|
-
/* @__PURE__ */
|
|
23690
|
-
/* @__PURE__ */
|
|
23778
|
+
/* @__PURE__ */ jsx92(FooterCenterTunnel.Out, {}),
|
|
23779
|
+
/* @__PURE__ */ jsx92(
|
|
23691
23780
|
"div",
|
|
23692
23781
|
{
|
|
23693
|
-
className:
|
|
23782
|
+
className: clsx40("layer-ui__wrapper__footer-right zen-mode-transition", {
|
|
23694
23783
|
"transition-right": appState.zenModeEnabled
|
|
23695
23784
|
}),
|
|
23696
23785
|
children: /* @__PURE__ */ jsxs49("div", { style: { position: "relative" }, children: [
|
|
23697
|
-
renderWelcomeScreen && /* @__PURE__ */
|
|
23698
|
-
/* @__PURE__ */
|
|
23786
|
+
renderWelcomeScreen && /* @__PURE__ */ jsx92(WelcomeScreenHelpHintTunnel.Out, {}),
|
|
23787
|
+
/* @__PURE__ */ jsx92(
|
|
23699
23788
|
HelpButton,
|
|
23700
23789
|
{
|
|
23701
23790
|
onClick: () => actionManager.executeAction(actionShortcuts)
|
|
@@ -23704,7 +23793,7 @@ var Footer = ({
|
|
|
23704
23793
|
] })
|
|
23705
23794
|
}
|
|
23706
23795
|
),
|
|
23707
|
-
/* @__PURE__ */
|
|
23796
|
+
/* @__PURE__ */ jsx92(
|
|
23708
23797
|
ExitZenModeAction,
|
|
23709
23798
|
{
|
|
23710
23799
|
actionManager,
|
|
@@ -23719,7 +23808,7 @@ var Footer_default = Footer;
|
|
|
23719
23808
|
Footer.displayName = "Footer";
|
|
23720
23809
|
|
|
23721
23810
|
// components/Sidebar/Sidebar.tsx
|
|
23722
|
-
import
|
|
23811
|
+
import clsx43 from "clsx";
|
|
23723
23812
|
import {
|
|
23724
23813
|
useEffect as useEffect30,
|
|
23725
23814
|
useLayoutEffect as useLayoutEffect7,
|
|
@@ -23731,7 +23820,7 @@ import {
|
|
|
23731
23820
|
} from "react";
|
|
23732
23821
|
|
|
23733
23822
|
// components/Sidebar/SidebarHeader.tsx
|
|
23734
|
-
import
|
|
23823
|
+
import clsx41 from "clsx";
|
|
23735
23824
|
import { useContext as useContext2 } from "react";
|
|
23736
23825
|
|
|
23737
23826
|
// components/Sidebar/common.ts
|
|
@@ -23739,7 +23828,7 @@ import React31 from "react";
|
|
|
23739
23828
|
var SidebarPropsContext = React31.createContext({});
|
|
23740
23829
|
|
|
23741
23830
|
// components/Sidebar/SidebarHeader.tsx
|
|
23742
|
-
import { jsx as
|
|
23831
|
+
import { jsx as jsx93, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
23743
23832
|
var SidebarHeader = ({
|
|
23744
23833
|
children,
|
|
23745
23834
|
className
|
|
@@ -23750,12 +23839,12 @@ var SidebarHeader = ({
|
|
|
23750
23839
|
return /* @__PURE__ */ jsxs50(
|
|
23751
23840
|
"div",
|
|
23752
23841
|
{
|
|
23753
|
-
className:
|
|
23842
|
+
className: clsx41("sidebar__header", className),
|
|
23754
23843
|
"data-testid": "sidebar-header",
|
|
23755
23844
|
children: [
|
|
23756
23845
|
children,
|
|
23757
23846
|
/* @__PURE__ */ jsxs50("div", { className: "sidebar__header__buttons", children: [
|
|
23758
|
-
renderDockButton && /* @__PURE__ */
|
|
23847
|
+
renderDockButton && /* @__PURE__ */ jsx93(Tooltip, { label: t("labels.sidebarLock"), children: /* @__PURE__ */ jsx93(
|
|
23759
23848
|
Button,
|
|
23760
23849
|
{
|
|
23761
23850
|
onSelect: () => props.onDock?.(!props.docked),
|
|
@@ -23766,7 +23855,7 @@ var SidebarHeader = ({
|
|
|
23766
23855
|
children: PinIcon
|
|
23767
23856
|
}
|
|
23768
23857
|
) }),
|
|
23769
|
-
/* @__PURE__ */
|
|
23858
|
+
/* @__PURE__ */ jsx93(
|
|
23770
23859
|
Button,
|
|
23771
23860
|
{
|
|
23772
23861
|
"data-testid": "sidebar-close",
|
|
@@ -23785,14 +23874,14 @@ SidebarHeader.displayName = "SidebarHeader";
|
|
|
23785
23874
|
|
|
23786
23875
|
// components/Sidebar/SidebarTabTrigger.tsx
|
|
23787
23876
|
import * as RadixTabs from "@radix-ui/react-tabs";
|
|
23788
|
-
import { jsx as
|
|
23877
|
+
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
23789
23878
|
var SidebarTabTrigger = ({
|
|
23790
23879
|
children,
|
|
23791
23880
|
tab,
|
|
23792
23881
|
onSelect,
|
|
23793
23882
|
...rest
|
|
23794
23883
|
}) => {
|
|
23795
|
-
return /* @__PURE__ */
|
|
23884
|
+
return /* @__PURE__ */ jsx94(RadixTabs.Trigger, { value: tab, asChild: true, onSelect, children: /* @__PURE__ */ jsx94(
|
|
23796
23885
|
"button",
|
|
23797
23886
|
{
|
|
23798
23887
|
type: "button",
|
|
@@ -23806,18 +23895,18 @@ SidebarTabTrigger.displayName = "SidebarTabTrigger";
|
|
|
23806
23895
|
|
|
23807
23896
|
// components/Sidebar/SidebarTabTriggers.tsx
|
|
23808
23897
|
import * as RadixTabs2 from "@radix-ui/react-tabs";
|
|
23809
|
-
import { jsx as
|
|
23898
|
+
import { jsx as jsx95 } from "react/jsx-runtime";
|
|
23810
23899
|
var SidebarTabTriggers = ({
|
|
23811
23900
|
children,
|
|
23812
23901
|
...rest
|
|
23813
23902
|
}) => {
|
|
23814
|
-
return /* @__PURE__ */
|
|
23903
|
+
return /* @__PURE__ */ jsx95(RadixTabs2.List, { className: "sidebar-triggers", ...rest, children });
|
|
23815
23904
|
};
|
|
23816
23905
|
SidebarTabTriggers.displayName = "SidebarTabTriggers";
|
|
23817
23906
|
|
|
23818
23907
|
// components/Sidebar/SidebarTrigger.tsx
|
|
23819
|
-
import
|
|
23820
|
-
import { jsx as
|
|
23908
|
+
import clsx42 from "clsx";
|
|
23909
|
+
import { jsx as jsx96, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
23821
23910
|
var SidebarTrigger = ({
|
|
23822
23911
|
name,
|
|
23823
23912
|
tab,
|
|
@@ -23831,7 +23920,7 @@ var SidebarTrigger = ({
|
|
|
23831
23920
|
const setAppState = useExcalidrawSetAppState();
|
|
23832
23921
|
const appState = useUIAppState();
|
|
23833
23922
|
return /* @__PURE__ */ jsxs51("label", { title, className: "sidebar-trigger__label-element", children: [
|
|
23834
|
-
/* @__PURE__ */
|
|
23923
|
+
/* @__PURE__ */ jsx96(
|
|
23835
23924
|
"input",
|
|
23836
23925
|
{
|
|
23837
23926
|
className: "ToolIcon_type_checkbox",
|
|
@@ -23847,9 +23936,9 @@ var SidebarTrigger = ({
|
|
|
23847
23936
|
"aria-keyshortcuts": "0"
|
|
23848
23937
|
}
|
|
23849
23938
|
),
|
|
23850
|
-
/* @__PURE__ */ jsxs51("div", { className:
|
|
23851
|
-
icon && /* @__PURE__ */
|
|
23852
|
-
children && /* @__PURE__ */
|
|
23939
|
+
/* @__PURE__ */ jsxs51("div", { className: clsx42("sidebar-trigger", className), style, children: [
|
|
23940
|
+
icon && /* @__PURE__ */ jsx96("div", { children: icon }),
|
|
23941
|
+
children && /* @__PURE__ */ jsx96("div", { className: "sidebar-trigger__label", children })
|
|
23853
23942
|
] })
|
|
23854
23943
|
] });
|
|
23855
23944
|
};
|
|
@@ -23857,7 +23946,7 @@ SidebarTrigger.displayName = "SidebarTrigger";
|
|
|
23857
23946
|
|
|
23858
23947
|
// components/Sidebar/SidebarTabs.tsx
|
|
23859
23948
|
import * as RadixTabs3 from "@radix-ui/react-tabs";
|
|
23860
|
-
import { jsx as
|
|
23949
|
+
import { jsx as jsx97 } from "react/jsx-runtime";
|
|
23861
23950
|
var SidebarTabs = ({
|
|
23862
23951
|
children,
|
|
23863
23952
|
...rest
|
|
@@ -23868,7 +23957,7 @@ var SidebarTabs = ({
|
|
|
23868
23957
|
return null;
|
|
23869
23958
|
}
|
|
23870
23959
|
const { name } = appState.openSidebar;
|
|
23871
|
-
return /* @__PURE__ */
|
|
23960
|
+
return /* @__PURE__ */ jsx97(
|
|
23872
23961
|
RadixTabs3.Root,
|
|
23873
23962
|
{
|
|
23874
23963
|
className: "sidebar-tabs-root",
|
|
@@ -23886,18 +23975,18 @@ SidebarTabs.displayName = "SidebarTabs";
|
|
|
23886
23975
|
|
|
23887
23976
|
// components/Sidebar/SidebarTab.tsx
|
|
23888
23977
|
import * as RadixTabs4 from "@radix-ui/react-tabs";
|
|
23889
|
-
import { jsx as
|
|
23978
|
+
import { jsx as jsx98 } from "react/jsx-runtime";
|
|
23890
23979
|
var SidebarTab = ({
|
|
23891
23980
|
tab,
|
|
23892
23981
|
children,
|
|
23893
23982
|
...rest
|
|
23894
23983
|
}) => {
|
|
23895
|
-
return /* @__PURE__ */
|
|
23984
|
+
return /* @__PURE__ */ jsx98(RadixTabs4.Content, { ...rest, value: tab, "data-testid": tab, children });
|
|
23896
23985
|
};
|
|
23897
23986
|
SidebarTab.displayName = "SidebarTab";
|
|
23898
23987
|
|
|
23899
23988
|
// components/Sidebar/Sidebar.tsx
|
|
23900
|
-
import { jsx as
|
|
23989
|
+
import { jsx as jsx99 } from "react/jsx-runtime";
|
|
23901
23990
|
import { createElement } from "react";
|
|
23902
23991
|
var isSidebarDockedAtom = atom(false);
|
|
23903
23992
|
var SidebarInner = forwardRef4(
|
|
@@ -23971,13 +24060,13 @@ var SidebarInner = forwardRef4(
|
|
|
23971
24060
|
document.removeEventListener("keydown" /* KEYDOWN */, handleKeyDown);
|
|
23972
24061
|
};
|
|
23973
24062
|
}, [closeLibrary, docked, device.editor.canFitSidebar]);
|
|
23974
|
-
return /* @__PURE__ */
|
|
24063
|
+
return /* @__PURE__ */ jsx99(
|
|
23975
24064
|
Island,
|
|
23976
24065
|
{
|
|
23977
24066
|
...rest,
|
|
23978
|
-
className:
|
|
24067
|
+
className: clsx43("sidebar", { "sidebar--docked": docked }, className),
|
|
23979
24068
|
ref: islandRef,
|
|
23980
|
-
children: /* @__PURE__ */
|
|
24069
|
+
children: /* @__PURE__ */ jsx99(SidebarPropsContext.Provider, { value: headerPropsRef.current, children })
|
|
23981
24070
|
}
|
|
23982
24071
|
);
|
|
23983
24072
|
}
|
|
@@ -24025,7 +24114,7 @@ Sidebar.displayName = "Sidebar";
|
|
|
24025
24114
|
|
|
24026
24115
|
// components/hoc/withInternalFallback.tsx
|
|
24027
24116
|
import { useLayoutEffect as useLayoutEffect8, useRef as useRef26 } from "react";
|
|
24028
|
-
import { jsx as
|
|
24117
|
+
import { jsx as jsx100 } from "react/jsx-runtime";
|
|
24029
24118
|
var withInternalFallback = (componentName, Component) => {
|
|
24030
24119
|
const renderAtom = atom(0);
|
|
24031
24120
|
const WrapperComponent = (props) => {
|
|
@@ -24070,7 +24159,7 @@ var withInternalFallback = (componentName, Component) => {
|
|
|
24070
24159
|
) {
|
|
24071
24160
|
return null;
|
|
24072
24161
|
}
|
|
24073
|
-
return /* @__PURE__ */
|
|
24162
|
+
return /* @__PURE__ */ jsx100(Component, { ...props });
|
|
24074
24163
|
};
|
|
24075
24164
|
WrapperComponent.displayName = componentName;
|
|
24076
24165
|
return WrapperComponent;
|
|
@@ -24091,7 +24180,7 @@ __export(DefaultItems_exports, {
|
|
|
24091
24180
|
Socials: () => Socials,
|
|
24092
24181
|
ToggleTheme: () => ToggleTheme
|
|
24093
24182
|
});
|
|
24094
|
-
import
|
|
24183
|
+
import clsx45 from "clsx";
|
|
24095
24184
|
|
|
24096
24185
|
// components/OverwriteConfirm/OverwriteConfirmState.ts
|
|
24097
24186
|
var overwriteConfirmStateAtom = atom({
|
|
@@ -24118,23 +24207,23 @@ async function openConfirmModal({
|
|
|
24118
24207
|
}
|
|
24119
24208
|
|
|
24120
24209
|
// components/RadioGroup.tsx
|
|
24121
|
-
import
|
|
24122
|
-
import { jsx as
|
|
24210
|
+
import clsx44 from "clsx";
|
|
24211
|
+
import { jsx as jsx101, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
24123
24212
|
var RadioGroup = function({
|
|
24124
24213
|
onChange,
|
|
24125
24214
|
value,
|
|
24126
24215
|
choices,
|
|
24127
24216
|
name
|
|
24128
24217
|
}) {
|
|
24129
|
-
return /* @__PURE__ */
|
|
24218
|
+
return /* @__PURE__ */ jsx101("div", { className: "RadioGroup", children: choices.map((choice) => /* @__PURE__ */ jsxs52(
|
|
24130
24219
|
"div",
|
|
24131
24220
|
{
|
|
24132
|
-
className:
|
|
24221
|
+
className: clsx44("RadioGroup__choice", {
|
|
24133
24222
|
active: choice.value === value
|
|
24134
24223
|
}),
|
|
24135
24224
|
title: choice.ariaLabel,
|
|
24136
24225
|
children: [
|
|
24137
|
-
/* @__PURE__ */
|
|
24226
|
+
/* @__PURE__ */ jsx101(
|
|
24138
24227
|
"input",
|
|
24139
24228
|
{
|
|
24140
24229
|
name,
|
|
@@ -24152,7 +24241,7 @@ var RadioGroup = function({
|
|
|
24152
24241
|
};
|
|
24153
24242
|
|
|
24154
24243
|
// components/dropdownMenu/DropdownMenuItemContentRadio.tsx
|
|
24155
|
-
import { Fragment as Fragment13, jsx as
|
|
24244
|
+
import { Fragment as Fragment13, jsx as jsx102, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
24156
24245
|
var DropdownMenuItemContentRadio = ({
|
|
24157
24246
|
value,
|
|
24158
24247
|
shortcut,
|
|
@@ -24164,8 +24253,8 @@ var DropdownMenuItemContentRadio = ({
|
|
|
24164
24253
|
const device = useDevice();
|
|
24165
24254
|
return /* @__PURE__ */ jsxs53(Fragment13, { children: [
|
|
24166
24255
|
/* @__PURE__ */ jsxs53("div", { className: "dropdown-menu-item-base dropdown-menu-item-bare", children: [
|
|
24167
|
-
/* @__PURE__ */
|
|
24168
|
-
/* @__PURE__ */
|
|
24256
|
+
/* @__PURE__ */ jsx102("label", { className: "dropdown-menu-item__text", htmlFor: name, children }),
|
|
24257
|
+
/* @__PURE__ */ jsx102(
|
|
24169
24258
|
RadioGroup,
|
|
24170
24259
|
{
|
|
24171
24260
|
name,
|
|
@@ -24175,14 +24264,14 @@ var DropdownMenuItemContentRadio = ({
|
|
|
24175
24264
|
}
|
|
24176
24265
|
)
|
|
24177
24266
|
] }),
|
|
24178
|
-
shortcut && !device.editor.isMobile && /* @__PURE__ */
|
|
24267
|
+
shortcut && !device.editor.isMobile && /* @__PURE__ */ jsx102("div", { className: "dropdown-menu-item__shortcut dropdown-menu-item__shortcut--orphaned", children: shortcut })
|
|
24179
24268
|
] });
|
|
24180
24269
|
};
|
|
24181
24270
|
DropdownMenuItemContentRadio.displayName = "DropdownMenuItemContentRadio";
|
|
24182
24271
|
var DropdownMenuItemContentRadio_default = DropdownMenuItemContentRadio;
|
|
24183
24272
|
|
|
24184
24273
|
// components/main-menu/DefaultItems.tsx
|
|
24185
|
-
import { Fragment as Fragment14, jsx as
|
|
24274
|
+
import { Fragment as Fragment14, jsx as jsx103, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
24186
24275
|
var LoadScene = () => {
|
|
24187
24276
|
const { t: t2 } = useI18n();
|
|
24188
24277
|
const actionManager = useExcalidrawActionManager();
|
|
@@ -24195,19 +24284,19 @@ var LoadScene = () => {
|
|
|
24195
24284
|
title: t2("overwriteConfirm.modal.loadFromFile.title"),
|
|
24196
24285
|
actionLabel: t2("overwriteConfirm.modal.loadFromFile.button"),
|
|
24197
24286
|
color: "warning",
|
|
24198
|
-
description: /* @__PURE__ */
|
|
24287
|
+
description: /* @__PURE__ */ jsx103(
|
|
24199
24288
|
Trans_default,
|
|
24200
24289
|
{
|
|
24201
24290
|
i18nKey: "overwriteConfirm.modal.loadFromFile.description",
|
|
24202
|
-
bold: (text) => /* @__PURE__ */
|
|
24203
|
-
br: () => /* @__PURE__ */
|
|
24291
|
+
bold: (text) => /* @__PURE__ */ jsx103("strong", { children: text }),
|
|
24292
|
+
br: () => /* @__PURE__ */ jsx103("br", {})
|
|
24204
24293
|
}
|
|
24205
24294
|
)
|
|
24206
24295
|
})) {
|
|
24207
24296
|
actionManager.executeAction(actionLoadScene);
|
|
24208
24297
|
}
|
|
24209
24298
|
};
|
|
24210
|
-
return /* @__PURE__ */
|
|
24299
|
+
return /* @__PURE__ */ jsx103(
|
|
24211
24300
|
DropdownMenuItem_default,
|
|
24212
24301
|
{
|
|
24213
24302
|
icon: LoadIcon,
|
|
@@ -24226,7 +24315,7 @@ var SaveToActiveFile = () => {
|
|
|
24226
24315
|
if (!actionManager.isActionEnabled(actionSaveToActiveFile)) {
|
|
24227
24316
|
return null;
|
|
24228
24317
|
}
|
|
24229
|
-
return /* @__PURE__ */
|
|
24318
|
+
return /* @__PURE__ */ jsx103(
|
|
24230
24319
|
DropdownMenuItem_default,
|
|
24231
24320
|
{
|
|
24232
24321
|
shortcut: getShortcutFromShortcutName("saveScene"),
|
|
@@ -24242,7 +24331,7 @@ SaveToActiveFile.displayName = "SaveToActiveFile";
|
|
|
24242
24331
|
var SaveAsImage = () => {
|
|
24243
24332
|
const setAppState = useExcalidrawSetAppState();
|
|
24244
24333
|
const { t: t2 } = useI18n();
|
|
24245
|
-
return /* @__PURE__ */
|
|
24334
|
+
return /* @__PURE__ */ jsx103(
|
|
24246
24335
|
DropdownMenuItem_default,
|
|
24247
24336
|
{
|
|
24248
24337
|
icon: ExportImageIcon,
|
|
@@ -24258,7 +24347,7 @@ SaveAsImage.displayName = "SaveAsImage";
|
|
|
24258
24347
|
var CommandPalette2 = (opts) => {
|
|
24259
24348
|
const setAppState = useExcalidrawSetAppState();
|
|
24260
24349
|
const { t: t2 } = useI18n();
|
|
24261
|
-
return /* @__PURE__ */
|
|
24350
|
+
return /* @__PURE__ */ jsx103(
|
|
24262
24351
|
DropdownMenuItem_default,
|
|
24263
24352
|
{
|
|
24264
24353
|
icon: boltIcon,
|
|
@@ -24278,7 +24367,7 @@ CommandPalette2.displayName = "CommandPalette";
|
|
|
24278
24367
|
var SearchMenu = (opts) => {
|
|
24279
24368
|
const { t: t2 } = useI18n();
|
|
24280
24369
|
const actionManager = useExcalidrawActionManager();
|
|
24281
|
-
return /* @__PURE__ */
|
|
24370
|
+
return /* @__PURE__ */ jsx103(
|
|
24282
24371
|
DropdownMenuItem_default,
|
|
24283
24372
|
{
|
|
24284
24373
|
icon: searchIcon,
|
|
@@ -24297,7 +24386,7 @@ SearchMenu.displayName = "SearchMenu";
|
|
|
24297
24386
|
var Help = () => {
|
|
24298
24387
|
const { t: t2 } = useI18n();
|
|
24299
24388
|
const actionManager = useExcalidrawActionManager();
|
|
24300
|
-
return /* @__PURE__ */
|
|
24389
|
+
return /* @__PURE__ */ jsx103(
|
|
24301
24390
|
DropdownMenuItem_default,
|
|
24302
24391
|
{
|
|
24303
24392
|
"data-testid": "help-menu-item",
|
|
@@ -24319,7 +24408,7 @@ var ToggleTheme = (props) => {
|
|
|
24319
24408
|
return null;
|
|
24320
24409
|
}
|
|
24321
24410
|
if (props?.allowSystemTheme) {
|
|
24322
|
-
return /* @__PURE__ */
|
|
24411
|
+
return /* @__PURE__ */ jsx103(
|
|
24323
24412
|
DropdownMenuItemContentRadio_default,
|
|
24324
24413
|
{
|
|
24325
24414
|
name: "theme",
|
|
@@ -24346,7 +24435,7 @@ var ToggleTheme = (props) => {
|
|
|
24346
24435
|
}
|
|
24347
24436
|
);
|
|
24348
24437
|
}
|
|
24349
|
-
return /* @__PURE__ */
|
|
24438
|
+
return /* @__PURE__ */ jsx103(
|
|
24350
24439
|
DropdownMenuItem_default,
|
|
24351
24440
|
{
|
|
24352
24441
|
onSelect: (event) => {
|
|
@@ -24377,7 +24466,7 @@ var ChangeCanvasBackground = () => {
|
|
|
24377
24466
|
return null;
|
|
24378
24467
|
}
|
|
24379
24468
|
return /* @__PURE__ */ jsxs54("div", { style: { marginTop: "0.5rem" }, children: [
|
|
24380
|
-
/* @__PURE__ */
|
|
24469
|
+
/* @__PURE__ */ jsx103(
|
|
24381
24470
|
"div",
|
|
24382
24471
|
{
|
|
24383
24472
|
"data-testid": "canvas-background-label",
|
|
@@ -24385,14 +24474,14 @@ var ChangeCanvasBackground = () => {
|
|
|
24385
24474
|
children: t2("labels.canvasBackground")
|
|
24386
24475
|
}
|
|
24387
24476
|
),
|
|
24388
|
-
/* @__PURE__ */
|
|
24477
|
+
/* @__PURE__ */ jsx103("div", { style: { padding: "0 0.625rem" }, children: actionManager.renderAction("changeViewBackgroundColor") })
|
|
24389
24478
|
] });
|
|
24390
24479
|
};
|
|
24391
24480
|
ChangeCanvasBackground.displayName = "ChangeCanvasBackground";
|
|
24392
24481
|
var Export = () => {
|
|
24393
24482
|
const { t: t2 } = useI18n();
|
|
24394
24483
|
const setAppState = useExcalidrawSetAppState();
|
|
24395
|
-
return /* @__PURE__ */
|
|
24484
|
+
return /* @__PURE__ */ jsx103(
|
|
24396
24485
|
DropdownMenuItem_default,
|
|
24397
24486
|
{
|
|
24398
24487
|
icon: ExportIcon,
|
|
@@ -24409,7 +24498,7 @@ Export.displayName = "Export";
|
|
|
24409
24498
|
var Socials = () => {
|
|
24410
24499
|
const { t: t2 } = useI18n();
|
|
24411
24500
|
return /* @__PURE__ */ jsxs54(Fragment14, { children: [
|
|
24412
|
-
/* @__PURE__ */
|
|
24501
|
+
/* @__PURE__ */ jsx103(
|
|
24413
24502
|
DropdownMenuItemLink_default,
|
|
24414
24503
|
{
|
|
24415
24504
|
icon: GithubIcon,
|
|
@@ -24418,7 +24507,7 @@ var Socials = () => {
|
|
|
24418
24507
|
children: "GitHub"
|
|
24419
24508
|
}
|
|
24420
24509
|
),
|
|
24421
|
-
/* @__PURE__ */
|
|
24510
|
+
/* @__PURE__ */ jsx103(
|
|
24422
24511
|
DropdownMenuItemLink_default,
|
|
24423
24512
|
{
|
|
24424
24513
|
icon: XBrandIcon,
|
|
@@ -24427,7 +24516,7 @@ var Socials = () => {
|
|
|
24427
24516
|
children: t2("labels.followUs")
|
|
24428
24517
|
}
|
|
24429
24518
|
),
|
|
24430
|
-
/* @__PURE__ */
|
|
24519
|
+
/* @__PURE__ */ jsx103(
|
|
24431
24520
|
DropdownMenuItemLink_default,
|
|
24432
24521
|
{
|
|
24433
24522
|
icon: DiscordIcon,
|
|
@@ -24444,12 +24533,12 @@ var LiveCollaborationTrigger = ({
|
|
|
24444
24533
|
isCollaborating
|
|
24445
24534
|
}) => {
|
|
24446
24535
|
const { t: t2 } = useI18n();
|
|
24447
|
-
return /* @__PURE__ */
|
|
24536
|
+
return /* @__PURE__ */ jsx103(
|
|
24448
24537
|
DropdownMenuItem_default,
|
|
24449
24538
|
{
|
|
24450
24539
|
"data-testid": "collab-button",
|
|
24451
24540
|
icon: usersIcon,
|
|
24452
|
-
className:
|
|
24541
|
+
className: clsx45({
|
|
24453
24542
|
"active-collab": isCollaborating
|
|
24454
24543
|
}),
|
|
24455
24544
|
onSelect,
|
|
@@ -24460,7 +24549,7 @@ var LiveCollaborationTrigger = ({
|
|
|
24460
24549
|
LiveCollaborationTrigger.displayName = "LiveCollaborationTrigger";
|
|
24461
24550
|
|
|
24462
24551
|
// components/main-menu/MainMenu.tsx
|
|
24463
|
-
import { jsx as
|
|
24552
|
+
import { jsx as jsx104, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
24464
24553
|
var MainMenu = Object.assign(
|
|
24465
24554
|
withInternalFallback(
|
|
24466
24555
|
"MainMenu",
|
|
@@ -24473,8 +24562,8 @@ var MainMenu = Object.assign(
|
|
|
24473
24562
|
const appState = useUIAppState();
|
|
24474
24563
|
const setAppState = useExcalidrawSetAppState();
|
|
24475
24564
|
const onClickOutside = device.editor.isMobile ? void 0 : () => setAppState({ openMenu: null });
|
|
24476
|
-
return /* @__PURE__ */
|
|
24477
|
-
/* @__PURE__ */
|
|
24565
|
+
return /* @__PURE__ */ jsx104(MainMenuTunnel.In, { children: /* @__PURE__ */ jsxs55(DropdownMenu_default, { open: appState.openMenu === "canvas", children: [
|
|
24566
|
+
/* @__PURE__ */ jsx104(
|
|
24478
24567
|
DropdownMenu_default.Trigger,
|
|
24479
24568
|
{
|
|
24480
24569
|
onToggle: () => {
|
|
@@ -24497,8 +24586,8 @@ var MainMenu = Object.assign(
|
|
|
24497
24586
|
children: [
|
|
24498
24587
|
children,
|
|
24499
24588
|
device.editor.isMobile && appState.collaborators.size > 0 && /* @__PURE__ */ jsxs55("fieldset", { className: "UserList-Wrapper", children: [
|
|
24500
|
-
/* @__PURE__ */
|
|
24501
|
-
/* @__PURE__ */
|
|
24589
|
+
/* @__PURE__ */ jsx104("legend", { children: t("labels.collaborators") }),
|
|
24590
|
+
/* @__PURE__ */ jsx104(
|
|
24502
24591
|
UserList,
|
|
24503
24592
|
{
|
|
24504
24593
|
mobile: true,
|
|
@@ -24526,9 +24615,9 @@ var MainMenu = Object.assign(
|
|
|
24526
24615
|
var MainMenu_default = MainMenu;
|
|
24527
24616
|
|
|
24528
24617
|
// components/FilledButton.tsx
|
|
24529
|
-
import
|
|
24618
|
+
import clsx46 from "clsx";
|
|
24530
24619
|
import { forwardRef as forwardRef5, useState as useState26 } from "react";
|
|
24531
|
-
import { jsx as
|
|
24620
|
+
import { jsx as jsx105, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
24532
24621
|
var FilledButton = forwardRef5(
|
|
24533
24622
|
({
|
|
24534
24623
|
children,
|
|
@@ -24565,10 +24654,10 @@ var FilledButton = forwardRef5(
|
|
|
24565
24654
|
};
|
|
24566
24655
|
const _status = isLoading ? "loading" : status;
|
|
24567
24656
|
color = _status === "success" ? "success" : color;
|
|
24568
|
-
return /* @__PURE__ */
|
|
24657
|
+
return /* @__PURE__ */ jsx105(
|
|
24569
24658
|
"button",
|
|
24570
24659
|
{
|
|
24571
|
-
className:
|
|
24660
|
+
className: clsx46(
|
|
24572
24661
|
"ExcButton",
|
|
24573
24662
|
`ExcButton--color-${color}`,
|
|
24574
24663
|
`ExcButton--variant-${variant}`,
|
|
@@ -24583,8 +24672,8 @@ var FilledButton = forwardRef5(
|
|
|
24583
24672
|
ref,
|
|
24584
24673
|
disabled: _status === "loading" || _status === "success",
|
|
24585
24674
|
children: /* @__PURE__ */ jsxs56("div", { className: "ExcButton__contents", children: [
|
|
24586
|
-
_status === "loading" ? /* @__PURE__ */
|
|
24587
|
-
icon && /* @__PURE__ */
|
|
24675
|
+
_status === "loading" ? /* @__PURE__ */ jsx105(Spinner_default, { className: "ExcButton__statusIcon" }) : _status === "success" && /* @__PURE__ */ jsx105("div", { className: "ExcButton__statusIcon", children: tablerCheckIcon }),
|
|
24676
|
+
icon && /* @__PURE__ */ jsx105("div", { className: "ExcButton__icon", "aria-hidden": true, children: icon }),
|
|
24588
24677
|
variant !== "icon" && (children ?? label)
|
|
24589
24678
|
] })
|
|
24590
24679
|
}
|
|
@@ -24593,7 +24682,7 @@ var FilledButton = forwardRef5(
|
|
|
24593
24682
|
);
|
|
24594
24683
|
|
|
24595
24684
|
// components/OverwriteConfirm/OverwriteConfirmActions.tsx
|
|
24596
|
-
import { jsx as
|
|
24685
|
+
import { jsx as jsx106, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
24597
24686
|
var Action = ({
|
|
24598
24687
|
title,
|
|
24599
24688
|
children,
|
|
@@ -24601,9 +24690,9 @@ var Action = ({
|
|
|
24601
24690
|
onClick
|
|
24602
24691
|
}) => {
|
|
24603
24692
|
return /* @__PURE__ */ jsxs57("div", { className: "OverwriteConfirm__Actions__Action", children: [
|
|
24604
|
-
/* @__PURE__ */
|
|
24605
|
-
/* @__PURE__ */
|
|
24606
|
-
/* @__PURE__ */
|
|
24693
|
+
/* @__PURE__ */ jsx106("h4", { children: title }),
|
|
24694
|
+
/* @__PURE__ */ jsx106("div", { className: "OverwriteConfirm__Actions__Action__content", children }),
|
|
24695
|
+
/* @__PURE__ */ jsx106(
|
|
24607
24696
|
FilledButton,
|
|
24608
24697
|
{
|
|
24609
24698
|
variant: "outlined",
|
|
@@ -24620,7 +24709,7 @@ var ExportToImage = () => {
|
|
|
24620
24709
|
const { t: t2 } = useI18n();
|
|
24621
24710
|
const actionManager = useExcalidrawActionManager();
|
|
24622
24711
|
const setAppState = useExcalidrawSetAppState();
|
|
24623
|
-
return /* @__PURE__ */
|
|
24712
|
+
return /* @__PURE__ */ jsx106(
|
|
24624
24713
|
Action,
|
|
24625
24714
|
{
|
|
24626
24715
|
title: t2("overwriteConfirm.action.exportToImage.title"),
|
|
@@ -24636,7 +24725,7 @@ var ExportToImage = () => {
|
|
|
24636
24725
|
var SaveToDisk = () => {
|
|
24637
24726
|
const { t: t2 } = useI18n();
|
|
24638
24727
|
const actionManager = useExcalidrawActionManager();
|
|
24639
|
-
return /* @__PURE__ */
|
|
24728
|
+
return /* @__PURE__ */ jsx106(
|
|
24640
24729
|
Action,
|
|
24641
24730
|
{
|
|
24642
24731
|
title: t2("overwriteConfirm.action.saveToDisk.title"),
|
|
@@ -24650,7 +24739,7 @@ var SaveToDisk = () => {
|
|
|
24650
24739
|
};
|
|
24651
24740
|
var Actions = Object.assign(
|
|
24652
24741
|
({ children }) => {
|
|
24653
|
-
return /* @__PURE__ */
|
|
24742
|
+
return /* @__PURE__ */ jsx106("div", { className: "OverwriteConfirm__Actions", children });
|
|
24654
24743
|
},
|
|
24655
24744
|
{
|
|
24656
24745
|
ExportToImage,
|
|
@@ -24659,7 +24748,7 @@ var Actions = Object.assign(
|
|
|
24659
24748
|
);
|
|
24660
24749
|
|
|
24661
24750
|
// components/OverwriteConfirm/OverwriteConfirm.tsx
|
|
24662
|
-
import { jsx as
|
|
24751
|
+
import { jsx as jsx107, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
24663
24752
|
var OverwriteConfirmDialog = Object.assign(
|
|
24664
24753
|
withInternalFallback(
|
|
24665
24754
|
"OverwriteConfirmDialog",
|
|
@@ -24679,17 +24768,17 @@ var OverwriteConfirmDialog = Object.assign(
|
|
|
24679
24768
|
overwriteConfirmState.onConfirm();
|
|
24680
24769
|
setState((state) => ({ ...state, active: false }));
|
|
24681
24770
|
};
|
|
24682
|
-
return /* @__PURE__ */
|
|
24683
|
-
/* @__PURE__ */
|
|
24771
|
+
return /* @__PURE__ */ jsx107(OverwriteConfirmDialogTunnel.In, { children: /* @__PURE__ */ jsx107(Dialog, { onCloseRequest: handleClose, title: false, size: 916, children: /* @__PURE__ */ jsxs58("div", { className: "OverwriteConfirm", children: [
|
|
24772
|
+
/* @__PURE__ */ jsx107("h3", { children: overwriteConfirmState.title }),
|
|
24684
24773
|
/* @__PURE__ */ jsxs58(
|
|
24685
24774
|
"div",
|
|
24686
24775
|
{
|
|
24687
24776
|
className: `OverwriteConfirm__Description OverwriteConfirm__Description--color-${overwriteConfirmState.color}`,
|
|
24688
24777
|
children: [
|
|
24689
|
-
/* @__PURE__ */
|
|
24690
|
-
/* @__PURE__ */
|
|
24691
|
-
/* @__PURE__ */
|
|
24692
|
-
/* @__PURE__ */
|
|
24778
|
+
/* @__PURE__ */ jsx107("div", { className: "OverwriteConfirm__Description__icon", children: alertTriangleIcon }),
|
|
24779
|
+
/* @__PURE__ */ jsx107("div", { children: overwriteConfirmState.description }),
|
|
24780
|
+
/* @__PURE__ */ jsx107("div", { className: "OverwriteConfirm__Description__spacer" }),
|
|
24781
|
+
/* @__PURE__ */ jsx107(
|
|
24693
24782
|
FilledButton,
|
|
24694
24783
|
{
|
|
24695
24784
|
color: overwriteConfirmState.color,
|
|
@@ -24701,7 +24790,7 @@ var OverwriteConfirmDialog = Object.assign(
|
|
|
24701
24790
|
]
|
|
24702
24791
|
}
|
|
24703
24792
|
),
|
|
24704
|
-
/* @__PURE__ */
|
|
24793
|
+
/* @__PURE__ */ jsx107(Actions, { children })
|
|
24705
24794
|
] }) }) });
|
|
24706
24795
|
}
|
|
24707
24796
|
),
|
|
@@ -24712,13 +24801,13 @@ var OverwriteConfirmDialog = Object.assign(
|
|
|
24712
24801
|
);
|
|
24713
24802
|
|
|
24714
24803
|
// components/DefaultSidebar.tsx
|
|
24715
|
-
import
|
|
24804
|
+
import clsx48 from "clsx";
|
|
24716
24805
|
|
|
24717
24806
|
// components/SearchMenu.tsx
|
|
24718
|
-
import
|
|
24807
|
+
import clsx47 from "clsx";
|
|
24719
24808
|
import debounce2 from "lodash.debounce";
|
|
24720
24809
|
import { Fragment as Fragment15, memo as memo4, useEffect as useEffect31, useRef as useRef27, useState as useState27 } from "react";
|
|
24721
|
-
import { Fragment as Fragment16, jsx as
|
|
24810
|
+
import { Fragment as Fragment16, jsx as jsx108, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
24722
24811
|
var searchQueryAtom = atom("");
|
|
24723
24812
|
var searchItemInFocusAtom = atom(null);
|
|
24724
24813
|
var SEARCH_DEBOUNCE = 350;
|
|
@@ -24921,7 +25010,7 @@ var SearchMenu2 = () => {
|
|
|
24921
25010
|
}, [setAppState, stableState, app]);
|
|
24922
25011
|
const matchCount = `${searchMatches.items.length} ${searchMatches.items.length === 1 ? t("search.singleResult") : t("search.multipleResults")}`;
|
|
24923
25012
|
return /* @__PURE__ */ jsxs59("div", { className: "layer-ui__search", children: [
|
|
24924
|
-
/* @__PURE__ */
|
|
25013
|
+
/* @__PURE__ */ jsx108("div", { className: "layer-ui__search-header", children: /* @__PURE__ */ jsx108(
|
|
24925
25014
|
TextField,
|
|
24926
25015
|
{
|
|
24927
25016
|
className: CLASSES.SEARCH_MENU_INPUT_WRAPPER,
|
|
@@ -24960,9 +25049,9 @@ var SearchMenu2 = () => {
|
|
|
24960
25049
|
focusIndex + 1,
|
|
24961
25050
|
" / ",
|
|
24962
25051
|
matchCount
|
|
24963
|
-
] }) : /* @__PURE__ */
|
|
25052
|
+
] }) : /* @__PURE__ */ jsx108("div", { children: matchCount }),
|
|
24964
25053
|
/* @__PURE__ */ jsxs59("div", { className: "result-nav", children: [
|
|
24965
|
-
/* @__PURE__ */
|
|
25054
|
+
/* @__PURE__ */ jsx108(
|
|
24966
25055
|
Button,
|
|
24967
25056
|
{
|
|
24968
25057
|
onSelect: () => {
|
|
@@ -24972,7 +25061,7 @@ var SearchMenu2 = () => {
|
|
|
24972
25061
|
children: collapseDownIcon
|
|
24973
25062
|
}
|
|
24974
25063
|
),
|
|
24975
|
-
/* @__PURE__ */
|
|
25064
|
+
/* @__PURE__ */ jsx108(
|
|
24976
25065
|
Button,
|
|
24977
25066
|
{
|
|
24978
25067
|
onSelect: () => {
|
|
@@ -24984,9 +25073,9 @@ var SearchMenu2 = () => {
|
|
|
24984
25073
|
)
|
|
24985
25074
|
] })
|
|
24986
25075
|
] }),
|
|
24987
|
-
searchMatches.items.length === 0 && searchQuery && searchedQueryRef.current && /* @__PURE__ */
|
|
25076
|
+
searchMatches.items.length === 0 && searchQuery && searchedQueryRef.current && /* @__PURE__ */ jsx108("div", { style: { margin: "1rem auto" }, children: t("search.noMatch") })
|
|
24988
25077
|
] }),
|
|
24989
|
-
/* @__PURE__ */
|
|
25078
|
+
/* @__PURE__ */ jsx108(
|
|
24990
25079
|
MatchList,
|
|
24991
25080
|
{
|
|
24992
25081
|
matches: searchMatches,
|
|
@@ -25010,11 +25099,11 @@ var ListItem = (props) => {
|
|
|
25010
25099
|
),
|
|
25011
25100
|
props.preview.moreAfter ? "..." : ""
|
|
25012
25101
|
];
|
|
25013
|
-
return /* @__PURE__ */
|
|
25102
|
+
return /* @__PURE__ */ jsx108(
|
|
25014
25103
|
"div",
|
|
25015
25104
|
{
|
|
25016
25105
|
tabIndex: -1,
|
|
25017
|
-
className:
|
|
25106
|
+
className: clsx47("layer-ui__result-item", {
|
|
25018
25107
|
active: props.highlighted
|
|
25019
25108
|
}),
|
|
25020
25109
|
onClick: props.onClick,
|
|
@@ -25023,12 +25112,12 @@ var ListItem = (props) => {
|
|
|
25023
25112
|
ref?.scrollIntoView({ behavior: "auto", block: "nearest" });
|
|
25024
25113
|
}
|
|
25025
25114
|
},
|
|
25026
|
-
children: /* @__PURE__ */
|
|
25115
|
+
children: /* @__PURE__ */ jsx108("div", { className: "preview-text", children: preview.flatMap((text, idx) => /* @__PURE__ */ jsx108(Fragment15, { children: idx === 2 ? /* @__PURE__ */ jsx108("b", { children: text }) : text }, idx)) })
|
|
25027
25116
|
}
|
|
25028
25117
|
);
|
|
25029
25118
|
};
|
|
25030
25119
|
var MatchListBase = (props) => {
|
|
25031
|
-
return /* @__PURE__ */
|
|
25120
|
+
return /* @__PURE__ */ jsx108("div", { className: "layer-ui__search-result-container", children: props.matches.items.map((searchMatch, index) => /* @__PURE__ */ jsx108(
|
|
25032
25121
|
ListItem,
|
|
25033
25122
|
{
|
|
25034
25123
|
searchQuery: props.searchQuery,
|
|
@@ -25209,13 +25298,13 @@ var handleSearch = debounce2(
|
|
|
25209
25298
|
);
|
|
25210
25299
|
|
|
25211
25300
|
// components/DefaultSidebar.tsx
|
|
25212
|
-
import { jsx as
|
|
25301
|
+
import { jsx as jsx109, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
25213
25302
|
import { createElement as createElement2 } from "react";
|
|
25214
25303
|
var DefaultSidebarTrigger = withInternalFallback(
|
|
25215
25304
|
"DefaultSidebarTrigger",
|
|
25216
25305
|
(props) => {
|
|
25217
25306
|
const { DefaultSidebarTriggerTunnel } = useTunnels();
|
|
25218
|
-
return /* @__PURE__ */
|
|
25307
|
+
return /* @__PURE__ */ jsx109(DefaultSidebarTriggerTunnel.In, { children: /* @__PURE__ */ jsx109(
|
|
25219
25308
|
Sidebar.Trigger,
|
|
25220
25309
|
{
|
|
25221
25310
|
...props,
|
|
@@ -25228,7 +25317,7 @@ var DefaultSidebarTrigger = withInternalFallback(
|
|
|
25228
25317
|
DefaultSidebarTrigger.displayName = "DefaultSidebarTrigger";
|
|
25229
25318
|
var DefaultTabTriggers = ({ children }) => {
|
|
25230
25319
|
const { DefaultSidebarTabTriggersTunnel } = useTunnels();
|
|
25231
|
-
return /* @__PURE__ */
|
|
25320
|
+
return /* @__PURE__ */ jsx109(DefaultSidebarTabTriggersTunnel.In, { children });
|
|
25232
25321
|
};
|
|
25233
25322
|
DefaultTabTriggers.displayName = "DefaultTabTriggers";
|
|
25234
25323
|
var DefaultSidebar = Object.assign(
|
|
@@ -25251,7 +25340,7 @@ var DefaultSidebar = Object.assign(
|
|
|
25251
25340
|
...rest,
|
|
25252
25341
|
name: "default",
|
|
25253
25342
|
key: "default",
|
|
25254
|
-
className:
|
|
25343
|
+
className: clsx48("default-sidebar", className),
|
|
25255
25344
|
docked: isForceDocked || (docked ?? appState.defaultSidebarDockedPreference),
|
|
25256
25345
|
onDock: (
|
|
25257
25346
|
// `onDock=false` disables docking.
|
|
@@ -25265,13 +25354,13 @@ var DefaultSidebar = Object.assign(
|
|
|
25265
25354
|
)
|
|
25266
25355
|
},
|
|
25267
25356
|
/* @__PURE__ */ jsxs60(Sidebar.Tabs, { children: [
|
|
25268
|
-
/* @__PURE__ */
|
|
25269
|
-
/* @__PURE__ */
|
|
25270
|
-
/* @__PURE__ */
|
|
25271
|
-
/* @__PURE__ */
|
|
25357
|
+
/* @__PURE__ */ jsx109(Sidebar.Header, { children: /* @__PURE__ */ jsxs60(Sidebar.TabTriggers, { children: [
|
|
25358
|
+
/* @__PURE__ */ jsx109(Sidebar.TabTrigger, { tab: CANVAS_SEARCH_TAB, children: searchIcon }),
|
|
25359
|
+
/* @__PURE__ */ jsx109(Sidebar.TabTrigger, { tab: LIBRARY_SIDEBAR_TAB, children: LibraryIcon }),
|
|
25360
|
+
/* @__PURE__ */ jsx109(DefaultSidebarTabTriggersTunnel.Out, {})
|
|
25272
25361
|
] }) }),
|
|
25273
|
-
/* @__PURE__ */
|
|
25274
|
-
/* @__PURE__ */
|
|
25362
|
+
/* @__PURE__ */ jsx109(Sidebar.Tab, { tab: LIBRARY_SIDEBAR_TAB, children: /* @__PURE__ */ jsx109(LibraryMenu, {}) }),
|
|
25363
|
+
/* @__PURE__ */ jsx109(Sidebar.Tab, { tab: CANVAS_SEARCH_TAB, children: /* @__PURE__ */ jsx109(SearchMenu2, {}) }),
|
|
25275
25364
|
children
|
|
25276
25365
|
] })
|
|
25277
25366
|
);
|
|
@@ -25291,7 +25380,7 @@ import { useState as useState28, useRef as useRef29, useEffect as useEffect33, u
|
|
|
25291
25380
|
|
|
25292
25381
|
// components/TTDDialog/TTDDialogInput.tsx
|
|
25293
25382
|
import { useEffect as useEffect32, useRef as useRef28 } from "react";
|
|
25294
|
-
import { jsx as
|
|
25383
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
25295
25384
|
var TTDDialogInput = ({
|
|
25296
25385
|
input,
|
|
25297
25386
|
placeholder,
|
|
@@ -25319,7 +25408,7 @@ var TTDDialogInput = ({
|
|
|
25319
25408
|
};
|
|
25320
25409
|
}
|
|
25321
25410
|
}, []);
|
|
25322
|
-
return /* @__PURE__ */
|
|
25411
|
+
return /* @__PURE__ */ jsx110(
|
|
25323
25412
|
"textarea",
|
|
25324
25413
|
{
|
|
25325
25414
|
className: "ttd-dialog-input",
|
|
@@ -25333,7 +25422,7 @@ var TTDDialogInput = ({
|
|
|
25333
25422
|
};
|
|
25334
25423
|
|
|
25335
25424
|
// components/TTDDialog/TTDDialogOutput.tsx
|
|
25336
|
-
import { jsx as
|
|
25425
|
+
import { jsx as jsx111, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
25337
25426
|
var ErrorComp = ({ error }) => {
|
|
25338
25427
|
return /* @__PURE__ */ jsxs61(
|
|
25339
25428
|
"div",
|
|
@@ -25342,7 +25431,7 @@ var ErrorComp = ({ error }) => {
|
|
|
25342
25431
|
className: "ttd-dialog-output-error",
|
|
25343
25432
|
children: [
|
|
25344
25433
|
"Error! ",
|
|
25345
|
-
/* @__PURE__ */
|
|
25434
|
+
/* @__PURE__ */ jsx111("p", { children: error })
|
|
25346
25435
|
]
|
|
25347
25436
|
}
|
|
25348
25437
|
);
|
|
@@ -25353,21 +25442,21 @@ var TTDDialogOutput = ({
|
|
|
25353
25442
|
loaded
|
|
25354
25443
|
}) => {
|
|
25355
25444
|
return /* @__PURE__ */ jsxs61("div", { className: "ttd-dialog-output-wrapper", children: [
|
|
25356
|
-
error && /* @__PURE__ */
|
|
25357
|
-
loaded ? /* @__PURE__ */
|
|
25445
|
+
error && /* @__PURE__ */ jsx111(ErrorComp, { error: error.message }),
|
|
25446
|
+
loaded ? /* @__PURE__ */ jsx111(
|
|
25358
25447
|
"div",
|
|
25359
25448
|
{
|
|
25360
25449
|
ref: canvasRef,
|
|
25361
25450
|
style: { opacity: error ? "0.15" : 1 },
|
|
25362
25451
|
className: "ttd-dialog-output-canvas-container"
|
|
25363
25452
|
}
|
|
25364
|
-
) : /* @__PURE__ */
|
|
25453
|
+
) : /* @__PURE__ */ jsx111(Spinner_default, { size: "2rem" })
|
|
25365
25454
|
] });
|
|
25366
25455
|
};
|
|
25367
25456
|
|
|
25368
25457
|
// components/TTDDialog/TTDDialogPanel.tsx
|
|
25369
|
-
import
|
|
25370
|
-
import { jsx as
|
|
25458
|
+
import clsx49 from "clsx";
|
|
25459
|
+
import { jsx as jsx112, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
25371
25460
|
var TTDDialogPanel = ({
|
|
25372
25461
|
label,
|
|
25373
25462
|
children,
|
|
@@ -25380,14 +25469,14 @@ var TTDDialogPanel = ({
|
|
|
25380
25469
|
}) => {
|
|
25381
25470
|
return /* @__PURE__ */ jsxs62("div", { className: "ttd-dialog-panel", children: [
|
|
25382
25471
|
/* @__PURE__ */ jsxs62("div", { className: "ttd-dialog-panel__header", children: [
|
|
25383
|
-
/* @__PURE__ */
|
|
25472
|
+
/* @__PURE__ */ jsx112("label", { children: label }),
|
|
25384
25473
|
renderTopRight?.()
|
|
25385
25474
|
] }),
|
|
25386
25475
|
children,
|
|
25387
25476
|
/* @__PURE__ */ jsxs62(
|
|
25388
25477
|
"div",
|
|
25389
25478
|
{
|
|
25390
|
-
className:
|
|
25479
|
+
className: clsx49("ttd-dialog-panel-button-container", {
|
|
25391
25480
|
invisible: !panelAction
|
|
25392
25481
|
}),
|
|
25393
25482
|
style: { display: "flex", alignItems: "center" },
|
|
@@ -25400,11 +25489,11 @@ var TTDDialogPanel = ({
|
|
|
25400
25489
|
},
|
|
25401
25490
|
disabled: panelActionDisabled || onTextSubmitInProgess,
|
|
25402
25491
|
children: [
|
|
25403
|
-
/* @__PURE__ */ jsxs62("div", { className:
|
|
25492
|
+
/* @__PURE__ */ jsxs62("div", { className: clsx49({ invisible: onTextSubmitInProgess }), children: [
|
|
25404
25493
|
panelAction?.label,
|
|
25405
|
-
panelAction?.icon && /* @__PURE__ */
|
|
25494
|
+
panelAction?.icon && /* @__PURE__ */ jsx112("span", { children: panelAction.icon })
|
|
25406
25495
|
] }),
|
|
25407
|
-
onTextSubmitInProgess && /* @__PURE__ */
|
|
25496
|
+
onTextSubmitInProgess && /* @__PURE__ */ jsx112(Spinner_default, {})
|
|
25408
25497
|
]
|
|
25409
25498
|
}
|
|
25410
25499
|
),
|
|
@@ -25417,17 +25506,17 @@ var TTDDialogPanel = ({
|
|
|
25417
25506
|
};
|
|
25418
25507
|
|
|
25419
25508
|
// components/TTDDialog/TTDDialogPanels.tsx
|
|
25420
|
-
import { jsx as
|
|
25509
|
+
import { jsx as jsx113 } from "react/jsx-runtime";
|
|
25421
25510
|
var TTDDialogPanels = ({ children }) => {
|
|
25422
|
-
return /* @__PURE__ */
|
|
25511
|
+
return /* @__PURE__ */ jsx113("div", { className: "ttd-dialog-panels", children });
|
|
25423
25512
|
};
|
|
25424
25513
|
|
|
25425
25514
|
// components/TTDDialog/TTDDialogSubmitShortcut.tsx
|
|
25426
|
-
import { jsx as
|
|
25515
|
+
import { jsx as jsx114, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
25427
25516
|
var TTDDialogSubmitShortcut = () => {
|
|
25428
25517
|
return /* @__PURE__ */ jsxs63("div", { className: "ttd-dialog-submit-shortcut", children: [
|
|
25429
|
-
/* @__PURE__ */
|
|
25430
|
-
/* @__PURE__ */
|
|
25518
|
+
/* @__PURE__ */ jsx114("div", { className: "ttd-dialog-submit-shortcut__key", children: getShortcutKey("CtrlOrCmd") }),
|
|
25519
|
+
/* @__PURE__ */ jsx114("div", { className: "ttd-dialog-submit-shortcut__key", children: getShortcutKey("Enter") })
|
|
25431
25520
|
] });
|
|
25432
25521
|
};
|
|
25433
25522
|
|
|
@@ -25535,7 +25624,7 @@ var insertToEditor = ({
|
|
|
25535
25624
|
};
|
|
25536
25625
|
|
|
25537
25626
|
// components/TTDDialog/MermaidToExcalidraw.tsx
|
|
25538
|
-
import { Fragment as Fragment17, jsx as
|
|
25627
|
+
import { Fragment as Fragment17, jsx as jsx115, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
25539
25628
|
var MERMAID_EXAMPLE = "flowchart TD\n A[Christmas] -->|Get money| B(Go shopping)\n B --> C{Let me think}\n C -->|One| D[Laptop]\n C -->|Two| E[iPhone]\n C -->|Three| F[Car]";
|
|
25540
25629
|
var debouncedSaveMermaidDefinition = debounce(saveMermaidDataToStorage, 300);
|
|
25541
25630
|
var MermaidToExcalidraw = ({
|
|
@@ -25578,17 +25667,17 @@ var MermaidToExcalidraw = ({
|
|
|
25578
25667
|
});
|
|
25579
25668
|
};
|
|
25580
25669
|
return /* @__PURE__ */ jsxs64(Fragment17, { children: [
|
|
25581
|
-
/* @__PURE__ */
|
|
25670
|
+
/* @__PURE__ */ jsx115("div", { className: "ttd-dialog-desc", children: /* @__PURE__ */ jsx115(
|
|
25582
25671
|
Trans_default,
|
|
25583
25672
|
{
|
|
25584
25673
|
i18nKey: "mermaid.description",
|
|
25585
|
-
flowchartLink: (el) => /* @__PURE__ */
|
|
25586
|
-
sequenceLink: (el) => /* @__PURE__ */
|
|
25587
|
-
classLink: (el) => /* @__PURE__ */
|
|
25674
|
+
flowchartLink: (el) => /* @__PURE__ */ jsx115("a", { href: "https://mermaid.js.org/syntax/flowchart.html", children: el }),
|
|
25675
|
+
sequenceLink: (el) => /* @__PURE__ */ jsx115("a", { href: "https://mermaid.js.org/syntax/sequenceDiagram.html", children: el }),
|
|
25676
|
+
classLink: (el) => /* @__PURE__ */ jsx115("a", { href: "https://mermaid.js.org/syntax/classDiagram.html", children: el })
|
|
25588
25677
|
}
|
|
25589
25678
|
) }),
|
|
25590
25679
|
/* @__PURE__ */ jsxs64(TTDDialogPanels, { children: [
|
|
25591
|
-
/* @__PURE__ */
|
|
25680
|
+
/* @__PURE__ */ jsx115(TTDDialogPanel, { label: t("mermaid.syntax"), children: /* @__PURE__ */ jsx115(
|
|
25592
25681
|
TTDDialogInput,
|
|
25593
25682
|
{
|
|
25594
25683
|
input: text,
|
|
@@ -25599,7 +25688,7 @@ var MermaidToExcalidraw = ({
|
|
|
25599
25688
|
}
|
|
25600
25689
|
}
|
|
25601
25690
|
) }),
|
|
25602
|
-
/* @__PURE__ */
|
|
25691
|
+
/* @__PURE__ */ jsx115(
|
|
25603
25692
|
TTDDialogPanel,
|
|
25604
25693
|
{
|
|
25605
25694
|
label: t("mermaid.preview"),
|
|
@@ -25610,8 +25699,8 @@ var MermaidToExcalidraw = ({
|
|
|
25610
25699
|
label: t("mermaid.button"),
|
|
25611
25700
|
icon: ArrowRightIcon
|
|
25612
25701
|
},
|
|
25613
|
-
renderSubmitShortcut: () => /* @__PURE__ */
|
|
25614
|
-
children: /* @__PURE__ */
|
|
25702
|
+
renderSubmitShortcut: () => /* @__PURE__ */ jsx115(TTDDialogSubmitShortcut, {}),
|
|
25703
|
+
children: /* @__PURE__ */ jsx115(
|
|
25615
25704
|
TTDDialogOutput,
|
|
25616
25705
|
{
|
|
25617
25706
|
canvasRef,
|
|
@@ -25629,12 +25718,12 @@ var MermaidToExcalidraw_default = MermaidToExcalidraw;
|
|
|
25629
25718
|
// components/TTDDialog/TTDDialogTabs.tsx
|
|
25630
25719
|
import * as RadixTabs5 from "@radix-ui/react-tabs";
|
|
25631
25720
|
import { useRef as useRef30 } from "react";
|
|
25632
|
-
import { jsx as
|
|
25721
|
+
import { jsx as jsx116 } from "react/jsx-runtime";
|
|
25633
25722
|
var TTDDialogTabs = (props) => {
|
|
25634
25723
|
const setAppState = useExcalidrawSetAppState();
|
|
25635
25724
|
const rootRef = useRef30(null);
|
|
25636
25725
|
const minHeightRef = useRef30(0);
|
|
25637
|
-
return /* @__PURE__ */
|
|
25726
|
+
return /* @__PURE__ */ jsx116(
|
|
25638
25727
|
RadixTabs5.Root,
|
|
25639
25728
|
{
|
|
25640
25729
|
ref: rootRef,
|
|
@@ -25667,42 +25756,42 @@ var TTDDialogTabs_default = TTDDialogTabs;
|
|
|
25667
25756
|
|
|
25668
25757
|
// components/TTDDialog/TTDDialogTabTriggers.tsx
|
|
25669
25758
|
import * as RadixTabs6 from "@radix-ui/react-tabs";
|
|
25670
|
-
import { jsx as
|
|
25759
|
+
import { jsx as jsx117 } from "react/jsx-runtime";
|
|
25671
25760
|
var TTDDialogTabTriggers = ({
|
|
25672
25761
|
children,
|
|
25673
25762
|
...rest
|
|
25674
25763
|
}) => {
|
|
25675
|
-
return /* @__PURE__ */
|
|
25764
|
+
return /* @__PURE__ */ jsx117(RadixTabs6.List, { className: "ttd-dialog-triggers", ...rest, children });
|
|
25676
25765
|
};
|
|
25677
25766
|
TTDDialogTabTriggers.displayName = "TTDDialogTabTriggers";
|
|
25678
25767
|
|
|
25679
25768
|
// components/TTDDialog/TTDDialogTabTrigger.tsx
|
|
25680
25769
|
import * as RadixTabs7 from "@radix-ui/react-tabs";
|
|
25681
|
-
import { jsx as
|
|
25770
|
+
import { jsx as jsx118 } from "react/jsx-runtime";
|
|
25682
25771
|
var TTDDialogTabTrigger = ({
|
|
25683
25772
|
children,
|
|
25684
25773
|
tab,
|
|
25685
25774
|
onSelect,
|
|
25686
25775
|
...rest
|
|
25687
25776
|
}) => {
|
|
25688
|
-
return /* @__PURE__ */
|
|
25777
|
+
return /* @__PURE__ */ jsx118(RadixTabs7.Trigger, { value: tab, asChild: true, onSelect, children: /* @__PURE__ */ jsx118("button", { type: "button", className: "ttd-dialog-tab-trigger", ...rest, children }) });
|
|
25689
25778
|
};
|
|
25690
25779
|
TTDDialogTabTrigger.displayName = "TTDDialogTabTrigger";
|
|
25691
25780
|
|
|
25692
25781
|
// components/TTDDialog/TTDDialogTab.tsx
|
|
25693
25782
|
import * as RadixTabs8 from "@radix-ui/react-tabs";
|
|
25694
|
-
import { jsx as
|
|
25783
|
+
import { jsx as jsx119 } from "react/jsx-runtime";
|
|
25695
25784
|
var TTDDialogTab = ({
|
|
25696
25785
|
tab,
|
|
25697
25786
|
children,
|
|
25698
25787
|
...rest
|
|
25699
25788
|
}) => {
|
|
25700
|
-
return /* @__PURE__ */
|
|
25789
|
+
return /* @__PURE__ */ jsx119(RadixTabs8.Content, { ...rest, value: tab, children });
|
|
25701
25790
|
};
|
|
25702
25791
|
TTDDialogTab.displayName = "TTDDialogTab";
|
|
25703
25792
|
|
|
25704
25793
|
// components/TTDDialog/TTDDialog.tsx
|
|
25705
|
-
import { jsx as
|
|
25794
|
+
import { jsx as jsx120, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
25706
25795
|
var MIN_PROMPT_LENGTH = 3;
|
|
25707
25796
|
var MAX_PROMPT_LENGTH = 1e3;
|
|
25708
25797
|
var rateLimitsAtom = atom(null);
|
|
@@ -25712,7 +25801,7 @@ var TTDDialog = (props) => {
|
|
|
25712
25801
|
if (appState.openDialog?.name !== "ttd") {
|
|
25713
25802
|
return null;
|
|
25714
25803
|
}
|
|
25715
|
-
return /* @__PURE__ */
|
|
25804
|
+
return /* @__PURE__ */ jsx120(TTDDialogBase, { ...props, tab: appState.openDialog.tab });
|
|
25716
25805
|
};
|
|
25717
25806
|
var TTDDialogBase = withInternalFallback(
|
|
25718
25807
|
"TTDDialogBase",
|
|
@@ -25826,7 +25915,7 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25826
25915
|
}, [mermaidToExcalidrawLib.api]);
|
|
25827
25916
|
const data = useRef31({ elements: [], files: null });
|
|
25828
25917
|
const [error, setError] = useState29(null);
|
|
25829
|
-
return /* @__PURE__ */
|
|
25918
|
+
return /* @__PURE__ */ jsx120(
|
|
25830
25919
|
Dialog,
|
|
25831
25920
|
{
|
|
25832
25921
|
className: "ttd-dialog",
|
|
@@ -25838,10 +25927,10 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25838
25927
|
...rest,
|
|
25839
25928
|
autofocus: false,
|
|
25840
25929
|
children: /* @__PURE__ */ jsxs65(TTDDialogTabs_default, { dialog: "ttd", tab, children: [
|
|
25841
|
-
"__fallback" in rest && rest.__fallback ? /* @__PURE__ */
|
|
25842
|
-
/* @__PURE__ */
|
|
25930
|
+
"__fallback" in rest && rest.__fallback ? /* @__PURE__ */ jsx120("p", { className: "dialog-mermaid-title", children: t("mermaid.title") }) : /* @__PURE__ */ jsxs65(TTDDialogTabTriggers, { children: [
|
|
25931
|
+
/* @__PURE__ */ jsx120(TTDDialogTabTrigger, { tab: "text-to-diagram", children: /* @__PURE__ */ jsxs65("div", { style: { display: "flex", alignItems: "center" }, children: [
|
|
25843
25932
|
t("labels.textToDiagram"),
|
|
25844
|
-
/* @__PURE__ */
|
|
25933
|
+
/* @__PURE__ */ jsx120(
|
|
25845
25934
|
"div",
|
|
25846
25935
|
{
|
|
25847
25936
|
style: {
|
|
@@ -25859,18 +25948,18 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25859
25948
|
}
|
|
25860
25949
|
)
|
|
25861
25950
|
] }) }),
|
|
25862
|
-
/* @__PURE__ */
|
|
25951
|
+
/* @__PURE__ */ jsx120(TTDDialogTabTrigger, { tab: "mermaid", children: "Mermaid" })
|
|
25863
25952
|
] }),
|
|
25864
|
-
/* @__PURE__ */
|
|
25953
|
+
/* @__PURE__ */ jsx120(TTDDialogTab, { className: "ttd-dialog-content", tab: "mermaid", children: /* @__PURE__ */ jsx120(
|
|
25865
25954
|
MermaidToExcalidraw_default,
|
|
25866
25955
|
{
|
|
25867
25956
|
mermaidToExcalidrawLib
|
|
25868
25957
|
}
|
|
25869
25958
|
) }),
|
|
25870
25959
|
!("__fallback" in rest) && /* @__PURE__ */ jsxs65(TTDDialogTab, { className: "ttd-dialog-content", tab: "text-to-diagram", children: [
|
|
25871
|
-
/* @__PURE__ */
|
|
25960
|
+
/* @__PURE__ */ jsx120("div", { className: "ttd-dialog-desc", children: "Currently we use Mermaid as a middle step, so you'll get best results if you describe a diagram, workflow, flow chart, and similar." }),
|
|
25872
25961
|
/* @__PURE__ */ jsxs65(TTDDialogPanels, { children: [
|
|
25873
|
-
/* @__PURE__ */
|
|
25962
|
+
/* @__PURE__ */ jsx120(
|
|
25874
25963
|
TTDDialogPanel,
|
|
25875
25964
|
{
|
|
25876
25965
|
label: t("labels.prompt"),
|
|
@@ -25901,7 +25990,7 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25901
25990
|
}
|
|
25902
25991
|
);
|
|
25903
25992
|
},
|
|
25904
|
-
renderSubmitShortcut: () => /* @__PURE__ */
|
|
25993
|
+
renderSubmitShortcut: () => /* @__PURE__ */ jsx120(TTDDialogSubmitShortcut, {}),
|
|
25905
25994
|
renderBottomRight: () => {
|
|
25906
25995
|
if (typeof ttdGeneration?.generatedResponse === "string") {
|
|
25907
25996
|
return /* @__PURE__ */ jsxs65(
|
|
@@ -25921,7 +26010,7 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25921
26010
|
},
|
|
25922
26011
|
children: [
|
|
25923
26012
|
"View as Mermaid",
|
|
25924
|
-
/* @__PURE__ */
|
|
26013
|
+
/* @__PURE__ */ jsx120(InlineIcon, { icon: ArrowRightIcon })
|
|
25925
26014
|
]
|
|
25926
26015
|
}
|
|
25927
26016
|
);
|
|
@@ -25948,7 +26037,7 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25948
26037
|
}
|
|
25949
26038
|
return null;
|
|
25950
26039
|
},
|
|
25951
|
-
children: /* @__PURE__ */
|
|
26040
|
+
children: /* @__PURE__ */ jsx120(
|
|
25952
26041
|
TTDDialogInput,
|
|
25953
26042
|
{
|
|
25954
26043
|
onChange: handleTextChange,
|
|
@@ -25961,7 +26050,7 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25961
26050
|
)
|
|
25962
26051
|
}
|
|
25963
26052
|
),
|
|
25964
|
-
/* @__PURE__ */
|
|
26053
|
+
/* @__PURE__ */ jsx120(
|
|
25965
26054
|
TTDDialogPanel,
|
|
25966
26055
|
{
|
|
25967
26056
|
label: "Preview",
|
|
@@ -25973,7 +26062,7 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25973
26062
|
label: "Insert",
|
|
25974
26063
|
icon: ArrowRightIcon
|
|
25975
26064
|
},
|
|
25976
|
-
children: /* @__PURE__ */
|
|
26065
|
+
children: /* @__PURE__ */ jsx120(
|
|
25977
26066
|
TTDDialogOutput,
|
|
25978
26067
|
{
|
|
25979
26068
|
canvasRef: someRandomDivRef,
|
|
@@ -25992,12 +26081,12 @@ TTD mermaid definition render errror: ${error3.message}`,
|
|
|
25992
26081
|
);
|
|
25993
26082
|
|
|
25994
26083
|
// components/Stats/index.tsx
|
|
25995
|
-
import
|
|
26084
|
+
import clsx51 from "clsx";
|
|
25996
26085
|
import throttle2 from "lodash.throttle";
|
|
25997
|
-
import { useEffect as useEffect36, useMemo as
|
|
26086
|
+
import { useEffect as useEffect36, useMemo as useMemo10, useState as useState31, memo as memo5 } from "react";
|
|
25998
26087
|
|
|
25999
26088
|
// components/Stats/DragInput.tsx
|
|
26000
|
-
import
|
|
26089
|
+
import clsx50 from "clsx";
|
|
26001
26090
|
import { useEffect as useEffect35, useRef as useRef32, useState as useState30 } from "react";
|
|
26002
26091
|
|
|
26003
26092
|
// components/Stats/utils.ts
|
|
@@ -26102,7 +26191,7 @@ var updateBindings = (latestElement, elementsMap, elements, scene, options) => {
|
|
|
26102
26191
|
};
|
|
26103
26192
|
|
|
26104
26193
|
// components/Stats/DragInput.tsx
|
|
26105
|
-
import { jsx as
|
|
26194
|
+
import { jsx as jsx121, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
26106
26195
|
var StatsDragInput = ({
|
|
26107
26196
|
label,
|
|
26108
26197
|
icon,
|
|
@@ -26206,10 +26295,10 @@ var StatsDragInput = ({
|
|
|
26206
26295
|
return /* @__PURE__ */ jsxs66(
|
|
26207
26296
|
"div",
|
|
26208
26297
|
{
|
|
26209
|
-
className:
|
|
26298
|
+
className: clsx50("drag-input-container", !editable && "disabled"),
|
|
26210
26299
|
"data-testid": label,
|
|
26211
26300
|
children: [
|
|
26212
|
-
/* @__PURE__ */
|
|
26301
|
+
/* @__PURE__ */ jsx121(
|
|
26213
26302
|
"div",
|
|
26214
26303
|
{
|
|
26215
26304
|
className: "drag-input-label",
|
|
@@ -26289,10 +26378,10 @@ var StatsDragInput = ({
|
|
|
26289
26378
|
labelRef.current.style.cursor = "ew-resize";
|
|
26290
26379
|
}
|
|
26291
26380
|
},
|
|
26292
|
-
children: icon ? /* @__PURE__ */
|
|
26381
|
+
children: icon ? /* @__PURE__ */ jsx121(InlineIcon, { icon }) : label
|
|
26293
26382
|
}
|
|
26294
26383
|
),
|
|
26295
|
-
/* @__PURE__ */
|
|
26384
|
+
/* @__PURE__ */ jsx121(
|
|
26296
26385
|
"input",
|
|
26297
26386
|
{
|
|
26298
26387
|
className: "drag-input",
|
|
@@ -26339,7 +26428,7 @@ var StatsDragInput = ({
|
|
|
26339
26428
|
var DragInput_default = StatsDragInput;
|
|
26340
26429
|
|
|
26341
26430
|
// components/Stats/Angle.tsx
|
|
26342
|
-
import { jsx as
|
|
26431
|
+
import { jsx as jsx122 } from "react/jsx-runtime";
|
|
26343
26432
|
var STEP_SIZE = 15;
|
|
26344
26433
|
var handleDegreeChange = ({
|
|
26345
26434
|
accumulatedChange,
|
|
@@ -26387,7 +26476,7 @@ var handleDegreeChange = ({
|
|
|
26387
26476
|
}
|
|
26388
26477
|
};
|
|
26389
26478
|
var Angle = ({ element, scene, appState, property }) => {
|
|
26390
|
-
return /* @__PURE__ */
|
|
26479
|
+
return /* @__PURE__ */ jsx122(
|
|
26391
26480
|
DragInput_default,
|
|
26392
26481
|
{
|
|
26393
26482
|
label: "A",
|
|
@@ -26405,7 +26494,7 @@ var Angle = ({ element, scene, appState, property }) => {
|
|
|
26405
26494
|
var Angle_default = Angle;
|
|
26406
26495
|
|
|
26407
26496
|
// components/Stats/CanvasGrid.tsx
|
|
26408
|
-
import { jsx as
|
|
26497
|
+
import { jsx as jsx123 } from "react/jsx-runtime";
|
|
26409
26498
|
var STEP_SIZE2 = 5;
|
|
26410
26499
|
var CanvasGrid = ({
|
|
26411
26500
|
property,
|
|
@@ -26413,7 +26502,7 @@ var CanvasGrid = ({
|
|
|
26413
26502
|
appState,
|
|
26414
26503
|
setAppState
|
|
26415
26504
|
}) => {
|
|
26416
|
-
return /* @__PURE__ */
|
|
26505
|
+
return /* @__PURE__ */ jsx123(
|
|
26417
26506
|
DragInput_default,
|
|
26418
26507
|
{
|
|
26419
26508
|
label: "Grid step",
|
|
@@ -26456,7 +26545,7 @@ var CanvasGrid = ({
|
|
|
26456
26545
|
var CanvasGrid_default = CanvasGrid;
|
|
26457
26546
|
|
|
26458
26547
|
// components/Stats/Dimension.tsx
|
|
26459
|
-
import { jsx as
|
|
26548
|
+
import { jsx as jsx124 } from "react/jsx-runtime";
|
|
26460
26549
|
var STEP_SIZE3 = 10;
|
|
26461
26550
|
var _shouldKeepAspectRatio = (element) => {
|
|
26462
26551
|
return element.type === "image";
|
|
@@ -26636,7 +26725,7 @@ var DimensionDragInput = ({
|
|
|
26636
26725
|
value = round(element.crop.height * ratio, 2);
|
|
26637
26726
|
}
|
|
26638
26727
|
}
|
|
26639
|
-
return /* @__PURE__ */
|
|
26728
|
+
return /* @__PURE__ */ jsx124(
|
|
26640
26729
|
DragInput_default,
|
|
26641
26730
|
{
|
|
26642
26731
|
label: property === "width" ? "W" : "H",
|
|
@@ -26653,7 +26742,7 @@ var DimensionDragInput = ({
|
|
|
26653
26742
|
var Dimension_default = DimensionDragInput;
|
|
26654
26743
|
|
|
26655
26744
|
// components/Stats/FontSize.tsx
|
|
26656
|
-
import { jsx as
|
|
26745
|
+
import { jsx as jsx125 } from "react/jsx-runtime";
|
|
26657
26746
|
var MIN_FONT_SIZE2 = 4;
|
|
26658
26747
|
var STEP_SIZE4 = 4;
|
|
26659
26748
|
var handleFontSizeChange = ({
|
|
@@ -26701,7 +26790,7 @@ var FontSize = ({ element, scene, appState, property }) => {
|
|
|
26701
26790
|
if (!_element) {
|
|
26702
26791
|
return null;
|
|
26703
26792
|
}
|
|
26704
|
-
return /* @__PURE__ */
|
|
26793
|
+
return /* @__PURE__ */ jsx125(
|
|
26705
26794
|
DragInput_default,
|
|
26706
26795
|
{
|
|
26707
26796
|
label: "F",
|
|
@@ -26718,7 +26807,7 @@ var FontSize = ({ element, scene, appState, property }) => {
|
|
|
26718
26807
|
var FontSize_default = FontSize;
|
|
26719
26808
|
|
|
26720
26809
|
// components/Stats/MultiAngle.tsx
|
|
26721
|
-
import { jsx as
|
|
26810
|
+
import { jsx as jsx126 } from "react/jsx-runtime";
|
|
26722
26811
|
var STEP_SIZE5 = 15;
|
|
26723
26812
|
var handleDegreeChange2 = ({
|
|
26724
26813
|
accumulatedChange,
|
|
@@ -26798,7 +26887,7 @@ var MultiAngle = ({
|
|
|
26798
26887
|
const editable = editableLatestIndividualElements.some(
|
|
26799
26888
|
(el) => isPropertyEditable(el, "angle")
|
|
26800
26889
|
);
|
|
26801
|
-
return /* @__PURE__ */
|
|
26890
|
+
return /* @__PURE__ */ jsx126(
|
|
26802
26891
|
DragInput_default,
|
|
26803
26892
|
{
|
|
26804
26893
|
label: "A",
|
|
@@ -26816,8 +26905,8 @@ var MultiAngle = ({
|
|
|
26816
26905
|
var MultiAngle_default = MultiAngle;
|
|
26817
26906
|
|
|
26818
26907
|
// components/Stats/MultiDimension.tsx
|
|
26819
|
-
import { useMemo as
|
|
26820
|
-
import { jsx as
|
|
26908
|
+
import { useMemo as useMemo8 } from "react";
|
|
26909
|
+
import { jsx as jsx127 } from "react/jsx-runtime";
|
|
26821
26910
|
var STEP_SIZE6 = 10;
|
|
26822
26911
|
var getResizedUpdates = (anchorX, anchorY, scale, origElement) => {
|
|
26823
26912
|
const offsetX = origElement.x - anchorX;
|
|
@@ -27067,7 +27156,7 @@ var MultiDimension = ({
|
|
|
27067
27156
|
scene,
|
|
27068
27157
|
appState
|
|
27069
27158
|
}) => {
|
|
27070
|
-
const sizes =
|
|
27159
|
+
const sizes = useMemo8(
|
|
27071
27160
|
() => atomicUnits.map((atomicUnit) => {
|
|
27072
27161
|
const elementsInUnit = getElementsInAtomicUnit(atomicUnit, elementsMap);
|
|
27073
27162
|
if (elementsInUnit.length > 1) {
|
|
@@ -27085,7 +27174,7 @@ var MultiDimension = ({
|
|
|
27085
27174
|
);
|
|
27086
27175
|
const value = new Set(sizes).size === 1 ? Math.round(sizes[0] * 100) / 100 : "Mixed";
|
|
27087
27176
|
const editable = sizes.length > 0;
|
|
27088
|
-
return /* @__PURE__ */
|
|
27177
|
+
return /* @__PURE__ */ jsx127(
|
|
27089
27178
|
DragInput_default,
|
|
27090
27179
|
{
|
|
27091
27180
|
label: property === "width" ? "W" : "H",
|
|
@@ -27102,7 +27191,7 @@ var MultiDimension = ({
|
|
|
27102
27191
|
var MultiDimension_default = MultiDimension;
|
|
27103
27192
|
|
|
27104
27193
|
// components/Stats/MultiFontSize.tsx
|
|
27105
|
-
import { jsx as
|
|
27194
|
+
import { jsx as jsx128 } from "react/jsx-runtime";
|
|
27106
27195
|
var MIN_FONT_SIZE3 = 4;
|
|
27107
27196
|
var STEP_SIZE7 = 4;
|
|
27108
27197
|
var getApplicableTextElements = (elements, elementsMap) => elements.reduce(
|
|
@@ -27202,7 +27291,7 @@ var MultiFontSize = ({
|
|
|
27202
27291
|
);
|
|
27203
27292
|
const value = new Set(fontSizes).size === 1 ? fontSizes[0] : "Mixed";
|
|
27204
27293
|
const editable = fontSizes.length > 0;
|
|
27205
|
-
return /* @__PURE__ */
|
|
27294
|
+
return /* @__PURE__ */ jsx128(
|
|
27206
27295
|
DragInput_default,
|
|
27207
27296
|
{
|
|
27208
27297
|
label: "F",
|
|
@@ -27220,8 +27309,8 @@ var MultiFontSize = ({
|
|
|
27220
27309
|
var MultiFontSize_default = MultiFontSize;
|
|
27221
27310
|
|
|
27222
27311
|
// components/Stats/MultiPosition.tsx
|
|
27223
|
-
import { useMemo as
|
|
27224
|
-
import { jsx as
|
|
27312
|
+
import { useMemo as useMemo9 } from "react";
|
|
27313
|
+
import { jsx as jsx129 } from "react/jsx-runtime";
|
|
27225
27314
|
var STEP_SIZE8 = 10;
|
|
27226
27315
|
var moveElements = (property, changeInTopX, changeInTopY, elements, originalElements, elementsMap, originalElementsMap, scene) => {
|
|
27227
27316
|
for (let i = 0; i < elements.length; i++) {
|
|
@@ -27373,7 +27462,7 @@ var MultiPosition = ({
|
|
|
27373
27462
|
scene,
|
|
27374
27463
|
appState
|
|
27375
27464
|
}) => {
|
|
27376
|
-
const positions =
|
|
27465
|
+
const positions = useMemo9(
|
|
27377
27466
|
() => atomicUnits.map((atomicUnit) => {
|
|
27378
27467
|
const elementsInUnit = Object.keys(atomicUnit).map((id) => elementsMap.get(id)).filter((el2) => el2 !== void 0);
|
|
27379
27468
|
if (elementsInUnit.length > 1) {
|
|
@@ -27392,7 +27481,7 @@ var MultiPosition = ({
|
|
|
27392
27481
|
[atomicUnits, elementsMap, property]
|
|
27393
27482
|
);
|
|
27394
27483
|
const value = new Set(positions).size === 1 ? positions[0] : "Mixed";
|
|
27395
|
-
return /* @__PURE__ */
|
|
27484
|
+
return /* @__PURE__ */ jsx129(
|
|
27396
27485
|
DragInput_default,
|
|
27397
27486
|
{
|
|
27398
27487
|
label: property === "x" ? "X" : "Y",
|
|
@@ -27408,7 +27497,7 @@ var MultiPosition = ({
|
|
|
27408
27497
|
var MultiPosition_default = MultiPosition;
|
|
27409
27498
|
|
|
27410
27499
|
// components/Stats/Position.tsx
|
|
27411
|
-
import { jsx as
|
|
27500
|
+
import { jsx as jsx130 } from "react/jsx-runtime";
|
|
27412
27501
|
var STEP_SIZE9 = 10;
|
|
27413
27502
|
var handlePositionChange2 = ({
|
|
27414
27503
|
accumulatedChange,
|
|
@@ -27547,7 +27636,7 @@ var Position = ({
|
|
|
27547
27636
|
);
|
|
27548
27637
|
}
|
|
27549
27638
|
}
|
|
27550
|
-
return /* @__PURE__ */
|
|
27639
|
+
return /* @__PURE__ */ jsx130(
|
|
27551
27640
|
DragInput_default,
|
|
27552
27641
|
{
|
|
27553
27642
|
label: property === "x" ? "X" : "Y",
|
|
@@ -27563,7 +27652,7 @@ var Position = ({
|
|
|
27563
27652
|
var Position_default = Position;
|
|
27564
27653
|
|
|
27565
27654
|
// components/Stats/index.tsx
|
|
27566
|
-
import { Fragment as Fragment18, jsx as
|
|
27655
|
+
import { Fragment as Fragment18, jsx as jsx131, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
27567
27656
|
var STATS_TIMEOUT = 50;
|
|
27568
27657
|
var Stats = (props) => {
|
|
27569
27658
|
const appState = useExcalidrawAppState();
|
|
@@ -27573,7 +27662,7 @@ var Stats = (props) => {
|
|
|
27573
27662
|
includeBoundTextElement: false
|
|
27574
27663
|
});
|
|
27575
27664
|
const gridModeEnabled = isGridModeEnabled(props.app);
|
|
27576
|
-
return /* @__PURE__ */
|
|
27665
|
+
return /* @__PURE__ */ jsx131(
|
|
27577
27666
|
StatsInner,
|
|
27578
27667
|
{
|
|
27579
27668
|
...props,
|
|
@@ -27590,10 +27679,10 @@ var StatsRow = ({
|
|
|
27590
27679
|
heading,
|
|
27591
27680
|
style,
|
|
27592
27681
|
...rest
|
|
27593
|
-
}) => /* @__PURE__ */
|
|
27682
|
+
}) => /* @__PURE__ */ jsx131(
|
|
27594
27683
|
"div",
|
|
27595
27684
|
{
|
|
27596
|
-
className:
|
|
27685
|
+
className: clsx51("exc-stats__row", { "exc-stats__row--heading": heading }),
|
|
27597
27686
|
style: {
|
|
27598
27687
|
gridTemplateColumns: `repeat(${columns}, 1fr)`,
|
|
27599
27688
|
...style
|
|
@@ -27608,7 +27697,7 @@ var StatsRows = ({
|
|
|
27608
27697
|
order,
|
|
27609
27698
|
style,
|
|
27610
27699
|
...rest
|
|
27611
|
-
}) => /* @__PURE__ */
|
|
27700
|
+
}) => /* @__PURE__ */ jsx131("div", { className: "exc-stats__rows", style: { order, ...style }, ...rest, children });
|
|
27612
27701
|
StatsRows.displayName = "StatsRows";
|
|
27613
27702
|
Stats.StatsRow = StatsRow;
|
|
27614
27703
|
Stats.StatsRows = StatsRows;
|
|
@@ -27634,7 +27723,7 @@ var StatsInner = memo5(
|
|
|
27634
27723
|
width: 0,
|
|
27635
27724
|
height: 0
|
|
27636
27725
|
});
|
|
27637
|
-
const throttledSetSceneDimension =
|
|
27726
|
+
const throttledSetSceneDimension = useMemo10(
|
|
27638
27727
|
() => throttle2((elements2) => {
|
|
27639
27728
|
const boundingBox = getCommonBounds(elements2);
|
|
27640
27729
|
setSceneDimension({
|
|
@@ -27651,21 +27740,21 @@ var StatsInner = memo5(
|
|
|
27651
27740
|
() => () => throttledSetSceneDimension.cancel(),
|
|
27652
27741
|
[throttledSetSceneDimension]
|
|
27653
27742
|
);
|
|
27654
|
-
const atomicUnits =
|
|
27743
|
+
const atomicUnits = useMemo10(() => {
|
|
27655
27744
|
return getAtomicUnits(selectedElements, appState);
|
|
27656
27745
|
}, [selectedElements, appState]);
|
|
27657
|
-
const _frameAndChildrenSelectedTogether =
|
|
27746
|
+
const _frameAndChildrenSelectedTogether = useMemo10(() => {
|
|
27658
27747
|
return frameAndChildrenSelectedTogether(selectedElements);
|
|
27659
27748
|
}, [selectedElements]);
|
|
27660
|
-
return /* @__PURE__ */
|
|
27749
|
+
return /* @__PURE__ */ jsx131("div", { className: "exc-stats", children: /* @__PURE__ */ jsxs67(Island, { padding: 3, children: [
|
|
27661
27750
|
/* @__PURE__ */ jsxs67("div", { className: "title", children: [
|
|
27662
|
-
/* @__PURE__ */
|
|
27663
|
-
/* @__PURE__ */
|
|
27751
|
+
/* @__PURE__ */ jsx131("h2", { children: t("stats.title") }),
|
|
27752
|
+
/* @__PURE__ */ jsx131("div", { className: "close", onClick: onClose, children: CloseIcon })
|
|
27664
27753
|
] }),
|
|
27665
27754
|
/* @__PURE__ */ jsxs67(
|
|
27666
27755
|
Collapsible_default,
|
|
27667
27756
|
{
|
|
27668
|
-
label: /* @__PURE__ */
|
|
27757
|
+
label: /* @__PURE__ */ jsx131("h3", { children: t("stats.generalStats") }),
|
|
27669
27758
|
open: !!(appState.stats.panels & STATS_PANELS.generalStats),
|
|
27670
27759
|
openTrigger: () => setAppState((state) => {
|
|
27671
27760
|
return {
|
|
@@ -27677,22 +27766,22 @@ var StatsInner = memo5(
|
|
|
27677
27766
|
}),
|
|
27678
27767
|
children: [
|
|
27679
27768
|
/* @__PURE__ */ jsxs67(StatsRows, { children: [
|
|
27680
|
-
/* @__PURE__ */
|
|
27769
|
+
/* @__PURE__ */ jsx131(StatsRow, { heading: true, children: t("stats.scene") }),
|
|
27681
27770
|
/* @__PURE__ */ jsxs67(StatsRow, { columns: 2, children: [
|
|
27682
|
-
/* @__PURE__ */
|
|
27683
|
-
/* @__PURE__ */
|
|
27771
|
+
/* @__PURE__ */ jsx131("div", { children: t("stats.shapes") }),
|
|
27772
|
+
/* @__PURE__ */ jsx131("div", { children: elements.length })
|
|
27684
27773
|
] }),
|
|
27685
27774
|
/* @__PURE__ */ jsxs67(StatsRow, { columns: 2, children: [
|
|
27686
|
-
/* @__PURE__ */
|
|
27687
|
-
/* @__PURE__ */
|
|
27775
|
+
/* @__PURE__ */ jsx131("div", { children: t("stats.width") }),
|
|
27776
|
+
/* @__PURE__ */ jsx131("div", { children: sceneDimension.width })
|
|
27688
27777
|
] }),
|
|
27689
27778
|
/* @__PURE__ */ jsxs67(StatsRow, { columns: 2, children: [
|
|
27690
|
-
/* @__PURE__ */
|
|
27691
|
-
/* @__PURE__ */
|
|
27779
|
+
/* @__PURE__ */ jsx131("div", { children: t("stats.height") }),
|
|
27780
|
+
/* @__PURE__ */ jsx131("div", { children: sceneDimension.height })
|
|
27692
27781
|
] }),
|
|
27693
27782
|
gridModeEnabled && /* @__PURE__ */ jsxs67(Fragment18, { children: [
|
|
27694
|
-
/* @__PURE__ */
|
|
27695
|
-
/* @__PURE__ */
|
|
27783
|
+
/* @__PURE__ */ jsx131(StatsRow, { heading: true, children: "Canvas" }),
|
|
27784
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27696
27785
|
CanvasGrid_default,
|
|
27697
27786
|
{
|
|
27698
27787
|
property: "gridStep",
|
|
@@ -27707,17 +27796,17 @@ var StatsInner = memo5(
|
|
|
27707
27796
|
]
|
|
27708
27797
|
}
|
|
27709
27798
|
),
|
|
27710
|
-
!_frameAndChildrenSelectedTogether && selectedElements.length > 0 && /* @__PURE__ */
|
|
27799
|
+
!_frameAndChildrenSelectedTogether && selectedElements.length > 0 && /* @__PURE__ */ jsx131(
|
|
27711
27800
|
"div",
|
|
27712
27801
|
{
|
|
27713
27802
|
id: "elementStats",
|
|
27714
27803
|
style: {
|
|
27715
27804
|
marginTop: 12
|
|
27716
27805
|
},
|
|
27717
|
-
children: /* @__PURE__ */
|
|
27806
|
+
children: /* @__PURE__ */ jsx131(
|
|
27718
27807
|
Collapsible_default,
|
|
27719
27808
|
{
|
|
27720
|
-
label: /* @__PURE__ */
|
|
27809
|
+
label: /* @__PURE__ */ jsx131("h3", { children: t("stats.elementProperties") }),
|
|
27721
27810
|
open: !!(appState.stats.panels & STATS_PANELS.elementProperties),
|
|
27722
27811
|
openTrigger: () => setAppState((state) => {
|
|
27723
27812
|
return {
|
|
@@ -27729,16 +27818,16 @@ var StatsInner = memo5(
|
|
|
27729
27818
|
}),
|
|
27730
27819
|
children: /* @__PURE__ */ jsxs67(StatsRows, { children: [
|
|
27731
27820
|
singleElement && /* @__PURE__ */ jsxs67(Fragment18, { children: [
|
|
27732
|
-
cropMode && /* @__PURE__ */
|
|
27821
|
+
cropMode && /* @__PURE__ */ jsx131(StatsRow, { heading: true, children: t("labels.unCroppedDimension") }),
|
|
27733
27822
|
appState.croppingElementId && isImageElement(singleElement) && unCroppedDimension && /* @__PURE__ */ jsxs67(StatsRow, { columns: 2, children: [
|
|
27734
|
-
/* @__PURE__ */
|
|
27735
|
-
/* @__PURE__ */
|
|
27823
|
+
/* @__PURE__ */ jsx131("div", { children: t("stats.width") }),
|
|
27824
|
+
/* @__PURE__ */ jsx131("div", { children: round(unCroppedDimension.width, 2) })
|
|
27736
27825
|
] }),
|
|
27737
27826
|
appState.croppingElementId && isImageElement(singleElement) && unCroppedDimension && /* @__PURE__ */ jsxs67(StatsRow, { columns: 2, children: [
|
|
27738
|
-
/* @__PURE__ */
|
|
27739
|
-
/* @__PURE__ */
|
|
27827
|
+
/* @__PURE__ */ jsx131("div", { children: t("stats.height") }),
|
|
27828
|
+
/* @__PURE__ */ jsx131("div", { children: round(unCroppedDimension.height, 2) })
|
|
27740
27829
|
] }),
|
|
27741
|
-
/* @__PURE__ */
|
|
27830
|
+
/* @__PURE__ */ jsx131(
|
|
27742
27831
|
StatsRow,
|
|
27743
27832
|
{
|
|
27744
27833
|
heading: true,
|
|
@@ -27747,7 +27836,7 @@ var StatsInner = memo5(
|
|
|
27747
27836
|
children: appState.croppingElementId ? t("labels.imageCropping") : t(`element.${singleElement.type}`)
|
|
27748
27837
|
}
|
|
27749
27838
|
),
|
|
27750
|
-
/* @__PURE__ */
|
|
27839
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27751
27840
|
Position_default,
|
|
27752
27841
|
{
|
|
27753
27842
|
element: singleElement,
|
|
@@ -27757,7 +27846,7 @@ var StatsInner = memo5(
|
|
|
27757
27846
|
appState
|
|
27758
27847
|
}
|
|
27759
27848
|
) }),
|
|
27760
|
-
/* @__PURE__ */
|
|
27849
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27761
27850
|
Position_default,
|
|
27762
27851
|
{
|
|
27763
27852
|
element: singleElement,
|
|
@@ -27767,7 +27856,7 @@ var StatsInner = memo5(
|
|
|
27767
27856
|
appState
|
|
27768
27857
|
}
|
|
27769
27858
|
) }),
|
|
27770
|
-
/* @__PURE__ */
|
|
27859
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27771
27860
|
Dimension_default,
|
|
27772
27861
|
{
|
|
27773
27862
|
property: "width",
|
|
@@ -27776,7 +27865,7 @@ var StatsInner = memo5(
|
|
|
27776
27865
|
appState
|
|
27777
27866
|
}
|
|
27778
27867
|
) }),
|
|
27779
|
-
/* @__PURE__ */
|
|
27868
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27780
27869
|
Dimension_default,
|
|
27781
27870
|
{
|
|
27782
27871
|
property: "height",
|
|
@@ -27785,7 +27874,7 @@ var StatsInner = memo5(
|
|
|
27785
27874
|
appState
|
|
27786
27875
|
}
|
|
27787
27876
|
) }),
|
|
27788
|
-
!isElbowArrow(singleElement) && /* @__PURE__ */
|
|
27877
|
+
!isElbowArrow(singleElement) && /* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27789
27878
|
Angle_default,
|
|
27790
27879
|
{
|
|
27791
27880
|
property: "angle",
|
|
@@ -27794,7 +27883,7 @@ var StatsInner = memo5(
|
|
|
27794
27883
|
appState
|
|
27795
27884
|
}
|
|
27796
27885
|
) }),
|
|
27797
|
-
/* @__PURE__ */
|
|
27886
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27798
27887
|
FontSize_default,
|
|
27799
27888
|
{
|
|
27800
27889
|
property: "fontSize",
|
|
@@ -27805,12 +27894,12 @@ var StatsInner = memo5(
|
|
|
27805
27894
|
) })
|
|
27806
27895
|
] }),
|
|
27807
27896
|
multipleElements && /* @__PURE__ */ jsxs67(Fragment18, { children: [
|
|
27808
|
-
elementsAreInSameGroup(multipleElements) && /* @__PURE__ */
|
|
27897
|
+
elementsAreInSameGroup(multipleElements) && /* @__PURE__ */ jsx131(StatsRow, { heading: true, children: t("element.group") }),
|
|
27809
27898
|
/* @__PURE__ */ jsxs67(StatsRow, { columns: 2, style: { margin: "0.3125rem 0" }, children: [
|
|
27810
|
-
/* @__PURE__ */
|
|
27811
|
-
/* @__PURE__ */
|
|
27899
|
+
/* @__PURE__ */ jsx131("div", { children: t("stats.shapes") }),
|
|
27900
|
+
/* @__PURE__ */ jsx131("div", { children: selectedElements.length })
|
|
27812
27901
|
] }),
|
|
27813
|
-
/* @__PURE__ */
|
|
27902
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27814
27903
|
MultiPosition_default,
|
|
27815
27904
|
{
|
|
27816
27905
|
property: "x",
|
|
@@ -27821,7 +27910,7 @@ var StatsInner = memo5(
|
|
|
27821
27910
|
appState
|
|
27822
27911
|
}
|
|
27823
27912
|
) }),
|
|
27824
|
-
/* @__PURE__ */
|
|
27913
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27825
27914
|
MultiPosition_default,
|
|
27826
27915
|
{
|
|
27827
27916
|
property: "y",
|
|
@@ -27832,7 +27921,7 @@ var StatsInner = memo5(
|
|
|
27832
27921
|
appState
|
|
27833
27922
|
}
|
|
27834
27923
|
) }),
|
|
27835
|
-
/* @__PURE__ */
|
|
27924
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27836
27925
|
MultiDimension_default,
|
|
27837
27926
|
{
|
|
27838
27927
|
property: "width",
|
|
@@ -27843,7 +27932,7 @@ var StatsInner = memo5(
|
|
|
27843
27932
|
appState
|
|
27844
27933
|
}
|
|
27845
27934
|
) }),
|
|
27846
|
-
/* @__PURE__ */
|
|
27935
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27847
27936
|
MultiDimension_default,
|
|
27848
27937
|
{
|
|
27849
27938
|
property: "height",
|
|
@@ -27854,7 +27943,7 @@ var StatsInner = memo5(
|
|
|
27854
27943
|
appState
|
|
27855
27944
|
}
|
|
27856
27945
|
) }),
|
|
27857
|
-
/* @__PURE__ */
|
|
27946
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27858
27947
|
MultiAngle_default,
|
|
27859
27948
|
{
|
|
27860
27949
|
property: "angle",
|
|
@@ -27863,7 +27952,7 @@ var StatsInner = memo5(
|
|
|
27863
27952
|
appState
|
|
27864
27953
|
}
|
|
27865
27954
|
) }),
|
|
27866
|
-
/* @__PURE__ */
|
|
27955
|
+
/* @__PURE__ */ jsx131(StatsRow, { children: /* @__PURE__ */ jsx131(
|
|
27867
27956
|
MultiFontSize_default,
|
|
27868
27957
|
{
|
|
27869
27958
|
property: "fontSize",
|
|
@@ -27888,7 +27977,7 @@ var StatsInner = memo5(
|
|
|
27888
27977
|
|
|
27889
27978
|
// components/ElementLinkDialog.tsx
|
|
27890
27979
|
import { useCallback as useCallback12, useEffect as useEffect37, useState as useState32 } from "react";
|
|
27891
|
-
import { jsx as
|
|
27980
|
+
import { jsx as jsx132, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
27892
27981
|
var ElementLinkDialog = ({
|
|
27893
27982
|
sourceElementId,
|
|
27894
27983
|
onClose,
|
|
@@ -27952,11 +28041,11 @@ var ElementLinkDialog = ({
|
|
|
27952
28041
|
}, [appState, onClose, handleConfirm]);
|
|
27953
28042
|
return /* @__PURE__ */ jsxs68("div", { className: "ElementLinkDialog", children: [
|
|
27954
28043
|
/* @__PURE__ */ jsxs68("div", { className: "ElementLinkDialog__header", children: [
|
|
27955
|
-
/* @__PURE__ */
|
|
27956
|
-
/* @__PURE__ */
|
|
28044
|
+
/* @__PURE__ */ jsx132("h2", { children: t("elementLink.title") }),
|
|
28045
|
+
/* @__PURE__ */ jsx132("p", { children: t("elementLink.desc") })
|
|
27957
28046
|
] }),
|
|
27958
28047
|
/* @__PURE__ */ jsxs68("div", { className: "ElementLinkDialog__input", children: [
|
|
27959
|
-
/* @__PURE__ */
|
|
28048
|
+
/* @__PURE__ */ jsx132(
|
|
27960
28049
|
TextField,
|
|
27961
28050
|
{
|
|
27962
28051
|
value: nextLink ?? "",
|
|
@@ -27975,7 +28064,7 @@ var ElementLinkDialog = ({
|
|
|
27975
28064
|
selectOnRender: true
|
|
27976
28065
|
}
|
|
27977
28066
|
),
|
|
27978
|
-
originalLink && nextLink && /* @__PURE__ */
|
|
28067
|
+
originalLink && nextLink && /* @__PURE__ */ jsx132(
|
|
27979
28068
|
ToolButton,
|
|
27980
28069
|
{
|
|
27981
28070
|
type: "button",
|
|
@@ -27992,7 +28081,7 @@ var ElementLinkDialog = ({
|
|
|
27992
28081
|
)
|
|
27993
28082
|
] }),
|
|
27994
28083
|
/* @__PURE__ */ jsxs68("div", { className: "ElementLinkDialog__actions", children: [
|
|
27995
|
-
/* @__PURE__ */
|
|
28084
|
+
/* @__PURE__ */ jsx132(
|
|
27996
28085
|
DialogActionButton_default,
|
|
27997
28086
|
{
|
|
27998
28087
|
label: t("buttons.cancel"),
|
|
@@ -28004,7 +28093,7 @@ var ElementLinkDialog = ({
|
|
|
28004
28093
|
}
|
|
28005
28094
|
}
|
|
28006
28095
|
),
|
|
28007
|
-
/* @__PURE__ */
|
|
28096
|
+
/* @__PURE__ */ jsx132(
|
|
28008
28097
|
DialogActionButton_default,
|
|
28009
28098
|
{
|
|
28010
28099
|
label: t("buttons.confirm"),
|
|
@@ -28019,7 +28108,7 @@ var ElementLinkDialog_default = ElementLinkDialog;
|
|
|
28019
28108
|
|
|
28020
28109
|
// components/ErrorDialog.tsx
|
|
28021
28110
|
import React35, { useState as useState33 } from "react";
|
|
28022
|
-
import { Fragment as Fragment19, jsx as
|
|
28111
|
+
import { Fragment as Fragment19, jsx as jsx133 } from "react/jsx-runtime";
|
|
28023
28112
|
var ErrorDialog = ({
|
|
28024
28113
|
children,
|
|
28025
28114
|
onClose
|
|
@@ -28033,30 +28122,30 @@ var ErrorDialog = ({
|
|
|
28033
28122
|
}
|
|
28034
28123
|
excalidrawContainer?.focus();
|
|
28035
28124
|
}, [onClose, excalidrawContainer]);
|
|
28036
|
-
return /* @__PURE__ */
|
|
28125
|
+
return /* @__PURE__ */ jsx133(Fragment19, { children: modalIsShown && /* @__PURE__ */ jsx133(
|
|
28037
28126
|
Dialog,
|
|
28038
28127
|
{
|
|
28039
28128
|
size: "small",
|
|
28040
28129
|
onCloseRequest: handleClose,
|
|
28041
28130
|
title: t("errorDialog.title"),
|
|
28042
|
-
children: /* @__PURE__ */
|
|
28131
|
+
children: /* @__PURE__ */ jsx133("div", { style: { whiteSpace: "pre-wrap" }, children })
|
|
28043
28132
|
}
|
|
28044
28133
|
) });
|
|
28045
28134
|
};
|
|
28046
28135
|
|
|
28047
28136
|
// components/HelpDialog.tsx
|
|
28048
|
-
import React36, { useMemo as
|
|
28049
|
-
import
|
|
28137
|
+
import React36, { useMemo as useMemo11 } from "react";
|
|
28138
|
+
import clsx52 from "clsx";
|
|
28050
28139
|
|
|
28051
28140
|
// components/HelpDialog/BasicHelpDialog.tsx
|
|
28052
|
-
import { Fragment as Fragment20, jsx as
|
|
28141
|
+
import { Fragment as Fragment20, jsx as jsx134, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
28053
28142
|
var Section2 = (props) => /* @__PURE__ */ jsxs69(Fragment20, { children: [
|
|
28054
|
-
/* @__PURE__ */
|
|
28055
|
-
/* @__PURE__ */
|
|
28143
|
+
/* @__PURE__ */ jsx134("h3", { children: props.title }),
|
|
28144
|
+
/* @__PURE__ */ jsx134("div", { className: "HelpDialog__islands-container", children: props.children })
|
|
28056
28145
|
] });
|
|
28057
28146
|
var ShortcutIsland = (props) => /* @__PURE__ */ jsxs69("div", { className: `HelpDialog__island ${props.className}`, children: [
|
|
28058
|
-
/* @__PURE__ */
|
|
28059
|
-
/* @__PURE__ */
|
|
28147
|
+
/* @__PURE__ */ jsx134("h4", { className: "HelpDialog__island-title", children: props.caption }),
|
|
28148
|
+
/* @__PURE__ */ jsx134("div", { className: "HelpDialog__island-content", children: props.children })
|
|
28060
28149
|
] });
|
|
28061
28150
|
function* intersperse(as, delim) {
|
|
28062
28151
|
let first = true;
|
|
@@ -28078,14 +28167,14 @@ var Shortcut = ({
|
|
|
28078
28167
|
}) => {
|
|
28079
28168
|
const splitShortcutKeys = shortcuts.map((shortcut) => {
|
|
28080
28169
|
const keys = shortcut.endsWith("++") ? [...shortcut.slice(0, -2).split("+"), "+"] : shortcut.split("+");
|
|
28081
|
-
return keys.map((key) => /* @__PURE__ */
|
|
28170
|
+
return keys.map((key) => /* @__PURE__ */ jsx134(ShortcutKey, { children: upperCaseSingleChars(key) }, key));
|
|
28082
28171
|
});
|
|
28083
28172
|
return /* @__PURE__ */ jsxs69("div", { className: "HelpDialog__shortcut", children: [
|
|
28084
|
-
/* @__PURE__ */
|
|
28085
|
-
/* @__PURE__ */
|
|
28173
|
+
/* @__PURE__ */ jsx134("div", { children: label }),
|
|
28174
|
+
/* @__PURE__ */ jsx134("div", { className: "HelpDialog__key-container", children: [...intersperse(splitShortcutKeys, isOr ? t("helpDialog.or") : null)] })
|
|
28086
28175
|
] });
|
|
28087
28176
|
};
|
|
28088
|
-
var ShortcutKey = (props) => /* @__PURE__ */
|
|
28177
|
+
var ShortcutKey = (props) => /* @__PURE__ */ jsx134("kbd", { className: "HelpDialog__key", ...props });
|
|
28089
28178
|
function BasicHelpDialog() {
|
|
28090
28179
|
return /* @__PURE__ */ jsxs69(Section2, { title: t("helpDialog.shortcuts"), children: [
|
|
28091
28180
|
/* @__PURE__ */ jsxs69(
|
|
@@ -28094,9 +28183,9 @@ function BasicHelpDialog() {
|
|
|
28094
28183
|
className: "HelpDialog__island--tools",
|
|
28095
28184
|
caption: t("helpDialog.tools"),
|
|
28096
28185
|
children: [
|
|
28097
|
-
/* @__PURE__ */
|
|
28186
|
+
/* @__PURE__ */ jsx134(Shortcut, { label: t("toolBar.hand"), shortcuts: [KEYS.H] }),
|
|
28098
28187
|
SHAPES2.filter(({ myocSimplifiedMode }) => myocSimplifiedMode).map(
|
|
28099
|
-
({ value, key }) => /* @__PURE__ */
|
|
28188
|
+
({ value, key }) => /* @__PURE__ */ jsx134(
|
|
28100
28189
|
Shortcut,
|
|
28101
28190
|
{
|
|
28102
28191
|
label: t(`toolBar.${value}`),
|
|
@@ -28105,7 +28194,7 @@ function BasicHelpDialog() {
|
|
|
28105
28194
|
value
|
|
28106
28195
|
)
|
|
28107
28196
|
),
|
|
28108
|
-
/* @__PURE__ */
|
|
28197
|
+
/* @__PURE__ */ jsx134(
|
|
28109
28198
|
Shortcut,
|
|
28110
28199
|
{
|
|
28111
28200
|
label: t("helpDialog.cropStart"),
|
|
@@ -28113,7 +28202,7 @@ function BasicHelpDialog() {
|
|
|
28113
28202
|
isOr: true
|
|
28114
28203
|
}
|
|
28115
28204
|
),
|
|
28116
|
-
/* @__PURE__ */
|
|
28205
|
+
/* @__PURE__ */ jsx134(
|
|
28117
28206
|
Shortcut,
|
|
28118
28207
|
{
|
|
28119
28208
|
label: t("helpDialog.cropFinish"),
|
|
@@ -28130,22 +28219,22 @@ function BasicHelpDialog() {
|
|
|
28130
28219
|
className: "HelpDialog__island--view",
|
|
28131
28220
|
caption: t("helpDialog.view"),
|
|
28132
28221
|
children: [
|
|
28133
|
-
/* @__PURE__ */
|
|
28134
|
-
/* @__PURE__ */
|
|
28222
|
+
/* @__PURE__ */ jsx134(Shortcut, { label: t("helpDialog.smartZoom"), shortcuts: [KEYS.F] }),
|
|
28223
|
+
/* @__PURE__ */ jsx134(
|
|
28135
28224
|
Shortcut,
|
|
28136
28225
|
{
|
|
28137
28226
|
label: t("buttons.zenMode"),
|
|
28138
28227
|
shortcuts: [getShortcutKey("Alt+Z")]
|
|
28139
28228
|
}
|
|
28140
28229
|
),
|
|
28141
|
-
/* @__PURE__ */
|
|
28230
|
+
/* @__PURE__ */ jsx134(
|
|
28142
28231
|
Shortcut,
|
|
28143
28232
|
{
|
|
28144
28233
|
label: t("buttons.objectsSnapMode"),
|
|
28145
28234
|
shortcuts: [getShortcutKey("Alt+S")]
|
|
28146
28235
|
}
|
|
28147
28236
|
),
|
|
28148
|
-
/* @__PURE__ */
|
|
28237
|
+
/* @__PURE__ */ jsx134(
|
|
28149
28238
|
Shortcut,
|
|
28150
28239
|
{
|
|
28151
28240
|
label: t("commandPalette.title"),
|
|
@@ -28164,70 +28253,70 @@ function BasicHelpDialog() {
|
|
|
28164
28253
|
className: "HelpDialog__island--editor",
|
|
28165
28254
|
caption: t("helpDialog.editor"),
|
|
28166
28255
|
children: [
|
|
28167
|
-
/* @__PURE__ */
|
|
28256
|
+
/* @__PURE__ */ jsx134(
|
|
28168
28257
|
Shortcut,
|
|
28169
28258
|
{
|
|
28170
28259
|
label: t("labels.pasteAsPlaintext"),
|
|
28171
28260
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+V")]
|
|
28172
28261
|
}
|
|
28173
28262
|
),
|
|
28174
|
-
/* @__PURE__ */
|
|
28263
|
+
/* @__PURE__ */ jsx134(
|
|
28175
28264
|
Shortcut,
|
|
28176
28265
|
{
|
|
28177
28266
|
label: t("labels.multiSelect"),
|
|
28178
28267
|
shortcuts: [getShortcutKey(`Shift+${t("helpDialog.click")}`)]
|
|
28179
28268
|
}
|
|
28180
28269
|
),
|
|
28181
|
-
/* @__PURE__ */
|
|
28270
|
+
/* @__PURE__ */ jsx134(
|
|
28182
28271
|
Shortcut,
|
|
28183
28272
|
{
|
|
28184
28273
|
label: t("helpDialog.deepSelect"),
|
|
28185
28274
|
shortcuts: [getShortcutKey(`CtrlOrCmd+${t("helpDialog.click")}`)]
|
|
28186
28275
|
}
|
|
28187
28276
|
),
|
|
28188
|
-
/* @__PURE__ */
|
|
28277
|
+
/* @__PURE__ */ jsx134(
|
|
28189
28278
|
Shortcut,
|
|
28190
28279
|
{
|
|
28191
28280
|
label: t("helpDialog.deepBoxSelect"),
|
|
28192
28281
|
shortcuts: [getShortcutKey(`CtrlOrCmd+${t("helpDialog.drag")}`)]
|
|
28193
28282
|
}
|
|
28194
28283
|
),
|
|
28195
|
-
(probablySupportsClipboardBlob || isFirefox) && /* @__PURE__ */
|
|
28284
|
+
(probablySupportsClipboardBlob || isFirefox) && /* @__PURE__ */ jsx134(
|
|
28196
28285
|
Shortcut,
|
|
28197
28286
|
{
|
|
28198
28287
|
label: t("labels.copyAsPng"),
|
|
28199
28288
|
shortcuts: [getShortcutKey("Shift+Alt+C")]
|
|
28200
28289
|
}
|
|
28201
28290
|
),
|
|
28202
|
-
/* @__PURE__ */
|
|
28291
|
+
/* @__PURE__ */ jsx134(
|
|
28203
28292
|
Shortcut,
|
|
28204
28293
|
{
|
|
28205
28294
|
label: t("helpDialog.toggleElementLock"),
|
|
28206
28295
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+L")]
|
|
28207
28296
|
}
|
|
28208
28297
|
),
|
|
28209
|
-
/* @__PURE__ */
|
|
28298
|
+
/* @__PURE__ */ jsx134(
|
|
28210
28299
|
Shortcut,
|
|
28211
28300
|
{
|
|
28212
28301
|
label: t("labels.group"),
|
|
28213
28302
|
shortcuts: [getShortcutKey("CtrlOrCmd+G")]
|
|
28214
28303
|
}
|
|
28215
28304
|
),
|
|
28216
|
-
/* @__PURE__ */
|
|
28305
|
+
/* @__PURE__ */ jsx134(
|
|
28217
28306
|
Shortcut,
|
|
28218
28307
|
{
|
|
28219
28308
|
label: t("labels.ungroup"),
|
|
28220
28309
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+G")]
|
|
28221
28310
|
}
|
|
28222
28311
|
),
|
|
28223
|
-
/* @__PURE__ */
|
|
28312
|
+
/* @__PURE__ */ jsx134(
|
|
28224
28313
|
Shortcut,
|
|
28225
28314
|
{
|
|
28226
28315
|
label: t("labels.flipHorizontal"),
|
|
28227
28316
|
shortcuts: [getShortcutKey("Shift+H")]
|
|
28228
28317
|
}
|
|
28229
28318
|
),
|
|
28230
|
-
/* @__PURE__ */
|
|
28319
|
+
/* @__PURE__ */ jsx134(
|
|
28231
28320
|
Shortcut,
|
|
28232
28321
|
{
|
|
28233
28322
|
label: t("labels.flipVertical"),
|
|
@@ -28241,14 +28330,14 @@ function BasicHelpDialog() {
|
|
|
28241
28330
|
}
|
|
28242
28331
|
|
|
28243
28332
|
// components/HelpDialog.tsx
|
|
28244
|
-
import { Fragment as Fragment21, jsx as
|
|
28333
|
+
import { Fragment as Fragment21, jsx as jsx135, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
28245
28334
|
var Section3 = (props) => /* @__PURE__ */ jsxs70(Fragment21, { children: [
|
|
28246
|
-
/* @__PURE__ */
|
|
28247
|
-
/* @__PURE__ */
|
|
28335
|
+
/* @__PURE__ */ jsx135("h3", { children: props.title }),
|
|
28336
|
+
/* @__PURE__ */ jsx135("div", { className: "HelpDialog__islands-container", children: props.children })
|
|
28248
28337
|
] });
|
|
28249
28338
|
var ShortcutIsland2 = (props) => /* @__PURE__ */ jsxs70("div", { className: `HelpDialog__island ${props.className}`, children: [
|
|
28250
|
-
/* @__PURE__ */
|
|
28251
|
-
/* @__PURE__ */
|
|
28339
|
+
/* @__PURE__ */ jsx135("h4", { className: "HelpDialog__island-title", children: props.caption }),
|
|
28340
|
+
/* @__PURE__ */ jsx135("div", { className: "HelpDialog__island-content", children: props.children })
|
|
28252
28341
|
] });
|
|
28253
28342
|
function* intersperse2(as, delim) {
|
|
28254
28343
|
let first = true;
|
|
@@ -28270,14 +28359,14 @@ var Shortcut2 = ({
|
|
|
28270
28359
|
}) => {
|
|
28271
28360
|
const splitShortcutKeys = shortcuts.map((shortcut) => {
|
|
28272
28361
|
const keys = shortcut.endsWith("++") ? [...shortcut.slice(0, -2).split("+"), "+"] : shortcut.split("+");
|
|
28273
|
-
return keys.map((key) => /* @__PURE__ */
|
|
28362
|
+
return keys.map((key) => /* @__PURE__ */ jsx135(ShortcutKey2, { children: upperCaseSingleChars2(key) }, key));
|
|
28274
28363
|
});
|
|
28275
28364
|
return /* @__PURE__ */ jsxs70("div", { className: "HelpDialog__shortcut", children: [
|
|
28276
|
-
/* @__PURE__ */
|
|
28277
|
-
/* @__PURE__ */
|
|
28365
|
+
/* @__PURE__ */ jsx135("div", { children: label }),
|
|
28366
|
+
/* @__PURE__ */ jsx135("div", { className: "HelpDialog__key-container", children: [...intersperse2(splitShortcutKeys, isOr ? t("helpDialog.or") : null)] })
|
|
28278
28367
|
] });
|
|
28279
28368
|
};
|
|
28280
|
-
var ShortcutKey2 = (props) => /* @__PURE__ */
|
|
28369
|
+
var ShortcutKey2 = (props) => /* @__PURE__ */ jsx135("kbd", { className: "HelpDialog__key", ...props });
|
|
28281
28370
|
var HelpDialog = ({ onClose }) => {
|
|
28282
28371
|
const [isShowAll, setIsShowAll] = React36.useState(false);
|
|
28283
28372
|
const handleClose = React36.useCallback(() => {
|
|
@@ -28285,25 +28374,25 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28285
28374
|
onClose();
|
|
28286
28375
|
}
|
|
28287
28376
|
}, [onClose]);
|
|
28288
|
-
const showAllButton =
|
|
28289
|
-
() => isShowAll ? /* @__PURE__ */
|
|
28377
|
+
const showAllButton = useMemo11(
|
|
28378
|
+
() => isShowAll ? /* @__PURE__ */ jsx135(
|
|
28290
28379
|
"button",
|
|
28291
28380
|
{
|
|
28292
|
-
className:
|
|
28381
|
+
className: clsx52("toggle-button", {}),
|
|
28293
28382
|
onClick: () => setIsShowAll(false),
|
|
28294
28383
|
children: t("helpDialog.myoc.showingAll")
|
|
28295
28384
|
}
|
|
28296
|
-
) : /* @__PURE__ */
|
|
28385
|
+
) : /* @__PURE__ */ jsx135(
|
|
28297
28386
|
"button",
|
|
28298
28387
|
{
|
|
28299
|
-
className:
|
|
28388
|
+
className: clsx52("toggle-button", {}),
|
|
28300
28389
|
onClick: () => setIsShowAll(true),
|
|
28301
28390
|
children: t("helpDialog.myoc.showingBasic")
|
|
28302
28391
|
}
|
|
28303
28392
|
),
|
|
28304
28393
|
[isShowAll]
|
|
28305
28394
|
);
|
|
28306
|
-
return /* @__PURE__ */
|
|
28395
|
+
return /* @__PURE__ */ jsx135(Fragment21, { children: /* @__PURE__ */ jsx135(
|
|
28307
28396
|
Dialog,
|
|
28308
28397
|
{
|
|
28309
28398
|
onCloseRequest: handleClose,
|
|
@@ -28317,8 +28406,8 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28317
28406
|
className: "HelpDialog__island--tools",
|
|
28318
28407
|
caption: t("helpDialog.tools"),
|
|
28319
28408
|
children: [
|
|
28320
|
-
/* @__PURE__ */
|
|
28321
|
-
SHAPES.map(({ value, key }) => /* @__PURE__ */
|
|
28409
|
+
/* @__PURE__ */ jsx135(Shortcut2, { label: t("toolBar.hand"), shortcuts: [KEYS.H] }),
|
|
28410
|
+
SHAPES.map(({ value, key }) => /* @__PURE__ */ jsx135(
|
|
28322
28411
|
Shortcut2,
|
|
28323
28412
|
{
|
|
28324
28413
|
label: t(`toolBar.${value}`),
|
|
@@ -28326,30 +28415,30 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28326
28415
|
},
|
|
28327
28416
|
value
|
|
28328
28417
|
)),
|
|
28329
|
-
/* @__PURE__ */
|
|
28330
|
-
/* @__PURE__ */
|
|
28331
|
-
/* @__PURE__ */
|
|
28418
|
+
/* @__PURE__ */ jsx135(Shortcut2, { label: t("toolBar.frame"), shortcuts: [KEYS.F] }),
|
|
28419
|
+
/* @__PURE__ */ jsx135(Shortcut2, { label: t("toolBar.laser"), shortcuts: [KEYS.K] }),
|
|
28420
|
+
/* @__PURE__ */ jsx135(
|
|
28332
28421
|
Shortcut2,
|
|
28333
28422
|
{
|
|
28334
28423
|
label: t("labels.eyeDropper"),
|
|
28335
28424
|
shortcuts: [KEYS.I, "Shift+S", "Shift+G"]
|
|
28336
28425
|
}
|
|
28337
28426
|
),
|
|
28338
|
-
/* @__PURE__ */
|
|
28427
|
+
/* @__PURE__ */ jsx135(
|
|
28339
28428
|
Shortcut2,
|
|
28340
28429
|
{
|
|
28341
28430
|
label: t("helpDialog.editLineArrowPoints"),
|
|
28342
28431
|
shortcuts: [getShortcutKey("CtrlOrCmd+Enter")]
|
|
28343
28432
|
}
|
|
28344
28433
|
),
|
|
28345
|
-
/* @__PURE__ */
|
|
28434
|
+
/* @__PURE__ */ jsx135(
|
|
28346
28435
|
Shortcut2,
|
|
28347
28436
|
{
|
|
28348
28437
|
label: t("helpDialog.editText"),
|
|
28349
28438
|
shortcuts: [getShortcutKey("Enter")]
|
|
28350
28439
|
}
|
|
28351
28440
|
),
|
|
28352
|
-
/* @__PURE__ */
|
|
28441
|
+
/* @__PURE__ */ jsx135(
|
|
28353
28442
|
Shortcut2,
|
|
28354
28443
|
{
|
|
28355
28444
|
label: t("helpDialog.textNewLine"),
|
|
@@ -28359,7 +28448,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28359
28448
|
]
|
|
28360
28449
|
}
|
|
28361
28450
|
),
|
|
28362
|
-
/* @__PURE__ */
|
|
28451
|
+
/* @__PURE__ */ jsx135(
|
|
28363
28452
|
Shortcut2,
|
|
28364
28453
|
{
|
|
28365
28454
|
label: t("helpDialog.textFinish"),
|
|
@@ -28369,7 +28458,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28369
28458
|
]
|
|
28370
28459
|
}
|
|
28371
28460
|
),
|
|
28372
|
-
/* @__PURE__ */
|
|
28461
|
+
/* @__PURE__ */ jsx135(
|
|
28373
28462
|
Shortcut2,
|
|
28374
28463
|
{
|
|
28375
28464
|
label: t("helpDialog.curvedArrow"),
|
|
@@ -28382,7 +28471,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28382
28471
|
isOr: false
|
|
28383
28472
|
}
|
|
28384
28473
|
),
|
|
28385
|
-
/* @__PURE__ */
|
|
28474
|
+
/* @__PURE__ */ jsx135(
|
|
28386
28475
|
Shortcut2,
|
|
28387
28476
|
{
|
|
28388
28477
|
label: t("helpDialog.curvedLine"),
|
|
@@ -28395,7 +28484,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28395
28484
|
isOr: false
|
|
28396
28485
|
}
|
|
28397
28486
|
),
|
|
28398
|
-
/* @__PURE__ */
|
|
28487
|
+
/* @__PURE__ */ jsx135(
|
|
28399
28488
|
Shortcut2,
|
|
28400
28489
|
{
|
|
28401
28490
|
label: t("helpDialog.cropStart"),
|
|
@@ -28406,7 +28495,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28406
28495
|
isOr: true
|
|
28407
28496
|
}
|
|
28408
28497
|
),
|
|
28409
|
-
/* @__PURE__ */
|
|
28498
|
+
/* @__PURE__ */ jsx135(
|
|
28410
28499
|
Shortcut2,
|
|
28411
28500
|
{
|
|
28412
28501
|
label: t("helpDialog.cropFinish"),
|
|
@@ -28414,15 +28503,15 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28414
28503
|
isOr: true
|
|
28415
28504
|
}
|
|
28416
28505
|
),
|
|
28417
|
-
/* @__PURE__ */
|
|
28418
|
-
/* @__PURE__ */
|
|
28506
|
+
/* @__PURE__ */ jsx135(Shortcut2, { label: t("toolBar.lock"), shortcuts: [KEYS.Q] }),
|
|
28507
|
+
/* @__PURE__ */ jsx135(
|
|
28419
28508
|
Shortcut2,
|
|
28420
28509
|
{
|
|
28421
28510
|
label: t("helpDialog.preventBinding"),
|
|
28422
28511
|
shortcuts: [getShortcutKey("CtrlOrCmd")]
|
|
28423
28512
|
}
|
|
28424
28513
|
),
|
|
28425
|
-
/* @__PURE__ */
|
|
28514
|
+
/* @__PURE__ */ jsx135(
|
|
28426
28515
|
Shortcut2,
|
|
28427
28516
|
{
|
|
28428
28517
|
label: t("toolBar.link"),
|
|
@@ -28438,98 +28527,98 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28438
28527
|
className: "HelpDialog__island--view",
|
|
28439
28528
|
caption: t("helpDialog.view"),
|
|
28440
28529
|
children: [
|
|
28441
|
-
/* @__PURE__ */
|
|
28530
|
+
/* @__PURE__ */ jsx135(
|
|
28442
28531
|
Shortcut2,
|
|
28443
28532
|
{
|
|
28444
28533
|
label: t("helpDialog.smartZoom"),
|
|
28445
28534
|
shortcuts: [KEYS.F]
|
|
28446
28535
|
}
|
|
28447
28536
|
),
|
|
28448
|
-
/* @__PURE__ */
|
|
28537
|
+
/* @__PURE__ */ jsx135(
|
|
28449
28538
|
Shortcut2,
|
|
28450
28539
|
{
|
|
28451
28540
|
label: t("buttons.zoomIn"),
|
|
28452
28541
|
shortcuts: [getShortcutKey("CtrlOrCmd++")]
|
|
28453
28542
|
}
|
|
28454
28543
|
),
|
|
28455
|
-
/* @__PURE__ */
|
|
28544
|
+
/* @__PURE__ */ jsx135(
|
|
28456
28545
|
Shortcut2,
|
|
28457
28546
|
{
|
|
28458
28547
|
label: t("buttons.zoomOut"),
|
|
28459
28548
|
shortcuts: [getShortcutKey("CtrlOrCmd+-")]
|
|
28460
28549
|
}
|
|
28461
28550
|
),
|
|
28462
|
-
/* @__PURE__ */
|
|
28551
|
+
/* @__PURE__ */ jsx135(
|
|
28463
28552
|
Shortcut2,
|
|
28464
28553
|
{
|
|
28465
28554
|
label: t("buttons.resetZoom"),
|
|
28466
28555
|
shortcuts: [getShortcutKey("CtrlOrCmd+0")]
|
|
28467
28556
|
}
|
|
28468
28557
|
),
|
|
28469
|
-
/* @__PURE__ */
|
|
28558
|
+
/* @__PURE__ */ jsx135(
|
|
28470
28559
|
Shortcut2,
|
|
28471
28560
|
{
|
|
28472
28561
|
label: t("helpDialog.zoomToSelection"),
|
|
28473
28562
|
shortcuts: ["Shift+2"]
|
|
28474
28563
|
}
|
|
28475
28564
|
),
|
|
28476
|
-
/* @__PURE__ */
|
|
28565
|
+
/* @__PURE__ */ jsx135(
|
|
28477
28566
|
Shortcut2,
|
|
28478
28567
|
{
|
|
28479
28568
|
label: t("helpDialog.movePageUpDown"),
|
|
28480
28569
|
shortcuts: ["PgUp/PgDn"]
|
|
28481
28570
|
}
|
|
28482
28571
|
),
|
|
28483
|
-
/* @__PURE__ */
|
|
28572
|
+
/* @__PURE__ */ jsx135(
|
|
28484
28573
|
Shortcut2,
|
|
28485
28574
|
{
|
|
28486
28575
|
label: t("helpDialog.movePageLeftRight"),
|
|
28487
28576
|
shortcuts: ["Shift+PgUp/PgDn"]
|
|
28488
28577
|
}
|
|
28489
28578
|
),
|
|
28490
|
-
/* @__PURE__ */
|
|
28579
|
+
/* @__PURE__ */ jsx135(
|
|
28491
28580
|
Shortcut2,
|
|
28492
28581
|
{
|
|
28493
28582
|
label: t("buttons.zenMode"),
|
|
28494
28583
|
shortcuts: [getShortcutKey("Alt+Z")]
|
|
28495
28584
|
}
|
|
28496
28585
|
),
|
|
28497
|
-
/* @__PURE__ */
|
|
28586
|
+
/* @__PURE__ */ jsx135(
|
|
28498
28587
|
Shortcut2,
|
|
28499
28588
|
{
|
|
28500
28589
|
label: t("buttons.objectsSnapMode"),
|
|
28501
28590
|
shortcuts: [getShortcutKey("Alt+S")]
|
|
28502
28591
|
}
|
|
28503
28592
|
),
|
|
28504
|
-
/* @__PURE__ */
|
|
28593
|
+
/* @__PURE__ */ jsx135(
|
|
28505
28594
|
Shortcut2,
|
|
28506
28595
|
{
|
|
28507
28596
|
label: t("labels.toggleGrid"),
|
|
28508
28597
|
shortcuts: [getShortcutKey("CtrlOrCmd+'")]
|
|
28509
28598
|
}
|
|
28510
28599
|
),
|
|
28511
|
-
/* @__PURE__ */
|
|
28600
|
+
/* @__PURE__ */ jsx135(
|
|
28512
28601
|
Shortcut2,
|
|
28513
28602
|
{
|
|
28514
28603
|
label: t("labels.viewMode"),
|
|
28515
28604
|
shortcuts: [getShortcutKey("Alt+R")]
|
|
28516
28605
|
}
|
|
28517
28606
|
),
|
|
28518
|
-
/* @__PURE__ */
|
|
28607
|
+
/* @__PURE__ */ jsx135(
|
|
28519
28608
|
Shortcut2,
|
|
28520
28609
|
{
|
|
28521
28610
|
label: t("stats.fullTitle"),
|
|
28522
28611
|
shortcuts: [getShortcutKey("Alt+/")]
|
|
28523
28612
|
}
|
|
28524
28613
|
),
|
|
28525
|
-
/* @__PURE__ */
|
|
28614
|
+
/* @__PURE__ */ jsx135(
|
|
28526
28615
|
Shortcut2,
|
|
28527
28616
|
{
|
|
28528
28617
|
label: t("search.title"),
|
|
28529
28618
|
shortcuts: [getShortcutFromShortcutName("searchMenu")]
|
|
28530
28619
|
}
|
|
28531
28620
|
),
|
|
28532
|
-
/* @__PURE__ */
|
|
28621
|
+
/* @__PURE__ */ jsx135(
|
|
28533
28622
|
Shortcut2,
|
|
28534
28623
|
{
|
|
28535
28624
|
label: t("commandPalette.title"),
|
|
@@ -28548,7 +28637,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28548
28637
|
className: "HelpDialog__island--editor",
|
|
28549
28638
|
caption: t("helpDialog.editor"),
|
|
28550
28639
|
children: [
|
|
28551
|
-
/* @__PURE__ */
|
|
28640
|
+
/* @__PURE__ */ jsx135(
|
|
28552
28641
|
Shortcut2,
|
|
28553
28642
|
{
|
|
28554
28643
|
label: t("labels.moveCanvas"),
|
|
@@ -28559,56 +28648,56 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28559
28648
|
isOr: true
|
|
28560
28649
|
}
|
|
28561
28650
|
),
|
|
28562
|
-
/* @__PURE__ */
|
|
28651
|
+
/* @__PURE__ */ jsx135(
|
|
28563
28652
|
Shortcut2,
|
|
28564
28653
|
{
|
|
28565
28654
|
label: t("labels.delete"),
|
|
28566
28655
|
shortcuts: [getShortcutKey("Delete")]
|
|
28567
28656
|
}
|
|
28568
28657
|
),
|
|
28569
|
-
/* @__PURE__ */
|
|
28658
|
+
/* @__PURE__ */ jsx135(
|
|
28570
28659
|
Shortcut2,
|
|
28571
28660
|
{
|
|
28572
28661
|
label: t("labels.cut"),
|
|
28573
28662
|
shortcuts: [getShortcutKey("CtrlOrCmd+X")]
|
|
28574
28663
|
}
|
|
28575
28664
|
),
|
|
28576
|
-
/* @__PURE__ */
|
|
28665
|
+
/* @__PURE__ */ jsx135(
|
|
28577
28666
|
Shortcut2,
|
|
28578
28667
|
{
|
|
28579
28668
|
label: t("labels.copy"),
|
|
28580
28669
|
shortcuts: [getShortcutKey("CtrlOrCmd+C")]
|
|
28581
28670
|
}
|
|
28582
28671
|
),
|
|
28583
|
-
/* @__PURE__ */
|
|
28672
|
+
/* @__PURE__ */ jsx135(
|
|
28584
28673
|
Shortcut2,
|
|
28585
28674
|
{
|
|
28586
28675
|
label: t("labels.paste"),
|
|
28587
28676
|
shortcuts: [getShortcutKey("CtrlOrCmd+V")]
|
|
28588
28677
|
}
|
|
28589
28678
|
),
|
|
28590
|
-
/* @__PURE__ */
|
|
28679
|
+
/* @__PURE__ */ jsx135(
|
|
28591
28680
|
Shortcut2,
|
|
28592
28681
|
{
|
|
28593
28682
|
label: t("labels.pasteAsPlaintext"),
|
|
28594
28683
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+V")]
|
|
28595
28684
|
}
|
|
28596
28685
|
),
|
|
28597
|
-
/* @__PURE__ */
|
|
28686
|
+
/* @__PURE__ */ jsx135(
|
|
28598
28687
|
Shortcut2,
|
|
28599
28688
|
{
|
|
28600
28689
|
label: t("labels.selectAll"),
|
|
28601
28690
|
shortcuts: [getShortcutKey("CtrlOrCmd+A")]
|
|
28602
28691
|
}
|
|
28603
28692
|
),
|
|
28604
|
-
/* @__PURE__ */
|
|
28693
|
+
/* @__PURE__ */ jsx135(
|
|
28605
28694
|
Shortcut2,
|
|
28606
28695
|
{
|
|
28607
28696
|
label: t("labels.multiSelect"),
|
|
28608
28697
|
shortcuts: [getShortcutKey(`Shift+${t("helpDialog.click")}`)]
|
|
28609
28698
|
}
|
|
28610
28699
|
),
|
|
28611
|
-
/* @__PURE__ */
|
|
28700
|
+
/* @__PURE__ */ jsx135(
|
|
28612
28701
|
Shortcut2,
|
|
28613
28702
|
{
|
|
28614
28703
|
label: t("helpDialog.deepSelect"),
|
|
@@ -28617,7 +28706,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28617
28706
|
]
|
|
28618
28707
|
}
|
|
28619
28708
|
),
|
|
28620
|
-
/* @__PURE__ */
|
|
28709
|
+
/* @__PURE__ */ jsx135(
|
|
28621
28710
|
Shortcut2,
|
|
28622
28711
|
{
|
|
28623
28712
|
label: t("helpDialog.deepBoxSelect"),
|
|
@@ -28626,28 +28715,28 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28626
28715
|
]
|
|
28627
28716
|
}
|
|
28628
28717
|
),
|
|
28629
|
-
(probablySupportsClipboardBlob || isFirefox) && /* @__PURE__ */
|
|
28718
|
+
(probablySupportsClipboardBlob || isFirefox) && /* @__PURE__ */ jsx135(
|
|
28630
28719
|
Shortcut2,
|
|
28631
28720
|
{
|
|
28632
28721
|
label: t("labels.copyAsPng"),
|
|
28633
28722
|
shortcuts: [getShortcutKey("Shift+Alt+C")]
|
|
28634
28723
|
}
|
|
28635
28724
|
),
|
|
28636
|
-
/* @__PURE__ */
|
|
28725
|
+
/* @__PURE__ */ jsx135(
|
|
28637
28726
|
Shortcut2,
|
|
28638
28727
|
{
|
|
28639
28728
|
label: t("labels.copyStyles"),
|
|
28640
28729
|
shortcuts: [getShortcutKey("CtrlOrCmd+Alt+C")]
|
|
28641
28730
|
}
|
|
28642
28731
|
),
|
|
28643
|
-
/* @__PURE__ */
|
|
28732
|
+
/* @__PURE__ */ jsx135(
|
|
28644
28733
|
Shortcut2,
|
|
28645
28734
|
{
|
|
28646
28735
|
label: t("labels.pasteStyles"),
|
|
28647
28736
|
shortcuts: [getShortcutKey("CtrlOrCmd+Alt+V")]
|
|
28648
28737
|
}
|
|
28649
28738
|
),
|
|
28650
|
-
/* @__PURE__ */
|
|
28739
|
+
/* @__PURE__ */ jsx135(
|
|
28651
28740
|
Shortcut2,
|
|
28652
28741
|
{
|
|
28653
28742
|
label: t("labels.sendToBack"),
|
|
@@ -28656,7 +28745,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28656
28745
|
]
|
|
28657
28746
|
}
|
|
28658
28747
|
),
|
|
28659
|
-
/* @__PURE__ */
|
|
28748
|
+
/* @__PURE__ */ jsx135(
|
|
28660
28749
|
Shortcut2,
|
|
28661
28750
|
{
|
|
28662
28751
|
label: t("labels.bringToFront"),
|
|
@@ -28665,56 +28754,56 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28665
28754
|
]
|
|
28666
28755
|
}
|
|
28667
28756
|
),
|
|
28668
|
-
/* @__PURE__ */
|
|
28757
|
+
/* @__PURE__ */ jsx135(
|
|
28669
28758
|
Shortcut2,
|
|
28670
28759
|
{
|
|
28671
28760
|
label: t("labels.sendBackward"),
|
|
28672
28761
|
shortcuts: [getShortcutKey("CtrlOrCmd+[")]
|
|
28673
28762
|
}
|
|
28674
28763
|
),
|
|
28675
|
-
/* @__PURE__ */
|
|
28764
|
+
/* @__PURE__ */ jsx135(
|
|
28676
28765
|
Shortcut2,
|
|
28677
28766
|
{
|
|
28678
28767
|
label: t("labels.bringForward"),
|
|
28679
28768
|
shortcuts: [getShortcutKey("CtrlOrCmd+]")]
|
|
28680
28769
|
}
|
|
28681
28770
|
),
|
|
28682
|
-
/* @__PURE__ */
|
|
28771
|
+
/* @__PURE__ */ jsx135(
|
|
28683
28772
|
Shortcut2,
|
|
28684
28773
|
{
|
|
28685
28774
|
label: t("labels.alignTop"),
|
|
28686
28775
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+Up")]
|
|
28687
28776
|
}
|
|
28688
28777
|
),
|
|
28689
|
-
/* @__PURE__ */
|
|
28778
|
+
/* @__PURE__ */ jsx135(
|
|
28690
28779
|
Shortcut2,
|
|
28691
28780
|
{
|
|
28692
28781
|
label: t("labels.alignBottom"),
|
|
28693
28782
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+Down")]
|
|
28694
28783
|
}
|
|
28695
28784
|
),
|
|
28696
|
-
/* @__PURE__ */
|
|
28785
|
+
/* @__PURE__ */ jsx135(
|
|
28697
28786
|
Shortcut2,
|
|
28698
28787
|
{
|
|
28699
28788
|
label: t("labels.alignLeft"),
|
|
28700
28789
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+Left")]
|
|
28701
28790
|
}
|
|
28702
28791
|
),
|
|
28703
|
-
/* @__PURE__ */
|
|
28792
|
+
/* @__PURE__ */ jsx135(
|
|
28704
28793
|
Shortcut2,
|
|
28705
28794
|
{
|
|
28706
28795
|
label: t("labels.alignRight"),
|
|
28707
28796
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+Right")]
|
|
28708
28797
|
}
|
|
28709
28798
|
),
|
|
28710
|
-
/* @__PURE__ */
|
|
28799
|
+
/* @__PURE__ */ jsx135(
|
|
28711
28800
|
Shortcut2,
|
|
28712
28801
|
{
|
|
28713
28802
|
label: t("labels.arrangeElements"),
|
|
28714
28803
|
shortcuts: [getShortcutKey("Shift+R")]
|
|
28715
28804
|
}
|
|
28716
28805
|
),
|
|
28717
|
-
/* @__PURE__ */
|
|
28806
|
+
/* @__PURE__ */ jsx135(
|
|
28718
28807
|
Shortcut2,
|
|
28719
28808
|
{
|
|
28720
28809
|
label: t("labels.duplicateSelection"),
|
|
@@ -28724,21 +28813,21 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28724
28813
|
]
|
|
28725
28814
|
}
|
|
28726
28815
|
),
|
|
28727
|
-
/* @__PURE__ */
|
|
28816
|
+
/* @__PURE__ */ jsx135(
|
|
28728
28817
|
Shortcut2,
|
|
28729
28818
|
{
|
|
28730
28819
|
label: t("helpDialog.toggleElementLock"),
|
|
28731
28820
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+L")]
|
|
28732
28821
|
}
|
|
28733
28822
|
),
|
|
28734
|
-
/* @__PURE__ */
|
|
28823
|
+
/* @__PURE__ */ jsx135(
|
|
28735
28824
|
Shortcut2,
|
|
28736
28825
|
{
|
|
28737
28826
|
label: t("buttons.undo"),
|
|
28738
28827
|
shortcuts: [getShortcutKey("CtrlOrCmd+Z")]
|
|
28739
28828
|
}
|
|
28740
28829
|
),
|
|
28741
|
-
/* @__PURE__ */
|
|
28830
|
+
/* @__PURE__ */ jsx135(
|
|
28742
28831
|
Shortcut2,
|
|
28743
28832
|
{
|
|
28744
28833
|
label: t("buttons.redo"),
|
|
@@ -28748,63 +28837,63 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28748
28837
|
] : [getShortcutKey("CtrlOrCmd+Shift+Z")]
|
|
28749
28838
|
}
|
|
28750
28839
|
),
|
|
28751
|
-
/* @__PURE__ */
|
|
28840
|
+
/* @__PURE__ */ jsx135(
|
|
28752
28841
|
Shortcut2,
|
|
28753
28842
|
{
|
|
28754
28843
|
label: t("labels.group"),
|
|
28755
28844
|
shortcuts: [getShortcutKey("CtrlOrCmd+G")]
|
|
28756
28845
|
}
|
|
28757
28846
|
),
|
|
28758
|
-
/* @__PURE__ */
|
|
28847
|
+
/* @__PURE__ */ jsx135(
|
|
28759
28848
|
Shortcut2,
|
|
28760
28849
|
{
|
|
28761
28850
|
label: t("labels.ungroup"),
|
|
28762
28851
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+G")]
|
|
28763
28852
|
}
|
|
28764
28853
|
),
|
|
28765
|
-
/* @__PURE__ */
|
|
28854
|
+
/* @__PURE__ */ jsx135(
|
|
28766
28855
|
Shortcut2,
|
|
28767
28856
|
{
|
|
28768
28857
|
label: t("labels.flipHorizontal"),
|
|
28769
28858
|
shortcuts: [getShortcutKey("Shift+H")]
|
|
28770
28859
|
}
|
|
28771
28860
|
),
|
|
28772
|
-
/* @__PURE__ */
|
|
28861
|
+
/* @__PURE__ */ jsx135(
|
|
28773
28862
|
Shortcut2,
|
|
28774
28863
|
{
|
|
28775
28864
|
label: t("labels.flipVertical"),
|
|
28776
28865
|
shortcuts: [getShortcutKey("Shift+V")]
|
|
28777
28866
|
}
|
|
28778
28867
|
),
|
|
28779
|
-
/* @__PURE__ */
|
|
28868
|
+
/* @__PURE__ */ jsx135(
|
|
28780
28869
|
Shortcut2,
|
|
28781
28870
|
{
|
|
28782
28871
|
label: t("labels.showStroke"),
|
|
28783
28872
|
shortcuts: [getShortcutKey("S")]
|
|
28784
28873
|
}
|
|
28785
28874
|
),
|
|
28786
|
-
/* @__PURE__ */
|
|
28875
|
+
/* @__PURE__ */ jsx135(
|
|
28787
28876
|
Shortcut2,
|
|
28788
28877
|
{
|
|
28789
28878
|
label: t("labels.showBackground"),
|
|
28790
28879
|
shortcuts: [getShortcutKey("G")]
|
|
28791
28880
|
}
|
|
28792
28881
|
),
|
|
28793
|
-
/* @__PURE__ */
|
|
28882
|
+
/* @__PURE__ */ jsx135(
|
|
28794
28883
|
Shortcut2,
|
|
28795
28884
|
{
|
|
28796
28885
|
label: t("labels.showFonts"),
|
|
28797
28886
|
shortcuts: [getShortcutKey("Shift+F")]
|
|
28798
28887
|
}
|
|
28799
28888
|
),
|
|
28800
|
-
/* @__PURE__ */
|
|
28889
|
+
/* @__PURE__ */ jsx135(
|
|
28801
28890
|
Shortcut2,
|
|
28802
28891
|
{
|
|
28803
28892
|
label: t("labels.decreaseFontSize"),
|
|
28804
28893
|
shortcuts: [getShortcutKey("CtrlOrCmd+Shift+<")]
|
|
28805
28894
|
}
|
|
28806
28895
|
),
|
|
28807
|
-
/* @__PURE__ */
|
|
28896
|
+
/* @__PURE__ */ jsx135(
|
|
28808
28897
|
Shortcut2,
|
|
28809
28898
|
{
|
|
28810
28899
|
label: t("labels.increaseFontSize"),
|
|
@@ -28814,7 +28903,7 @@ var HelpDialog = ({ onClose }) => {
|
|
|
28814
28903
|
]
|
|
28815
28904
|
}
|
|
28816
28905
|
)
|
|
28817
|
-
] }) : /* @__PURE__ */
|
|
28906
|
+
] }) : /* @__PURE__ */ jsx135(BasicHelpDialog, {})
|
|
28818
28907
|
}
|
|
28819
28908
|
) });
|
|
28820
28909
|
};
|
|
@@ -28846,8 +28935,8 @@ var useCopyStatus = () => {
|
|
|
28846
28935
|
};
|
|
28847
28936
|
|
|
28848
28937
|
// components/Switch.tsx
|
|
28849
|
-
import
|
|
28850
|
-
import { jsx as
|
|
28938
|
+
import clsx53 from "clsx";
|
|
28939
|
+
import { jsx as jsx136 } from "react/jsx-runtime";
|
|
28851
28940
|
var Switch = ({
|
|
28852
28941
|
title,
|
|
28853
28942
|
name,
|
|
@@ -28855,7 +28944,7 @@ var Switch = ({
|
|
|
28855
28944
|
onChange,
|
|
28856
28945
|
disabled = false
|
|
28857
28946
|
}) => {
|
|
28858
|
-
return /* @__PURE__ */
|
|
28947
|
+
return /* @__PURE__ */ jsx136("div", { className: clsx53("Switch", { toggled: checked, disabled }), children: /* @__PURE__ */ jsx136(
|
|
28859
28948
|
"input",
|
|
28860
28949
|
{
|
|
28861
28950
|
name,
|
|
@@ -28875,12 +28964,12 @@ var Switch = ({
|
|
|
28875
28964
|
};
|
|
28876
28965
|
|
|
28877
28966
|
// components/ImageExportDialog.tsx
|
|
28878
|
-
import { jsx as
|
|
28967
|
+
import { jsx as jsx137, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
28879
28968
|
var supportsContextFilters = "filter" in document.createElement("canvas").getContext("2d");
|
|
28880
28969
|
var ErrorCanvasPreview = () => {
|
|
28881
28970
|
return /* @__PURE__ */ jsxs71("div", { children: [
|
|
28882
|
-
/* @__PURE__ */
|
|
28883
|
-
/* @__PURE__ */
|
|
28971
|
+
/* @__PURE__ */ jsx137("h3", { children: t("canvasError.cannotShowPreview") }),
|
|
28972
|
+
/* @__PURE__ */ jsx137("p", { children: /* @__PURE__ */ jsx137("span", { children: t("canvasError.canvasTooBig") }) }),
|
|
28884
28973
|
/* @__PURE__ */ jsxs71("em", { children: [
|
|
28885
28974
|
"(",
|
|
28886
28975
|
t("canvasError.canvasTooBigTip"),
|
|
@@ -28980,10 +29069,10 @@ var ImageExportModal = ({
|
|
|
28980
29069
|
embedScene
|
|
28981
29070
|
]);
|
|
28982
29071
|
return /* @__PURE__ */ jsxs71("div", { className: "ImageExportModal", children: [
|
|
28983
|
-
/* @__PURE__ */
|
|
29072
|
+
/* @__PURE__ */ jsx137("h3", { children: t("imageExportDialog.header") }),
|
|
28984
29073
|
/* @__PURE__ */ jsxs71("div", { className: "ImageExportModal__preview", children: [
|
|
28985
|
-
/* @__PURE__ */
|
|
28986
|
-
/* @__PURE__ */
|
|
29074
|
+
/* @__PURE__ */ jsx137("div", { className: "ImageExportModal__preview__canvas", ref: previewRef, children: renderError && /* @__PURE__ */ jsx137(ErrorCanvasPreview, {}) }),
|
|
29075
|
+
/* @__PURE__ */ jsx137("div", { className: "ImageExportModal__preview__filename", children: !nativeFileSystemSupported && /* @__PURE__ */ jsx137(
|
|
28987
29076
|
"input",
|
|
28988
29077
|
{
|
|
28989
29078
|
type: "text",
|
|
@@ -29002,13 +29091,13 @@ var ImageExportModal = ({
|
|
|
29002
29091
|
) })
|
|
29003
29092
|
] }),
|
|
29004
29093
|
/* @__PURE__ */ jsxs71("div", { className: "ImageExportModal__settings", children: [
|
|
29005
|
-
/* @__PURE__ */
|
|
29006
|
-
hasSelection && /* @__PURE__ */
|
|
29094
|
+
/* @__PURE__ */ jsx137("h3", { children: t("imageExportDialog.header") }),
|
|
29095
|
+
hasSelection && /* @__PURE__ */ jsx137(
|
|
29007
29096
|
ExportSetting,
|
|
29008
29097
|
{
|
|
29009
29098
|
label: t("imageExportDialog.label.onlySelected"),
|
|
29010
29099
|
name: "exportOnlySelected",
|
|
29011
|
-
children: /* @__PURE__ */
|
|
29100
|
+
children: /* @__PURE__ */ jsx137(
|
|
29012
29101
|
Switch,
|
|
29013
29102
|
{
|
|
29014
29103
|
name: "exportOnlySelected",
|
|
@@ -29020,12 +29109,12 @@ var ImageExportModal = ({
|
|
|
29020
29109
|
)
|
|
29021
29110
|
}
|
|
29022
29111
|
),
|
|
29023
|
-
/* @__PURE__ */
|
|
29112
|
+
/* @__PURE__ */ jsx137(
|
|
29024
29113
|
ExportSetting,
|
|
29025
29114
|
{
|
|
29026
29115
|
label: t("imageExportDialog.label.withBackground"),
|
|
29027
29116
|
name: "exportBackgroundSwitch",
|
|
29028
|
-
children: /* @__PURE__ */
|
|
29117
|
+
children: /* @__PURE__ */ jsx137(
|
|
29029
29118
|
Switch,
|
|
29030
29119
|
{
|
|
29031
29120
|
name: "exportBackgroundSwitch",
|
|
@@ -29042,12 +29131,12 @@ var ImageExportModal = ({
|
|
|
29042
29131
|
)
|
|
29043
29132
|
}
|
|
29044
29133
|
),
|
|
29045
|
-
supportsContextFilters && /* @__PURE__ */
|
|
29134
|
+
supportsContextFilters && /* @__PURE__ */ jsx137(
|
|
29046
29135
|
ExportSetting,
|
|
29047
29136
|
{
|
|
29048
29137
|
label: t("imageExportDialog.label.darkMode"),
|
|
29049
29138
|
name: "exportDarkModeSwitch",
|
|
29050
|
-
children: /* @__PURE__ */
|
|
29139
|
+
children: /* @__PURE__ */ jsx137(
|
|
29051
29140
|
Switch,
|
|
29052
29141
|
{
|
|
29053
29142
|
name: "exportDarkModeSwitch",
|
|
@@ -29064,13 +29153,13 @@ var ImageExportModal = ({
|
|
|
29064
29153
|
)
|
|
29065
29154
|
}
|
|
29066
29155
|
),
|
|
29067
|
-
/* @__PURE__ */
|
|
29156
|
+
/* @__PURE__ */ jsx137(
|
|
29068
29157
|
ExportSetting,
|
|
29069
29158
|
{
|
|
29070
29159
|
label: t("imageExportDialog.label.embedScene"),
|
|
29071
29160
|
tooltip: t("imageExportDialog.tooltip.embedScene"),
|
|
29072
29161
|
name: "exportEmbedSwitch",
|
|
29073
|
-
children: /* @__PURE__ */
|
|
29162
|
+
children: /* @__PURE__ */ jsx137(
|
|
29074
29163
|
Switch,
|
|
29075
29164
|
{
|
|
29076
29165
|
name: "exportEmbedSwitch",
|
|
@@ -29087,12 +29176,12 @@ var ImageExportModal = ({
|
|
|
29087
29176
|
)
|
|
29088
29177
|
}
|
|
29089
29178
|
),
|
|
29090
|
-
/* @__PURE__ */
|
|
29179
|
+
/* @__PURE__ */ jsx137(
|
|
29091
29180
|
ExportSetting,
|
|
29092
29181
|
{
|
|
29093
29182
|
label: t("imageExportDialog.label.scale"),
|
|
29094
29183
|
name: "exportScale",
|
|
29095
|
-
children: /* @__PURE__ */
|
|
29184
|
+
children: /* @__PURE__ */ jsx137(
|
|
29096
29185
|
RadioGroup,
|
|
29097
29186
|
{
|
|
29098
29187
|
name: "exportScale",
|
|
@@ -29110,7 +29199,7 @@ var ImageExportModal = ({
|
|
|
29110
29199
|
}
|
|
29111
29200
|
),
|
|
29112
29201
|
/* @__PURE__ */ jsxs71("div", { className: "ImageExportModal__settings__buttons", children: [
|
|
29113
|
-
/* @__PURE__ */
|
|
29202
|
+
/* @__PURE__ */ jsx137(
|
|
29114
29203
|
FilledButton,
|
|
29115
29204
|
{
|
|
29116
29205
|
className: "ImageExportModal__settings__buttons__button",
|
|
@@ -29122,7 +29211,7 @@ var ImageExportModal = ({
|
|
|
29122
29211
|
children: t("imageExportDialog.button.exportToPng")
|
|
29123
29212
|
}
|
|
29124
29213
|
),
|
|
29125
|
-
/* @__PURE__ */
|
|
29214
|
+
/* @__PURE__ */ jsx137(
|
|
29126
29215
|
FilledButton,
|
|
29127
29216
|
{
|
|
29128
29217
|
className: "ImageExportModal__settings__buttons__button",
|
|
@@ -29134,7 +29223,7 @@ var ImageExportModal = ({
|
|
|
29134
29223
|
children: t("imageExportDialog.button.exportToSvg")
|
|
29135
29224
|
}
|
|
29136
29225
|
),
|
|
29137
|
-
(probablySupportsClipboardBlob || isFirefox) && /* @__PURE__ */
|
|
29226
|
+
(probablySupportsClipboardBlob || isFirefox) && /* @__PURE__ */ jsx137(
|
|
29138
29227
|
FilledButton,
|
|
29139
29228
|
{
|
|
29140
29229
|
className: "ImageExportModal__settings__buttons__button",
|
|
@@ -29172,11 +29261,11 @@ var ExportSetting = ({
|
|
|
29172
29261
|
className: "ImageExportModal__settings__setting__label",
|
|
29173
29262
|
children: [
|
|
29174
29263
|
label,
|
|
29175
|
-
tooltip && /* @__PURE__ */
|
|
29264
|
+
tooltip && /* @__PURE__ */ jsx137(Tooltip, { label: tooltip, long: true, children: helpIcon })
|
|
29176
29265
|
]
|
|
29177
29266
|
}
|
|
29178
29267
|
),
|
|
29179
|
-
/* @__PURE__ */
|
|
29268
|
+
/* @__PURE__ */ jsx137("div", { className: "ImageExportModal__settings__setting__content", children })
|
|
29180
29269
|
] });
|
|
29181
29270
|
};
|
|
29182
29271
|
var ImageExportDialog = ({
|
|
@@ -29194,7 +29283,7 @@ var ImageExportDialog = ({
|
|
|
29194
29283
|
elementsSnapshot: cloneJSON(elements)
|
|
29195
29284
|
};
|
|
29196
29285
|
});
|
|
29197
|
-
return /* @__PURE__ */
|
|
29286
|
+
return /* @__PURE__ */ jsx137(Dialog, { onCloseRequest, size: "wide", title: false, children: /* @__PURE__ */ jsx137(
|
|
29198
29287
|
ImageExportModal,
|
|
29199
29288
|
{
|
|
29200
29289
|
elementsSnapshot,
|
|
@@ -29212,9 +29301,9 @@ import React38 from "react";
|
|
|
29212
29301
|
|
|
29213
29302
|
// components/Card.tsx
|
|
29214
29303
|
import OpenColor3 from "open-color";
|
|
29215
|
-
import { jsx as
|
|
29304
|
+
import { jsx as jsx138 } from "react/jsx-runtime";
|
|
29216
29305
|
var Card = ({ children, color }) => {
|
|
29217
|
-
return /* @__PURE__ */
|
|
29306
|
+
return /* @__PURE__ */ jsx138(
|
|
29218
29307
|
"div",
|
|
29219
29308
|
{
|
|
29220
29309
|
className: "Card",
|
|
@@ -29229,7 +29318,7 @@ var Card = ({ children, color }) => {
|
|
|
29229
29318
|
};
|
|
29230
29319
|
|
|
29231
29320
|
// components/JSONExportDialog.tsx
|
|
29232
|
-
import { Fragment as Fragment22, jsx as
|
|
29321
|
+
import { Fragment as Fragment22, jsx as jsx139, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
29233
29322
|
var JSONExportModal = ({
|
|
29234
29323
|
elements,
|
|
29235
29324
|
appState,
|
|
@@ -29241,15 +29330,15 @@ var JSONExportModal = ({
|
|
|
29241
29330
|
onCloseRequest
|
|
29242
29331
|
}) => {
|
|
29243
29332
|
const { onExportToBackend } = exportOpts;
|
|
29244
|
-
return /* @__PURE__ */
|
|
29333
|
+
return /* @__PURE__ */ jsx139("div", { className: "ExportDialog ExportDialog--json", children: /* @__PURE__ */ jsxs72("div", { className: "ExportDialog-cards", children: [
|
|
29245
29334
|
exportOpts.saveFileToDisk && /* @__PURE__ */ jsxs72(Card, { color: "lime", children: [
|
|
29246
|
-
/* @__PURE__ */
|
|
29247
|
-
/* @__PURE__ */
|
|
29335
|
+
/* @__PURE__ */ jsx139("div", { className: "Card-icon", children: exportToFileIcon }),
|
|
29336
|
+
/* @__PURE__ */ jsx139("h2", { children: t("exportDialog.disk_title") }),
|
|
29248
29337
|
/* @__PURE__ */ jsxs72("div", { className: "Card-details", children: [
|
|
29249
29338
|
t("exportDialog.disk_details"),
|
|
29250
29339
|
!nativeFileSystemSupported && actionManager.renderAction("changeProjectName")
|
|
29251
29340
|
] }),
|
|
29252
|
-
/* @__PURE__ */
|
|
29341
|
+
/* @__PURE__ */ jsx139(
|
|
29253
29342
|
ToolButton,
|
|
29254
29343
|
{
|
|
29255
29344
|
className: "Card-button",
|
|
@@ -29264,10 +29353,10 @@ var JSONExportModal = ({
|
|
|
29264
29353
|
)
|
|
29265
29354
|
] }),
|
|
29266
29355
|
onExportToBackend && /* @__PURE__ */ jsxs72(Card, { color: "pink", children: [
|
|
29267
|
-
/* @__PURE__ */
|
|
29268
|
-
/* @__PURE__ */
|
|
29269
|
-
/* @__PURE__ */
|
|
29270
|
-
/* @__PURE__ */
|
|
29356
|
+
/* @__PURE__ */ jsx139("div", { className: "Card-icon", children: LinkIcon }),
|
|
29357
|
+
/* @__PURE__ */ jsx139("h2", { children: t("exportDialog.link_title") }),
|
|
29358
|
+
/* @__PURE__ */ jsx139("div", { className: "Card-details", children: t("exportDialog.link_details") }),
|
|
29359
|
+
/* @__PURE__ */ jsx139(
|
|
29271
29360
|
ToolButton,
|
|
29272
29361
|
{
|
|
29273
29362
|
className: "Card-button",
|
|
@@ -29302,7 +29391,7 @@ var JSONExportDialog = ({
|
|
|
29302
29391
|
const handleClose = React38.useCallback(() => {
|
|
29303
29392
|
setAppState({ openDialog: null });
|
|
29304
29393
|
}, [setAppState]);
|
|
29305
|
-
return /* @__PURE__ */
|
|
29394
|
+
return /* @__PURE__ */ jsx139(Fragment22, { children: appState.openDialog?.name === "jsonExport" && /* @__PURE__ */ jsx139(Dialog, { onCloseRequest: handleClose, title: t("buttons.export"), children: /* @__PURE__ */ jsx139(
|
|
29306
29395
|
JSONExportModal,
|
|
29307
29396
|
{
|
|
29308
29397
|
elements,
|
|
@@ -29318,14 +29407,14 @@ var JSONExportDialog = ({
|
|
|
29318
29407
|
};
|
|
29319
29408
|
|
|
29320
29409
|
// components/LaserPointerButton.tsx
|
|
29321
|
-
import
|
|
29322
|
-
import { jsx as
|
|
29410
|
+
import clsx54 from "clsx";
|
|
29411
|
+
import { jsx as jsx140, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
29323
29412
|
var DEFAULT_SIZE3 = "small";
|
|
29324
29413
|
var LaserPointerButton = (props) => {
|
|
29325
29414
|
return /* @__PURE__ */ jsxs73(
|
|
29326
29415
|
"label",
|
|
29327
29416
|
{
|
|
29328
|
-
className:
|
|
29417
|
+
className: clsx54(
|
|
29329
29418
|
"ToolIcon ToolIcon__LaserPointer",
|
|
29330
29419
|
`ToolIcon_size_${DEFAULT_SIZE3}`,
|
|
29331
29420
|
{
|
|
@@ -29334,7 +29423,7 @@ var LaserPointerButton = (props) => {
|
|
|
29334
29423
|
),
|
|
29335
29424
|
title: `${props.title}`,
|
|
29336
29425
|
children: [
|
|
29337
|
-
/* @__PURE__ */
|
|
29426
|
+
/* @__PURE__ */ jsx140(
|
|
29338
29427
|
"input",
|
|
29339
29428
|
{
|
|
29340
29429
|
className: "ToolIcon_type_checkbox",
|
|
@@ -29346,33 +29435,33 @@ var LaserPointerButton = (props) => {
|
|
|
29346
29435
|
"data-testid": "toolbar-LaserPointer"
|
|
29347
29436
|
}
|
|
29348
29437
|
),
|
|
29349
|
-
/* @__PURE__ */
|
|
29438
|
+
/* @__PURE__ */ jsx140("div", { className: "ToolIcon__icon", children: laserPointerToolIcon })
|
|
29350
29439
|
]
|
|
29351
29440
|
}
|
|
29352
29441
|
);
|
|
29353
29442
|
};
|
|
29354
29443
|
|
|
29355
29444
|
// components/LayerUI.tsx
|
|
29356
|
-
import { Fragment as Fragment23, jsx as
|
|
29445
|
+
import { Fragment as Fragment23, jsx as jsx141, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
29357
29446
|
var DefaultMainMenu = ({ UIOptions }) => {
|
|
29358
29447
|
return /* @__PURE__ */ jsxs74(MainMenu_default, { __fallback: true, children: [
|
|
29359
|
-
/* @__PURE__ */
|
|
29360
|
-
/* @__PURE__ */
|
|
29361
|
-
UIOptions.canvasActions.export && /* @__PURE__ */
|
|
29362
|
-
UIOptions.canvasActions.saveAsImage && /* @__PURE__ */
|
|
29363
|
-
/* @__PURE__ */
|
|
29364
|
-
/* @__PURE__ */
|
|
29365
|
-
/* @__PURE__ */
|
|
29366
|
-
/* @__PURE__ */
|
|
29367
|
-
/* @__PURE__ */
|
|
29368
|
-
/* @__PURE__ */
|
|
29369
|
-
/* @__PURE__ */
|
|
29448
|
+
/* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.LoadScene, {}),
|
|
29449
|
+
/* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.SaveToActiveFile, {}),
|
|
29450
|
+
UIOptions.canvasActions.export && /* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.Export, {}),
|
|
29451
|
+
UIOptions.canvasActions.saveAsImage && /* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.SaveAsImage, {}),
|
|
29452
|
+
/* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.SearchMenu, {}),
|
|
29453
|
+
/* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.Help, {}),
|
|
29454
|
+
/* @__PURE__ */ jsx141(MainMenu_default.Separator, {}),
|
|
29455
|
+
/* @__PURE__ */ jsx141(MainMenu_default.Group, { title: "Excalidraw links", children: /* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.Socials, {}) }),
|
|
29456
|
+
/* @__PURE__ */ jsx141(MainMenu_default.Separator, {}),
|
|
29457
|
+
/* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.ToggleTheme, {}),
|
|
29458
|
+
/* @__PURE__ */ jsx141(MainMenu_default.DefaultItems.ChangeCanvasBackground, {})
|
|
29370
29459
|
] });
|
|
29371
29460
|
};
|
|
29372
29461
|
var DefaultOverwriteConfirmDialog = () => {
|
|
29373
29462
|
return /* @__PURE__ */ jsxs74(OverwriteConfirmDialog, { __fallback: true, children: [
|
|
29374
|
-
/* @__PURE__ */
|
|
29375
|
-
/* @__PURE__ */
|
|
29463
|
+
/* @__PURE__ */ jsx141(OverwriteConfirmDialog.Actions.SaveToDisk, {}),
|
|
29464
|
+
/* @__PURE__ */ jsx141(OverwriteConfirmDialog.Actions.ExportToImage, {})
|
|
29376
29465
|
] });
|
|
29377
29466
|
};
|
|
29378
29467
|
var LayerUI = ({
|
|
@@ -29404,7 +29493,7 @@ var LayerUI = ({
|
|
|
29404
29493
|
if (!UIOptions.canvasActions.export) {
|
|
29405
29494
|
return null;
|
|
29406
29495
|
}
|
|
29407
|
-
return /* @__PURE__ */
|
|
29496
|
+
return /* @__PURE__ */ jsx141(
|
|
29408
29497
|
JSONExportDialog,
|
|
29409
29498
|
{
|
|
29410
29499
|
elements,
|
|
@@ -29421,7 +29510,7 @@ var LayerUI = ({
|
|
|
29421
29510
|
if (!UIOptions.canvasActions.saveAsImage || appState.openDialog?.name !== "imageExport") {
|
|
29422
29511
|
return null;
|
|
29423
29512
|
}
|
|
29424
|
-
return /* @__PURE__ */
|
|
29513
|
+
return /* @__PURE__ */ jsx141(
|
|
29425
29514
|
ImageExportDialog,
|
|
29426
29515
|
{
|
|
29427
29516
|
elements,
|
|
@@ -29435,17 +29524,17 @@ var LayerUI = ({
|
|
|
29435
29524
|
);
|
|
29436
29525
|
};
|
|
29437
29526
|
const renderCanvasActions = () => /* @__PURE__ */ jsxs74("div", { style: { position: "relative" }, children: [
|
|
29438
|
-
/* @__PURE__ */
|
|
29439
|
-
renderWelcomeScreen && /* @__PURE__ */
|
|
29527
|
+
/* @__PURE__ */ jsx141(tunnels.MainMenuTunnel.Out, {}),
|
|
29528
|
+
renderWelcomeScreen && /* @__PURE__ */ jsx141(tunnels.WelcomeScreenMenuHintTunnel.Out, {})
|
|
29440
29529
|
] });
|
|
29441
|
-
const renderSelectedShapeActions = () => /* @__PURE__ */
|
|
29530
|
+
const renderSelectedShapeActions = () => /* @__PURE__ */ jsx141(
|
|
29442
29531
|
Section,
|
|
29443
29532
|
{
|
|
29444
29533
|
heading: "selectedShapeActions",
|
|
29445
|
-
className:
|
|
29534
|
+
className: clsx55("selected-shape-actions zen-mode-transition", {
|
|
29446
29535
|
"transition-left": appState.zenModeEnabled
|
|
29447
29536
|
}),
|
|
29448
|
-
children: /* @__PURE__ */
|
|
29537
|
+
children: /* @__PURE__ */ jsx141(
|
|
29449
29538
|
Island,
|
|
29450
29539
|
{
|
|
29451
29540
|
className: CLASSES.SHAPE_ACTIONS_MENU,
|
|
@@ -29455,7 +29544,7 @@ var LayerUI = ({
|
|
|
29455
29544
|
// approximate height of hamburgerMenu + footer
|
|
29456
29545
|
maxHeight: `${appState.height - 166}px`
|
|
29457
29546
|
},
|
|
29458
|
-
children: /* @__PURE__ */
|
|
29547
|
+
children: /* @__PURE__ */ jsx141(
|
|
29459
29548
|
SelectedShapeActions,
|
|
29460
29549
|
{
|
|
29461
29550
|
appState,
|
|
@@ -29474,18 +29563,18 @@ var LayerUI = ({
|
|
|
29474
29563
|
elements
|
|
29475
29564
|
);
|
|
29476
29565
|
const shouldShowStats = appState.stats.open && !appState.zenModeEnabled && !appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector";
|
|
29477
|
-
return /* @__PURE__ */
|
|
29478
|
-
/* @__PURE__ */ jsxs74(Stack_default.Col, { gap: 6, className:
|
|
29566
|
+
return /* @__PURE__ */ jsx141(FixedSideContainer, { side: "top", children: /* @__PURE__ */ jsxs74("div", { className: "App-menu App-menu_top", children: [
|
|
29567
|
+
/* @__PURE__ */ jsxs74(Stack_default.Col, { gap: 6, className: clsx55("App-menu_top__left"), children: [
|
|
29479
29568
|
renderCanvasActions(),
|
|
29480
29569
|
shouldRenderSelectedShapeActions && renderSelectedShapeActions()
|
|
29481
29570
|
] }),
|
|
29482
|
-
!appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && /* @__PURE__ */
|
|
29483
|
-
renderWelcomeScreen && /* @__PURE__ */
|
|
29484
|
-
/* @__PURE__ */
|
|
29571
|
+
!appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && /* @__PURE__ */ jsx141(Section, { heading: "shapes", className: "shapes-section", children: (heading) => /* @__PURE__ */ jsxs74("div", { style: { position: "relative" }, children: [
|
|
29572
|
+
renderWelcomeScreen && /* @__PURE__ */ jsx141(tunnels.WelcomeScreenToolbarHintTunnel.Out, {}),
|
|
29573
|
+
/* @__PURE__ */ jsx141(Stack_default.Col, { gap: 4, align: "start", children: /* @__PURE__ */ jsxs74(
|
|
29485
29574
|
Stack_default.Row,
|
|
29486
29575
|
{
|
|
29487
29576
|
gap: 1,
|
|
29488
|
-
className:
|
|
29577
|
+
className: clsx55("App-toolbar-container", {
|
|
29489
29578
|
"zen-mode": appState.zenModeEnabled
|
|
29490
29579
|
}),
|
|
29491
29580
|
children: [
|
|
@@ -29493,11 +29582,11 @@ var LayerUI = ({
|
|
|
29493
29582
|
Island,
|
|
29494
29583
|
{
|
|
29495
29584
|
padding: 1,
|
|
29496
|
-
className:
|
|
29585
|
+
className: clsx55("App-toolbar", {
|
|
29497
29586
|
"zen-mode": appState.zenModeEnabled
|
|
29498
29587
|
}),
|
|
29499
29588
|
children: [
|
|
29500
|
-
/* @__PURE__ */
|
|
29589
|
+
/* @__PURE__ */ jsx141(
|
|
29501
29590
|
HintViewer,
|
|
29502
29591
|
{
|
|
29503
29592
|
appState,
|
|
@@ -29508,7 +29597,7 @@ var LayerUI = ({
|
|
|
29508
29597
|
),
|
|
29509
29598
|
heading,
|
|
29510
29599
|
/* @__PURE__ */ jsxs74(Stack_default.Row, { gap: 1, children: [
|
|
29511
|
-
/* @__PURE__ */
|
|
29600
|
+
/* @__PURE__ */ jsx141(
|
|
29512
29601
|
PenModeButton,
|
|
29513
29602
|
{
|
|
29514
29603
|
zenModeEnabled: appState.zenModeEnabled,
|
|
@@ -29518,7 +29607,7 @@ var LayerUI = ({
|
|
|
29518
29607
|
penDetected: appState.penDetected
|
|
29519
29608
|
}
|
|
29520
29609
|
),
|
|
29521
|
-
/* @__PURE__ */
|
|
29610
|
+
/* @__PURE__ */ jsx141(
|
|
29522
29611
|
HandButton,
|
|
29523
29612
|
{
|
|
29524
29613
|
checked: isHandToolActive(appState),
|
|
@@ -29527,7 +29616,7 @@ var LayerUI = ({
|
|
|
29527
29616
|
isMobile: true
|
|
29528
29617
|
}
|
|
29529
29618
|
),
|
|
29530
|
-
/* @__PURE__ */
|
|
29619
|
+
/* @__PURE__ */ jsx141(
|
|
29531
29620
|
ShapesSwitcher,
|
|
29532
29621
|
{
|
|
29533
29622
|
appState,
|
|
@@ -29540,7 +29629,7 @@ var LayerUI = ({
|
|
|
29540
29629
|
]
|
|
29541
29630
|
}
|
|
29542
29631
|
),
|
|
29543
|
-
isCollaborating && /* @__PURE__ */
|
|
29632
|
+
isCollaborating && /* @__PURE__ */ jsx141(
|
|
29544
29633
|
Island,
|
|
29545
29634
|
{
|
|
29546
29635
|
style: {
|
|
@@ -29548,7 +29637,7 @@ var LayerUI = ({
|
|
|
29548
29637
|
alignSelf: "center",
|
|
29549
29638
|
height: "fit-content"
|
|
29550
29639
|
},
|
|
29551
|
-
children: /* @__PURE__ */
|
|
29640
|
+
children: /* @__PURE__ */ jsx141(
|
|
29552
29641
|
LaserPointerButton,
|
|
29553
29642
|
{
|
|
29554
29643
|
title: t("toolBar.laser"),
|
|
@@ -29566,14 +29655,14 @@ var LayerUI = ({
|
|
|
29566
29655
|
/* @__PURE__ */ jsxs74(
|
|
29567
29656
|
"div",
|
|
29568
29657
|
{
|
|
29569
|
-
className:
|
|
29658
|
+
className: clsx55(
|
|
29570
29659
|
"layer-ui__wrapper__top-right zen-mode-transition",
|
|
29571
29660
|
{
|
|
29572
29661
|
"transition-right": appState.zenModeEnabled
|
|
29573
29662
|
}
|
|
29574
29663
|
),
|
|
29575
29664
|
children: [
|
|
29576
|
-
appState.collaborators.size > 0 && /* @__PURE__ */
|
|
29665
|
+
appState.collaborators.size > 0 && /* @__PURE__ */ jsx141(
|
|
29577
29666
|
UserList,
|
|
29578
29667
|
{
|
|
29579
29668
|
collaborators: appState.collaborators,
|
|
@@ -29582,8 +29671,8 @@ var LayerUI = ({
|
|
|
29582
29671
|
),
|
|
29583
29672
|
renderTopRightUI?.(device.editor.isMobile, appState),
|
|
29584
29673
|
!appState.viewModeEnabled && appState.openDialog?.name !== "elementLinkSelector" && // hide button when sidebar docked
|
|
29585
|
-
(!isSidebarDocked || appState.openSidebar?.name !== DEFAULT_SIDEBAR.name) && /* @__PURE__ */
|
|
29586
|
-
shouldShowStats && /* @__PURE__ */
|
|
29674
|
+
(!isSidebarDocked || appState.openSidebar?.name !== DEFAULT_SIDEBAR.name) && /* @__PURE__ */ jsx141(tunnels.DefaultSidebarTriggerTunnel.Out, {}),
|
|
29675
|
+
shouldShowStats && /* @__PURE__ */ jsx141(
|
|
29587
29676
|
Stats,
|
|
29588
29677
|
{
|
|
29589
29678
|
app,
|
|
@@ -29599,7 +29688,7 @@ var LayerUI = ({
|
|
|
29599
29688
|
] }) });
|
|
29600
29689
|
};
|
|
29601
29690
|
const renderSidebars = () => {
|
|
29602
|
-
return /* @__PURE__ */
|
|
29691
|
+
return /* @__PURE__ */ jsx141(
|
|
29603
29692
|
DefaultSidebar,
|
|
29604
29693
|
{
|
|
29605
29694
|
__fallback: true,
|
|
@@ -29616,8 +29705,8 @@ var LayerUI = ({
|
|
|
29616
29705
|
const isSidebarDocked = useAtomValue(isSidebarDockedAtom);
|
|
29617
29706
|
const layerUIJSX = /* @__PURE__ */ jsxs74(Fragment23, { children: [
|
|
29618
29707
|
children,
|
|
29619
|
-
/* @__PURE__ */
|
|
29620
|
-
/* @__PURE__ */
|
|
29708
|
+
/* @__PURE__ */ jsx141(DefaultMainMenu, { UIOptions }),
|
|
29709
|
+
/* @__PURE__ */ jsx141(
|
|
29621
29710
|
DefaultSidebar.Trigger,
|
|
29622
29711
|
{
|
|
29623
29712
|
__fallback: true,
|
|
@@ -29636,11 +29725,11 @@ var LayerUI = ({
|
|
|
29636
29725
|
children: t("toolBar.library")
|
|
29637
29726
|
}
|
|
29638
29727
|
),
|
|
29639
|
-
/* @__PURE__ */
|
|
29640
|
-
appState.openDialog?.name === "ttd" && /* @__PURE__ */
|
|
29641
|
-
appState.isLoading && /* @__PURE__ */
|
|
29642
|
-
appState.errorMessage && /* @__PURE__ */
|
|
29643
|
-
eyeDropperState && !device.editor.isMobile && /* @__PURE__ */
|
|
29728
|
+
/* @__PURE__ */ jsx141(DefaultOverwriteConfirmDialog, {}),
|
|
29729
|
+
appState.openDialog?.name === "ttd" && /* @__PURE__ */ jsx141(TTDDialog, { __fallback: true }),
|
|
29730
|
+
appState.isLoading && /* @__PURE__ */ jsx141(LoadingMessage, { delay: 250 }),
|
|
29731
|
+
appState.errorMessage && /* @__PURE__ */ jsx141(ErrorDialog, { onClose: () => setAppState({ errorMessage: null }), children: appState.errorMessage }),
|
|
29732
|
+
eyeDropperState && !device.editor.isMobile && /* @__PURE__ */ jsx141(
|
|
29644
29733
|
EyeDropper,
|
|
29645
29734
|
{
|
|
29646
29735
|
colorPickerType: eyeDropperState.colorPickerType,
|
|
@@ -29679,7 +29768,7 @@ var LayerUI = ({
|
|
|
29679
29768
|
}
|
|
29680
29769
|
}
|
|
29681
29770
|
),
|
|
29682
|
-
appState.openDialog?.name === "help" && /* @__PURE__ */
|
|
29771
|
+
appState.openDialog?.name === "help" && /* @__PURE__ */ jsx141(
|
|
29683
29772
|
HelpDialog,
|
|
29684
29773
|
{
|
|
29685
29774
|
onClose: () => {
|
|
@@ -29687,7 +29776,7 @@ var LayerUI = ({
|
|
|
29687
29776
|
}
|
|
29688
29777
|
}
|
|
29689
29778
|
),
|
|
29690
|
-
appState.openDialog?.name === "elementLinkSelector" && /* @__PURE__ */
|
|
29779
|
+
appState.openDialog?.name === "elementLinkSelector" && /* @__PURE__ */ jsx141(
|
|
29691
29780
|
ElementLinkDialog_default,
|
|
29692
29781
|
{
|
|
29693
29782
|
sourceElementId: appState.openDialog.sourceElementId,
|
|
@@ -29701,10 +29790,10 @@ var LayerUI = ({
|
|
|
29701
29790
|
generateLinkForSelection
|
|
29702
29791
|
}
|
|
29703
29792
|
),
|
|
29704
|
-
/* @__PURE__ */
|
|
29793
|
+
/* @__PURE__ */ jsx141(tunnels.OverwriteConfirmDialogTunnel.Out, {}),
|
|
29705
29794
|
renderImageExportDialog(),
|
|
29706
29795
|
renderJSONExportDialog(),
|
|
29707
|
-
appState.pasteDialog.shown && /* @__PURE__ */
|
|
29796
|
+
appState.pasteDialog.shown && /* @__PURE__ */ jsx141(
|
|
29708
29797
|
PasteChartDialog,
|
|
29709
29798
|
{
|
|
29710
29799
|
setAppState,
|
|
@@ -29714,7 +29803,7 @@ var LayerUI = ({
|
|
|
29714
29803
|
})
|
|
29715
29804
|
}
|
|
29716
29805
|
),
|
|
29717
|
-
device.editor.isMobile && /* @__PURE__ */
|
|
29806
|
+
device.editor.isMobile && /* @__PURE__ */ jsx141(
|
|
29718
29807
|
MobileMenu,
|
|
29719
29808
|
{
|
|
29720
29809
|
app,
|
|
@@ -29742,9 +29831,9 @@ var LayerUI = ({
|
|
|
29742
29831
|
className: "layer-ui__wrapper",
|
|
29743
29832
|
style: appState.openSidebar && isSidebarDocked && device.editor.canFitSidebar ? { width: `calc(100% - var(--right-sidebar-width))` } : {},
|
|
29744
29833
|
children: [
|
|
29745
|
-
renderWelcomeScreen && /* @__PURE__ */
|
|
29834
|
+
renderWelcomeScreen && /* @__PURE__ */ jsx141(tunnels.WelcomeScreenCenterTunnel.Out, {}),
|
|
29746
29835
|
renderFixedSideContainer(),
|
|
29747
|
-
/* @__PURE__ */
|
|
29836
|
+
/* @__PURE__ */ jsx141(
|
|
29748
29837
|
Footer_default,
|
|
29749
29838
|
{
|
|
29750
29839
|
appState,
|
|
@@ -29753,7 +29842,7 @@ var LayerUI = ({
|
|
|
29753
29842
|
renderWelcomeScreen
|
|
29754
29843
|
}
|
|
29755
29844
|
),
|
|
29756
|
-
appState.scrolledOutside && /* @__PURE__ */
|
|
29845
|
+
appState.scrolledOutside && /* @__PURE__ */ jsx141(
|
|
29757
29846
|
"button",
|
|
29758
29847
|
{
|
|
29759
29848
|
type: "button",
|
|
@@ -29772,7 +29861,7 @@ var LayerUI = ({
|
|
|
29772
29861
|
renderSidebars()
|
|
29773
29862
|
] })
|
|
29774
29863
|
] });
|
|
29775
|
-
return /* @__PURE__ */
|
|
29864
|
+
return /* @__PURE__ */ jsx141(UIAppStateContext.Provider, { value: appState, children: /* @__PURE__ */ jsx141(TunnelsJotaiProvider, { children: /* @__PURE__ */ jsx141(TunnelsContext.Provider, { value: tunnels, children: layerUIJSX }) }) });
|
|
29776
29865
|
};
|
|
29777
29866
|
var stripIrrelevantAppStateProps = (appState) => {
|
|
29778
29867
|
const {
|
|
@@ -29805,14 +29894,14 @@ var areEqual2 = (prevProps, nextProps) => {
|
|
|
29805
29894
|
var LayerUI_default = React39.memo(LayerUI, areEqual2);
|
|
29806
29895
|
|
|
29807
29896
|
// components/MagicButton.tsx
|
|
29808
|
-
import
|
|
29809
|
-
import { jsx as
|
|
29897
|
+
import clsx56 from "clsx";
|
|
29898
|
+
import { jsx as jsx142, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
29810
29899
|
var DEFAULT_SIZE4 = "small";
|
|
29811
29900
|
var ElementCanvasButton = (props) => {
|
|
29812
29901
|
return /* @__PURE__ */ jsxs75(
|
|
29813
29902
|
"label",
|
|
29814
29903
|
{
|
|
29815
|
-
className:
|
|
29904
|
+
className: clsx56(
|
|
29816
29905
|
"ToolIcon ToolIcon__MagicButton",
|
|
29817
29906
|
`ToolIcon_size_${DEFAULT_SIZE4}`,
|
|
29818
29907
|
{
|
|
@@ -29821,7 +29910,7 @@ var ElementCanvasButton = (props) => {
|
|
|
29821
29910
|
),
|
|
29822
29911
|
title: `${props.title}`,
|
|
29823
29912
|
children: [
|
|
29824
|
-
/* @__PURE__ */
|
|
29913
|
+
/* @__PURE__ */ jsx142(
|
|
29825
29914
|
"input",
|
|
29826
29915
|
{
|
|
29827
29916
|
className: "ToolIcon_type_checkbox",
|
|
@@ -29832,7 +29921,7 @@ var ElementCanvasButton = (props) => {
|
|
|
29832
29921
|
"aria-label": props.title
|
|
29833
29922
|
}
|
|
29834
29923
|
),
|
|
29835
|
-
/* @__PURE__ */
|
|
29924
|
+
/* @__PURE__ */ jsx142("div", { className: "ToolIcon__icon", children: props.icon })
|
|
29836
29925
|
]
|
|
29837
29926
|
}
|
|
29838
29927
|
);
|
|
@@ -29840,7 +29929,7 @@ var ElementCanvasButton = (props) => {
|
|
|
29840
29929
|
|
|
29841
29930
|
// components/SVGLayer.tsx
|
|
29842
29931
|
import { useEffect as useEffect39, useRef as useRef35 } from "react";
|
|
29843
|
-
import { jsx as
|
|
29932
|
+
import { jsx as jsx143 } from "react/jsx-runtime";
|
|
29844
29933
|
var SVGLayer = ({ trails }) => {
|
|
29845
29934
|
const svgRef = useRef35(null);
|
|
29846
29935
|
useEffect39(() => {
|
|
@@ -29855,12 +29944,12 @@ var SVGLayer = ({ trails }) => {
|
|
|
29855
29944
|
}
|
|
29856
29945
|
};
|
|
29857
29946
|
}, trails);
|
|
29858
|
-
return /* @__PURE__ */
|
|
29947
|
+
return /* @__PURE__ */ jsx143("div", { className: "SVGLayer", children: /* @__PURE__ */ jsx143("svg", { ref: svgRef }) });
|
|
29859
29948
|
};
|
|
29860
29949
|
|
|
29861
29950
|
// components/canvases/InteractiveCanvas.tsx
|
|
29862
29951
|
import React40, { useEffect as useEffect40, useRef as useRef36 } from "react";
|
|
29863
|
-
import { jsx as
|
|
29952
|
+
import { jsx as jsx144 } from "react/jsx-runtime";
|
|
29864
29953
|
var InteractiveCanvas = (props) => {
|
|
29865
29954
|
const isComponentMounted = useRef36(false);
|
|
29866
29955
|
useEffect40(() => {
|
|
@@ -29930,7 +30019,7 @@ var InteractiveCanvas = (props) => {
|
|
|
29930
30019
|
isRenderThrottlingEnabled()
|
|
29931
30020
|
);
|
|
29932
30021
|
});
|
|
29933
|
-
return /* @__PURE__ */
|
|
30022
|
+
return /* @__PURE__ */ jsx144(
|
|
29934
30023
|
"canvas",
|
|
29935
30024
|
{
|
|
29936
30025
|
className: "excalidraw__canvas interactive",
|
|
@@ -30005,7 +30094,7 @@ var InteractiveCanvas_default = React40.memo(InteractiveCanvas, areEqual3);
|
|
|
30005
30094
|
|
|
30006
30095
|
// components/canvases/StaticCanvas.tsx
|
|
30007
30096
|
import React41, { useEffect as useEffect41, useRef as useRef37 } from "react";
|
|
30008
|
-
import { jsx as
|
|
30097
|
+
import { jsx as jsx145 } from "react/jsx-runtime";
|
|
30009
30098
|
var StaticCanvas = (props) => {
|
|
30010
30099
|
const wrapperRef = useRef37(null);
|
|
30011
30100
|
const isComponentMounted = useRef37(false);
|
|
@@ -30050,7 +30139,7 @@ var StaticCanvas = (props) => {
|
|
|
30050
30139
|
isRenderThrottlingEnabled()
|
|
30051
30140
|
);
|
|
30052
30141
|
});
|
|
30053
|
-
return /* @__PURE__ */
|
|
30142
|
+
return /* @__PURE__ */ jsx145("div", { className: "excalidraw__canvas-wrapper", ref: wrapperRef });
|
|
30054
30143
|
};
|
|
30055
30144
|
var getRelevantAppStateProps2 = (appState) => {
|
|
30056
30145
|
const relevantAppStateProps = {
|
|
@@ -30154,7 +30243,7 @@ var renderNewElementScene = (renderConfig, throttle5) => {
|
|
|
30154
30243
|
};
|
|
30155
30244
|
|
|
30156
30245
|
// components/canvases/NewElementCanvas.tsx
|
|
30157
|
-
import { jsx as
|
|
30246
|
+
import { jsx as jsx146 } from "react/jsx-runtime";
|
|
30158
30247
|
var NewElementCanvas = (props) => {
|
|
30159
30248
|
const canvasRef = useRef38(null);
|
|
30160
30249
|
useEffect42(() => {
|
|
@@ -30175,7 +30264,7 @@ var NewElementCanvas = (props) => {
|
|
|
30175
30264
|
isRenderThrottlingEnabled()
|
|
30176
30265
|
);
|
|
30177
30266
|
});
|
|
30178
|
-
return /* @__PURE__ */
|
|
30267
|
+
return /* @__PURE__ */ jsx146(
|
|
30179
30268
|
"canvas",
|
|
30180
30269
|
{
|
|
30181
30270
|
className: "excalidraw__canvas",
|
|
@@ -30193,7 +30282,7 @@ var NewElementCanvas_default = NewElementCanvas;
|
|
|
30193
30282
|
|
|
30194
30283
|
// components/Toast.tsx
|
|
30195
30284
|
import { useCallback as useCallback14, useEffect as useEffect43, useRef as useRef39 } from "react";
|
|
30196
|
-
import { jsx as
|
|
30285
|
+
import { jsx as jsx147, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
30197
30286
|
var DEFAULT_TOAST_TIMEOUT = 5e3;
|
|
30198
30287
|
var Toast = ({
|
|
30199
30288
|
message,
|
|
@@ -30228,8 +30317,8 @@ var Toast = ({
|
|
|
30228
30317
|
onMouseLeave,
|
|
30229
30318
|
style,
|
|
30230
30319
|
children: [
|
|
30231
|
-
/* @__PURE__ */
|
|
30232
|
-
closable && /* @__PURE__ */
|
|
30320
|
+
/* @__PURE__ */ jsx147("p", { className: "Toast__message", children: message }),
|
|
30321
|
+
closable && /* @__PURE__ */ jsx147(
|
|
30233
30322
|
ToolButton,
|
|
30234
30323
|
{
|
|
30235
30324
|
icon: CloseIcon,
|
|
@@ -30245,35 +30334,35 @@ var Toast = ({
|
|
|
30245
30334
|
};
|
|
30246
30335
|
|
|
30247
30336
|
// components/BraveMeasureTextError.tsx
|
|
30248
|
-
import { jsx as
|
|
30337
|
+
import { jsx as jsx148, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
30249
30338
|
var BraveMeasureTextError = () => {
|
|
30250
30339
|
return /* @__PURE__ */ jsxs77("div", { "data-testid": "brave-measure-text-error", children: [
|
|
30251
|
-
/* @__PURE__ */
|
|
30340
|
+
/* @__PURE__ */ jsx148("p", { children: /* @__PURE__ */ jsx148(
|
|
30252
30341
|
Trans_default,
|
|
30253
30342
|
{
|
|
30254
30343
|
i18nKey: "errors.brave_measure_text_error.line1",
|
|
30255
|
-
bold: (el) => /* @__PURE__ */
|
|
30344
|
+
bold: (el) => /* @__PURE__ */ jsx148("span", { style: { fontWeight: 600 }, children: el })
|
|
30256
30345
|
}
|
|
30257
30346
|
) }),
|
|
30258
|
-
/* @__PURE__ */
|
|
30347
|
+
/* @__PURE__ */ jsx148("p", { children: /* @__PURE__ */ jsx148(
|
|
30259
30348
|
Trans_default,
|
|
30260
30349
|
{
|
|
30261
30350
|
i18nKey: "errors.brave_measure_text_error.line2",
|
|
30262
|
-
bold: (el) => /* @__PURE__ */
|
|
30351
|
+
bold: (el) => /* @__PURE__ */ jsx148("span", { style: { fontWeight: 600 }, children: el })
|
|
30263
30352
|
}
|
|
30264
30353
|
) }),
|
|
30265
|
-
/* @__PURE__ */
|
|
30354
|
+
/* @__PURE__ */ jsx148("p", { children: /* @__PURE__ */ jsx148(
|
|
30266
30355
|
Trans_default,
|
|
30267
30356
|
{
|
|
30268
30357
|
i18nKey: "errors.brave_measure_text_error.line3",
|
|
30269
|
-
link: (el) => /* @__PURE__ */
|
|
30358
|
+
link: (el) => /* @__PURE__ */ jsx148("a", { href: "http://docs.excalidraw.com/docs/@excalidraw/excalidraw/faq#turning-off-aggresive-block-fingerprinting-in-brave-browser", children: el })
|
|
30270
30359
|
}
|
|
30271
30360
|
) }),
|
|
30272
|
-
/* @__PURE__ */
|
|
30361
|
+
/* @__PURE__ */ jsx148("p", { children: /* @__PURE__ */ jsx148(
|
|
30273
30362
|
Trans_default,
|
|
30274
30363
|
{
|
|
30275
30364
|
i18nKey: "errors.brave_measure_text_error.line4",
|
|
30276
|
-
issueLink: (el) => /* @__PURE__ */
|
|
30365
|
+
issueLink: (el) => /* @__PURE__ */ jsx148("a", { href: "https://github.com/excalidraw/excalidraw/issues/new", children: el }),
|
|
30277
30366
|
discordLink: (el) => /* @__PURE__ */ jsxs77("a", { href: "https://discord.gg/UexuTaE", children: [
|
|
30278
30367
|
el,
|
|
30279
30368
|
"."
|
|
@@ -30285,7 +30374,7 @@ var BraveMeasureTextError = () => {
|
|
|
30285
30374
|
var BraveMeasureTextError_default = BraveMeasureTextError;
|
|
30286
30375
|
|
|
30287
30376
|
// components/App.tsx
|
|
30288
|
-
import { Fragment as Fragment24, jsx as
|
|
30377
|
+
import { Fragment as Fragment24, jsx as jsx149, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
30289
30378
|
var AppContext = React42.createContext(null);
|
|
30290
30379
|
var AppPropsContext = React42.createContext(null);
|
|
30291
30380
|
var deviceContextInitialValue = {
|
|
@@ -30525,7 +30614,7 @@ var App = class _App extends React42.Component {
|
|
|
30525
30614
|
const frameName = getFrameLikeTitle(f);
|
|
30526
30615
|
if (f.id === this.state.editingFrame) {
|
|
30527
30616
|
const frameNameInEdit = frameName;
|
|
30528
|
-
frameNameJSX = /* @__PURE__ */
|
|
30617
|
+
frameNameJSX = /* @__PURE__ */ jsx149(
|
|
30529
30618
|
"input",
|
|
30530
30619
|
{
|
|
30531
30620
|
autoFocus: true,
|
|
@@ -30568,7 +30657,7 @@ var App = class _App extends React42.Component {
|
|
|
30568
30657
|
} else {
|
|
30569
30658
|
frameNameJSX = frameName;
|
|
30570
30659
|
}
|
|
30571
|
-
return /* @__PURE__ */
|
|
30660
|
+
return /* @__PURE__ */ jsx149(
|
|
30572
30661
|
"div",
|
|
30573
30662
|
{
|
|
30574
30663
|
id: this.getFrameNameDOMId(f),
|
|
@@ -35236,7 +35325,7 @@ var App = class _App extends React42.Component {
|
|
|
35236
35325
|
const embeddableElements = this.scene.getNonDeletedElements().filter(
|
|
35237
35326
|
(el) => isEmbeddableElement(el) && this.embedsValidationStatus.get(el.id) === true || isIframeElement(el)
|
|
35238
35327
|
);
|
|
35239
|
-
return /* @__PURE__ */
|
|
35328
|
+
return /* @__PURE__ */ jsx149(Fragment24, { children: embeddableElements.map((el) => {
|
|
35240
35329
|
const { x, y } = sceneCoordsToViewportCoords(
|
|
35241
35330
|
{ sceneX: el.x, sceneY: el.y },
|
|
35242
35331
|
this.state
|
|
@@ -35392,10 +35481,10 @@ var App = class _App extends React42.Component {
|
|
|
35392
35481
|
}
|
|
35393
35482
|
const isActive = this.state.activeEmbeddable?.element === el && this.state.activeEmbeddable?.state === "active";
|
|
35394
35483
|
const isHovered = this.state.activeEmbeddable?.element === el && this.state.activeEmbeddable?.state === "hover";
|
|
35395
|
-
return /* @__PURE__ */
|
|
35484
|
+
return /* @__PURE__ */ jsx149(
|
|
35396
35485
|
"div",
|
|
35397
35486
|
{
|
|
35398
|
-
className:
|
|
35487
|
+
className: clsx57("excalidraw__embeddable-container", {
|
|
35399
35488
|
"is-hovered": isHovered
|
|
35400
35489
|
}),
|
|
35401
35490
|
style: {
|
|
@@ -35424,15 +35513,15 @@ var App = class _App extends React42.Component {
|
|
|
35424
35513
|
pointerEvents: isActive ? POINTER_EVENTS.enabled : POINTER_EVENTS.disabled
|
|
35425
35514
|
},
|
|
35426
35515
|
children: [
|
|
35427
|
-
isHovered && /* @__PURE__ */
|
|
35428
|
-
/* @__PURE__ */
|
|
35516
|
+
isHovered && /* @__PURE__ */ jsx149("div", { className: "excalidraw__embeddable-hint", children: t("buttons.embeddableInteractionButton") }),
|
|
35517
|
+
/* @__PURE__ */ jsx149(
|
|
35429
35518
|
"div",
|
|
35430
35519
|
{
|
|
35431
35520
|
className: "excalidraw__embeddable__outer",
|
|
35432
35521
|
style: {
|
|
35433
35522
|
padding: `${el.strokeWidth}px`
|
|
35434
35523
|
},
|
|
35435
|
-
children: (isEmbeddableElement(el) ? this.props.renderEmbeddable?.(el, this.state) : null) ?? /* @__PURE__ */
|
|
35524
|
+
children: (isEmbeddableElement(el) ? this.props.renderEmbeddable?.(el, this.state) : null) ?? /* @__PURE__ */ jsx149(
|
|
35436
35525
|
"iframe",
|
|
35437
35526
|
{
|
|
35438
35527
|
ref: (ref) => this.cacheEmbeddableRef(el, ref),
|
|
@@ -35486,10 +35575,10 @@ var App = class _App extends React42.Component {
|
|
|
35486
35575
|
this.state.cursorButton === "down"
|
|
35487
35576
|
);
|
|
35488
35577
|
const firstSelectedElement = selectedElements[0];
|
|
35489
|
-
return /* @__PURE__ */
|
|
35578
|
+
return /* @__PURE__ */ jsx149(
|
|
35490
35579
|
"div",
|
|
35491
35580
|
{
|
|
35492
|
-
className:
|
|
35581
|
+
className: clsx57("excalidraw excalidraw-container", {
|
|
35493
35582
|
"excalidraw--view-mode": this.state.viewModeEnabled || this.state.openDialog?.name === "elementLinkSelector",
|
|
35494
35583
|
"excalidraw--mobile": this.device.editor.isMobile
|
|
35495
35584
|
}),
|
|
@@ -35503,11 +35592,11 @@ var App = class _App extends React42.Component {
|
|
|
35503
35592
|
onKeyDown: this.props.handleKeyboardGlobally ? void 0 : this.onKeyDown,
|
|
35504
35593
|
onPointerEnter: this.toggleOverscrollBehavior,
|
|
35505
35594
|
onPointerLeave: this.toggleOverscrollBehavior,
|
|
35506
|
-
children: /* @__PURE__ */
|
|
35595
|
+
children: /* @__PURE__ */ jsx149(AppContext.Provider, { value: this, children: /* @__PURE__ */ jsx149(AppPropsContext.Provider, { value: this.props, children: /* @__PURE__ */ jsx149(
|
|
35507
35596
|
ExcalidrawContainerContext.Provider,
|
|
35508
35597
|
{
|
|
35509
35598
|
value: this.excalidrawContainerValue,
|
|
35510
|
-
children: /* @__PURE__ */
|
|
35599
|
+
children: /* @__PURE__ */ jsx149(DeviceContext.Provider, { value: this.device, children: /* @__PURE__ */ jsx149(ExcalidrawSetAppStateContext.Provider, { value: this.setAppState, children: /* @__PURE__ */ jsx149(ExcalidrawAppStateContext.Provider, { value: this.state, children: /* @__PURE__ */ jsxs78(
|
|
35511
35600
|
ExcalidrawElementsContext.Provider,
|
|
35512
35601
|
{
|
|
35513
35602
|
value: this.scene.getNonDeletedElements(),
|
|
@@ -35517,7 +35606,7 @@ var App = class _App extends React42.Component {
|
|
|
35517
35606
|
{
|
|
35518
35607
|
value: this.actionManager,
|
|
35519
35608
|
children: [
|
|
35520
|
-
/* @__PURE__ */
|
|
35609
|
+
/* @__PURE__ */ jsx149(
|
|
35521
35610
|
LayerUI_default,
|
|
35522
35611
|
{
|
|
35523
35612
|
canvas: this.canvas,
|
|
@@ -35542,10 +35631,10 @@ var App = class _App extends React42.Component {
|
|
|
35542
35631
|
children: this.props.children
|
|
35543
35632
|
}
|
|
35544
35633
|
),
|
|
35545
|
-
/* @__PURE__ */
|
|
35546
|
-
/* @__PURE__ */
|
|
35547
|
-
/* @__PURE__ */
|
|
35548
|
-
/* @__PURE__ */
|
|
35634
|
+
/* @__PURE__ */ jsx149("div", { className: "excalidraw-textEditorContainer" }),
|
|
35635
|
+
/* @__PURE__ */ jsx149("div", { className: "excalidraw-contextMenuContainer" }),
|
|
35636
|
+
/* @__PURE__ */ jsx149("div", { className: "excalidraw-eye-dropper-container" }),
|
|
35637
|
+
/* @__PURE__ */ jsx149(
|
|
35549
35638
|
SVGLayer,
|
|
35550
35639
|
{
|
|
35551
35640
|
trails: [
|
|
@@ -35555,7 +35644,7 @@ var App = class _App extends React42.Component {
|
|
|
35555
35644
|
]
|
|
35556
35645
|
}
|
|
35557
35646
|
),
|
|
35558
|
-
selectedElements.length === 1 && this.state.openDialog?.name !== "elementLinkSelector" && this.state.showHyperlinkPopup && /* @__PURE__ */
|
|
35647
|
+
selectedElements.length === 1 && this.state.openDialog?.name !== "elementLinkSelector" && this.state.showHyperlinkPopup && /* @__PURE__ */ jsx149(
|
|
35559
35648
|
Hyperlink,
|
|
35560
35649
|
{
|
|
35561
35650
|
element: firstSelectedElement,
|
|
@@ -35567,12 +35656,12 @@ var App = class _App extends React42.Component {
|
|
|
35567
35656
|
},
|
|
35568
35657
|
firstSelectedElement.id
|
|
35569
35658
|
),
|
|
35570
|
-
this.props.aiEnabled !== false && selectedElements.length === 1 && isMagicFrameElement(firstSelectedElement) && /* @__PURE__ */
|
|
35659
|
+
this.props.aiEnabled !== false && selectedElements.length === 1 && isMagicFrameElement(firstSelectedElement) && /* @__PURE__ */ jsx149(
|
|
35571
35660
|
ElementCanvasButtons,
|
|
35572
35661
|
{
|
|
35573
35662
|
element: firstSelectedElement,
|
|
35574
35663
|
elementsMap,
|
|
35575
|
-
children: /* @__PURE__ */
|
|
35664
|
+
children: /* @__PURE__ */ jsx149(
|
|
35576
35665
|
ElementCanvasButton,
|
|
35577
35666
|
{
|
|
35578
35667
|
title: t("labels.convertToCode"),
|
|
@@ -35592,7 +35681,7 @@ var App = class _App extends React42.Component {
|
|
|
35592
35681
|
element: firstSelectedElement,
|
|
35593
35682
|
elementsMap,
|
|
35594
35683
|
children: [
|
|
35595
|
-
/* @__PURE__ */
|
|
35684
|
+
/* @__PURE__ */ jsx149(
|
|
35596
35685
|
ElementCanvasButton,
|
|
35597
35686
|
{
|
|
35598
35687
|
title: t("labels.copySource"),
|
|
@@ -35601,7 +35690,7 @@ var App = class _App extends React42.Component {
|
|
|
35601
35690
|
onChange: () => this.onIframeSrcCopy(firstSelectedElement)
|
|
35602
35691
|
}
|
|
35603
35692
|
),
|
|
35604
|
-
/* @__PURE__ */
|
|
35693
|
+
/* @__PURE__ */ jsx149(
|
|
35605
35694
|
ElementCanvasButton,
|
|
35606
35695
|
{
|
|
35607
35696
|
title: "Enter fullscreen",
|
|
@@ -35638,7 +35727,7 @@ var App = class _App extends React42.Component {
|
|
|
35638
35727
|
]
|
|
35639
35728
|
}
|
|
35640
35729
|
),
|
|
35641
|
-
this.state.toast !== null && /* @__PURE__ */
|
|
35730
|
+
this.state.toast !== null && /* @__PURE__ */ jsx149(
|
|
35642
35731
|
Toast,
|
|
35643
35732
|
{
|
|
35644
35733
|
message: this.state.toast.message,
|
|
@@ -35647,7 +35736,7 @@ var App = class _App extends React42.Component {
|
|
|
35647
35736
|
closable: this.state.toast.closable
|
|
35648
35737
|
}
|
|
35649
35738
|
),
|
|
35650
|
-
this.state.contextMenu && /* @__PURE__ */
|
|
35739
|
+
this.state.contextMenu && /* @__PURE__ */ jsx149(
|
|
35651
35740
|
ContextMenu,
|
|
35652
35741
|
{
|
|
35653
35742
|
items: this.state.contextMenu.items,
|
|
@@ -35662,7 +35751,7 @@ var App = class _App extends React42.Component {
|
|
|
35662
35751
|
}
|
|
35663
35752
|
}
|
|
35664
35753
|
),
|
|
35665
|
-
/* @__PURE__ */
|
|
35754
|
+
/* @__PURE__ */ jsx149(
|
|
35666
35755
|
StaticCanvas_default,
|
|
35667
35756
|
{
|
|
35668
35757
|
canvas: this.canvas,
|
|
@@ -35685,7 +35774,7 @@ var App = class _App extends React42.Component {
|
|
|
35685
35774
|
}
|
|
35686
35775
|
}
|
|
35687
35776
|
),
|
|
35688
|
-
this.state.newElement && /* @__PURE__ */
|
|
35777
|
+
this.state.newElement && /* @__PURE__ */ jsx149(
|
|
35689
35778
|
NewElementCanvas_default,
|
|
35690
35779
|
{
|
|
35691
35780
|
appState: this.state,
|
|
@@ -35704,7 +35793,7 @@ var App = class _App extends React42.Component {
|
|
|
35704
35793
|
}
|
|
35705
35794
|
}
|
|
35706
35795
|
),
|
|
35707
|
-
/* @__PURE__ */
|
|
35796
|
+
/* @__PURE__ */ jsx149(
|
|
35708
35797
|
InteractiveCanvas_default,
|
|
35709
35798
|
{
|
|
35710
35799
|
containerRef: this.excalidrawContainerRef,
|
|
@@ -35730,7 +35819,7 @@ var App = class _App extends React42.Component {
|
|
|
35730
35819
|
onDoubleClick: this.handleCanvasDoubleClick
|
|
35731
35820
|
}
|
|
35732
35821
|
),
|
|
35733
|
-
this.state.userToFollow && /* @__PURE__ */
|
|
35822
|
+
this.state.userToFollow && /* @__PURE__ */ jsx149(
|
|
35734
35823
|
FollowMode_default,
|
|
35735
35824
|
{
|
|
35736
35825
|
width: this.state.width,
|
|
@@ -35917,7 +36006,7 @@ var App = class _App extends React42.Component {
|
|
|
35917
36006
|
}
|
|
35918
36007
|
if (isBrave() && !isMeasureTextSupported()) {
|
|
35919
36008
|
this.setState({
|
|
35920
|
-
errorMessage: /* @__PURE__ */
|
|
36009
|
+
errorMessage: /* @__PURE__ */ jsx149(BraveMeasureTextError_default, {})
|
|
35921
36010
|
});
|
|
35922
36011
|
}
|
|
35923
36012
|
}
|
|
@@ -38179,7 +38268,7 @@ var App_default = App;
|
|
|
38179
38268
|
|
|
38180
38269
|
// components/InitializeApp.tsx
|
|
38181
38270
|
import { useEffect as useEffect44, useState as useState36 } from "react";
|
|
38182
|
-
import { jsx as
|
|
38271
|
+
import { jsx as jsx150 } from "react/jsx-runtime";
|
|
38183
38272
|
var InitializeApp = (props) => {
|
|
38184
38273
|
const [loading, setLoading] = useState36(true);
|
|
38185
38274
|
useEffect44(() => {
|
|
@@ -38190,19 +38279,19 @@ var InitializeApp = (props) => {
|
|
|
38190
38279
|
const currentLang2 = languages.find((lang) => lang.code === props.langCode) || defaultLang;
|
|
38191
38280
|
updateLang();
|
|
38192
38281
|
}, [props.langCode]);
|
|
38193
|
-
return loading ? /* @__PURE__ */
|
|
38282
|
+
return loading ? /* @__PURE__ */ jsx150(LoadingMessage, { theme: props.theme }) : props.children;
|
|
38194
38283
|
};
|
|
38195
38284
|
|
|
38196
38285
|
// components/footer/FooterCenter.tsx
|
|
38197
|
-
import
|
|
38198
|
-
import { jsx as
|
|
38286
|
+
import clsx58 from "clsx";
|
|
38287
|
+
import { jsx as jsx151 } from "react/jsx-runtime";
|
|
38199
38288
|
var FooterCenter = ({ children }) => {
|
|
38200
38289
|
const { FooterCenterTunnel } = useTunnels();
|
|
38201
38290
|
const appState = useUIAppState();
|
|
38202
|
-
return /* @__PURE__ */
|
|
38291
|
+
return /* @__PURE__ */ jsx151(FooterCenterTunnel.In, { children: /* @__PURE__ */ jsx151(
|
|
38203
38292
|
"div",
|
|
38204
38293
|
{
|
|
38205
|
-
className:
|
|
38294
|
+
className: clsx58("footer-center zen-mode-transition", {
|
|
38206
38295
|
"layer-ui__wrapper__footer-left--transition-bottom": appState.zenModeEnabled
|
|
38207
38296
|
}),
|
|
38208
38297
|
children
|
|
@@ -38213,8 +38302,8 @@ var FooterCenter_default = FooterCenter;
|
|
|
38213
38302
|
FooterCenter.displayName = "FooterCenter";
|
|
38214
38303
|
|
|
38215
38304
|
// components/live-collaboration/LiveCollaborationTrigger.tsx
|
|
38216
|
-
import
|
|
38217
|
-
import { jsx as
|
|
38305
|
+
import clsx59 from "clsx";
|
|
38306
|
+
import { jsx as jsx152, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
38218
38307
|
var LiveCollaborationTrigger2 = ({
|
|
38219
38308
|
isCollaborating,
|
|
38220
38309
|
onSelect,
|
|
@@ -38226,14 +38315,14 @@ var LiveCollaborationTrigger2 = ({
|
|
|
38226
38315
|
Button,
|
|
38227
38316
|
{
|
|
38228
38317
|
...rest,
|
|
38229
|
-
className:
|
|
38318
|
+
className: clsx59("collab-button", { active: isCollaborating }),
|
|
38230
38319
|
type: "button",
|
|
38231
38320
|
onSelect,
|
|
38232
38321
|
style: { position: "relative", width: showIconOnly ? void 0 : "auto" },
|
|
38233
38322
|
title: t("labels.liveCollaboration"),
|
|
38234
38323
|
children: [
|
|
38235
38324
|
showIconOnly ? share : t("labels.share"),
|
|
38236
|
-
appState.collaborators.size > 0 && /* @__PURE__ */
|
|
38325
|
+
appState.collaborators.size > 0 && /* @__PURE__ */ jsx152("div", { className: "CollabButton-collaborators", children: appState.collaborators.size })
|
|
38237
38326
|
]
|
|
38238
38327
|
}
|
|
38239
38328
|
);
|
|
@@ -38242,15 +38331,15 @@ var LiveCollaborationTrigger_default = LiveCollaborationTrigger2;
|
|
|
38242
38331
|
LiveCollaborationTrigger2.displayName = "LiveCollaborationTrigger";
|
|
38243
38332
|
|
|
38244
38333
|
// components/ExcalidrawLogo.tsx
|
|
38245
|
-
import { jsx as
|
|
38246
|
-
var LogoIcon = () => /* @__PURE__ */
|
|
38334
|
+
import { jsx as jsx153, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
38335
|
+
var LogoIcon = () => /* @__PURE__ */ jsx153(
|
|
38247
38336
|
"svg",
|
|
38248
38337
|
{
|
|
38249
38338
|
viewBox: "0 0 40 40",
|
|
38250
38339
|
fill: "none",
|
|
38251
38340
|
xmlns: "http://www.w3.org/2000/svg",
|
|
38252
38341
|
className: "ExcalidrawLogo-icon",
|
|
38253
|
-
children: /* @__PURE__ */
|
|
38342
|
+
children: /* @__PURE__ */ jsx153(
|
|
38254
38343
|
"path",
|
|
38255
38344
|
{
|
|
38256
38345
|
d: "M39.9 32.889a.326.326 0 0 0-.279-.056c-2.094-3.083-4.774-6-7.343-8.833l-.419-.472a.212.212 0 0 0-.056-.139.586.586 0 0 0-.167-.111l-.084-.083-.056-.056c-.084-.167-.28-.278-.475-.167-.782.39-1.507.973-2.206 1.528-.92.722-1.842 1.445-2.708 2.25a8.405 8.405 0 0 0-.977 1.028c-.14.194-.028.361.14.444-.615.611-1.23 1.223-1.843 1.861a.315.315 0 0 0-.084.223c0 .083.056.166.111.194l1.09.833v.028c1.535 1.528 4.244 3.611 7.12 5.861.418.334.865.667 1.284 1 .195.223.39.473.558.695.084.11.28.139.391.055.056.056.14.111.196.167a.398.398 0 0 0 .167.056.255.255 0 0 0 .224-.111.394.394 0 0 0 .055-.167c.029 0 .028.028.056.028a.318.318 0 0 0 .224-.084l5.082-5.528a.309.309 0 0 0 0-.444Zm-14.63-1.917a.485.485 0 0 0 .111.14c.586.5 1.2 1 1.843 1.555l-2.569-1.945-.251-.166c-.056-.028-.112-.084-.168-.111l-.195-.167.056-.056.055-.055.112-.111c.866-.861 2.346-2.306 3.1-3.028-.81.805-2.43 3.167-2.095 3.944Zm8.767 6.89-2.122-1.612a44.713 44.713 0 0 0-2.625-2.5c1.145.861 2.122 1.611 2.262 1.75 1.117.972 1.06.806 1.815 1.445l.921.666a1.06 1.06 0 0 1-.251.25Zm.558.416-.056-.028c.084-.055.168-.111.252-.194l-.196.222ZM1.089 5.75c.055.361.14.722.195 1.056.335 1.833.67 3.5 1.284 4.75l.252.944c.084.361.223.806.363.917 1.424 1.25 3.602 3.11 5.947 4.889a.295.295 0 0 0 .363 0s0 .027.028.027a.254.254 0 0 0 .196.084.318.318 0 0 0 .223-.084c2.988-3.305 5.221-6.027 6.813-8.305.112-.111.14-.278.14-.417.111-.111.195-.25.307-.333.111-.111.111-.306 0-.39l-.028-.027c0-.055-.028-.139-.084-.167-.698-.666-1.2-1.138-1.731-1.638-.922-.862-1.871-1.75-3.881-3.75l-.028-.028c-.028-.028-.056-.056-.112-.056-.558-.194-1.703-.389-3.127-.639C6.087 2.223 3.21 1.723.614.944c0 0-.168 0-.196.028l-.083.084c-.028.027-.056.055-.224.11h.056-.056c.028.167.028.278.084.473 0 .055.112.5.112.555l.782 3.556Zm15.496 3.278-.335-.334c.084.112.196.195.335.334Zm-3.546 4.666-.056.056c0-.028.028-.056.056-.056Zm-2.038-10c.168.167.866.834 1.033.973-.726-.334-2.54-1.167-3.379-1.445.838.167 1.983.334 2.346.472ZM1.424 2.306c.419.722.754 3.222 1.089 5.666-.196-.778-.335-1.555-.503-2.278-.251-1.277-.503-2.416-.838-3.416.056 0 .14 0 .252.028Zm-.168-.584c-.112 0-.223-.028-.307-.028 0-.027 0-.055-.028-.055.14 0 .223.028.335.083Zm-1.089.222c0-.027 0-.027 0 0ZM39.453 1.333c.028-.11-.558-.61-.363-.639.42-.027.42-.666 0-.666-.558.028-1.144.166-1.675.25-.977.194-1.982.389-2.96.61-2.205.473-4.383.973-6.561 1.557-.67.194-1.424.333-2.066.666-.224.111-.196.333-.084.472-.056.028-.084.028-.14.056-.195.028-.363.056-.558.083-.168.028-.252.167-.224.334 0 .027.028.083.028.11-1.173 1.556-2.485 3.195-3.909 4.945-1.396 1.611-2.876 3.306-4.356 5.056-4.719 5.5-10.052 11.75-15.943 17.25a.268.268 0 0 0 0 .389c.028.027.056.055.084.055-.084.084-.168.14-.252.222-.056.056-.084.111-.084.167a.605.605 0 0 0-.111.139c-.112.111-.112.305.028.389.111.11.307.11.39-.028.029-.028.029-.056.056-.056a.44.44 0 0 1 .615 0c.335.362.67.723.977 1.028l-.698-.583c-.112-.111-.307-.083-.39.028-.113.11-.085.305.027.389l7.427 6.194c.056.056.112.056.196.056s.14-.028.195-.084l.168-.166c.028.027.083.027.111.027.084 0 .14-.027.196-.083 10.052-10.055 18.15-17.639 27.42-24.417.083-.055.111-.166.111-.25.112 0 .196-.083.251-.194 1.704-5.194 2.039-9.806 2.15-12.083v-.028c0-.028.028-.056.028-.083.028-.056.028-.084.028-.084a1.626 1.626 0 0 0-.111-1.028ZM21.472 9.5c.446-.5.893-1.028 1.34-1.5-2.876 3.778-7.65 9.583-14.408 16.5 4.607-5.083 9.242-10.333 13.068-15ZM5.193 35.778h.084-.084Zm3.462 3.194c-.027-.028-.027-.028 0-.028v.028Zm4.16-3.583c.224-.25.448-.472.699-.722 0 0 0 .027.028.027-.252.223-.475.445-.726.695Zm1.146-1.111c.14-.14.279-.334.446-.5l.028-.028c1.648-1.694 3.351-3.389 5.082-5.111l.028-.028c.419-.333.921-.694 1.368-1.028a379.003 379.003 0 0 0-6.952 6.695ZM24.794 6.472c-.921 1.195-1.954 2.778-2.82 4.028-2.736 3.944-11.532 13.583-11.727 13.75a1976.983 1976.983 0 0 1-8.042 7.639l-.167.167c-.14-.167-.14-.417.028-.556C14.49 19.861 22.03 10.167 25.074 5.917c-.084.194-.14.36-.28.555Zm4.83 5.695c-1.116-.64-1.646-1.64-1.34-2.611l.084-.334c.028-.083.084-.194.14-.277.307-.5.754-.917 1.257-1.167.027 0 .055 0 .083-.028-.028-.056-.028-.139-.028-.222.028-.167.14-.278.335-.278.335 0 1.369.306 1.76.639.111.083.223.194.335.305.14.167.363.445.474.667.056.028.112.306.196.445.056.222.111.472.084.694-.028.028 0 .194-.028.194a2.668 2.668 0 0 1-.363 1.028c-.028.028-.028.056-.056.084l-.028.027c-.14.223-.335.417-.53.556-.643.444-1.369.583-2.095.389 0 0-.195-.084-.28-.111Zm8.154-.834a39.098 39.098 0 0 1-.893 3.167c0 .028-.028.083 0 .111-.056 0-.084.028-.14.056-2.206 1.61-4.356 3.305-6.506 5.028 1.843-1.64 3.686-3.306 5.613-4.945.558-.5.949-1.139 1.06-1.861l.28-1.667v-.055c.14-.334.67-.195.586.166Z",
|
|
@@ -38267,28 +38356,28 @@ var LogoText = () => /* @__PURE__ */ jsxs80(
|
|
|
38267
38356
|
fill: "none",
|
|
38268
38357
|
className: "ExcalidrawLogo-text",
|
|
38269
38358
|
children: [
|
|
38270
|
-
/* @__PURE__ */
|
|
38359
|
+
/* @__PURE__ */ jsx153(
|
|
38271
38360
|
"path",
|
|
38272
38361
|
{
|
|
38273
38362
|
d: "M429.27 96.74c2.47-1.39 4.78-3.02 6.83-4.95 1.43-1.35 2.73-2.86 3.81-4.51-.66.9-1.4 1.77-2.23 2.59-2.91 2.84-5.72 5.09-8.42 6.87h.01ZM343.6 69.36c.33 3.13.58 6.27.79 9.4.09 1.37.18 2.75.25 4.12-.12-4.46-.27-8.93-.5-13.39-.11-2.08-.24-4.16-.4-6.24-.06 1.79-.11 3.85-.13 6.11h-.01ZM378.47 98.34c.01-.37.07-1.13.01-6.51-.11 1.9-.22 3.81-.31 5.71-.07 1.42-.22 2.91-.16 4.35.39.03.78.07 1.17.1-.92-.85-.76-2.01-.72-3.66l.01.01ZM344.09 86.12c-.09-2.41-.22-4.83-.39-7.24v12.21c.15-.05.32-.09.47-.14.05-1.61-.03-3.23-.09-4.83h.01ZM440.69 66.79c-.22-.34-.45-.67-.69-.99-3.71-4.87-9.91-7.14-15.65-8.55-1.05-.26-2.12-.49-3.18-.71 2.29.59 4.48 1.26 6.64 2.02 7.19 2.54 10.57 5.41 12.88 8.23ZM305.09 72.46l1.2 3.6c.84 2.53 1.67 5.06 2.46 7.61.24.78.5 1.57.73 2.36.22-.04.44-.08.67-.12a776.9 776.9 0 0 1-5.01-13.57c-.02.04-.03.09-.05.13v-.01ZM345.49 90.25v.31c1.48-.42 3.05-.83 4.66-1.2-1.56.25-3.12.52-4.66.89ZM371.02 90.22c0-.57-.04-1.14-.11-1.71-.06-.02-.12-.04-.19-.05-.21-.05-.43-.08-.65-.11.42.16.74.88.95 1.87ZM398.93 54.23c-.13 0-.27-.01-.4-.02l.03.4c.11-.15.23-.27.37-.38ZM401.57 62.28v-.15c-1.22-.24-2.86-.61-3.23-1.25-.09-.15-.18-.51-.27-.98-.09.37-.2.73-.33 1.09 1.24.56 2.52.98 3.83 1.29ZM421.73 88.68c-2.97 1.65-6.28 3.12-9.69 3.68v.18c4.72-.14 11.63-3.85 16.33-8.38-2.04 1.75-4.33 3.24-6.63 4.53l-.01-.01ZM411.28 80.92c-.05-1.2-.09-2.4-.15-3.6-.21 5.66-.46 11.38-.47 14.51.24-.02.48-.04.71-.07.15-3.61.05-7.23-.09-10.83v-.01Z",
|
|
38274
38363
|
transform: "translate(-144.023 -51.76)"
|
|
38275
38364
|
}
|
|
38276
38365
|
),
|
|
38277
|
-
/* @__PURE__ */
|
|
38366
|
+
/* @__PURE__ */ jsx153(
|
|
38278
38367
|
"path",
|
|
38279
38368
|
{
|
|
38280
38369
|
d: "M425.38 67.41c-3.5-1.45-7.19-2.57-14.06-3.62.09 1.97.06 4.88-.03 8.12.03.04.06.09.06.15.19 1.36.28 2.73.37 4.1.25 3.77.39 7.55.41 11.33 0 1.38-.01 2.76-.07 4.13 1.4-.25 2.78-.65 4.12-1.15 4.07-1.5 7.94-3.78 11.28-6.54 2.33-1.92 5.13-4.49 5.88-7.58.63-3.53-2.45-6.68-7.97-8.96l.01.02ZM411.35 92.53v-.06l-.34.03c.11.01.22.03.34.03ZM314.26 64.06c-.23-.59-.47-1.17-.7-1.75.57 1.62 1.11 3.25 1.6 4.9l.15.54 2.35 6.05c.32.82.66 1.64.98 2.46-1.38-4.1-2.83-8.17-4.39-12.2h.01ZM156.82 103.07c-.18.13-.38.23-.58.33 1.32-.03 2.66-.2 3.93-.34.86-.09 1.72-.22 2.58-.33-2.12.1-4.12.17-5.94.34h.01ZM210.14 68.88s.03.04.05.07c.18-.31.39-.64.58-.96-.21.3-.42.6-.64.89h.01ZM201.65 82.8c-.5.77-1.02 1.56-1.49 2.37 1.11-1.55 2.21-3.1 3.2-4.59-.23.23-.49.51-.75.79-.32.47-.65.95-.96 1.43ZM194.03 98.66c-.33-.4-.65-.84-1.05-1.17-.24-.2-.07-.49.17-.56-.23-.26-.42-.5-.63-.75 1.51-2.55 3.93-5.87 6.4-9.28-.17-.08-.29-.28-.2-.49.04-.09.09-.17.13-.26-1.21 1.78-2.42 3.55-3.61 5.33-.87 1.31-1.74 2.64-2.54 4-.29.5-.63 1.04-.87 1.61.81.65 1.63 1.27 2.47 1.88-.09-.11-.18-.21-.27-.32v.01ZM307.79 82.93c-1-3.17-2.05-6.32-3.1-9.48-1.62 4.08-3.69 9.17-6.16 15.19 3.32-1.04 6.77-1.87 10.27-2.5-.32-1.08-.67-2.15-1.01-3.21ZM149.5 80.7c.05-1.71.04-3.43 0-5.14-.1 2.26-.16 4.51-.22 6.77-.02.73-.03 1.46-.04 2.19.14-1.27.2-2.55.24-3.82h.02ZM228.98 98.3c.39 1.25.91 3.03.94 3.91.06-.03.12-.07.17-.1.08-1.29-.55-2.65-1.11-3.81ZM307.72 53.36c.81.5 1.53 1.04 2.07 1.49-.38-.8-.78-1.58-1.21-2.35-.17.03-.34.06-.51.11-.43.12-.86.26-1.29.41.35-.01.53.1.94.34ZM283.69 96.14c3.91-7.25 6.89-13.35 8.88-18.15l1.1-2.66c-1.27 2.64-2.56 5.27-3.83 7.9-1.53 3.15-3.06 6.31-4.58 9.47-.87 1.81-1.76 3.62-2.54 5.47.04.02.07.04.11.07.05.05.1.09.15.14.05-.73.27-1.48.71-2.24ZM289.92 103.23s-.04.01-.05.03c0-.02.04-.03.05-.04.05-.05.11-.1.16-.15l.21-.21c-.55 0-1.5-.27-2.55-.72.4.26.8.51 1.22.74.24.13.48.26.73.37.05.02.1.03.14.05a.27.27 0 0 1 .08-.07h.01ZM269.23 68.49c-.39-.19-.82-.48-1.33-.87-3.06-1.56-6.31-2.78-9.36-2.35-3.5.49-5.7 1.11-7.74 2.44 5.71-2.6 12.82-2.07 18.44.79l-.01-.01ZM177.87 53.69l1.06.03c-.96-.22-2-.25-2.89-.3-4.95-.26-9.99.33-14.86 1.19-2.44.43-4.88.95-7.28 1.59 9.09-1.76 15.69-2.77 23.97-2.51ZM219.85 55.51c-.18.12-.36.27-.56.45-.45.53-.86 1.11-1.26 1.66-1.91 2.61-3.71 5.31-5.57 7.95l-.12.18 8.05-10.11c-.18-.05-.36-.1-.55-.13h.01ZM510.71 54.1c.12-.15.29-.3.53-.45.69-.4 3.72-.63 5.87-.74-.36-.02-.73-.04-1.09-.05-1.84-.03-3.67.09-5.49.35.05.3.12.59.18.88v.01ZM510.76 86.02c1.37-3.07 2.49-6.27 3.57-9.46.55-1.64 1.12-3.3 1.6-4.97-1.59 4.01-3.67 9.14-6.2 15.3.24-.08.5-.14.74-.22.1-.22.19-.44.29-.65ZM566.95 75.76c.11-.02.23.03.31.11-.05-.13-.09-.26-.14-.39-.05.09-.11.18-.17.28ZM511.33 86.41c3.08-.89 6.24-1.62 9.46-2.14-1.51-3.98-2.98-7.96-4.39-11.87-.05.15-.09.31-.14.46-1.02 3.32-2.15 6.61-3.39 9.85-.48 1.25-.98 2.49-1.53 3.7h-.01ZM578.24 74.45c.11-.44.23-.87.35-1.31-.31.7-.64 1.39-.97 2.08.09.21.19.4.28.61.12-.46.23-.92.35-1.38h-.01ZM520.62 53.11c-.09 0-.18-.01-.28-.02.38.34.29 1.08.93 2.53l6.65 17.15c2.2 5.68 4.69 11.36 7.41 16.87l1.06 2.17c-2.95-7.05-5.92-14.08-8.87-21.13-1.58-3.79-3.16-7.59-4.7-11.4-.78-1.92-1.73-3.89-2.25-5.91-.03-.1 0-.19.04-.26h.01ZM578.78 77.87c1.45-5.77 3.07-10.43 3.58-13.36.05-.34.16-.88.31-1.55-.67 1.79-1.37 3.56-2.08 5.33-.12.43-.23.86-.35 1.29-.65 2.43-1.29 4.86-1.9 7.3.14.33.29.65.43 1l.01-.01ZM545.3 94.66c.02-.44.03-.83.05-1.12.02-1.01.05-2.02.11-3.02.03-6.66-.46-14.33-1.46-22.8-.13-.42-.27-1.24-.56-2.89 0-.02 0-.04-.01-.06.62 6.61.95 13.25 1.32 19.87.17 3.08.33 6.16.52 9.23.02.25.03.52.04.78l-.01.01ZM580.77 102.81c.13.2.27.38.37.49.27-.11.53-.22.8-.32-.43.09-.82.05-1.17-.16v-.01ZM530.48 104.07h.33c-.36-.13-.71-.32-1.04-.56.14.24.3.47.45.7.06-.08.14-.13.26-.13v-.01ZM542.63 58.82c.06.23.11.47.15.71.14-.33.36-.62.7-.86-.28.05-.57.11-.85.15ZM583.81 57.87c.15-.7.29-1.41.42-2.11-.14.45-.28.9-.42 1.34-.46 1.44-.89 2.89-1.31 4.34.44-1.19.88-2.37 1.31-3.57ZM523.62 91.48c-4.66 1.17-9.05 2.89-14.02 5.27 4.65-1.84 9.48-3.29 14.28-4.63-.09-.22-.17-.41-.26-.64ZM460.64 78.3c-.04-2.9-.11-5.81-.28-8.71-.1-1.68-.17-3.43-.5-5.09-.07.02-.14.03-.2.05.3 6.54.45 12.17.51 17.12.17-.07.34-.14.51-.2 0-1.06-.01-2.11-.03-3.17h-.01ZM470.63 63.24c-3.38-.26-6.81.32-10.1 1.1.41 2.01.47 4.14.57 6.18.18 3.55.25 7.11.27 10.67 3.31-1.38 6.5-3.12 9.3-5.35 1.96-1.56 3.86-3.41 5.02-5.66.73-1.41 1.19-3.22.26-4.65-1.09-1.7-3.46-2.14-5.32-2.29ZM460.29 63.68c1-.24 2.01-.46 3.04-.65-1.15.16-2.37.38-3.71.69v.13c.07-.02.15-.04.22-.05.11-.13.3-.18.45-.11v-.01ZM457.24 100.96c.43-.03.86-.07 1.29-.11.14-.49.27-.99.38-1.49-.44.7-1 1.23-1.67 1.6ZM482.88 104.98c-.18.23-.36.38-.55.47.14.09.27.19.4.28a70.76 70.76 0 0 0 4.37-4.63c.76-.89 1.52-1.81 2.19-2.77-.3-.27-.61-.53-.92-.79-.07 1.94-4.62 6.32-5.49 7.45v-.01Z",
|
|
38281
38370
|
transform: "translate(-144.023 -51.76)"
|
|
38282
38371
|
}
|
|
38283
38372
|
),
|
|
38284
|
-
/* @__PURE__ */
|
|
38373
|
+
/* @__PURE__ */ jsx153(
|
|
38285
38374
|
"path",
|
|
38286
38375
|
{
|
|
38287
38376
|
d: "M474.36 63.31c-.4-.16-.84-.27-1.29-.37 1.56.42 3.08 1.22 3.76 2.74.62 1.4.32 2.95-.28 4.32.7-1.22.94-2.34.74-3.47-.24-1.33-1.19-2.54-2.93-3.21v-.01ZM477.34 89.18c-1.2-.81-2.4-1.62-3.6-2.42-.14.1-.26.19-.4.29 1.4.67 2.73 1.39 4 2.13ZM465.88 93.85c.37.25.74.5 1.1.75.46.32.92.65 1.38.97-1.57-1.2-2.01-1.61-2.49-1.72h.01ZM574.92 90.06c-2.28-5.21-4.93-11.13-5.67-12.26-.1-.15-1.57-3.01-1.63-3.08 0 0-.01.02-.02.02.4 1.37 1.09 2.69 1.65 3.99 2.14 4.95 4.36 9.86 6.67 14.73.6 1.26 1.21 2.52 1.83 3.78-.75-2.01-1.64-4.45-2.83-7.18ZM448.73 65.29c.1.2.22.38.34.57.22-.02.43-.06.65-.08v-.08c-.14-.05-.25 0-.99-.41ZM460.16 94.81c-.02.31-.06.59-.1.89-.03 1.71-.33 3.43-.79 5.07.15-.02.3-.03.45-.05.01-.04.02-.08.03-.11.09-.34.15-.69.2-1.03.17-1.07.25-2.16.33-3.24.05-.69.08-1.39.12-2.08-.27.1-.27.26-.24.57v-.02Z",
|
|
38288
38377
|
transform: "translate(-144.023 -51.76)"
|
|
38289
38378
|
}
|
|
38290
38379
|
),
|
|
38291
|
-
/* @__PURE__ */
|
|
38380
|
+
/* @__PURE__ */ jsx153(
|
|
38292
38381
|
"path",
|
|
38293
38382
|
{
|
|
38294
38383
|
d: "m328.67 98.12-3.22-6.58c-1.29-2.63-2.53-5.29-3.72-7.97-.25-.85-.52-1.69-.79-2.53-.81-2.57-1.67-5.12-2.55-7.67-1.92-5.53-3.9-11.08-6.32-16.41-.72-1.58-1.46-3.44-2.63-4.79-.03-.17-.16-.29-.34-.36a.282.282 0 0 0-.23-.04c-.06-.01-.12 0-.18.01-.74.06-1.5.38-2.19.61-2.22.77-4.4 1.64-6.63 2.38-.03-.08-.06-.16-.09-.25-.15-.42-.82-.24-.67.19.03.09.07.19.1.28l-.18.06c-.36.11-.28.6 0 .68.18 1.18.63 2.36.98 3.49.03.09.06.17.08.26-.08.23-.17.46-.24.64-.37.98-.79 1.94-1.21 2.9-1.27 2.89-2.62 5.75-3.98 8.6-3.18 6.67-6.44 13.31-9.64 19.97-1.08 2.25-2.2 4.5-3.15 6.81-.13.32.24.5.5.37 1.34 1.33 2.84 2.5 4.4 3.57.65.44 1.31.87 2.01 1.24.4.22.86.48 1.33.5.24.01.35-.19.33-.37.11-.1.21-.21.28-.28.41-.41.81-.84 1.2-1.26.85-.92 1.69-1.87 2.5-2.84 6.31-2.34 12.6-4.31 18.71-5.84 2.14 5.3 3.43 8.43 3.97 9.58.55 1.05 1.15 1.88 1.82 2.52 1.32.56 6.96-.03 9.23-1.96.87-1.28 1.19-2.67.93-4.15-.09-.5-.22-.95-.4-1.33l-.01-.03Zm-20.09-45.61c.43.77.83 1.56 1.21 2.35-.54-.45-1.27-.99-2.07-1.49-.42-.24-.6-.35-.94-.34.43-.15.85-.29 1.29-.41.17-.05.34-.08.51-.11Zm-25.86 45.66c.78-1.85 1.67-3.66 2.54-5.47 1.51-3.16 3.05-6.31 4.58-9.47 1.28-2.63 2.56-5.26 3.83-7.9l-1.1 2.66c-1.99 4.79-4.97 10.9-8.88 18.15-.43.76-.66 1.51-.71 2.24-.05-.05-.1-.09-.15-.14a.259.259 0 0 0-.11-.07Zm6.24 4.71c-.42-.23-.82-.48-1.22-.74 1.05.45 2 .72 2.55.72l-.21.21c-.05.05-.11.1-.16.15-.01.01-.04.03-.05.04 0-.02.03-.02.05-.03a.27.27 0 0 0-.08.07c-.05-.02-.1-.03-.14-.05-.25-.1-.49-.24-.73-.37h-.01Zm15.73-29.43c1.05 3.15 2.1 6.31 3.1 9.48.34 1.06.69 2.13 1.01 3.21-3.5.63-6.95 1.46-10.27 2.5 2.48-6.03 4.54-11.11 6.16-15.19Zm4.79 12.57c-.23-.79-.49-1.58-.73-2.36-.79-2.54-1.63-5.08-2.46-7.61l-1.2-3.6c.02-.04.04-.09.05-.13 1.6 4.45 3.28 9 5.01 13.57l-.67.12v.01Zm5.83-18.27-.15-.54c-.49-1.64-1.03-3.28-1.6-4.9.23.58.47 1.17.7 1.75 1.56 4.03 3.01 8.1 4.39 12.2-.33-.82-.67-1.64-.98-2.46l-2.35-6.05h-.01ZM390.43 79.37c-.13-10.43-.22-17.5-.24-19.97-.24-1.6.21-2.88-.65-3.65-.14-.13-.32-.23-.52-.32h.03c.45 0 .45-.69 0-.7-1.75-.03-3.5-.04-5.25-.14-1.38-.08-2.76-.21-4.15-.31-.07 0-.12.01-.17.04-.21-.07-.47.03-.45.31l.03.45c-.11.14-.19.3-.22.5-.21 1.26-.32 13.67-.36 23.59-.32 5.79-.67 11.57-.97 17.36-.09 1.73-.29 3.54-.21 5.3-.39.02-.38.64.04.69v.12c.05.44.74.45.7 0v-.06c1.1.09 2.2.21 3.3.3 1.14.19 2.44.2 3.29.17 1.73-.05 2.92-.05 3.8-.37.45-.05.9-.11 1.35-.17.44-.06.25-.73-.19-.67h-.01c.24-.32.45-.72.62-1.25.66-1.84.41-6.36.34-11.33l-.13-9.9.02.01Zm-12.26 18.17c.09-1.91.2-3.81.31-5.71.06 5.38 0 6.14-.01 6.51-.05 1.65-.21 2.81.72 3.66-.39-.04-.78-.07-1.17-.1-.06-1.44.09-2.93.16-4.35l-.01-.01ZM588.97 53.85c-2.06-.25-3.17-.51-3.76-.6a.3.3 0 0 1 .04-.08c.22-.39-.39-.75-.6-.35-.56 1.02-.9 2.19-1.26 3.29-.61 1.88-1.17 3.78-1.72 5.68-.63 2.19-1.24 4.39-1.83 6.59-.81 2.03-1.67 4.05-2.61 6.03-1.7-3.64-3.11-6.04-4.03-7.57-2.26-3.74-2.85-5.48-3.57-6.08l.31-.09c.43-.12.25-.8-.19-.67-1.06.3-2.12.6-3.17.95-.93.32-1.85.69-2.76 1.07-.13.05-.19.16-.22.27-.04.02-.08.05-.11.07-.04-.06-.07-.12-.11-.18a.354.354 0 0 0-.48-.12c-.16.09-.22.32-.13.48l.33.54c0 .09.02.18.06.28.51 1.16.78 1.38.72 1.47-2.42 3.44-5.41 7.86-6.2 9.1-1.27 1.97-2.01 3.14-2.45 3.84l-.91-6.56-.43-4.1c-.19-1.85-.37-3.23-.53-4.13-.19-1.1-.3-2.15-.45-3.16-.2-1.36-.29-2.06-.47-2.42h.04c.45.02.45-.68 0-.7-3.43-.16-6.81.94-10.17 1.48-.24-.22-.73-.04-.58.32.24.59.33 1.25.43 1.87.17 1.06.29 2.13.4 3.2.32 3.09.53 6.2.74 9.3.44 6.75.77 13.51 1.17 20.26.11 1.95.13 3.96.46 5.89.05.3.37.31.55.14.74 1.71 2.87 1.27 6.13 1.27 1.34 0 2.39.04 2.99-.11.02.32.48.53.63.18 3.61-8.26 7.41-16.46 12.05-24.2.03-.05.04-.1.05-.15.3.73.64 1.45.94 2.16.97 2.26 1.97 4.52 2.98 6.76 2.26 5.03 4.54 10.07 7.09 14.96.47.9.94 1.79 1.47 2.65.2.32.4.67.66.96-.18.25 0 .68.34.54.91-.38 1.82-.75 2.76-1.07 1.04-.35 2.11-.65 3.17-.95.39-.11.28-.66-.07-.68.62-.4.95-.96.87-1.91-.3-3.34.72-7.47.86-8.52l2.14-11.43c1.75-10.74 3.13-17.51 3.23-20.86.02-.49.08-2.84.13-3.24.17-1.25.48-1-4.96-1.65l.03-.02Zm-46.19 5.67c-.04-.24-.09-.48-.15-.71l.85-.15c-.34.24-.56.53-.7.86Zm1.95 25.12c-.36-6.63-.7-13.26-1.32-19.87 0 .02 0 .04.01.06.29 1.65.44 2.47.56 2.89 1 8.46 1.5 16.14 1.46 22.8-.06.99-.1 2-.11 3.02-.01.29-.03.68-.05 1.12-.01-.26-.03-.53-.04-.78-.19-3.08-.35-6.16-.52-9.23l.01-.01Zm36.4 18.66c-.11-.11-.24-.29-.37-.49.35.21.74.26 1.17.16-.27.11-.53.22-.8.32v.01Zm-.89-33.72c.12-.43.23-.86.35-1.29.71-1.77 1.41-3.55 2.08-5.33-.15.68-.26 1.22-.31 1.55-.5 2.94-2.13 7.59-3.58 13.36-.15-.35-.29-.66-.43-1 .61-2.44 1.25-4.87 1.9-7.3l-.01.01Zm3.56-12.48c.14-.44.28-.89.42-1.34-.13.7-.27 1.41-.42 2.11-.43 1.19-.86 2.38-1.31 3.57.42-1.45.85-2.9 1.31-4.34Zm-5.22 16.05c-.11.44-.23.87-.35 1.31-.12.46-.23.92-.35 1.38-.1-.22-.19-.4-.28-.61.34-.69.66-1.38.97-2.08h.01Zm-11.64 2.62c.06-.1.12-.19.17-.28.05.13.09.26.14.39a.398.398 0 0 0-.31-.11Zm2.3 2.98c-.56-1.3-1.25-2.63-1.65-3.99 0 0 .01-.02.02-.02.06.08 1.52 2.93 1.63 3.08.73 1.13 3.38 7.04 5.67 12.26 1.2 2.73 2.08 5.17 2.83 7.18-.62-1.25-1.23-2.51-1.83-3.78-2.31-4.87-4.53-9.78-6.67-14.73ZM275.92 87.03c-1.06-2.18-1.13-3.45-2.44-2.93-1.52.57-2.94 1.3-4.5 2.1-1.4.72-2.68 1.44-3.92 2.12.01-.25-.24-.5-.51-.34-4.8 2.93-12.41 4.7-17.28 1.31-1.98-1.77-3.32-4.15-3.97-5.78-.29-.95-.49-1.94-.63-2.93-.14-3.34 1.58-6.53 3.9-9.12.8-.79 1.68-1.51 2.66-2.12 3.7-2.3 8.22-3.07 12.51-2.51 2.71.35 5.32 1.24 7.71 2.55.39.22.75-.39.35-.6-.18-.1-.37-.18-.55-.27.56.27 1.03.33 1.51.19l-.48.39c-.15.11-.23.3-.13.48.09.15.33.24.48.13 1.3-.97 2.46-2.09 3.45-3.37.37-.29.64-.6.65-.97v-.02c.08-.33-.03-.7-.21-1.08-.31-.87-.98-2.01-2.19-3.26-2.43-2.52-3.79-3.45-5.68-4.26-1.14-.49-3.12-1.06-4.42-1.23-3.28-.42-10.64-1.21-18.18 4.11-7.74 5.46-11.94 12.3-12.23 20.61-.08 2.06.04 3.98.34 5.71.74 4.18 2.57 8 5.44 11.34 4.26 4.99 9.76 7.52 16.34 7.52 4.85 0 9.69-1.77 14.89-4.62.23-.12.45-.23.68-.35 2.19-1.1 4.37-2.23 6.46-3.5.49-.3 1.03-.61 1.5-.98 1.47-.87 1.11-1.12.49-2.95-.39-1.14-.76-2.7-2.06-5.36l.02-.01Zm-17.38-21.76c3.05-.42 6.31.79 9.36 2.35.51.39.94.68 1.33.87-5.61-2.86-12.72-3.39-18.44-.79 2.05-1.33 4.24-1.95 7.74-2.44l.01.01ZM443.67 72.67c-.4-2.2-1.15-4.33-2.37-6.22-1.49-2.32-3.58-4.19-5.91-5.64-6.17-3.81-13.75-5.11-20.83-6.01-3.23-.41-6.47-.69-9.72-.92l-1.39-.12c-.85-.07-1.52-.1-2.05-.1-1.08-.06-2.17-.12-3.25-.17-.08 0-.14.02-.19.05-.1.05-.18.14-.16.3.27 2.55-.01 5.12-.92 7.52-.15.38.4.56.62.28 1.32.59 2.68 1.05 4.08 1.37 0 2.78-.14 7.58-.33 12.91 0 0 0 .02-.01.03-.61 3.66-.79 7.42-1 11.12-.23 4.01-.43 8.03-.44 12.05 0 .64 0 1.28.03 1.93.02.31 0 .68.15.96.06.11.14.16.24.17-.2.17-.21.54.11.59 3.83.67 7.78.71 11.68.25 2.3-.19 4.87-.65 7.65-1.56 1.85-.54 3.67-1.18 5.43-1.91 7.2-3.02 14.31-8.07 17.35-15.53.76-1.86 1.17-3.8 1.31-5.75.3-1.93.28-3.82-.09-5.58l.01-.02Zm-19.32-15.42c5.74 1.41 11.94 3.68 15.65 8.55.25.32.47.65.69.99-2.3-2.82-5.68-5.69-12.88-8.23-2.16-.76-4.35-1.43-6.64-2.02 1.06.21 2.13.45 3.18.71Zm-25.82-3.04c.13 0 .27.01.4.02-.14.1-.26.23-.37.38 0-.13-.02-.26-.03-.4Zm34.82 22.17c-.75 3.09-3.55 5.66-5.88 7.58-3.35 2.76-7.21 5.03-11.28 6.54-1.33.49-2.71.9-4.12 1.15.06-1.38.08-2.76.07-4.13-.02-3.78-.16-7.56-.41-11.33-.09-1.37-.18-2.74-.37-4.1 0-.06-.03-.11-.06-.15.09-3.25.12-6.16.03-8.12 6.86 1.05 10.56 2.17 14.06 3.62 5.52 2.28 8.59 5.44 7.97 8.96l-.01-.02Zm-22 16.15c-.12 0-.23-.02-.34-.03l.34-.03v.06Zm-.69-.7c0-3.13.26-8.84.47-14.51.06 1.2.11 2.41.15 3.6.15 3.6.25 7.23.09 10.83-.24.03-.48.05-.71.07v.01Zm-12.33-30.94c.37.63 2.01 1.01 3.23 1.25v.15c-1.31-.31-2.59-.73-3.83-1.29.12-.36.23-.72.33-1.09.08.48.18.84.27.98Zm13.7 31.65v-.18c3.41-.56 6.71-2.02 9.69-3.68 2.31-1.28 4.59-2.78 6.63-4.53-4.69 4.53-11.61 8.24-16.33 8.38l.01.01Zm24.07-.75c-2.05 1.93-4.37 3.56-6.83 4.95 2.7-1.78 5.52-4.03 8.42-6.87.82-.82 1.56-1.69 2.23-2.59-1.08 1.65-2.38 3.16-3.81 4.51h-.01ZM187.16 92.14c-.79-2.47-2.1-7.12-3.1-6.87-.19-.01-2.09.77-4.08 1.54-3.06 1.18-5.91 2.13-10.09 2.82-2.74.42-5.87 1.01-10.61 1.06.04-3.34.05-6.01.05-7.99 7.97-.65 12.33-2.11 16.37-3.55 1.11-.39 2.69-1.01 2.63-1.8-.08-.35-.55-1.39-1.17-2.61-.47-1.16-.98-2.31-1.61-3.38-.42-.71-1.04-1.69-1.86-2.06-.11-.08-.22-.13-.29-.12-.02 0-.04 0-.07.01-.19-.04-.39-.05-.6-.01-.17.03-.24.15-.25.28-.04.02-.09.04-.14.05-4.33 1.48-8.85 2.33-13.24 3.61a499.1 499.1 0 0 0-.31-8.19c4.51-.99 8.88-1.38 13.11-1.82 3.68-.38 6.28.12 7.47.34.59.11.9.16 1.16.18h.1c-.1.37.44.66.62.28.02-.04.03-.08.05-.13.15.2.53.22.62-.1.17-.58.19-1.21.21-1.81v-.36c.03-.15.05-.3.07-.45.52-2.47.33-5.09-.64-7.44-.11-.27-.44-.28-.6-.14-.08-.21-.15-.42-.24-.62-.19-.41-.79-.05-.6.35.03.07.05.15.09.22-.98-.42-2.15-.54-3.17-.63-2.17-.19-4.37-.14-6.54 0-5.7.35-11.4 1.3-16.91 2.79-2.08.56-4.13 1.22-6.14 2-4.54 1.05-3.79 1.51-2.17 6.07.18.51.46 1.68.54 1.94.82 2.47 1.08 2.13 3.1 2.13s0 .05 0 .08h.52c-.48 2.66-.51 5.45-.62 8.13-.15 3.48-.22 6.96-.28 10.45 0 .41-.01.82-.02 1.23-.16.29-.33.57-.51.85-.05.38-.09.77-.14 1.18-.42 3.52-.59 6.48-.52 8.8v.34c.02.47.05.76.06.87.16 1.57-.26 3.47 1.35 3.79 1.61.32 3.5.55 4.85.55.11 0 .22-.02.33-.02 1.79.24 3.67.05 5.45-.12 2.85-.28 5.69-.7 8.51-1.19 3.03-.53 6.05-1.14 9.04-1.86 2.4-.58 4.82-1.19 7.13-2.06.51-.19 1.73-.57 2.46-1.14 1.81-.68 2.18-1 1.57-2.67-.23-.62-.48-1.49-.91-2.78l-.03-.02Zm-11.12-38.71c.89.05 1.93.08 2.89.3-.33 0-.68-.02-1.06-.03-8.28-.26-14.88.75-23.97 2.51 2.41-.64 4.85-1.16 7.28-1.59 4.87-.86 9.91-1.45 14.86-1.19Zm-26.53 22.13c.03 1.71.04 3.43 0 5.14-.04 1.27-.11 2.55-.24 3.82 0-.73.02-1.46.04-2.19.05-2.26.12-4.51.22-6.77h-.02Zm6.73 27.85c.2-.1.4-.21.58-.33 1.82-.17 3.82-.24 5.94-.34-.86.11-1.72.24-2.58.33-1.27.14-2.61.31-3.93.34h-.01ZM534.48 85.44c-3.52-8.38-7.07-16.75-10.5-25.17-.63-1.54-1.25-3.09-1.86-4.65-.31-.8-.65-1.6-.87-2.43-.04-.17-.17-.24-.31-.25.1-.2 0-.51-.29-.53-1.59-.08-3.18-.22-4.78-.25-1.96-.03-3.91.13-5.84.42-.31.05-.31.38-.13.56-.03.06-.05.14-.04.22.23 1.54.63 3.06 1.16 4.53.13.35.27.7.41 1.06l-2.68 6.18c-.11.03-.2.09-.25.22-.67 1.9-1.52 3.73-2.34 5.56a536.85 536.85 0 0 1-3.9 8.45c-2.64 5.64-5.34 11.25-7.91 16.93-.44.97-.88 1.94-1.29 2.93-.2.48-.47 1-.55 1.52v.05c-.02.12.02.26.16.34 1.19.73 2.41 1.41 3.66 2.05 1.2.62 2.45 1.25 3.76 1.61.43.12.62-.55.19-.67-1.13-.31-2.2-.83-3.24-1.36 1.09.36 2.1.69 2.75.93 2.82 1.01 2.38 1.1 4.3-3.75 2.1-1.09 4.34-1.96 6.53-2.79 4.35-1.64 8.8-3.03 13.27-4.29.82 2.01 1.77 3.97 2.72 5.92.35.83.62 1.45.79 1.82.22.42.45.8.69 1.15.17.33.33.67.5 1 .42.8.84 1.63 1.4 2.35.23.29.6 0 .55-.31 1.53-.02 3.06-.07 4.58-.27.92-.12 1.82-.32 2.71-.54 1.39-.27 3.85-1.11 3.74-1.42-.67-1.96-1.55-3.87-2.34-5.78-1.57-3.78-3.16-7.56-4.75-11.33v-.01Zm-11.65-26.16c1.54 3.81 3.12 7.6 4.7 11.4 2.94 7.05 5.91 14.09 8.87 21.13l-1.06-2.17c-2.71-5.51-5.2-11.19-7.41-16.87l-6.65-17.15c-.65-1.45-.55-2.19-.93-2.53.09 0 .18.01.28.02a.29.29 0 0 0-.04.26c.52 2.02 1.47 3.98 2.25 5.91h-.01Zm-6.58 13.58c.05-.15.09-.31.14-.46 1.41 3.92 2.88 7.9 4.39 11.87-3.22.52-6.38 1.25-9.46 2.14.55-1.22 1.05-2.46 1.53-3.7 1.24-3.24 2.37-6.53 3.39-9.85h.01Zm-.23-20c.36 0 .73.03 1.09.05-2.15.1-5.18.33-5.87.74-.24.15-.41.3-.53.45-.06-.29-.13-.58-.18-.88 1.82-.26 3.65-.39 5.49-.35v-.01Zm-.09 18.72c-.49 1.67-1.05 3.33-1.6 4.97-1.07 3.19-2.19 6.38-3.57 9.46-.09.21-.19.43-.29.65-.25.07-.5.14-.74.22 2.53-6.16 4.61-11.29 6.2-15.3Zm-6.34 25.16c4.97-2.38 9.37-4.1 14.02-5.27l.26.64c-4.8 1.35-9.63 2.8-14.28 4.63Zm20.17 6.76c.33.23.68.42 1.04.56h-.33c-.12 0-.21.06-.26.13-.15-.23-.31-.45-.45-.7v.01ZM226.57 91.75c-3.55-4.74-6.68-9.11-9.31-12.99 9.2-15.25 10.05-17.81 10.35-18.38.17-.34 1.09-2.27.64-2.53-1.13-.65-1.03-.65-2.97-1.71-1.19-.65-3.04-1.61-4.53-2.12-1.71-.59-1.24-.36-3 2.77-.06.1-.11.2-.17.3-.75 1.02-1.48 2.05-2.2 3.09-1.88 2.71-3.73 5.45-5.69 8.1-3.68-4.91-6.88-8.76-9.51-11.43-.15-.15-.3-.29-.46-.42-1.27-1.28-7.24 3.53-7.93 5.58-.09.09-.19.16-.28.25-.27.26.03.64.33.58.19.65.5 1.29.94 1.91 3.85 5.06 7.19 9.76 9.94 14-1.23 2.61-3.06 5-4.67 7.38l-2.28 3.33c-.5.66-.93 1.23-1.29 1.69-.67.93-2.09 2.61-2.3 3.87-.51.85-1.16 1.84-1.29 2.83-.06.44.61.63.67.19.01-.08.04-.15.06-.22 1.36 1.08 2.76 2.11 4.19 3.11 1.3.91 2.62 1.85 4.04 2.56.21.1.4 0 .48-.17.24.07.48.14.72.2.44.1.62-.57.19-.67-2.02-.48-3.77-1.57-5.23-3.02-.47-.46-.9-.96-1.32-1.46 1.74 1.35 4.2 2.89 5.89 4.14 1.39 1.03 2.85-2.27 4.22-4.2 1.86-2.64 3.96-5.86 5.52-8.29l10.39 14.51c.67.81 1.14 1.21 1.57 1.36-.05.24.12.51.41.4 1.53-.58 3.05-1.19 4.54-1.87 1.52-.69 3.06-1.45 4.36-2.5a.28.28 0 0 0 .12-.23c1.66-1.1.81-1.74-1.41-4.91-1.13-1.58-1.71-2.36-3.7-5.01l-.03-.02Zm2.41 6.54c.56 1.15 1.19 2.52 1.11 3.81-.06.04-.12.07-.17.1-.03-.88-.55-2.66-.94-3.91Zm-16.51-32.73c1.86-2.65 3.65-5.35 5.57-7.95.4-.55.81-1.13 1.26-1.66.19-.18.38-.33.56-.45.18.03.36.08.55.13l-8.05 10.11.12-.18h-.01ZM192.7 95.48c.79-1.37 1.66-2.69 2.54-4 1.19-1.79 2.4-3.56 3.61-5.33-.04.09-.09.17-.13.26-.1.22.03.41.2.49-2.47 3.42-4.89 6.73-6.4 9.28.21.24.4.48.63.75-.24.07-.4.36-.17.56.4.33.72.77 1.05 1.17.09.11.18.21.27.32-.84-.61-1.66-1.24-2.47-1.88.24-.57.58-1.11.87-1.61v-.01Zm7.46-10.32c.47-.81.98-1.59 1.49-2.37.31-.48.64-.95.96-1.43.26-.29.52-.56.75-.79-.99 1.48-2.09 3.03-3.2 4.59Zm10.03-16.22s-.03-.05-.05-.07c.22-.29.43-.59.64-.89-.2.32-.4.65-.58.96h-.01ZM371.54 87.96c-.01-.08-.01-.16-.03-.23-.06-.38-.58-.29-.66.03-.3-.05-.6-.08-.81-.11-1.14-.15-2.29-.19-3.44-.2 1.04-.09 2.09-.18 3.14-.23.45-.02.45-.72 0-.7-6.57.35-13.14 1.23-19.65 2.11-1.53.21-3.05.42-4.57.68-.01 0-.02.01-.04.01-.04-3.33-.13-6.66-.24-9.99-.19-5.7-.4-11.41-.88-17.1-.13-1.51-.23-3.07-.49-4.58 0-.25 0-.48-.02-.68-.06-1.19-.04-2.61-.68-2.78-.16-.07-.72-.16-1.5-.24.22-.17.16-.62-.2-.63-1.19-.04-2.39.09-3.57.23-1.2.14-2.41.32-3.59.6-.16-.1-.41-.06-.5.12-.06.02-.13.03-.19.05-.35.1-.29.55-.03.66-.26.6-.19 2.27-.21 3-.02.66-.66 33.73-.9 40.3-.03.65.06 1.12.04 1.45-.16 3.05.87 4.96 6.34 3.93 1.09-.08 2.75-.77 5.36-1.43 4.13-1.04 5.78-1.52 6.2-1.65 6.43-1.69 6.78-1.97 11.72-2.43.55-.05 4.8-.38 6.03-.3.64.04 1.19.07 1.65.1.09 0 .16-.03.24-.05.1.27.56.33.66-.02.39-1.32.61-2.71.78-4.08.2-1.61.29-3.24.15-4.86.24.03.52-.23.38-.53-.09-.2-.27-.33-.49-.43v-.02Zm-.63.56c.07.57.11 1.14.11 1.71-.21-.99-.53-1.71-.95-1.87.22.03.44.06.65.11.06.01.12.04.19.05Zm-25.41 1.73c1.54-.36 3.1-.64 4.66-.89-1.61.37-3.18.77-4.66 1.2v-.31Zm-.86-7.37c-.07-1.37-.16-2.75-.25-4.12-.21-3.13-.45-6.27-.79-9.4.02-2.25.08-4.31.13-6.11.16 2.08.29 4.16.4 6.24.23 4.46.38 8.93.5 13.39h.01Zm-.94-4c.16 2.41.29 4.83.39 7.24.06 1.6.14 3.22.09 4.83-.15.05-.32.09-.47.14V78.88h-.01ZM483.72 92.83c-3.05-2.28-6.22-4.4-9.38-6.51 8.86-6.49 13.49-12.95 13.73-19.23.04-.76 0-1.5-.13-2.2-.67-3.82-3.5-6.68-8.39-8.48.13.04.27.08.4.13 3.92 1.39 7.74 4.23 8.5 8.56.34 1.95-.05 3.96-.98 5.69-.21.4.39.75.6.35 1.86-3.46 1.46-7.55-.97-10.63-3.53-4.47-9.76-5.88-15.16-6.16-2.32-.12-4.64-.04-6.95.19-6 .32-12.71 1.68-17.63 3.21-.37.11-.67.23-.92.35-.2-.17-.62.02-.57.37v.03c-.64.68-.18 1.64.48 3.21.38.91.67 1.89 1.15 2.58.32.76.68 1.51 1.13 2.19.14.21.38.19.53.07.19-.02.38-.05.57-.08v1.57c-.06.06-.1.13-.11.23-.27 4.18-.34 8.38-.48 12.57l-.3 9.03c-.24 3.91-.44 6.77-.46 7.26-.05.88-.11 1.95.07 2.81-.01.22-.02.43-.04.65 0 .11-.02.23-.03.35 0 .05-.03.27-.01.16-.05.4.5.59.64.28.05.04.12.08.2.08 1.75.13 3.5.28 5.25.3 1.69.02 3.38-.12 5.06-.32.08.23.36.39.55.15.06-.08.11-.17.16-.26.18-.09.24-.32.18-.48.05-.2.1-.4.13-.6.16-.86.25-1.74.33-2.62.11-1.17.17-2.34.23-3.51.15-.01.32-.03.52-.04.36-.03 1.73-.15 2.06-.15.39 0 .7-.02.95-.04 1.76 1.11 3.45 2.35 5.14 3.55 2.83 2.01 5.64 4.04 8.47 6.04 1.42 1 2.85 2 4.29 2.97.1.06.19.07.27.04.08 0 .17-.02.25-.1 1.61-1.56 3.15-3.18 4.6-4.88.75-.88 1.49-1.78 2.15-2.73.01.01.03.02.04.03.34.3.83-.2.49-.49-2.16-1.9-4.34-3.76-6.64-5.48l.03-.01Zm-6.38-3.65a55.72 55.72 0 0 0-4-2.13c.14-.1.26-.19.4-.29 1.2.81 2.4 1.61 3.6 2.42Zm-20.1 11.78c.67-.37 1.23-.91 1.67-1.6-.11.5-.24 1-.38 1.49-.43.04-.86.08-1.29.11Zm2.38-37.24c1.34-.31 2.56-.52 3.71-.69-1.03.19-2.04.41-3.04.65-.14-.07-.34-.02-.45.11-.07.02-.15.04-.22.05v-.13.01Zm.04.84c.07-.02.14-.03.2-.05.34 1.66.41 3.41.5 5.09.17 2.9.24 5.81.28 8.71l.03 3.17c-.17.07-.34.14-.51.2-.06-4.96-.21-10.58-.51-17.12h.01Zm16.04 5.62c-1.16 2.25-3.06 4.1-5.02 5.66-2.8 2.23-5.99 3.97-9.3 5.35-.01-3.56-.09-7.12-.27-10.67-.1-2.04-.16-4.16-.57-6.18 3.3-.78 6.72-1.36 10.1-1.1 1.85.14 4.23.59 5.32 2.29.92 1.43.46 3.24-.26 4.65Zm.85-.18c.6-1.37.9-2.92.28-4.32-.67-1.52-2.2-2.32-3.76-2.74.46.1.89.21 1.29.37 1.74.67 2.69 1.88 2.93 3.21.2 1.13-.05 2.25-.74 3.47V70Zm-27.47-4.14c-.12-.19-.23-.38-.34-.57.74.42.85.36.99.41v.08c-.22.03-.43.06-.65.08Zm11.21 30.46c-.08 1.08-.16 2.17-.33 3.24-.05.35-.11.69-.2 1.03 0 .04-.02.07-.03.11-.15.02-.3.04-.45.05.45-1.64.76-3.36.79-5.07.03-.29.08-.57.1-.89-.03-.31-.03-.47.24-.57-.04.69-.07 1.39-.12 2.08v.02Zm5.6-2.47c.48.11.92.52 2.49 1.72-.46-.32-.92-.65-1.38-.97-.37-.25-.73-.5-1.1-.75h-.01Zm21.23 7.24a70.76 70.76 0 0 1-4.37 4.63c-.14-.09-.27-.19-.4-.28.19-.09.37-.24.55-.47.87-1.14 5.43-5.51 5.49-7.45.31.26.62.53.92.79-.67.97-1.42 1.88-2.19 2.77v.01Z",
|
|
@@ -38305,13 +38394,13 @@ var ExcalidrawLogo = ({
|
|
|
38305
38394
|
withText
|
|
38306
38395
|
}) => {
|
|
38307
38396
|
return /* @__PURE__ */ jsxs80("div", { className: `ExcalidrawLogo is-${size}`, style, children: [
|
|
38308
|
-
/* @__PURE__ */
|
|
38309
|
-
withText && /* @__PURE__ */
|
|
38397
|
+
/* @__PURE__ */ jsx153(LogoIcon, {}),
|
|
38398
|
+
withText && /* @__PURE__ */ jsx153(LogoText, {})
|
|
38310
38399
|
] });
|
|
38311
38400
|
};
|
|
38312
38401
|
|
|
38313
38402
|
// components/welcome-screen/WelcomeScreen.Center.tsx
|
|
38314
|
-
import { Fragment as Fragment25, jsx as
|
|
38403
|
+
import { Fragment as Fragment25, jsx as jsx154, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
38315
38404
|
var WelcomeScreenMenuItemContent = ({
|
|
38316
38405
|
icon,
|
|
38317
38406
|
shortcut,
|
|
@@ -38319,9 +38408,9 @@ var WelcomeScreenMenuItemContent = ({
|
|
|
38319
38408
|
}) => {
|
|
38320
38409
|
const device = useDevice();
|
|
38321
38410
|
return /* @__PURE__ */ jsxs81(Fragment25, { children: [
|
|
38322
|
-
/* @__PURE__ */
|
|
38323
|
-
/* @__PURE__ */
|
|
38324
|
-
shortcut && !device.editor.isMobile && /* @__PURE__ */
|
|
38411
|
+
/* @__PURE__ */ jsx154("div", { className: "welcome-screen-menu-item__icon", children: icon }),
|
|
38412
|
+
/* @__PURE__ */ jsx154("div", { className: "welcome-screen-menu-item__text", children }),
|
|
38413
|
+
shortcut && !device.editor.isMobile && /* @__PURE__ */ jsx154("div", { className: "welcome-screen-menu-item__shortcut", children: shortcut })
|
|
38325
38414
|
] });
|
|
38326
38415
|
};
|
|
38327
38416
|
WelcomeScreenMenuItemContent.displayName = "WelcomeScreenMenuItemContent";
|
|
@@ -38333,14 +38422,14 @@ var WelcomeScreenMenuItem = ({
|
|
|
38333
38422
|
className = "",
|
|
38334
38423
|
...props
|
|
38335
38424
|
}) => {
|
|
38336
|
-
return /* @__PURE__ */
|
|
38425
|
+
return /* @__PURE__ */ jsx154(
|
|
38337
38426
|
"button",
|
|
38338
38427
|
{
|
|
38339
38428
|
...props,
|
|
38340
38429
|
type: "button",
|
|
38341
38430
|
className: `welcome-screen-menu-item ${className}`,
|
|
38342
38431
|
onClick: onSelect,
|
|
38343
|
-
children: /* @__PURE__ */
|
|
38432
|
+
children: /* @__PURE__ */ jsx154(WelcomeScreenMenuItemContent, { icon, shortcut, children })
|
|
38344
38433
|
}
|
|
38345
38434
|
);
|
|
38346
38435
|
};
|
|
@@ -38353,7 +38442,7 @@ var WelcomeScreenMenuItemLink = ({
|
|
|
38353
38442
|
className = "",
|
|
38354
38443
|
...props
|
|
38355
38444
|
}) => {
|
|
38356
|
-
return /* @__PURE__ */
|
|
38445
|
+
return /* @__PURE__ */ jsx154(
|
|
38357
38446
|
"a",
|
|
38358
38447
|
{
|
|
38359
38448
|
...props,
|
|
@@ -38361,38 +38450,38 @@ var WelcomeScreenMenuItemLink = ({
|
|
|
38361
38450
|
href,
|
|
38362
38451
|
target: "_blank",
|
|
38363
38452
|
rel: "noreferrer",
|
|
38364
|
-
children: /* @__PURE__ */
|
|
38453
|
+
children: /* @__PURE__ */ jsx154(WelcomeScreenMenuItemContent, { icon, shortcut, children })
|
|
38365
38454
|
}
|
|
38366
38455
|
);
|
|
38367
38456
|
};
|
|
38368
38457
|
WelcomeScreenMenuItemLink.displayName = "WelcomeScreenMenuItemLink";
|
|
38369
38458
|
var Center = ({ children }) => {
|
|
38370
38459
|
const { WelcomeScreenCenterTunnel } = useTunnels();
|
|
38371
|
-
return /* @__PURE__ */
|
|
38372
|
-
/* @__PURE__ */
|
|
38373
|
-
/* @__PURE__ */
|
|
38460
|
+
return /* @__PURE__ */ jsx154(WelcomeScreenCenterTunnel.In, { children: /* @__PURE__ */ jsx154("div", { className: "welcome-screen-center", children: children || /* @__PURE__ */ jsxs81(Fragment25, { children: [
|
|
38461
|
+
/* @__PURE__ */ jsx154(Logo, {}),
|
|
38462
|
+
/* @__PURE__ */ jsx154(Heading, { children: t("welcomeScreen.defaults.center_heading") }),
|
|
38374
38463
|
/* @__PURE__ */ jsxs81(Menu, { children: [
|
|
38375
|
-
/* @__PURE__ */
|
|
38376
|
-
/* @__PURE__ */
|
|
38464
|
+
/* @__PURE__ */ jsx154(MenuItemLoadScene, {}),
|
|
38465
|
+
/* @__PURE__ */ jsx154(MenuItemHelp, {})
|
|
38377
38466
|
] })
|
|
38378
38467
|
] }) }) });
|
|
38379
38468
|
};
|
|
38380
38469
|
Center.displayName = "Center";
|
|
38381
38470
|
var Logo = ({ children }) => {
|
|
38382
|
-
return /* @__PURE__ */
|
|
38471
|
+
return /* @__PURE__ */ jsx154("div", { className: "welcome-screen-center__logo excalifont welcome-screen-decor", children: children || /* @__PURE__ */ jsx154(ExcalidrawLogo, { withText: true }) });
|
|
38383
38472
|
};
|
|
38384
38473
|
Logo.displayName = "Logo";
|
|
38385
38474
|
var Heading = ({ children }) => {
|
|
38386
|
-
return /* @__PURE__ */
|
|
38475
|
+
return /* @__PURE__ */ jsx154("div", { className: "welcome-screen-center__heading welcome-screen-decor excalifont", children });
|
|
38387
38476
|
};
|
|
38388
38477
|
Heading.displayName = "Heading";
|
|
38389
38478
|
var Menu = ({ children }) => {
|
|
38390
|
-
return /* @__PURE__ */
|
|
38479
|
+
return /* @__PURE__ */ jsx154("div", { className: "welcome-screen-menu", children });
|
|
38391
38480
|
};
|
|
38392
38481
|
Menu.displayName = "Menu";
|
|
38393
38482
|
var MenuItemHelp = () => {
|
|
38394
38483
|
const actionManager = useExcalidrawActionManager();
|
|
38395
|
-
return /* @__PURE__ */
|
|
38484
|
+
return /* @__PURE__ */ jsx154(
|
|
38396
38485
|
WelcomeScreenMenuItem,
|
|
38397
38486
|
{
|
|
38398
38487
|
onSelect: () => actionManager.executeAction(actionShortcuts),
|
|
@@ -38409,7 +38498,7 @@ var MenuItemLoadScene = () => {
|
|
|
38409
38498
|
if (appState.viewModeEnabled) {
|
|
38410
38499
|
return null;
|
|
38411
38500
|
}
|
|
38412
|
-
return /* @__PURE__ */
|
|
38501
|
+
return /* @__PURE__ */ jsx154(
|
|
38413
38502
|
WelcomeScreenMenuItem,
|
|
38414
38503
|
{
|
|
38415
38504
|
onSelect: () => actionManager.executeAction(actionLoadScene),
|
|
@@ -38424,7 +38513,7 @@ var MenuItemLiveCollaborationTrigger = ({
|
|
|
38424
38513
|
onSelect
|
|
38425
38514
|
}) => {
|
|
38426
38515
|
const { t: t2 } = useI18n();
|
|
38427
|
-
return /* @__PURE__ */
|
|
38516
|
+
return /* @__PURE__ */ jsx154(WelcomeScreenMenuItem, { shortcut: null, onSelect, icon: usersIcon, children: t2("labels.liveCollaboration") });
|
|
38428
38517
|
};
|
|
38429
38518
|
MenuItemLiveCollaborationTrigger.displayName = "MenuItemLiveCollaborationTrigger";
|
|
38430
38519
|
Center.Logo = Logo;
|
|
@@ -38437,40 +38526,40 @@ Center.MenuItemLoadScene = MenuItemLoadScene;
|
|
|
38437
38526
|
Center.MenuItemLiveCollaborationTrigger = MenuItemLiveCollaborationTrigger;
|
|
38438
38527
|
|
|
38439
38528
|
// components/welcome-screen/WelcomeScreen.Hints.tsx
|
|
38440
|
-
import { jsx as
|
|
38529
|
+
import { jsx as jsx155, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
38441
38530
|
var MenuHint = ({ children }) => {
|
|
38442
38531
|
const { WelcomeScreenMenuHintTunnel } = useTunnels();
|
|
38443
|
-
return /* @__PURE__ */
|
|
38532
|
+
return /* @__PURE__ */ jsx155(WelcomeScreenMenuHintTunnel.In, { children: /* @__PURE__ */ jsxs82("div", { className: "excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--menu", children: [
|
|
38444
38533
|
WelcomeScreenMenuArrow,
|
|
38445
|
-
/* @__PURE__ */
|
|
38534
|
+
/* @__PURE__ */ jsx155("div", { className: "welcome-screen-decor-hint__label", children: children || t("welcomeScreen.defaults.menuHint") })
|
|
38446
38535
|
] }) });
|
|
38447
38536
|
};
|
|
38448
38537
|
MenuHint.displayName = "MenuHint";
|
|
38449
38538
|
var ToolbarHint = ({ children }) => {
|
|
38450
38539
|
const { WelcomeScreenToolbarHintTunnel } = useTunnels();
|
|
38451
|
-
return /* @__PURE__ */
|
|
38452
|
-
/* @__PURE__ */
|
|
38540
|
+
return /* @__PURE__ */ jsx155(WelcomeScreenToolbarHintTunnel.In, { children: /* @__PURE__ */ jsxs82("div", { className: "excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--toolbar", children: [
|
|
38541
|
+
/* @__PURE__ */ jsx155("div", { className: "welcome-screen-decor-hint__label", children: children || t("welcomeScreen.defaults.toolbarHint") }),
|
|
38453
38542
|
WelcomeScreenTopToolbarArrow
|
|
38454
38543
|
] }) });
|
|
38455
38544
|
};
|
|
38456
38545
|
ToolbarHint.displayName = "ToolbarHint";
|
|
38457
38546
|
var HelpHint = ({ children }) => {
|
|
38458
38547
|
const { WelcomeScreenHelpHintTunnel } = useTunnels();
|
|
38459
|
-
return /* @__PURE__ */
|
|
38460
|
-
/* @__PURE__ */
|
|
38548
|
+
return /* @__PURE__ */ jsx155(WelcomeScreenHelpHintTunnel.In, { children: /* @__PURE__ */ jsxs82("div", { className: "excalifont welcome-screen-decor welcome-screen-decor-hint welcome-screen-decor-hint--help", children: [
|
|
38549
|
+
/* @__PURE__ */ jsx155("div", { children: children || t("welcomeScreen.defaults.helpHint") }),
|
|
38461
38550
|
WelcomeScreenHelpArrow
|
|
38462
38551
|
] }) });
|
|
38463
38552
|
};
|
|
38464
38553
|
HelpHint.displayName = "HelpHint";
|
|
38465
38554
|
|
|
38466
38555
|
// components/welcome-screen/WelcomeScreen.tsx
|
|
38467
|
-
import { Fragment as Fragment26, jsx as
|
|
38556
|
+
import { Fragment as Fragment26, jsx as jsx156, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
38468
38557
|
var WelcomeScreen = (props) => {
|
|
38469
|
-
return /* @__PURE__ */
|
|
38470
|
-
/* @__PURE__ */
|
|
38471
|
-
/* @__PURE__ */
|
|
38472
|
-
/* @__PURE__ */
|
|
38473
|
-
/* @__PURE__ */
|
|
38558
|
+
return /* @__PURE__ */ jsx156(Fragment26, { children: props.children || /* @__PURE__ */ jsxs83(Fragment26, { children: [
|
|
38559
|
+
/* @__PURE__ */ jsx156(Center, {}),
|
|
38560
|
+
/* @__PURE__ */ jsx156(MenuHint, {}),
|
|
38561
|
+
/* @__PURE__ */ jsx156(ToolbarHint, {}),
|
|
38562
|
+
/* @__PURE__ */ jsx156(HelpHint, {})
|
|
38474
38563
|
] }) });
|
|
38475
38564
|
};
|
|
38476
38565
|
WelcomeScreen.displayName = "WelcomeScreen";
|
|
@@ -38573,14 +38662,14 @@ var reconcileElements = (localElements, remoteElements, localAppState) => {
|
|
|
38573
38662
|
};
|
|
38574
38663
|
|
|
38575
38664
|
// components/TTDDialog/TTDDialogTrigger.tsx
|
|
38576
|
-
import { jsx as
|
|
38665
|
+
import { jsx as jsx157, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
38577
38666
|
var TTDDialogTrigger = ({
|
|
38578
38667
|
children,
|
|
38579
38668
|
icon
|
|
38580
38669
|
}) => {
|
|
38581
38670
|
const { TTDDialogTriggerTunnel } = useTunnels();
|
|
38582
38671
|
const setAppState = useExcalidrawSetAppState();
|
|
38583
|
-
return /* @__PURE__ */
|
|
38672
|
+
return /* @__PURE__ */ jsx157(TTDDialogTriggerTunnel.In, { children: /* @__PURE__ */ jsxs84(
|
|
38584
38673
|
DropdownMenu_default.Item,
|
|
38585
38674
|
{
|
|
38586
38675
|
onSelect: () => {
|
|
@@ -38590,7 +38679,7 @@ var TTDDialogTrigger = ({
|
|
|
38590
38679
|
icon: icon ?? brainIcon,
|
|
38591
38680
|
children: [
|
|
38592
38681
|
children ?? t("labels.textToDiagram"),
|
|
38593
|
-
/* @__PURE__ */
|
|
38682
|
+
/* @__PURE__ */ jsx157(DropdownMenu_default.Item.Badge, { children: "AI" })
|
|
38594
38683
|
]
|
|
38595
38684
|
}
|
|
38596
38685
|
) });
|
|
@@ -38610,7 +38699,7 @@ var DiagramToCodePlugin = (props) => {
|
|
|
38610
38699
|
};
|
|
38611
38700
|
|
|
38612
38701
|
// index.tsx
|
|
38613
|
-
import { jsx as
|
|
38702
|
+
import { jsx as jsx158 } from "react/jsx-runtime";
|
|
38614
38703
|
polyfill_default();
|
|
38615
38704
|
var ExcalidrawBase = (props) => {
|
|
38616
38705
|
const {
|
|
@@ -38683,7 +38772,7 @@ var ExcalidrawBase = (props) => {
|
|
|
38683
38772
|
document.removeEventListener("touchmove", handleTouchMove);
|
|
38684
38773
|
};
|
|
38685
38774
|
}, []);
|
|
38686
|
-
return /* @__PURE__ */
|
|
38775
|
+
return /* @__PURE__ */ jsx158(EditorJotaiProvider, { store: editorJotaiStore, children: /* @__PURE__ */ jsx158(InitializeApp, { langCode, theme, children: /* @__PURE__ */ jsx158(
|
|
38687
38776
|
App_default,
|
|
38688
38777
|
{
|
|
38689
38778
|
onChange,
|