@excalidraw/common 0.18.0-a9ca16e → 0.18.0-ab0255f
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 +61 -73
- package/dist/dev/index.js.map +3 -3
- package/dist/prod/index.js +3 -3
- package/dist/types/common/src/colors.d.ts +17 -1
- package/dist/types/common/src/constants.d.ts +12 -7
- package/dist/types/common/src/keys.d.ts +2 -0
- package/dist/types/common/src/points.d.ts +1 -1
- package/dist/types/common/src/utils.d.ts +1 -43
- package/dist/types/element/src/Scene.d.ts +6 -4
- package/dist/types/element/src/align.d.ts +2 -2
- package/dist/types/element/src/arrowEndpointText.d.ts +49 -0
- package/dist/types/element/src/arrows/focus.d.ts +5 -2
- package/dist/types/element/src/binding.d.ts +17 -8
- package/dist/types/element/src/bounds.d.ts +22 -7
- package/dist/types/element/src/bucketFill.d.ts +110 -0
- package/dist/types/element/src/collision.d.ts +1 -1
- package/dist/types/element/src/comparisons.d.ts +5 -4
- package/dist/types/element/src/convertToShape.d.ts +23 -0
- package/dist/types/element/src/distribute.d.ts +2 -2
- package/dist/types/element/src/dragElements.d.ts +27 -0
- package/dist/types/element/src/duplicate.d.ts +4 -3
- package/dist/types/element/src/embeddable.d.ts +2 -2
- package/dist/types/element/src/flowchart.d.ts +7 -7
- package/dist/types/element/src/fractionalIndex.d.ts +2 -2
- package/dist/types/element/src/frame.d.ts +9 -8
- package/dist/types/element/src/groups.d.ts +9 -9
- package/dist/types/element/src/index.d.ts +4 -1
- package/dist/types/element/src/linearElementEditor.d.ts +17 -10
- package/dist/types/element/src/newElement.d.ts +14 -0
- package/dist/types/element/src/renderElement.d.ts +0 -3
- package/dist/types/element/src/resizeElements.d.ts +2 -2
- package/dist/types/element/src/selection.d.ts +6 -6
- package/dist/types/element/src/shape.d.ts +13 -1
- package/dist/types/element/src/textElement.d.ts +12 -9
- package/dist/types/element/src/transform.d.ts +2 -2
- package/dist/types/element/src/typeChecks.d.ts +26 -25
- package/dist/types/element/src/types.d.ts +8 -1
- package/dist/types/element/src/utils.d.ts +1 -1
- package/dist/types/element/src/zindex.d.ts +2 -2
- package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +30 -12
- package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -6
- package/dist/types/excalidraw/actions/actionBoundText.d.ts +20 -8
- package/dist/types/excalidraw/actions/actionCanvas.d.ts +132 -926
- package/dist/types/excalidraw/actions/actionClipboard.d.ts +20 -8
- package/dist/types/excalidraw/actions/actionCropEditor.d.ts +10 -4
- package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +32 -13
- package/dist/types/excalidraw/actions/{actionEmbeddable.d.ts → actionDeselect.d.ts} +24 -33
- package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
- package/dist/types/excalidraw/actions/actionElementLink.d.ts +10 -4
- package/dist/types/excalidraw/actions/actionElementLock.d.ts +21 -9
- package/dist/types/excalidraw/actions/actionExport.d.ts +25 -13
- package/dist/types/excalidraw/actions/actionFrame.d.ts +42 -196
- package/dist/types/excalidraw/actions/actionGroup.d.ts +35 -23
- package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +14 -6
- package/dist/types/excalidraw/actions/actionLink.d.ts +11 -5
- package/dist/types/excalidraw/actions/actionMenu.d.ts +10 -4
- package/dist/types/excalidraw/actions/actionProperties.d.ts +50 -26
- package/dist/types/excalidraw/actions/actionSelectAll.d.ts +15 -9
- package/dist/types/excalidraw/actions/actionStyles.d.ts +10 -4
- package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +11 -5
- package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +14 -9
- package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +11 -5
- package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +11 -5
- package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +14 -9
- package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
- package/dist/types/excalidraw/actions/actionToggleStats.d.ts +11 -5
- package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +12 -6
- package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +11 -5
- package/dist/types/excalidraw/actions/index.d.ts +2 -2
- package/dist/types/excalidraw/actions/manager.d.ts +1 -0
- package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
- package/dist/types/excalidraw/actions/types.d.ts +8 -4
- package/dist/types/excalidraw/{animated-trail.d.ts → animatedTrail.d.ts} +4 -3
- package/dist/types/excalidraw/appState.d.ts +8 -6
- package/dist/types/excalidraw/components/Actions.d.ts +17 -12
- package/dist/types/excalidraw/components/ActiveConfirmDialog.d.ts +1 -1
- package/dist/types/excalidraw/components/App.arrowText.d.ts +72 -0
- package/dist/types/excalidraw/components/App.bucketFill.d.ts +34 -0
- package/dist/types/excalidraw/components/App.cursor.d.ts +31 -0
- package/dist/types/excalidraw/components/App.d.ts +355 -65
- package/dist/types/excalidraw/components/App.drawshape.d.ts +55 -0
- package/dist/types/excalidraw/components/App.flowchart.d.ts +21 -0
- package/dist/types/excalidraw/components/App.viewport.d.ts +73 -0
- package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -3
- package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +1 -0
- package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +6 -1
- package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
- package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -1
- package/dist/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -2
- package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
- package/dist/types/excalidraw/components/CursorHint.d.ts +46 -0
- package/dist/types/excalidraw/components/EyeDropper.d.ts +1 -1
- package/dist/types/excalidraw/components/{ToolButton.d.ts → IconButton.d.ts} +16 -19
- package/dist/types/excalidraw/components/Island.d.ts +7 -0
- package/dist/types/excalidraw/components/LaserPointerButton.d.ts +2 -4
- package/dist/types/excalidraw/components/LayerUI.d.ts +4 -2
- package/dist/types/excalidraw/components/LibraryMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/LockButton.d.ts +3 -4
- package/dist/types/excalidraw/components/MagicButton.d.ts +0 -2
- package/dist/types/excalidraw/components/MobileMenu.d.ts +4 -4
- package/dist/types/excalidraw/components/MobileToolbar.d.ts +9 -0
- package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
- package/dist/types/excalidraw/components/PenModeButton.d.ts +2 -5
- package/dist/types/excalidraw/components/Popover.d.ts +1 -3
- package/dist/types/excalidraw/components/{ButtonIcon.d.ts → RadioButton.d.ts} +2 -5
- package/dist/types/excalidraw/components/SVGLayer.d.ts +1 -1
- package/dist/types/excalidraw/components/SearchMenu.d.ts +1 -1
- package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +1 -1
- package/dist/types/excalidraw/components/Stats/Angle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Dimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/DragInput.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +2 -2
- package/dist/types/excalidraw/components/Stats/Position.d.ts +3 -3
- package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
- package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +4 -4
- package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +3 -3
- package/dist/types/excalidraw/components/ToolPopover.d.ts +3 -6
- package/dist/types/excalidraw/components/Toolbar.d.ts +11 -0
- package/dist/types/excalidraw/components/Tools.d.ts +146 -0
- package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -1
- package/dist/types/excalidraw/components/canvases/NewElementCanvas.d.ts +1 -0
- package/dist/types/excalidraw/components/canvases/StaticCanvas.d.ts +1 -1
- package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +2 -1
- package/dist/types/excalidraw/components/footer/Footer.d.ts +3 -1
- package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -2
- package/dist/types/excalidraw/components/icons.d.ts +3 -1
- package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +8 -4
- package/dist/types/excalidraw/components/positionElementBesideCursor.d.ts +26 -0
- package/dist/types/excalidraw/components/shapeActionPredicates.d.ts +39 -0
- package/dist/types/excalidraw/data/blob.d.ts +30 -18
- package/dist/types/excalidraw/data/index.d.ts +4 -4
- package/dist/types/excalidraw/data/json.d.ts +21 -15
- package/dist/types/excalidraw/data/library.d.ts +1 -1
- package/dist/types/excalidraw/drawShapeTrail.d.ts +16 -0
- package/dist/types/excalidraw/eraser/index.d.ts +2 -3
- package/dist/types/excalidraw/hooks/useAppStateValue.d.ts +29 -0
- package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
- package/dist/types/excalidraw/{laser-trails.d.ts → laserTrails.d.ts} +5 -7
- package/dist/types/excalidraw/lasso/index.d.ts +2 -3
- package/dist/types/excalidraw/renderer/animation.d.ts +5 -1
- package/dist/types/excalidraw/renderer/interactiveScene.d.ts +1 -3
- package/dist/types/excalidraw/scene/Renderer.d.ts +426 -19
- package/dist/types/excalidraw/scene/export.d.ts +3 -3
- package/dist/types/excalidraw/scene/index.d.ts +2 -2
- package/dist/types/excalidraw/scene/types.d.ts +4 -3
- package/dist/types/excalidraw/snapping.d.ts +7 -7
- package/dist/types/excalidraw/types.d.ts +368 -19
- package/dist/types/excalidraw/viewport.d.ts +272 -0
- package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -3
- package/dist/types/fractional-indexing/src/index.d.ts +29 -0
- package/dist/types/laser-pointer/src/index.d.ts +2 -0
- package/dist/types/laser-pointer/src/math.d.ts +16 -0
- package/dist/types/laser-pointer/src/simplify.d.ts +2 -0
- package/dist/types/laser-pointer/src/state.d.ts +36 -0
- package/dist/types/math/src/constants.d.ts +0 -1
- package/dist/types/math/src/curve.d.ts +4 -1
- package/dist/types/math/src/index.d.ts +1 -0
- package/dist/types/math/src/pca.d.ts +79 -0
- package/dist/types/math/src/point.d.ts +1 -0
- package/dist/types/math/src/polygon.d.ts +25 -1
- package/dist/types/utils/src/export.d.ts +3 -3
- package/dist/types/utils/src/index.d.ts +1 -2
- package/package.json +1 -1
- package/dist/types/excalidraw/animation-frame-handler.d.ts +0 -16
- package/dist/types/excalidraw/components/HandButton.d.ts +0 -10
- package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -10
- package/dist/types/excalidraw/components/shapes.d.ts +0 -263
- package/dist/types/excalidraw/cursor.d.ts +0 -5
- package/dist/types/excalidraw/scene/scroll.d.ts +0 -18
- package/dist/types/excalidraw/scene/zoom.d.ts +0 -12
- package/dist/types/utils/src/bbox.d.ts +0 -9
- package/dist/types/utils/src/withinBounds.d.ts +0 -19
package/dist/dev/index.js
CHANGED
|
@@ -1394,7 +1394,10 @@ var cssInvert = (r, g, b, percent) => {
|
|
|
1394
1394
|
const invertedB = invertComponent(b);
|
|
1395
1395
|
return { r: invertedR, g: invertedG, b: invertedB };
|
|
1396
1396
|
};
|
|
1397
|
-
var applyDarkModeFilter = (color) => {
|
|
1397
|
+
var applyDarkModeFilter = (color, enable = true) => {
|
|
1398
|
+
if (!enable) {
|
|
1399
|
+
return color;
|
|
1400
|
+
}
|
|
1398
1401
|
const cached = DARK_MODE_COLORS_CACHE?.get(color);
|
|
1399
1402
|
if (cached) {
|
|
1400
1403
|
return cached;
|
|
@@ -1474,6 +1477,13 @@ var DEFAULT_ELEMENT_BACKGROUND_PICKS = [
|
|
|
1474
1477
|
COLOR_PALETTE.blue[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX],
|
|
1475
1478
|
COLOR_PALETTE.yellow[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX]
|
|
1476
1479
|
];
|
|
1480
|
+
var BUCKET_FILL_BACKGROUND_PICKS = [
|
|
1481
|
+
COLOR_PALETTE.white,
|
|
1482
|
+
COLOR_PALETTE.red[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX],
|
|
1483
|
+
COLOR_PALETTE.green[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX],
|
|
1484
|
+
COLOR_PALETTE.blue[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX],
|
|
1485
|
+
COLOR_PALETTE.yellow[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX]
|
|
1486
|
+
];
|
|
1477
1487
|
var DEFAULT_CANVAS_BACKGROUND_PICKS = [
|
|
1478
1488
|
COLOR_PALETTE.white,
|
|
1479
1489
|
// radix slate2
|
|
@@ -1503,6 +1513,7 @@ var DEFAULT_ELEMENT_BACKGROUND_COLOR_PALETTE = {
|
|
|
1503
1513
|
bronze: COLOR_PALETTE.bronze,
|
|
1504
1514
|
...COMMON_ELEMENT_SHADES
|
|
1505
1515
|
};
|
|
1516
|
+
var getBucketFillBackgroundColor = (backgroundColor) => isTransparent(backgroundColor) ? COLOR_PALETTE.green[DEFAULT_ELEMENT_BACKGROUND_COLOR_INDEX] : backgroundColor;
|
|
1506
1517
|
var getAllColorsSpecificShade = (index) => [
|
|
1507
1518
|
// 2nd row
|
|
1508
1519
|
COLOR_PALETTE.cyan[index],
|
|
@@ -1536,6 +1547,9 @@ var colorToHex = (color) => {
|
|
|
1536
1547
|
var isTransparent = (color) => {
|
|
1537
1548
|
return tinycolor(color).getAlpha() === 0;
|
|
1538
1549
|
};
|
|
1550
|
+
var isOpaqueColor = (color) => {
|
|
1551
|
+
return tinycolor(color).getAlpha() === 1;
|
|
1552
|
+
};
|
|
1539
1553
|
var COLOR_OUTLINE_CONTRAST_THRESHOLD = 240;
|
|
1540
1554
|
var calculateContrast = (r, g, b) => {
|
|
1541
1555
|
const yiq = (r * 299 + g * 587 + b * 114) / 1e3;
|
|
@@ -1836,8 +1850,10 @@ var DEFAULT_UI_OPTIONS = {
|
|
|
1836
1850
|
var MAX_DECIMALS_FOR_SVG_EXPORT = 2;
|
|
1837
1851
|
var EXPORT_SCALES = [1, 2, 3];
|
|
1838
1852
|
var DEFAULT_EXPORT_PADDING = 10;
|
|
1839
|
-
var
|
|
1840
|
-
|
|
1853
|
+
var DEFAULT_IMAGE_OPTIONS = {
|
|
1854
|
+
maxWidthOrHeight: 1440,
|
|
1855
|
+
maxFileSizeBytes: 4 * 1024 * 1024
|
|
1856
|
+
};
|
|
1841
1857
|
var SVG_NS = "http://www.w3.org/2000/svg";
|
|
1842
1858
|
var SVG_DOCUMENT_PREAMBLE = `<?xml version="1.0" standalone="no"?>
|
|
1843
1859
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
@@ -1861,6 +1877,7 @@ var TEXT_ALIGN = {
|
|
|
1861
1877
|
RIGHT: "right"
|
|
1862
1878
|
};
|
|
1863
1879
|
var ELEMENT_READY_TO_ERASE_OPACITY = 20;
|
|
1880
|
+
var ELEMENT_PENDING_DRAW_SHAPE_OPACITY = 70;
|
|
1864
1881
|
var DEFAULT_PROPORTIONAL_RADIUS = 0.25;
|
|
1865
1882
|
var DEFAULT_ADAPTIVE_RADIUS = 32;
|
|
1866
1883
|
var ROUNDNESS = {
|
|
@@ -1884,16 +1901,34 @@ var ROUGHNESS = {
|
|
|
1884
1901
|
artist: 1,
|
|
1885
1902
|
cartoonist: 2
|
|
1886
1903
|
};
|
|
1904
|
+
var STROKE_WIDTH_KEYS = [
|
|
1905
|
+
"thin",
|
|
1906
|
+
"medium",
|
|
1907
|
+
"bold"
|
|
1908
|
+
];
|
|
1887
1909
|
var STROKE_WIDTH = {
|
|
1888
1910
|
thin: 1,
|
|
1911
|
+
medium: 2,
|
|
1912
|
+
bold: 4,
|
|
1913
|
+
extraBold: 8
|
|
1914
|
+
// unused (may be introduced in the future)
|
|
1915
|
+
};
|
|
1916
|
+
var FREEDRAW_STROKE_WIDTH = {
|
|
1917
|
+
thin: 0.5,
|
|
1918
|
+
medium: 1,
|
|
1889
1919
|
bold: 2,
|
|
1890
1920
|
extraBold: 4
|
|
1921
|
+
// legacy (may be used again in the future)
|
|
1922
|
+
};
|
|
1923
|
+
var getStrokeWidthByKey = (elementType, strokeWidthKey) => {
|
|
1924
|
+
return elementType === "freedraw" ? FREEDRAW_STROKE_WIDTH[strokeWidthKey] : STROKE_WIDTH[strokeWidthKey];
|
|
1891
1925
|
};
|
|
1926
|
+
var DEFAULT_ELEMENT_STROKE_WIDTH_KEY = "medium";
|
|
1892
1927
|
var DEFAULT_ELEMENT_PROPS = {
|
|
1893
1928
|
strokeColor: COLOR_PALETTE.black,
|
|
1894
1929
|
backgroundColor: COLOR_PALETTE.transparent,
|
|
1895
1930
|
fillStyle: "solid",
|
|
1896
|
-
strokeWidth:
|
|
1931
|
+
strokeWidth: STROKE_WIDTH[DEFAULT_ELEMENT_STROKE_WIDTH_KEY],
|
|
1897
1932
|
strokeStyle: "solid",
|
|
1898
1933
|
roughness: ROUGHNESS.artist,
|
|
1899
1934
|
opacity: 100,
|
|
@@ -1926,7 +1961,9 @@ var TOOL_TYPE = {
|
|
|
1926
1961
|
frame: "frame",
|
|
1927
1962
|
magicframe: "magicframe",
|
|
1928
1963
|
embeddable: "embeddable",
|
|
1929
|
-
laser: "laser"
|
|
1964
|
+
laser: "laser",
|
|
1965
|
+
autoshape: "autoshape",
|
|
1966
|
+
bucketfill: "bucketfill"
|
|
1930
1967
|
};
|
|
1931
1968
|
var EDITOR_LS_KEYS = {
|
|
1932
1969
|
OAI_API_KEY: "excalidraw-oai-api-key",
|
|
@@ -1957,6 +1994,8 @@ var BIND_MODE_TIMEOUT = 700;
|
|
|
1957
1994
|
var MOBILE_ACTION_BUTTON_BG = {
|
|
1958
1995
|
background: "var(--mobile-action-button-bg)"
|
|
1959
1996
|
};
|
|
1997
|
+
var DEFAULT_STROKE_STREAMLINE = 0.5;
|
|
1998
|
+
var DEFAULT_STROKE_STREAMLINE_PRECISE = 0.2;
|
|
1960
1999
|
|
|
1961
2000
|
// src/font-metadata.ts
|
|
1962
2001
|
init_define_import_meta_env();
|
|
@@ -2286,6 +2325,7 @@ var KEYS = {
|
|
|
2286
2325
|
SUBTRACT: "-",
|
|
2287
2326
|
SLASH: "/",
|
|
2288
2327
|
A: "a",
|
|
2328
|
+
B: "b",
|
|
2289
2329
|
C: "c",
|
|
2290
2330
|
D: "d",
|
|
2291
2331
|
E: "e",
|
|
@@ -2337,6 +2377,7 @@ var shouldRotateWithDiscreteAngle = (event) => event.shiftKey;
|
|
|
2337
2377
|
// src/points.ts
|
|
2338
2378
|
init_define_import_meta_env();
|
|
2339
2379
|
import {
|
|
2380
|
+
pointFrom,
|
|
2340
2381
|
pointFromPair
|
|
2341
2382
|
} from "@excalidraw/math";
|
|
2342
2383
|
var getSizeFromPoints = (points) => {
|
|
@@ -2381,12 +2422,12 @@ var rescalePoints = (dimension, newSize, points, normalize) => {
|
|
|
2381
2422
|
};
|
|
2382
2423
|
var getGridPoint = (x, y, gridSize) => {
|
|
2383
2424
|
if (gridSize) {
|
|
2384
|
-
return
|
|
2425
|
+
return pointFrom(
|
|
2385
2426
|
Math.round(x / gridSize) * gridSize,
|
|
2386
2427
|
Math.round(y / gridSize) * gridSize
|
|
2387
|
-
|
|
2428
|
+
);
|
|
2388
2429
|
}
|
|
2389
|
-
return
|
|
2430
|
+
return pointFrom(x, y);
|
|
2390
2431
|
};
|
|
2391
2432
|
|
|
2392
2433
|
// src/promise-pool.ts
|
|
@@ -2570,67 +2611,6 @@ var throttleRAF = (fn) => {
|
|
|
2570
2611
|
var easeOut = (k) => {
|
|
2571
2612
|
return 1 - Math.pow(1 - k, 4);
|
|
2572
2613
|
};
|
|
2573
|
-
var easeOutInterpolate = (from, to, progress) => {
|
|
2574
|
-
return (to - from) * easeOut(progress) + from;
|
|
2575
|
-
};
|
|
2576
|
-
var easeToValuesRAF = ({
|
|
2577
|
-
fromValues,
|
|
2578
|
-
toValues,
|
|
2579
|
-
onStep,
|
|
2580
|
-
duration = 250,
|
|
2581
|
-
interpolateValue,
|
|
2582
|
-
onStart,
|
|
2583
|
-
onEnd,
|
|
2584
|
-
onCancel
|
|
2585
|
-
}) => {
|
|
2586
|
-
let canceled = false;
|
|
2587
|
-
let frameId = 0;
|
|
2588
|
-
let startTime;
|
|
2589
|
-
function step(timestamp) {
|
|
2590
|
-
if (canceled) {
|
|
2591
|
-
return;
|
|
2592
|
-
}
|
|
2593
|
-
if (startTime === void 0) {
|
|
2594
|
-
startTime = timestamp;
|
|
2595
|
-
onStart?.();
|
|
2596
|
-
}
|
|
2597
|
-
const elapsed = Math.min(timestamp - startTime, duration);
|
|
2598
|
-
const factor = easeOut(elapsed / duration);
|
|
2599
|
-
const newValues = {};
|
|
2600
|
-
Object.keys(fromValues).forEach((key) => {
|
|
2601
|
-
const _key = key;
|
|
2602
|
-
const result = (toValues[_key] - fromValues[_key]) * factor + fromValues[_key];
|
|
2603
|
-
newValues[_key] = result;
|
|
2604
|
-
});
|
|
2605
|
-
onStep(newValues);
|
|
2606
|
-
if (elapsed < duration) {
|
|
2607
|
-
const progress = elapsed / duration;
|
|
2608
|
-
const newValues2 = {};
|
|
2609
|
-
Object.keys(fromValues).forEach((key) => {
|
|
2610
|
-
const _key = key;
|
|
2611
|
-
const startValue = fromValues[_key];
|
|
2612
|
-
const endValue = toValues[_key];
|
|
2613
|
-
let result;
|
|
2614
|
-
result = interpolateValue ? interpolateValue(startValue, endValue, progress, _key) : easeOutInterpolate(startValue, endValue, progress);
|
|
2615
|
-
if (result == null) {
|
|
2616
|
-
result = easeOutInterpolate(startValue, endValue, progress);
|
|
2617
|
-
}
|
|
2618
|
-
newValues2[_key] = result;
|
|
2619
|
-
});
|
|
2620
|
-
onStep(newValues2);
|
|
2621
|
-
frameId = window.requestAnimationFrame(step);
|
|
2622
|
-
} else {
|
|
2623
|
-
onStep(toValues);
|
|
2624
|
-
onEnd?.();
|
|
2625
|
-
}
|
|
2626
|
-
}
|
|
2627
|
-
frameId = window.requestAnimationFrame(step);
|
|
2628
|
-
return () => {
|
|
2629
|
-
onCancel?.();
|
|
2630
|
-
canceled = true;
|
|
2631
|
-
window.cancelAnimationFrame(frameId);
|
|
2632
|
-
};
|
|
2633
|
-
};
|
|
2634
2614
|
var chunk = (array, size) => {
|
|
2635
2615
|
if (!array.length || size < 1) {
|
|
2636
2616
|
return [];
|
|
@@ -2673,7 +2653,7 @@ var updateActiveTool = (appState, data) => {
|
|
|
2673
2653
|
}
|
|
2674
2654
|
return {
|
|
2675
2655
|
...appState.activeTool,
|
|
2676
|
-
lastActiveTool: data.
|
|
2656
|
+
lastActiveTool: data.lastActiveTool === void 0 ? appState.activeTool.lastActiveTool : data.lastActiveTool,
|
|
2677
2657
|
type: data.type,
|
|
2678
2658
|
customType: null,
|
|
2679
2659
|
locked: data.locked ?? appState.activeTool.locked,
|
|
@@ -3528,6 +3508,7 @@ export {
|
|
|
3528
3508
|
AppEventBus,
|
|
3529
3509
|
BIND_MODE_TIMEOUT,
|
|
3530
3510
|
BOUND_TEXT_PADDING,
|
|
3511
|
+
BUCKET_FILL_BACKGROUND_PICKS,
|
|
3531
3512
|
BinaryHeap,
|
|
3532
3513
|
CANVAS_ONLY_ACTIONS,
|
|
3533
3514
|
CANVAS_SEARCH_TAB,
|
|
@@ -3553,17 +3534,20 @@ export {
|
|
|
3553
3534
|
DEFAULT_ELEMENT_STROKE_COLOR_INDEX,
|
|
3554
3535
|
DEFAULT_ELEMENT_STROKE_COLOR_PALETTE,
|
|
3555
3536
|
DEFAULT_ELEMENT_STROKE_PICKS,
|
|
3537
|
+
DEFAULT_ELEMENT_STROKE_WIDTH_KEY,
|
|
3556
3538
|
DEFAULT_EXPORT_PADDING,
|
|
3557
3539
|
DEFAULT_FILENAME,
|
|
3558
3540
|
DEFAULT_FONT_FAMILY,
|
|
3559
3541
|
DEFAULT_FONT_SIZE,
|
|
3560
3542
|
DEFAULT_GRID_SIZE,
|
|
3561
3543
|
DEFAULT_GRID_STEP,
|
|
3544
|
+
DEFAULT_IMAGE_OPTIONS,
|
|
3562
3545
|
DEFAULT_LASER_COLOR,
|
|
3563
|
-
DEFAULT_MAX_IMAGE_WIDTH_OR_HEIGHT,
|
|
3564
3546
|
DEFAULT_PROPORTIONAL_RADIUS,
|
|
3565
3547
|
DEFAULT_REDUCED_GLOBAL_ALPHA,
|
|
3566
3548
|
DEFAULT_SIDEBAR,
|
|
3549
|
+
DEFAULT_STROKE_STREAMLINE,
|
|
3550
|
+
DEFAULT_STROKE_STREAMLINE_PRECISE,
|
|
3567
3551
|
DEFAULT_TEXT_ALIGN,
|
|
3568
3552
|
DEFAULT_TRANSFORM_HANDLE_SPACING,
|
|
3569
3553
|
DEFAULT_UI_OPTIONS,
|
|
@@ -3574,6 +3558,7 @@ export {
|
|
|
3574
3558
|
Debug,
|
|
3575
3559
|
EDITOR_LS_KEYS,
|
|
3576
3560
|
ELEMENT_LINK_KEY,
|
|
3561
|
+
ELEMENT_PENDING_DRAW_SHAPE_OPACITY,
|
|
3577
3562
|
ELEMENT_READY_TO_ERASE_OPACITY,
|
|
3578
3563
|
ELEMENT_SHIFT_TRANSLATE_AMOUNT,
|
|
3579
3564
|
ELEMENT_TRANSLATE_AMOUNT,
|
|
@@ -3591,6 +3576,7 @@ export {
|
|
|
3591
3576
|
FONT_METADATA,
|
|
3592
3577
|
FONT_SIZES,
|
|
3593
3578
|
FRAME_STYLE,
|
|
3579
|
+
FREEDRAW_STROKE_WIDTH,
|
|
3594
3580
|
GOOGLE_FONTS_RANGES,
|
|
3595
3581
|
HYPERLINK_TOOLTIP_DELAY,
|
|
3596
3582
|
IDLE_THRESHOLD,
|
|
@@ -3603,7 +3589,6 @@ export {
|
|
|
3603
3589
|
LINE_CONFIRM_THRESHOLD,
|
|
3604
3590
|
LINE_POLYGON_POINT_MERGE_DISTANCE,
|
|
3605
3591
|
LOCAL_FONT_PROTOCOL,
|
|
3606
|
-
MAX_ALLOWED_FILE_BYTES,
|
|
3607
3592
|
MAX_CUSTOM_COLORS_USED_IN_CANVAS,
|
|
3608
3593
|
MAX_DECIMALS_FOR_SVG_EXPORT,
|
|
3609
3594
|
MAX_ZOOM,
|
|
@@ -3635,6 +3620,7 @@ export {
|
|
|
3635
3620
|
STATS_PANELS,
|
|
3636
3621
|
STRING_MIME_TYPES,
|
|
3637
3622
|
STROKE_WIDTH,
|
|
3623
|
+
STROKE_WIDTH_KEYS,
|
|
3638
3624
|
SVG_DOCUMENT_PREAMBLE,
|
|
3639
3625
|
SVG_NS,
|
|
3640
3626
|
TAP_TWICE_TIMEOUT,
|
|
@@ -3675,13 +3661,13 @@ export {
|
|
|
3675
3661
|
deriveStylesPanelMode,
|
|
3676
3662
|
distance,
|
|
3677
3663
|
easeOut,
|
|
3678
|
-
easeToValuesRAF,
|
|
3679
3664
|
escapeDoubleQuotes,
|
|
3680
3665
|
exitFullScreen,
|
|
3681
3666
|
findIndex,
|
|
3682
3667
|
findLastIndex,
|
|
3683
3668
|
focusNearestParent,
|
|
3684
3669
|
getAllColorsSpecificShade,
|
|
3670
|
+
getBucketFillBackgroundColor,
|
|
3685
3671
|
getDateTime,
|
|
3686
3672
|
getExportSource,
|
|
3687
3673
|
getFeatureFlag,
|
|
@@ -3696,6 +3682,7 @@ export {
|
|
|
3696
3682
|
getLineHeight,
|
|
3697
3683
|
getNearestScrollableContainer,
|
|
3698
3684
|
getSizeFromPoints,
|
|
3685
|
+
getStrokeWidthByKey,
|
|
3699
3686
|
getSvgPathFromStroke,
|
|
3700
3687
|
getUpdatedTimestamp,
|
|
3701
3688
|
getVersion,
|
|
@@ -3719,6 +3706,7 @@ export {
|
|
|
3719
3706
|
isLocalLink,
|
|
3720
3707
|
isMemberOf,
|
|
3721
3708
|
isMobileBreakpoint,
|
|
3709
|
+
isOpaqueColor,
|
|
3722
3710
|
isPrimitive,
|
|
3723
3711
|
isProdEnv,
|
|
3724
3712
|
isPromiseLike,
|