@excalidraw/common 0.18.0-4872083 → 0.18.0-4ce38fb
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/index.js +145 -14
- package/dist/dev/index.js.map +2 -2
- package/dist/prod/index.js +3 -3
- package/dist/types/common/src/colors.d.ts +13 -7
- package/dist/types/common/src/constants.d.ts +54 -0
- package/dist/types/common/src/keys.d.ts +2 -0
- package/dist/types/common/src/random.d.ts +7 -0
- package/dist/types/common/src/utils.d.ts +5 -0
- package/dist/types/element/src/Scene.d.ts +1 -1
- package/dist/types/element/src/binding.d.ts +13 -7
- package/dist/types/element/src/collision.d.ts +14 -5
- package/dist/types/element/src/comparisons.d.ts +5 -3
- package/dist/types/element/src/delta.d.ts +23 -1
- package/dist/types/element/src/duplicate.d.ts +60 -0
- package/dist/types/element/src/flowchart.d.ts +5 -1
- package/dist/types/element/src/frame.d.ts +2 -2
- package/dist/types/element/src/index.d.ts +2 -0
- package/dist/types/element/src/linearElementEditor.d.ts +10 -0
- package/dist/types/element/src/listMarker.d.ts +34 -0
- package/dist/types/element/src/mutateElement.d.ts +1 -1
- package/dist/types/element/src/newElement.d.ts +39 -3
- package/dist/types/element/src/renderElement.d.ts +21 -4
- package/dist/types/element/src/shape.d.ts +15 -1
- package/dist/types/element/src/sizeHelpers.d.ts +6 -0
- package/dist/types/element/src/stickyNote.d.ts +183 -0
- package/dist/types/element/src/textElement.d.ts +9 -1
- package/dist/types/element/src/transform.d.ts +25 -6
- package/dist/types/element/src/typeChecks.d.ts +3 -2
- package/dist/types/element/src/types.d.ts +35 -6
- package/dist/types/element/src/utils.d.ts +15 -4
- package/dist/types/element/src/zindex.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +60 -3
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +40 -2
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +147 -14
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +40 -2
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +61 -4
- package/dist/types/excalidraw/actions/actionDeselect.d.ts +23 -1
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +40 -2
- package/dist/types/excalidraw/actions/actionExport.d.ts +41 -3
- package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -0
- package/dist/types/excalidraw/actions/actionFrame.d.ts +111 -4
- package/dist/types/excalidraw/actions/actionGroup.d.ts +40 -2
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +71 -2
- package/dist/types/excalidraw/actions/actionLink.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionMenu.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionProperties.d.ts +50 -8
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionStyles.d.ts +21 -2
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionToggleShowHints.d.ts +197 -0
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +20 -1
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +20 -1
- package/dist/types/excalidraw/actions/colorTargets.d.ts +39 -0
- package/dist/types/excalidraw/actions/index.d.ts +1 -0
- package/dist/types/excalidraw/actions/types.d.ts +1 -1
- package/dist/types/excalidraw/appState.d.ts +26 -4
- package/dist/types/excalidraw/components/App.arrowText.d.ts +28 -30
- package/dist/types/excalidraw/components/App.bucketFill.d.ts +10 -0
- package/dist/types/excalidraw/components/App.clipboard.d.ts +31 -0
- package/dist/types/excalidraw/components/App.cursor.d.ts +8 -0
- package/dist/types/excalidraw/components/App.d.ts +110 -199
- package/dist/types/excalidraw/components/App.duplicate.d.ts +101 -0
- package/dist/types/excalidraw/components/App.pan.d.ts +62 -0
- package/dist/types/excalidraw/components/App.text.d.ts +146 -0
- package/dist/types/excalidraw/components/App.textTool.d.ts +140 -0
- package/dist/types/excalidraw/components/App.toolDrag.d.ts +63 -0
- package/dist/types/excalidraw/components/App.viewport.d.ts +41 -1
- package/dist/types/excalidraw/components/App.wheel.d.ts +26 -0
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +6 -2
- package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +3 -1
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +4 -1
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +4 -2
- package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +4 -2
- package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +8 -1
- package/dist/types/excalidraw/components/ColorPicker/colorTopPicksDnD.d.ts +11 -0
- package/dist/types/excalidraw/components/FileDropOverlay.d.ts +2 -0
- package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +4 -1
- package/dist/types/excalidraw/components/FontPicker/FontPickerList.d.ts +6 -1
- package/dist/types/excalidraw/components/FontPicker/fontTopPicksDnD.d.ts +12 -0
- package/dist/types/excalidraw/components/IconButton.d.ts +2 -0
- package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +6 -2
- package/dist/types/excalidraw/components/LibraryUnit.d.ts +7 -2
- package/dist/types/excalidraw/components/Tools.d.ts +7 -2
- package/dist/types/excalidraw/components/Tooltip.d.ts +15 -1
- package/dist/types/excalidraw/components/TopPicksDnD/TopPicksContextMenu.d.ts +14 -0
- package/dist/types/excalidraw/components/TopPicksDnD/TopPicksTip.d.ts +11 -0
- package/dist/types/excalidraw/components/TopPicksDnD/topPicksDnD.d.ts +58 -0
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +2 -0
- package/dist/types/excalidraw/components/icons.d.ts +2 -0
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +2 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +2 -2
- package/dist/types/excalidraw/data/blob.d.ts +42 -4
- package/dist/types/excalidraw/data/json.d.ts +21 -2
- package/dist/types/excalidraw/fonts/Fonts.d.ts +3 -2
- package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +5 -5
- package/dist/types/excalidraw/lasso/utils.d.ts +2 -0
- package/dist/types/excalidraw/renderOverrides.d.ts +9 -0
- package/dist/types/excalidraw/renderer/helpers.d.ts +25 -0
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +1 -1
- package/dist/types/excalidraw/scene/Renderer.d.ts +64 -2
- package/dist/types/excalidraw/scene/index.d.ts +1 -1
- package/dist/types/excalidraw/scene/types.d.ts +3 -1
- package/dist/types/excalidraw/types.d.ts +140 -18
- package/dist/types/excalidraw/viewport.d.ts +33 -1
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +12 -1
- package/dist/types/math/src/curve.d.ts +19 -12
- package/dist/types/math/src/segment.d.ts +6 -0
- package/dist/types/utils/src/export.d.ts +1 -0
- package/dist/types/utils/src/shape.d.ts +2 -2
- package/package.json +1 -1
package/dist/dev/index.js
CHANGED
|
@@ -1356,6 +1356,8 @@ function validateWCAG2Parms(parms) {
|
|
|
1356
1356
|
import { clamp } from "@excalidraw/math";
|
|
1357
1357
|
import { degreesToRadians } from "@excalidraw/math";
|
|
1358
1358
|
var DARK_MODE_COLORS_CACHE = typeof window !== "undefined" ? /* @__PURE__ */ new Map() : null;
|
|
1359
|
+
var DARK_MODE_FILTER_INVERT_PERCENT = 93;
|
|
1360
|
+
var DARK_MODE_FILTER_HUE_ROTATE_DEGREES = 180;
|
|
1359
1361
|
function cssHueRotate(red, green, blue, degrees) {
|
|
1360
1362
|
const r = red / 255;
|
|
1361
1363
|
const g = green / 255;
|
|
@@ -1405,12 +1407,17 @@ var applyDarkModeFilter = (color, enable = true) => {
|
|
|
1405
1407
|
const tc = tinycolor(color);
|
|
1406
1408
|
const alpha = tc.getAlpha();
|
|
1407
1409
|
const rgb = tc.toRgb();
|
|
1408
|
-
const inverted = cssInvert(
|
|
1410
|
+
const inverted = cssInvert(
|
|
1411
|
+
rgb.r,
|
|
1412
|
+
rgb.g,
|
|
1413
|
+
rgb.b,
|
|
1414
|
+
DARK_MODE_FILTER_INVERT_PERCENT
|
|
1415
|
+
);
|
|
1409
1416
|
const rotated = cssHueRotate(
|
|
1410
1417
|
inverted.r,
|
|
1411
1418
|
inverted.g,
|
|
1412
1419
|
inverted.b,
|
|
1413
|
-
|
|
1420
|
+
DARK_MODE_FILTER_HUE_ROTATE_DEGREES
|
|
1414
1421
|
);
|
|
1415
1422
|
const result = rgbToHex2(rotated.r, rotated.g, rotated.b, alpha);
|
|
1416
1423
|
if (DARK_MODE_COLORS_CACHE) {
|
|
@@ -1418,6 +1425,33 @@ var applyDarkModeFilter = (color, enable = true) => {
|
|
|
1418
1425
|
}
|
|
1419
1426
|
return result;
|
|
1420
1427
|
};
|
|
1428
|
+
var _reverseDarkModeInvert = (r, g, b) => {
|
|
1429
|
+
const p = DARK_MODE_FILTER_INVERT_PERCENT / 100;
|
|
1430
|
+
const denominator = 1 - 2 * p;
|
|
1431
|
+
const restore = (color) => Math.round(clamp((color - 255 * p) / denominator, 0, 255));
|
|
1432
|
+
return {
|
|
1433
|
+
r: restore(r),
|
|
1434
|
+
g: restore(g),
|
|
1435
|
+
b: restore(b)
|
|
1436
|
+
};
|
|
1437
|
+
};
|
|
1438
|
+
var removeDarkModeFilter = (color) => {
|
|
1439
|
+
const tc = tinycolor(color);
|
|
1440
|
+
const alpha = tc.getAlpha();
|
|
1441
|
+
const rgb = tc.toRgb();
|
|
1442
|
+
const rotatedBack = cssHueRotate(
|
|
1443
|
+
rgb.r,
|
|
1444
|
+
rgb.g,
|
|
1445
|
+
rgb.b,
|
|
1446
|
+
DARK_MODE_FILTER_HUE_ROTATE_DEGREES
|
|
1447
|
+
);
|
|
1448
|
+
const restored = _reverseDarkModeInvert(
|
|
1449
|
+
rotatedBack.r,
|
|
1450
|
+
rotatedBack.g,
|
|
1451
|
+
rotatedBack.b
|
|
1452
|
+
);
|
|
1453
|
+
return rgbToHex2(restored.r, restored.g, restored.b, alpha);
|
|
1454
|
+
};
|
|
1421
1455
|
var pick = (source, keys) => {
|
|
1422
1456
|
return keys.reduce((acc, key) => {
|
|
1423
1457
|
if (key in source) {
|
|
@@ -1463,6 +1497,7 @@ var COMMON_ELEMENT_SHADES = pick(COLOR_PALETTE, [
|
|
|
1463
1497
|
"orange",
|
|
1464
1498
|
"red"
|
|
1465
1499
|
]);
|
|
1500
|
+
var COLOR_TOP_PICKS_SLOTS = 5;
|
|
1466
1501
|
var DEFAULT_ELEMENT_STROKE_PICKS = [
|
|
1467
1502
|
COLOR_PALETTE.black,
|
|
1468
1503
|
COLOR_PALETTE.red[DEFAULT_ELEMENT_STROKE_COLOR_INDEX],
|
|
@@ -1484,6 +1519,15 @@ var BUCKET_FILL_BACKGROUND_PICKS = [
|
|
|
1484
1519
|
COLOR_PALETTE.blue[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX],
|
|
1485
1520
|
COLOR_PALETTE.yellow[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX]
|
|
1486
1521
|
];
|
|
1522
|
+
var DEFAULT_STICKY_NOTE_BG = "#ffdf6b";
|
|
1523
|
+
var STICKY_NOTE_STROKE_PICKS = DEFAULT_ELEMENT_STROKE_PICKS;
|
|
1524
|
+
var STICKY_NOTE_BACKGROUND_PICKS = [
|
|
1525
|
+
DEFAULT_STICKY_NOTE_BG,
|
|
1526
|
+
COLOR_PALETTE.pink[1],
|
|
1527
|
+
COLOR_PALETTE.green[1],
|
|
1528
|
+
COLOR_PALETTE.blue[1],
|
|
1529
|
+
COLOR_PALETTE.orange[1]
|
|
1530
|
+
];
|
|
1487
1531
|
var DEFAULT_CANVAS_BACKGROUND_PICKS = [
|
|
1488
1532
|
COLOR_PALETTE.white,
|
|
1489
1533
|
// radix slate2
|
|
@@ -1513,7 +1557,6 @@ var DEFAULT_ELEMENT_BACKGROUND_COLOR_PALETTE = {
|
|
|
1513
1557
|
bronze: COLOR_PALETTE.bronze,
|
|
1514
1558
|
...COMMON_ELEMENT_SHADES
|
|
1515
1559
|
};
|
|
1516
|
-
var getBucketFillBackgroundColor = (backgroundColor) => isTransparent(backgroundColor) ? COLOR_PALETTE.green[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX] : backgroundColor;
|
|
1517
1560
|
var getAllColorsSpecificShade = (index) => [
|
|
1518
1561
|
// 2nd row
|
|
1519
1562
|
COLOR_PALETTE.cyan[index],
|
|
@@ -1536,6 +1579,14 @@ var rgbToHex2 = (r, g, b, a) => {
|
|
|
1536
1579
|
}
|
|
1537
1580
|
return hex6;
|
|
1538
1581
|
};
|
|
1582
|
+
var setColorAlpha = (color, alpha) => {
|
|
1583
|
+
const tc = tinycolor(color);
|
|
1584
|
+
if (!tc.isValid()) {
|
|
1585
|
+
return color;
|
|
1586
|
+
}
|
|
1587
|
+
const { r, g, b } = tc.toRgb();
|
|
1588
|
+
return rgbToHex2(r, g, b, alpha);
|
|
1589
|
+
};
|
|
1539
1590
|
var colorToHex = (color) => {
|
|
1540
1591
|
const tc = tinycolor(color);
|
|
1541
1592
|
if (!tc.isValid()) {
|
|
@@ -1589,6 +1640,8 @@ init_define_import_meta_env();
|
|
|
1589
1640
|
var supportsResizeObserver = typeof window !== "undefined" && "ResizeObserver" in window;
|
|
1590
1641
|
var APP_NAME = "Excalidraw";
|
|
1591
1642
|
var TEXT_AUTOWRAP_THRESHOLD = 36;
|
|
1643
|
+
var TEXT_VIEWPORT_PADDING = 20;
|
|
1644
|
+
var TEXT_MAX_WRAP_WIDTH = 800;
|
|
1592
1645
|
var DRAGGING_THRESHOLD = 10;
|
|
1593
1646
|
var MINIMUM_ARROW_SIZE = 20;
|
|
1594
1647
|
var LINE_CONFIRM_THRESHOLD = 8;
|
|
@@ -1640,6 +1693,7 @@ var EVENT = /* @__PURE__ */ ((EVENT2) => {
|
|
|
1640
1693
|
EVENT2["POINTER_MOVE"] = "pointermove";
|
|
1641
1694
|
EVENT2["POINTER_DOWN"] = "pointerdown";
|
|
1642
1695
|
EVENT2["POINTER_UP"] = "pointerup";
|
|
1696
|
+
EVENT2["POINTER_CANCEL"] = "pointercancel";
|
|
1643
1697
|
EVENT2["STATE_CHANGE"] = "statechange";
|
|
1644
1698
|
EVENT2["WHEEL"] = "wheel";
|
|
1645
1699
|
EVENT2["TOUCH_START"] = "touchstart";
|
|
@@ -1751,7 +1805,28 @@ var FRAME_STYLE = {
|
|
|
1751
1805
|
};
|
|
1752
1806
|
var MIN_FONT_SIZE = 1;
|
|
1753
1807
|
var DEFAULT_FONT_SIZE = 20;
|
|
1808
|
+
var STICKY_NOTE_MIN_FONT_SIZE = 16;
|
|
1809
|
+
var STICKY_NOTE_MAX_FONT_SIZE = 512;
|
|
1810
|
+
var STICKY_NOTE_FALLBACK_FONT_SIZE = 28;
|
|
1811
|
+
var STICKY_NOTE_FONT_STEP = 2;
|
|
1812
|
+
var STICKY_NOTE_PADDING = 16;
|
|
1813
|
+
var STICKY_NOTE_FOOTER = {
|
|
1814
|
+
height: 20,
|
|
1815
|
+
fontSize: 12,
|
|
1816
|
+
fontFamily: "Helvetica, Arial, sans-serif",
|
|
1817
|
+
baselineFromBottom: 14,
|
|
1818
|
+
opacity: 1,
|
|
1819
|
+
minBodyWidthForYear: 80
|
|
1820
|
+
};
|
|
1821
|
+
var STICKY_NOTE_BODY_INSET_Y = STICKY_NOTE_PADDING * 2 + STICKY_NOTE_FOOTER.height;
|
|
1822
|
+
var DEFAULT_STICKY_NOTE_SIZE = 250;
|
|
1823
|
+
var STICKY_NOTE_MIN_SIZE = 75;
|
|
1824
|
+
var STICKY_NOTE_SHADOW_OFFSET = 3;
|
|
1825
|
+
var STICKY_NOTE_SHADOW_OPACITY = 0.16;
|
|
1826
|
+
var STICKY_NOTE_EDGE_SHADOW_WIDTH = 0.5;
|
|
1827
|
+
var STICKY_NOTE_EDGE_SHADOW_OPACITY = 0.08;
|
|
1754
1828
|
var DEFAULT_FONT_FAMILY = FONT_FAMILY.Excalifont;
|
|
1829
|
+
var FONT_TOP_PICKS_SLOTS = 3;
|
|
1755
1830
|
var DEFAULT_TEXT_ALIGN = "left";
|
|
1756
1831
|
var DEFAULT_VERTICAL_ALIGN = "top";
|
|
1757
1832
|
var DEFAULT_VERSION = "{version}";
|
|
@@ -1821,9 +1896,13 @@ var TOUCH_CTX_MENU_TIMEOUT = 500;
|
|
|
1821
1896
|
var TITLE_TIMEOUT = 1e4;
|
|
1822
1897
|
var VERSION_TIMEOUT = 3e4;
|
|
1823
1898
|
var SCROLL_TIMEOUT = 100;
|
|
1899
|
+
var ZEN_MODE_TRANSITION_DURATION = 250;
|
|
1824
1900
|
var ZOOM_STEP = 0.1;
|
|
1825
1901
|
var MIN_ZOOM = 0.1;
|
|
1826
1902
|
var MAX_ZOOM = 30;
|
|
1903
|
+
var DEFAULT_ZOOM = Object.freeze({
|
|
1904
|
+
value: 1
|
|
1905
|
+
});
|
|
1827
1906
|
var HYPERLINK_TOOLTIP_DELAY = 300;
|
|
1828
1907
|
var IDLE_THRESHOLD = 6e4;
|
|
1829
1908
|
var ACTIVE_THRESHOLD = 3e3;
|
|
@@ -1960,6 +2039,7 @@ var TOOL_TYPE = {
|
|
|
1960
2039
|
hand: "hand",
|
|
1961
2040
|
frame: "frame",
|
|
1962
2041
|
magicframe: "magicframe",
|
|
2042
|
+
stickynote: "stickynote",
|
|
1963
2043
|
embeddable: "embeddable",
|
|
1964
2044
|
laser: "laser",
|
|
1965
2045
|
autoshape: "autoshape",
|
|
@@ -2334,6 +2414,7 @@ var KEYS = {
|
|
|
2334
2414
|
H: "h",
|
|
2335
2415
|
I: "i",
|
|
2336
2416
|
L: "l",
|
|
2417
|
+
N: "n",
|
|
2337
2418
|
O: "o",
|
|
2338
2419
|
P: "p",
|
|
2339
2420
|
Q: "q",
|
|
@@ -2518,14 +2599,25 @@ var getDateTime = () => {
|
|
|
2518
2599
|
return `${year}-${month}-${day}-${hr}${min}`;
|
|
2519
2600
|
};
|
|
2520
2601
|
var capitalizeString = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
|
2521
|
-
var
|
|
2522
|
-
var
|
|
2523
|
-
|
|
2602
|
+
var getTargetWindow = (target) => target?.ownerDocument?.defaultView ?? (typeof window === "undefined" ? null : window);
|
|
2603
|
+
var isToolIcon = (target) => {
|
|
2604
|
+
const targetWindow = getTargetWindow(target);
|
|
2605
|
+
return !!targetWindow && target instanceof targetWindow.HTMLElement && target.className.includes("ToolIcon");
|
|
2606
|
+
};
|
|
2607
|
+
var isInputLike = (target) => {
|
|
2608
|
+
const targetWindow = getTargetWindow(target);
|
|
2609
|
+
return !!targetWindow && (target instanceof targetWindow.HTMLElement && target.dataset.type === "wysiwyg" || target instanceof targetWindow.HTMLBRElement || // newline in wysiwyg
|
|
2610
|
+
target instanceof targetWindow.HTMLInputElement || target instanceof targetWindow.HTMLTextAreaElement || target instanceof targetWindow.HTMLSelectElement);
|
|
2611
|
+
};
|
|
2524
2612
|
var isInteractive = (target) => {
|
|
2525
|
-
|
|
2613
|
+
const targetWindow = getTargetWindow(target);
|
|
2614
|
+
return isInputLike(target) || !!targetWindow && target instanceof targetWindow.Element && !!target.closest("label, button");
|
|
2615
|
+
};
|
|
2616
|
+
var isWritableElement = (target) => {
|
|
2617
|
+
const targetWindow = getTargetWindow(target);
|
|
2618
|
+
return !!targetWindow && (target instanceof targetWindow.HTMLElement && target.dataset.type === "wysiwyg" || target instanceof targetWindow.HTMLBRElement || // newline in wysiwyg
|
|
2619
|
+
target instanceof targetWindow.HTMLTextAreaElement || target instanceof targetWindow.HTMLInputElement && (target.type === "text" || target.type === "number" || target.type === "password" || target.type === "search") || target instanceof targetWindow.HTMLElement && target.closest(".cm-editor") !== null);
|
|
2526
2620
|
};
|
|
2527
|
-
var isWritableElement = (target) => target instanceof HTMLElement && target.dataset.type === "wysiwyg" || target instanceof HTMLBRElement || // newline in wysiwyg
|
|
2528
|
-
target instanceof HTMLTextAreaElement || target instanceof HTMLInputElement && (target.type === "text" || target.type === "number" || target.type === "password" || target.type === "search") || target instanceof HTMLElement && target.closest(".cm-editor") !== null;
|
|
2529
2621
|
var getFontFamilyString = ({
|
|
2530
2622
|
fontFamily
|
|
2531
2623
|
}) => {
|
|
@@ -2690,6 +2782,8 @@ var RS_LTR_CHARS = "A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FF
|
|
|
2690
2782
|
var RS_RTL_CHARS = "\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC";
|
|
2691
2783
|
var RE_RTL_CHECK = new RegExp(`^[^${RS_LTR_CHARS}]*[${RS_RTL_CHARS}]`);
|
|
2692
2784
|
var isRTL = (text) => RE_RTL_CHECK.test(text);
|
|
2785
|
+
var RE_RTL_CHARS = new RegExp(`[${RS_RTL_CHARS}]`);
|
|
2786
|
+
var hasRTLChars = (text) => RE_RTL_CHARS.test(text);
|
|
2693
2787
|
var tupleToCoors = (xyTuple) => {
|
|
2694
2788
|
const [x, y] = xyTuple;
|
|
2695
2789
|
return { x, y };
|
|
@@ -2780,19 +2874,21 @@ var supportsEmoji = () => {
|
|
|
2780
2874
|
return ctx.getImageData(offset, offset, 1, 1).data[0] !== 0;
|
|
2781
2875
|
};
|
|
2782
2876
|
var getNearestScrollableContainer = (element) => {
|
|
2877
|
+
const ownerDocument = element.ownerDocument;
|
|
2878
|
+
const ownerWindow = ownerDocument.defaultView ?? window;
|
|
2783
2879
|
let parent = element.parentElement;
|
|
2784
2880
|
while (parent) {
|
|
2785
|
-
if (parent ===
|
|
2786
|
-
return
|
|
2881
|
+
if (parent === ownerDocument.body) {
|
|
2882
|
+
return ownerDocument;
|
|
2787
2883
|
}
|
|
2788
|
-
const { overflowY } =
|
|
2884
|
+
const { overflowY } = ownerWindow.getComputedStyle(parent);
|
|
2789
2885
|
const hasScrollableContent = parent.scrollHeight > parent.clientHeight;
|
|
2790
2886
|
if (hasScrollableContent && (overflowY === "auto" || overflowY === "scroll" || overflowY === "overlay")) {
|
|
2791
2887
|
return parent;
|
|
2792
2888
|
}
|
|
2793
2889
|
parent = parent.parentElement;
|
|
2794
2890
|
}
|
|
2795
|
-
return
|
|
2891
|
+
return ownerDocument;
|
|
2796
2892
|
};
|
|
2797
2893
|
var focusNearestParent = (element) => {
|
|
2798
2894
|
let parent = element.parentElement;
|
|
@@ -3143,6 +3239,16 @@ var reseed = (seed) => {
|
|
|
3143
3239
|
testIdBase = 0;
|
|
3144
3240
|
};
|
|
3145
3241
|
var randomId = () => isTestEnv() ? `id${testIdBase++}` : nanoid();
|
|
3242
|
+
var seededRandom = (seed) => {
|
|
3243
|
+
let value = seed >>> 0;
|
|
3244
|
+
return () => {
|
|
3245
|
+
value += 1831565813;
|
|
3246
|
+
let next = value;
|
|
3247
|
+
next = Math.imul(next ^ next >>> 15, next | 1);
|
|
3248
|
+
next ^= next + Math.imul(next ^ next >>> 7, next | 61);
|
|
3249
|
+
return ((next ^ next >>> 14) >>> 0) / 4294967296;
|
|
3250
|
+
};
|
|
3251
|
+
};
|
|
3146
3252
|
|
|
3147
3253
|
// src/url.ts
|
|
3148
3254
|
init_define_import_meta_env();
|
|
@@ -3519,6 +3625,7 @@ export {
|
|
|
3519
3625
|
COLOR_CHARCOAL_BLACK,
|
|
3520
3626
|
COLOR_OUTLINE_CONTRAST_THRESHOLD,
|
|
3521
3627
|
COLOR_PALETTE,
|
|
3628
|
+
COLOR_TOP_PICKS_SLOTS,
|
|
3522
3629
|
COLOR_VOICE_CALL,
|
|
3523
3630
|
COLOR_WHITE,
|
|
3524
3631
|
CURSOR_TYPE,
|
|
@@ -3546,6 +3653,8 @@ export {
|
|
|
3546
3653
|
DEFAULT_PROPORTIONAL_RADIUS,
|
|
3547
3654
|
DEFAULT_REDUCED_GLOBAL_ALPHA,
|
|
3548
3655
|
DEFAULT_SIDEBAR,
|
|
3656
|
+
DEFAULT_STICKY_NOTE_BG,
|
|
3657
|
+
DEFAULT_STICKY_NOTE_SIZE,
|
|
3549
3658
|
DEFAULT_STROKE_STREAMLINE,
|
|
3550
3659
|
DEFAULT_STROKE_STREAMLINE_PRECISE,
|
|
3551
3660
|
DEFAULT_TEXT_ALIGN,
|
|
@@ -3553,6 +3662,7 @@ export {
|
|
|
3553
3662
|
DEFAULT_UI_OPTIONS,
|
|
3554
3663
|
DEFAULT_VERSION,
|
|
3555
3664
|
DEFAULT_VERTICAL_ALIGN,
|
|
3665
|
+
DEFAULT_ZOOM,
|
|
3556
3666
|
DOUBLE_TAP_POSITION_THRESHOLD,
|
|
3557
3667
|
DRAGGING_THRESHOLD,
|
|
3558
3668
|
Debug,
|
|
@@ -3575,6 +3685,7 @@ export {
|
|
|
3575
3685
|
FONT_FAMILY_GENERIC_FALLBACKS,
|
|
3576
3686
|
FONT_METADATA,
|
|
3577
3687
|
FONT_SIZES,
|
|
3688
|
+
FONT_TOP_PICKS_SLOTS,
|
|
3578
3689
|
FRAME_STYLE,
|
|
3579
3690
|
FREEDRAW_STROKE_WIDTH,
|
|
3580
3691
|
GOOGLE_FONTS_RANGES,
|
|
@@ -3618,6 +3729,20 @@ export {
|
|
|
3618
3729
|
SHIFT_LOCKING_ANGLE,
|
|
3619
3730
|
SIDE_RESIZING_THRESHOLD,
|
|
3620
3731
|
STATS_PANELS,
|
|
3732
|
+
STICKY_NOTE_BACKGROUND_PICKS,
|
|
3733
|
+
STICKY_NOTE_BODY_INSET_Y,
|
|
3734
|
+
STICKY_NOTE_EDGE_SHADOW_OPACITY,
|
|
3735
|
+
STICKY_NOTE_EDGE_SHADOW_WIDTH,
|
|
3736
|
+
STICKY_NOTE_FALLBACK_FONT_SIZE,
|
|
3737
|
+
STICKY_NOTE_FONT_STEP,
|
|
3738
|
+
STICKY_NOTE_FOOTER,
|
|
3739
|
+
STICKY_NOTE_MAX_FONT_SIZE,
|
|
3740
|
+
STICKY_NOTE_MIN_FONT_SIZE,
|
|
3741
|
+
STICKY_NOTE_MIN_SIZE,
|
|
3742
|
+
STICKY_NOTE_PADDING,
|
|
3743
|
+
STICKY_NOTE_SHADOW_OFFSET,
|
|
3744
|
+
STICKY_NOTE_SHADOW_OPACITY,
|
|
3745
|
+
STICKY_NOTE_STROKE_PICKS,
|
|
3621
3746
|
STRING_MIME_TYPES,
|
|
3622
3747
|
STROKE_WIDTH,
|
|
3623
3748
|
STROKE_WIDTH_KEYS,
|
|
@@ -3626,7 +3751,9 @@ export {
|
|
|
3626
3751
|
TAP_TWICE_TIMEOUT,
|
|
3627
3752
|
TEXT_ALIGN,
|
|
3628
3753
|
TEXT_AUTOWRAP_THRESHOLD,
|
|
3754
|
+
TEXT_MAX_WRAP_WIDTH,
|
|
3629
3755
|
TEXT_TO_CENTER_SNAP_THRESHOLD,
|
|
3756
|
+
TEXT_VIEWPORT_PADDING,
|
|
3630
3757
|
THEME,
|
|
3631
3758
|
TITLE_TIMEOUT,
|
|
3632
3759
|
TOOL_TYPE,
|
|
@@ -3640,6 +3767,7 @@ export {
|
|
|
3640
3767
|
VersionedSnapshotStore,
|
|
3641
3768
|
WINDOWS_EMOJI_FALLBACK_FONT,
|
|
3642
3769
|
YOUTUBE_STATES,
|
|
3770
|
+
ZEN_MODE_TRANSITION_DURATION,
|
|
3643
3771
|
ZOOM_STEP,
|
|
3644
3772
|
addEventListener,
|
|
3645
3773
|
allowFullScreen,
|
|
@@ -3667,7 +3795,6 @@ export {
|
|
|
3667
3795
|
findLastIndex,
|
|
3668
3796
|
focusNearestParent,
|
|
3669
3797
|
getAllColorsSpecificShade,
|
|
3670
|
-
getBucketFillBackgroundColor,
|
|
3671
3798
|
getDateTime,
|
|
3672
3799
|
getExportSource,
|
|
3673
3800
|
getFeatureFlag,
|
|
@@ -3687,6 +3814,7 @@ export {
|
|
|
3687
3814
|
getUpdatedTimestamp,
|
|
3688
3815
|
getVersion,
|
|
3689
3816
|
getVerticalOffset,
|
|
3817
|
+
hasRTLChars,
|
|
3690
3818
|
invariant,
|
|
3691
3819
|
isAndroid,
|
|
3692
3820
|
isAnyTrue,
|
|
@@ -3740,6 +3868,7 @@ export {
|
|
|
3740
3868
|
randomId,
|
|
3741
3869
|
randomInteger,
|
|
3742
3870
|
reduceToCommonValue,
|
|
3871
|
+
removeDarkModeFilter,
|
|
3743
3872
|
removeSelection,
|
|
3744
3873
|
rescalePoints,
|
|
3745
3874
|
reseed,
|
|
@@ -3747,7 +3876,9 @@ export {
|
|
|
3747
3876
|
rgbToHex2 as rgbToHex,
|
|
3748
3877
|
safelyParseJSON,
|
|
3749
3878
|
sceneCoordsToViewportCoords,
|
|
3879
|
+
seededRandom,
|
|
3750
3880
|
selectNode,
|
|
3881
|
+
setColorAlpha,
|
|
3751
3882
|
setDateTimeForTests,
|
|
3752
3883
|
setDesktopUIMode,
|
|
3753
3884
|
setFeatureFlag,
|