@excalidraw/common 0.18.0-8fc71066d → 0.18.0-ac0d305

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.
Files changed (55) hide show
  1. package/dist/dev/index.js +59 -6
  2. package/dist/dev/index.js.map +2 -2
  3. package/dist/prod/index.js +3 -3
  4. package/dist/types/common/src/constants.d.ts +17 -4
  5. package/dist/types/common/src/utils.d.ts +1 -0
  6. package/dist/types/element/src/bounds.d.ts +1 -1
  7. package/dist/types/element/src/delta.d.ts +4 -5
  8. package/dist/types/element/src/index.d.ts +1 -0
  9. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  10. package/dist/types/element/src/renderElement.d.ts +4 -1
  11. package/dist/types/element/src/store.d.ts +5 -0
  12. package/dist/types/element/src/textElement.d.ts +1 -1
  13. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +6 -3
  14. package/dist/types/excalidraw/actions/actionBoundText.d.ts +4 -2
  15. package/dist/types/excalidraw/actions/actionCanvas.d.ts +29 -15
  16. package/dist/types/excalidraw/actions/actionClipboard.d.ts +12 -6
  17. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +2 -1
  18. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +6 -3
  19. package/dist/types/excalidraw/actions/actionElementLink.d.ts +2 -1
  20. package/dist/types/excalidraw/actions/actionElementLock.d.ts +4 -2
  21. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +2 -1
  22. package/dist/types/excalidraw/actions/actionExport.d.ts +18 -9
  23. package/dist/types/excalidraw/actions/actionFinalize.d.ts +4 -2
  24. package/dist/types/excalidraw/actions/actionFrame.d.ts +8 -4
  25. package/dist/types/excalidraw/actions/actionGroup.d.ts +4 -2
  26. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +3 -2
  27. package/dist/types/excalidraw/actions/actionLink.d.ts +2 -1
  28. package/dist/types/excalidraw/actions/actionMenu.d.ts +6 -3
  29. package/dist/types/excalidraw/actions/actionNavigate.d.ts +4 -2
  30. package/dist/types/excalidraw/actions/actionProperties.d.ts +48 -24
  31. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +2 -1
  32. package/dist/types/excalidraw/actions/actionStyles.d.ts +2 -1
  33. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +2 -1
  34. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +2 -1
  35. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +2 -1
  36. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +2 -1
  37. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +2 -1
  38. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +2 -1
  39. package/dist/types/excalidraw/actions/index.d.ts +1 -1
  40. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  41. package/dist/types/excalidraw/appState.d.ts +1 -0
  42. package/dist/types/excalidraw/clipboard.d.ts +62 -1
  43. package/dist/types/excalidraw/components/Actions.d.ts +8 -1
  44. package/dist/types/excalidraw/components/App.d.ts +13 -11
  45. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +2 -1
  46. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  47. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +2 -1
  48. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -0
  49. package/dist/types/excalidraw/components/icons.d.ts +6 -0
  50. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  51. package/dist/types/excalidraw/data/blob.d.ts +1 -5
  52. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  53. package/dist/types/excalidraw/types.d.ts +6 -3
  54. package/dist/types/math/src/segment.d.ts +1 -0
  55. package/package.json +1 -1
package/dist/dev/index.js CHANGED
@@ -647,9 +647,12 @@ var isAndroid = /\b(android)\b/i.test(navigator.userAgent);
647
647
  var isFirefox = typeof window !== "undefined" && "netscape" in window && navigator.userAgent.indexOf("rv:") > 1 && navigator.userAgent.indexOf("Gecko") > 1;
648
648
  var isChrome = navigator.userAgent.indexOf("Chrome") !== -1;
649
649
  var isSafari = !isChrome && navigator.userAgent.indexOf("Safari") !== -1;
650
- var isIOS = /iPad|iPhone/.test(navigator.platform) || // iPadOS 13+
650
+ var isIOS = /iPad|iPhone/i.test(navigator.platform) || // iPadOS 13+
651
651
  navigator.userAgent.includes("Mac") && "ontouchend" in document;
652
652
  var isBrave = () => navigator.brave?.isBrave?.name === "isBrave";
653
+ var isMobile = isIOS || /android|webos|ipod|blackberry|iemobile|opera mini/i.test(
654
+ navigator.userAgent
655
+ ) || /android|ios|ipod|blackberry|windows phone/i.test(navigator.platform);
653
656
  var supportsResizeObserver = typeof window !== "undefined" && "ResizeObserver" in window;
654
657
  var APP_NAME = "Excalidraw";
655
658
  var TEXT_AUTOWRAP_THRESHOLD = 36;
@@ -734,7 +737,8 @@ var CLASSES = {
734
737
  SHAPE_ACTIONS_MENU: "App-menu__left",
735
738
  ZOOM_ACTIONS: "zoom-actions",
736
739
  SEARCH_MENU_INPUT_WRAPPER: "layer-ui__search-inputWrapper",
737
- CONVERT_ELEMENT_TYPE_POPUP: "ConvertElementTypePopup"
740
+ CONVERT_ELEMENT_TYPE_POPUP: "ConvertElementTypePopup",
741
+ SHAPE_ACTIONS_THEME_SCOPE: "shape-actions-theme-scope"
738
742
  };
739
743
  var CJK_HAND_DRAWN_FALLBACK_FONT = "Xiaolai";
740
744
  var WINDOWS_EMOJI_FALLBACK_FONT = "Segoe UI Emoji";
@@ -829,13 +833,16 @@ var IMAGE_MIME_TYPES = {
829
833
  avif: "image/avif",
830
834
  jfif: "image/jfif"
831
835
  };
832
- var MIME_TYPES = {
836
+ var STRING_MIME_TYPES = {
833
837
  text: "text/plain",
834
838
  html: "text/html",
835
839
  json: "application/json",
836
840
  // excalidraw data
837
841
  excalidraw: "application/vnd.excalidraw+json",
838
- excalidrawlib: "application/vnd.excalidrawlib+json",
842
+ excalidrawlib: "application/vnd.excalidrawlib+json"
843
+ };
844
+ var MIME_TYPES = {
845
+ ...STRING_MIME_TYPES,
839
846
  // image-encoded excalidraw data
840
847
  "excalidraw.svg": "image/svg+xml",
841
848
  "excalidraw.png": "image/png",
@@ -894,9 +901,12 @@ var DEFAULT_UI_OPTIONS = {
894
901
  image: true
895
902
  }
896
903
  };
897
- var MQ_MAX_WIDTH_PORTRAIT = 730;
898
904
  var MQ_MAX_WIDTH_LANDSCAPE = 1e3;
899
905
  var MQ_MAX_HEIGHT_LANDSCAPE = 500;
906
+ var MQ_MAX_WIDTH_MOBILE = 699;
907
+ var MQ_MIN_TABLET = 600;
908
+ var MQ_MAX_TABLET = 1400;
909
+ var MQ_MIN_WIDTH_DESKTOP = 1440;
900
910
  var MQ_RIGHT_SIDEBAR_MIN_WIDTH = 1229;
901
911
  var MAX_DECIMALS_FOR_SVG_EXPORT = 2;
902
912
  var EXPORT_SCALES = [1, 2, 3];
@@ -1017,6 +1027,7 @@ var UserIdleState = /* @__PURE__ */ ((UserIdleState2) => {
1017
1027
  return UserIdleState2;
1018
1028
  })(UserIdleState || {});
1019
1029
  var LINE_POLYGON_POINT_MERGE_DISTANCE = 20;
1030
+ var DOUBLE_TAP_POSITION_THRESHOLD = 35;
1020
1031
 
1021
1032
  // src/font-metadata.ts
1022
1033
  init_define_import_meta_env();
@@ -2067,6 +2078,41 @@ var reduceToCommonValue = (collection, getValue) => {
2067
2078
  }
2068
2079
  return commonValue;
2069
2080
  };
2081
+ var isMobileOrTablet = () => {
2082
+ const ua = navigator.userAgent || "";
2083
+ const platform = navigator.platform || "";
2084
+ const uaData = navigator.userAgentData;
2085
+ if (uaData) {
2086
+ const plat = (uaData.platform || "").toLowerCase();
2087
+ const isDesktopOS = plat === "windows" || plat === "macos" || plat === "linux" || plat === "chrome os";
2088
+ if (uaData.mobile === true) {
2089
+ return true;
2090
+ }
2091
+ if (uaData.mobile === false && plat === "android") {
2092
+ const looksTouchTablet = matchMedia?.("(hover: none)").matches && matchMedia?.("(pointer: coarse)").matches;
2093
+ return looksTouchTablet;
2094
+ }
2095
+ if (isDesktopOS) {
2096
+ return false;
2097
+ }
2098
+ }
2099
+ if (isIOS) {
2100
+ return true;
2101
+ }
2102
+ if (isAndroid) {
2103
+ const isAndroidPhone = /Mobile/i.test(ua);
2104
+ const isAndroidTablet = !isAndroidPhone;
2105
+ if (isAndroidPhone || isAndroidTablet) {
2106
+ const looksTouchTablet = matchMedia?.("(hover: none)").matches && matchMedia?.("(pointer: coarse)").matches;
2107
+ return looksTouchTablet;
2108
+ }
2109
+ }
2110
+ const looksDesktopPlatform = /Win|Linux|CrOS|Mac/.test(platform) || /Windows NT|X11|CrOS|Macintosh/.test(ua);
2111
+ if (looksDesktopPlatform) {
2112
+ return false;
2113
+ }
2114
+ return false;
2115
+ };
2070
2116
 
2071
2117
  // src/random.ts
2072
2118
  var random = new Random(Date.now());
@@ -2189,6 +2235,7 @@ export {
2189
2235
  DEFAULT_UI_OPTIONS,
2190
2236
  DEFAULT_VERSION,
2191
2237
  DEFAULT_VERTICAL_ALIGN,
2238
+ DOUBLE_TAP_POSITION_THRESHOLD,
2192
2239
  DRAGGING_THRESHOLD,
2193
2240
  EDITOR_LS_KEYS,
2194
2241
  ELEMENTS_PALETTE_SHADE_INDEXES,
@@ -2232,8 +2279,11 @@ export {
2232
2279
  MIN_ZOOM,
2233
2280
  MONOSPACE_GENERIC_FONT,
2234
2281
  MQ_MAX_HEIGHT_LANDSCAPE,
2282
+ MQ_MAX_TABLET,
2235
2283
  MQ_MAX_WIDTH_LANDSCAPE,
2236
- MQ_MAX_WIDTH_PORTRAIT,
2284
+ MQ_MAX_WIDTH_MOBILE,
2285
+ MQ_MIN_TABLET,
2286
+ MQ_MIN_WIDTH_DESKTOP,
2237
2287
  MQ_RIGHT_SIDEBAR_MIN_WIDTH,
2238
2288
  ORIG_ID,
2239
2289
  POINTER_BUTTON,
@@ -2247,6 +2297,7 @@ export {
2247
2297
  SHIFT_LOCKING_ANGLE,
2248
2298
  SIDE_RESIZING_THRESHOLD,
2249
2299
  STATS_PANELS,
2300
+ STRING_MIME_TYPES,
2250
2301
  STROKE_WIDTH,
2251
2302
  SVG_DOCUMENT_PREAMBLE,
2252
2303
  SVG_NS,
@@ -2326,6 +2377,8 @@ export {
2326
2377
  isLatinChar,
2327
2378
  isLocalLink,
2328
2379
  isMemberOf,
2380
+ isMobile,
2381
+ isMobileOrTablet,
2329
2382
  isPrimitive,
2330
2383
  isProdEnv,
2331
2384
  isPromiseLike,