@plait/core 0.21.0 → 0.23.0

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.
@@ -230,11 +230,11 @@ const PlaitBoard = {
230
230
  getElementHost(board) {
231
231
  return BOARD_TO_ELEMENT_HOST.get(board)?.host;
232
232
  },
233
- getElementHostUp(board) {
234
- return BOARD_TO_ELEMENT_HOST.get(board)?.hostUp;
233
+ getElementUpperHost(board) {
234
+ return BOARD_TO_ELEMENT_HOST.get(board)?.upperHost;
235
235
  },
236
- getElementHostActive(board) {
237
- return BOARD_TO_ELEMENT_HOST.get(board)?.hostActive;
236
+ getElementActiveHost(board) {
237
+ return BOARD_TO_ELEMENT_HOST.get(board)?.activeHost;
238
238
  },
239
239
  getRoughSVG(board) {
240
240
  return BOARD_TO_ROUGH_SVG.get(board);
@@ -869,6 +869,7 @@ var ResizeCursorClass;
869
869
  const ATTACHED_ELEMENT_CLASS_NAME = 'plait-board-attached';
870
870
 
871
871
  const CLIP_BOARD_FORMAT_KEY = 'x-plait-fragment';
872
+ const CLIP_BOARD_IMAGE_FORMAT_KEY = 'x-plait-image-fragment';
872
873
  const HOST_CLASS_NAME = 'plait-board-container';
873
874
  const SCROLL_BAR_WIDTH = 20;
874
875
  const MAX_RADIUS = 16;
@@ -2293,7 +2294,8 @@ function withSelection(board) {
2293
2294
  };
2294
2295
  board.globalMousemove = (event) => {
2295
2296
  if (needPreventNativeSelectionWhenMoving) {
2296
- preventNativeSelection(board, event);
2297
+ // prevent text from being selected
2298
+ event.preventDefault();
2297
2299
  }
2298
2300
  if (start) {
2299
2301
  const movedTarget = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
@@ -2423,12 +2425,6 @@ function createSelectionOuterG(board, selectElements) {
2423
2425
  fillStyle: 'solid'
2424
2426
  });
2425
2427
  }
2426
- /**
2427
- * prevent text from being selected
2428
- */
2429
- const preventNativeSelection = (board, event) => {
2430
- event.preventDefault();
2431
- };
2432
2428
 
2433
2429
  function withViewport(board) {
2434
2430
  const { onChange } = board;
@@ -2847,14 +2843,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
2847
2843
  }] } });
2848
2844
 
2849
2845
  const ElementHostClass = 'element-host';
2850
- const ElementHostUpClass = 'element-host-up';
2851
- const ElementHostActiveClass = 'element-host-active';
2846
+ const ElementUpperHostClass = 'element-upper-host';
2847
+ const ElementActiveHostClass = 'element-active-host';
2852
2848
  class PlaitBoardComponent {
2853
2849
  get host() {
2854
2850
  return this.svg.nativeElement;
2855
2851
  }
2856
2852
  get hostClass() {
2857
- return `${HOST_CLASS_NAME} pointer-${this.board.pointer} theme-${this.board.theme.themeColorMode}`;
2853
+ return `${HOST_CLASS_NAME} pointer-${this.board.pointer} theme-${this.board.theme.themeColorMode} ${this.getBrowserClassName()}`;
2854
+ }
2855
+ getBrowserClassName() {
2856
+ if (IS_SAFARI) {
2857
+ return 'safari';
2858
+ }
2859
+ if (IS_CHROME) {
2860
+ return 'chrome';
2861
+ }
2862
+ if (IS_FIREFOX) {
2863
+ return 'firefox';
2864
+ }
2865
+ return '';
2858
2866
  }
2859
2867
  get readonly() {
2860
2868
  return this.board.options.readonly;
@@ -2886,8 +2894,8 @@ class PlaitBoardComponent {
2886
2894
  }
2887
2895
  ngOnInit() {
2888
2896
  const elementHost = this.host.querySelector(`.${ElementHostClass}`);
2889
- const elementHostUp = this.host.querySelector(`.${ElementHostUpClass}`);
2890
- const elementHostActive = this.host.querySelector(`.${ElementHostActiveClass}`);
2897
+ const elementUpperHost = this.host.querySelector(`.${ElementUpperHostClass}`);
2898
+ const elementActiveHost = this.host.querySelector(`.${ElementActiveHostClass}`);
2891
2899
  const roughSVG = rough.svg(this.host, {
2892
2900
  options: { roughness: 0, strokeWidth: 1 }
2893
2901
  });
@@ -2908,8 +2916,8 @@ class PlaitBoardComponent {
2908
2916
  BOARD_TO_HOST.set(this.board, this.host);
2909
2917
  BOARD_TO_ELEMENT_HOST.set(this.board, {
2910
2918
  host: elementHost,
2911
- hostUp: elementHostUp,
2912
- hostActive: elementHostActive
2919
+ upperHost: elementUpperHost,
2920
+ activeHost: elementActiveHost
2913
2921
  });
2914
2922
  BOARD_TO_ON_CHANGE.set(this.board, () => {
2915
2923
  this.ngZone.run(() => {
@@ -3105,8 +3113,8 @@ PlaitBoardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
3105
3113
  <div class="viewport-container" #viewportContainer>
3106
3114
  <svg #svg width="100%" height="100%" style="position: relative;" class="board-host-svg">
3107
3115
  <g class="element-host"></g>
3108
- <g class="element-host-up"></g>
3109
- <g class="element-host-active"></g>
3116
+ <g class="element-upper-host"></g>
3117
+ <g class="element-active-host"></g>
3110
3118
  </svg>
3111
3119
  <plait-children [board]="board" [effect]="effect"></plait-children>
3112
3120
  </div>
@@ -3120,8 +3128,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
3120
3128
  <div class="viewport-container" #viewportContainer>
3121
3129
  <svg #svg width="100%" height="100%" style="position: relative;" class="board-host-svg">
3122
3130
  <g class="element-host"></g>
3123
- <g class="element-host-up"></g>
3124
- <g class="element-host-active"></g>
3131
+ <g class="element-upper-host"></g>
3132
+ <g class="element-active-host"></g>
3125
3133
  </svg>
3126
3134
  <plait-children [board]="board" [effect]="effect"></plait-children>
3127
3135
  </div>
@@ -3350,5 +3358,5 @@ function createModModifierKeys() {
3350
3358
  * Generated bundle index. Do not edit.
3351
3359
  */
3352
3360
 
3353
- export { A, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_COMPONENT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLIP_BOARD_FORMAT_KEY, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, D, DASH, DELETE, DOWN_ARROW, DarkThemeColor, DefaultThemeColor, E, EIGHT, ELEMENT_TO_COMPONENT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MERGING, META, MUTE, N, NINE, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRESS_AND_MOVE_BUFFER, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardComponent, PlaitChildrenElement, PlaitContextService, PlaitElement, PlaitElementComponent, PlaitHistoryBoard, PlaitIslandBaseComponent, PlaitIslandPopoverBaseComponent, PlaitModule, PlaitNode, PlaitOperation, PlaitPluginElementComponent, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RIGHT_ARROW, RectangleClient, ResizeCursorClass, RetroThemeColor, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, X, Y, Z, ZERO, addMovingElements, addSelectedElement, arrowPoints, cacheMovingElements, cacheSelectedElements, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createFakeEvent, createForeignObject, createG, createKeyboardEvent, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createSVG, createSelectionOuterG, createTestingBoard, createText, createTouchEvent, debounce, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, downloadImage, drawArrow, drawBezierPath, drawCircle, drawLine, drawLinearPath, drawRoundRectangle, fakeNodeWeakMap, getBoardRectangle, getElementHostBBox, getHitElementOfRoot, getHitElements, getIsRecursionFunc, getMovingElements, getRealScrollBarWidth, getRectangleByElements, getSelectedElements, getTemporaryElements, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnBoardChange, hasOnContextChanged, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isDOMElement, isDOMNode, isFromScrolling, isFromViewportChange, isHitElements, isInPlaitBoard, isMainPointer, isNullOrUndefined, isSecondaryPointer, isSelectedElement, isSelectionMoving, isSetViewportOperation, normalizePoint, preventNativeSelection, removeMovingElements, removeSelectedElement, rotate, scrollToRectangle, setIsFromScrolling, setIsFromViewportChange, setSVGViewBox, setSelectionMoving, shouldClear, shouldMerge, shouldSave, throttleRAF, toImage, toPoint, transformPoint, transformPoints, updateForeignObject, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withMoving, withOptions, withSelection };
3361
+ export { A, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_COMPONENT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLIP_BOARD_FORMAT_KEY, CLIP_BOARD_IMAGE_FORMAT_KEY, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, D, DASH, DELETE, DOWN_ARROW, DarkThemeColor, DefaultThemeColor, E, EIGHT, ELEMENT_TO_COMPONENT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MERGING, META, MUTE, N, NINE, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRESS_AND_MOVE_BUFFER, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardComponent, PlaitChildrenElement, PlaitContextService, PlaitElement, PlaitElementComponent, PlaitHistoryBoard, PlaitIslandBaseComponent, PlaitIslandPopoverBaseComponent, PlaitModule, PlaitNode, PlaitOperation, PlaitPluginElementComponent, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RIGHT_ARROW, RectangleClient, ResizeCursorClass, RetroThemeColor, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, X, Y, Z, ZERO, addMovingElements, addSelectedElement, arrowPoints, cacheMovingElements, cacheSelectedElements, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createFakeEvent, createForeignObject, createG, createKeyboardEvent, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createSVG, createSelectionOuterG, createTestingBoard, createText, createTouchEvent, debounce, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, downloadImage, drawArrow, drawBezierPath, drawCircle, drawLine, drawLinearPath, drawRoundRectangle, fakeNodeWeakMap, getBoardRectangle, getElementHostBBox, getHitElementOfRoot, getHitElements, getIsRecursionFunc, getMovingElements, getRealScrollBarWidth, getRectangleByElements, getSelectedElements, getTemporaryElements, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnBoardChange, hasOnContextChanged, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isDOMElement, isDOMNode, isFromScrolling, isFromViewportChange, isHitElements, isInPlaitBoard, isMainPointer, isNullOrUndefined, isSecondaryPointer, isSelectedElement, isSelectionMoving, isSetViewportOperation, normalizePoint, removeMovingElements, removeSelectedElement, rotate, scrollToRectangle, setIsFromScrolling, setIsFromViewportChange, setSVGViewBox, setSelectionMoving, shouldClear, shouldMerge, shouldSave, throttleRAF, toImage, toPoint, transformPoint, transformPoints, updateForeignObject, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withMoving, withOptions, withSelection };
3354
3362
  //# sourceMappingURL=plait-core.mjs.map