constants.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { FontFamily } from "./element/types";
  2. export const DRAGGING_THRESHOLD = 10; // 10px
  3. export const LINE_CONFIRM_THRESHOLD = 10; // 10px
  4. export const ELEMENT_SHIFT_TRANSLATE_AMOUNT = 5;
  5. export const ELEMENT_TRANSLATE_AMOUNT = 1;
  6. export const TEXT_TO_CENTER_SNAP_THRESHOLD = 30;
  7. export const SHIFT_LOCKING_ANGLE = Math.PI / 12;
  8. export const CURSOR_TYPE = {
  9. TEXT: "text",
  10. CROSSHAIR: "crosshair",
  11. GRABBING: "grabbing",
  12. POINTER: "pointer",
  13. };
  14. export const POINTER_BUTTON = {
  15. MAIN: 0,
  16. WHEEL: 1,
  17. SECONDARY: 2,
  18. TOUCH: -1,
  19. };
  20. export enum SCENE {
  21. INIT = "SCENE_INIT",
  22. UPDATE = "SCENE_UPDATE",
  23. }
  24. export enum EVENT {
  25. COPY = "copy",
  26. PASTE = "paste",
  27. CUT = "cut",
  28. KEYDOWN = "keydown",
  29. KEYUP = "keyup",
  30. MOUSE_MOVE = "mousemove",
  31. RESIZE = "resize",
  32. UNLOAD = "unload",
  33. BLUR = "blur",
  34. DRAG_OVER = "dragover",
  35. DROP = "drop",
  36. GESTURE_END = "gestureend",
  37. BEFORE_UNLOAD = "beforeunload",
  38. GESTURE_START = "gesturestart",
  39. GESTURE_CHANGE = "gesturechange",
  40. POINTER_MOVE = "pointermove",
  41. POINTER_UP = "pointerup",
  42. STATE_CHANGE = "statechange",
  43. WHEEL = "wheel",
  44. TOUCH_START = "touchstart",
  45. TOUCH_END = "touchend",
  46. HASHCHANGE = "hashchange",
  47. }
  48. export const ENV = {
  49. TEST: "test",
  50. DEVELOPMENT: "development",
  51. };
  52. export const BROADCAST = {
  53. SERVER_VOLATILE: "server-volatile-broadcast",
  54. SERVER: "server-broadcast",
  55. };
  56. export const CLASSES = {
  57. SHAPE_ACTIONS_MENU: "App-menu__left",
  58. };
  59. // 1-based in case we ever do `if(element.fontFamily)`
  60. export const FONT_FAMILY = {
  61. 1: "Virgil",
  62. 2: "Helvetica",
  63. 3: "Cascadia",
  64. } as const;
  65. export const DEFAULT_FONT_SIZE = 20;
  66. export const DEFAULT_FONT_FAMILY: FontFamily = 1;
  67. export const DEFAULT_TEXT_ALIGN = "left";
  68. export const DEFAULT_VERTICAL_ALIGN = "top";
  69. export const CANVAS_ONLY_ACTIONS = ["selectAll"];
  70. export const GRID_SIZE = 20; // TODO make it configurable?
  71. export const LOCAL_STORAGE_KEY_COLLAB_FORCE_FLAG = "collabLinkForceLoadFlag";