@sovann72-dev/lynqify-ui 1.0.1 → 1.0.2
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/components/RichTextEditor/Extension/Image/ImageResize/constants/index.d.ts +22 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/controllers/image-node-view.d.ts +38 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/controllers/position-controller.d.ts +12 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/controllers/resize-controller.d.ts +13 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/image-resize.d.ts +22 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/index.d.ts +4 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/types/index.d.ts +20 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/utils/attribute-parser.d.ts +4 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/utils/clamp-width.d.ts +6 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/utils/index.d.ts +7 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/utils/resize-handler.d.ts +12 -0
- package/dist/components/RichTextEditor/Extension/Image/ImageResize/utils/style-manager.d.ts +6 -0
- package/dist/index.d.ts +5 -1
- package/dist/lynqify-ui.js +1527 -985
- package/dist/lynqify-ui.umd.cjs +33 -10
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const CONSTANTS: {
|
|
2
|
+
readonly MOBILE_BREAKPOINT: 768;
|
|
3
|
+
readonly ICON_SIZE: "24px";
|
|
4
|
+
readonly CONTROLLER_HEIGHT: "25px";
|
|
5
|
+
readonly DOT_SIZE: {
|
|
6
|
+
readonly MOBILE: 16;
|
|
7
|
+
readonly DESKTOP: 9;
|
|
8
|
+
};
|
|
9
|
+
readonly DOT_POSITION: {
|
|
10
|
+
readonly MOBILE: "-8px";
|
|
11
|
+
readonly DESKTOP: "-4px";
|
|
12
|
+
};
|
|
13
|
+
readonly COLORS: {
|
|
14
|
+
readonly BORDER: "#6C6C6C";
|
|
15
|
+
readonly BACKGROUND: "rgba(255, 255, 255, 1)";
|
|
16
|
+
};
|
|
17
|
+
readonly ICONS: {
|
|
18
|
+
readonly LEFT: "https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/format_align_left/default/20px.svg";
|
|
19
|
+
readonly CENTER: "https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/format_align_center/default/20px.svg";
|
|
20
|
+
readonly RIGHT: "https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/format_align_right/default/20px.svg";
|
|
21
|
+
};
|
|
22
|
+
};
|
package/dist/components/RichTextEditor/Extension/Image/ImageResize/controllers/image-node-view.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ResizeLimits } from '../types';
|
|
2
|
+
interface NodeViewContext {
|
|
3
|
+
node: any;
|
|
4
|
+
editor: any;
|
|
5
|
+
view: any;
|
|
6
|
+
getPos: (() => number) | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare class ImageNodeView {
|
|
9
|
+
private context;
|
|
10
|
+
private elements;
|
|
11
|
+
private inline;
|
|
12
|
+
private resizeLimitsRef;
|
|
13
|
+
private resizeEventName?;
|
|
14
|
+
private handleResizeEvent?;
|
|
15
|
+
constructor(context: NodeViewContext, inline: boolean, resizeLimits?: ResizeLimits, resizeEventName?: string);
|
|
16
|
+
destroy(): void;
|
|
17
|
+
updateResizeLimits(newLimits: ResizeLimits): void;
|
|
18
|
+
private createElements;
|
|
19
|
+
private clearContainerBorder;
|
|
20
|
+
private dispatchNodeView;
|
|
21
|
+
private removeResizeElements;
|
|
22
|
+
private setupImageAttributes;
|
|
23
|
+
private setupDOMStructure;
|
|
24
|
+
/**
|
|
25
|
+
* Applies min/max width limits to the container and image.
|
|
26
|
+
* Enforces configured limits on initial render and when container style is re-applied.
|
|
27
|
+
*/
|
|
28
|
+
private applyResizeLimits;
|
|
29
|
+
private createPositionController;
|
|
30
|
+
private createResizeHandler;
|
|
31
|
+
private setupContainerClick;
|
|
32
|
+
private setupContentClick;
|
|
33
|
+
initialize(): {
|
|
34
|
+
dom: HTMLElement;
|
|
35
|
+
destroy: () => void;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ImageElements } from '../types';
|
|
2
|
+
export declare class PositionController {
|
|
3
|
+
private elements;
|
|
4
|
+
private inline;
|
|
5
|
+
private dispatchNodeView;
|
|
6
|
+
constructor(elements: ImageElements, inline: boolean, dispatchNodeView: () => void);
|
|
7
|
+
private createControllerIcon;
|
|
8
|
+
private handleLeftClick;
|
|
9
|
+
private handleCenterClick;
|
|
10
|
+
private handleRightClick;
|
|
11
|
+
createPositionControls(): PositionController;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ImageElements, ResizeLimits } from '../types';
|
|
2
|
+
export declare class ResizeController {
|
|
3
|
+
private elements;
|
|
4
|
+
private dispatchNodeView;
|
|
5
|
+
private getResizeLimits;
|
|
6
|
+
private state;
|
|
7
|
+
constructor(elements: ImageElements, dispatchNodeView: () => void, getResizeLimits?: () => ResizeLimits);
|
|
8
|
+
private handleMouseMove;
|
|
9
|
+
private handleMouseUp;
|
|
10
|
+
private handleTouchMove;
|
|
11
|
+
private handleTouchEnd;
|
|
12
|
+
createResizeHandle(index: number): HTMLElement;
|
|
13
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ImageOptions } from '@tiptap/extension-image';
|
|
2
|
+
import { Node } from '@tiptap/core';
|
|
3
|
+
declare module '@tiptap/core' {
|
|
4
|
+
interface Commands<ReturnType> {
|
|
5
|
+
imageResize: {
|
|
6
|
+
setResizableImage: (options: {
|
|
7
|
+
src: string;
|
|
8
|
+
alt?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
width?: number;
|
|
11
|
+
height?: number;
|
|
12
|
+
containerStyle?: string;
|
|
13
|
+
}) => ReturnType;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export interface ImageResizeOptions extends ImageOptions {
|
|
18
|
+
inline: boolean;
|
|
19
|
+
minWidth?: number;
|
|
20
|
+
maxWidth?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare const ImageResize: Node<ImageResizeOptions, any>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface ResizeState {
|
|
2
|
+
isResizing: boolean;
|
|
3
|
+
startX: number;
|
|
4
|
+
startWidth: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ResizeLimits {
|
|
7
|
+
minWidth?: number;
|
|
8
|
+
maxWidth?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface PositionController {
|
|
11
|
+
element: HTMLElement;
|
|
12
|
+
leftController: HTMLElement;
|
|
13
|
+
centerController?: HTMLElement;
|
|
14
|
+
rightController: HTMLElement;
|
|
15
|
+
}
|
|
16
|
+
export interface ImageElements {
|
|
17
|
+
wrapper: HTMLElement;
|
|
18
|
+
container: HTMLElement;
|
|
19
|
+
img: HTMLImageElement;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const IMAGE_RESIZE_EVENT = "image-resize-limit-update";
|
|
2
|
+
export declare class ResizeHandler {
|
|
3
|
+
private editorElement;
|
|
4
|
+
private currentMaxWidth;
|
|
5
|
+
private resizeTimeout;
|
|
6
|
+
private rafId;
|
|
7
|
+
constructor(editorElement: HTMLElement);
|
|
8
|
+
private measureContainerWidth;
|
|
9
|
+
private handleResize;
|
|
10
|
+
getCurrentMaxWidth(): number | undefined;
|
|
11
|
+
destroy(): void;
|
|
12
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './components/RichTextEditor/Extension/extensions';
|
|
2
|
+
export { Editor, type EditorEvents, useEditor, EditorContent } from '@tiptap/react';
|
|
2
3
|
export { default as Bold } from '@tiptap/extension-bold';
|
|
3
4
|
export { default as Color } from '@tiptap/extension-color';
|
|
4
5
|
export { default as Document } from '@tiptap/extension-document';
|
|
@@ -19,6 +20,7 @@ export { TextStyle } from '@tiptap/extension-text-style';
|
|
|
19
20
|
export { default as Underline } from '@tiptap/extension-underline';
|
|
20
21
|
export { CharacterCount, Placeholder, UndoRedo as History } from '@tiptap/extensions';
|
|
21
22
|
export { CustomParagraph } from './components/RichTextEditor/Extension/custom-paragraph.extension';
|
|
23
|
+
export { CustomLink } from './components/RichTextEditor/Extension/custom-link.extension';
|
|
22
24
|
export { IndentExtension } from './components/RichTextEditor/Extension/Indent/indent.extension';
|
|
23
25
|
export { CustomListItem, CustomBulletList, CustomOrderedList, } from './components/RichTextEditor/Extension/List/custom-list-item.extension';
|
|
24
26
|
export { DynamicBulletStyling } from './components/RichTextEditor/Extension/List/dynamic-bullet-styling.extension';
|
|
@@ -27,4 +29,6 @@ export { FontSize } from './components/RichTextEditor/Extension/tiptap-extension
|
|
|
27
29
|
export { LineHeight } from './components/RichTextEditor/Extension/tiptap-extension-lineheight';
|
|
28
30
|
export { MentionStorage } from './components/RichTextEditor/Extension/mentionstorage.extension';
|
|
29
31
|
export { BatchSegmentImagesExtension } from './components/RichTextEditor/Extension/batch-segment-images.extension';
|
|
30
|
-
export
|
|
32
|
+
export { ImageResize } from './components/RichTextEditor/Extension/Image/ImageResize';
|
|
33
|
+
export type { ResizeLimits } from './components/RichTextEditor/Extension/Image/ImageResize';
|
|
34
|
+
export type { BatchImage, BatchSegmentImagesOptions, } from './components/RichTextEditor/Extension/batch-segment-images.types';
|