ados-rcm 1.1.982 → 1.1.984
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/AModule/AComponents/AEditor/AEditor.d.ts +2 -2
- package/dist/AModule/AComponents/AEditor/{AEditorFullscreen.d.ts → components/AEditorFullscreen.d.ts} +1 -1
- package/dist/AModule/AComponents/AEditor/{AEditorLimit.d.ts → components/AEditorLimit.d.ts} +1 -1
- package/dist/AModule/AComponents/AEditor/components/AEditorResizer.d.ts +3 -0
- package/dist/AModule/AComponents/AEditor/components/index.d.ts +3 -0
- package/dist/AModule/AComponents/AEditor/{AEditor.types.d.ts → core/AEditor.types.d.ts} +4 -4
- package/dist/AModule/AComponents/AEditor/{AEditorShared.d.ts → core/AEditorShared.d.ts} +2 -2
- package/dist/AModule/AComponents/AEditor/core/index.d.ts +3 -0
- package/dist/AModule/AComponents/AEditor/core/types.d.ts +67 -0
- package/dist/AModule/AComponents/AEditor/{AEditorQuillConfig.d.ts → engine/AEditorQuillConfig.d.ts} +3 -7
- package/dist/AModule/AComponents/AEditor/{AEditorQuillInstance.d.ts → engine/AEditorQuillInstance.d.ts} +2 -0
- package/dist/AModule/AComponents/AEditor/{AEditorRuntime.d.ts → engine/AEditorRuntime.d.ts} +1 -1
- package/dist/AModule/AComponents/AEditor/{AEditorValue.d.ts → engine/AEditorValue.d.ts} +1 -0
- package/dist/AModule/AComponents/AEditor/engine/index.d.ts +5 -0
- package/dist/AModule/AComponents/AEditor/hooks/index.d.ts +7 -0
- package/dist/AModule/AComponents/AEditor/hooks/useAEditorInitialTransition.d.ts +2 -0
- package/dist/AModule/AComponents/AEditor/{useAEditorModuleBootstrap.d.ts → hooks/useAEditorModuleBootstrap.d.ts} +1 -1
- package/dist/AModule/AComponents/AEditor/hooks/useAEditorQuillBinding.d.ts +5 -0
- package/dist/AModule/AComponents/AEditor/hooks/useAEditorResizeState.d.ts +2 -0
- package/dist/AModule/AComponents/AEditor/hooks/useAEditorRuntime.d.ts +3 -0
- package/dist/AModule/AComponents/AEditor/{useAEditorValueSync.d.ts → hooks/useAEditorValueSync.d.ts} +1 -16
- package/dist/AModule/AComponents/AEditor/modules/FullScreen.d.ts +1 -1
- package/dist/AModule/AComponents/AEditor/{FullscreenController.d.ts → modules/FullscreenController.d.ts} +1 -1
- package/dist/AModule/AComponents/AEditor/modules/Handlers.d.ts +5 -0
- package/dist/AModule/AComponents/AEditor/modules/TableUp.d.ts +0 -1
- package/dist/AModule/AComponents/AEditor/modules/TableUpLogical.d.ts +3 -0
- package/dist/AModule/AComponents/AEditor/modules/Video.d.ts +1 -0
- package/dist/AModule/AComponents/AEditor/modules/index.d.ts +10 -0
- package/dist/AModule/AComponents/ATree/ATree.d.ts +6 -0
- package/dist/AModule/AComponents/ATree/ATreeItem.d.ts +1 -0
- package/dist/{Copy-DEcNN-XY.js → Copy-DTW5vvoE.js} +18 -23
- package/dist/Copy-LulNpQKd.cjs +1 -0
- package/dist/{Divider-BrqJ_jPm.js → Divider-Bk1mAvgS.js} +1 -1
- package/dist/{Divider-5zPo67l-.cjs → Divider-Bmmb4j3o.cjs} +1 -1
- package/dist/{FullScreen-CQYl7Xtr.js → FullScreen-D4I8FFiZ.js} +1 -1
- package/dist/{FullScreen-TUkNNcwY.cjs → FullScreen-wmdvns_z.cjs} +1 -1
- package/dist/{ImageResizer-DuKd-cDC.js → ImageResizer-CM1lUTvs.js} +1 -1
- package/dist/{ImageResizer-BZKCvP08.cjs → ImageResizer-DTN2NKDX.cjs} +1 -1
- package/dist/TableClipboard-DeA84TQx.cjs +6 -0
- package/dist/{TableClipboard-mEouGJSA.js → TableClipboard-dP1nOskJ.js} +156 -165
- package/dist/TableSelection-DKDn0puy.cjs +1 -0
- package/dist/{TableSelection-CpjyqKim.js → TableSelection-DUPRpw0e.js} +21 -25
- package/dist/TableUp-4F04CMT3.cjs +1 -0
- package/dist/{TableUp-G-B_w0ED.js → TableUp-DZMOhWIf.js} +29 -33
- package/dist/TableUpLogical-BAmYwwAi.cjs +1 -0
- package/dist/{TableUpLogical-Ccyq6TyI.js → TableUpLogical-BFharRyf.js} +27 -21
- package/dist/Video-DoaHlFdP.cjs +1 -0
- package/dist/Video-hsvmJHUF.js +60 -0
- package/dist/{index-BSQCYCWr.js → index-Cr2bS3OI.js} +1 -1
- package/dist/{index-tImEtSOl.js → index-CzHUmPq6.js} +1 -1
- package/dist/{index-DiWP83lh.cjs → index-DHDWLGbK.cjs} +1 -1
- package/dist/{index-DO8UzrxY.cjs → index-eBufT9xl.cjs} +1 -1
- package/dist/index-vrHgYhV5.cjs +344 -0
- package/dist/{index-B46Pey03.js → index-zKqkBWur.js} +15614 -15606
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +13 -13
- package/package.json +1 -1
- package/dist/AModule/AComponents/AEditor/useAEditorInitialTransition.d.ts +0 -8
- package/dist/AModule/AComponents/AEditor/useAEditorQuillBinding.d.ts +0 -19
- package/dist/AModule/AComponents/AEditor/useAEditorResizeState.d.ts +0 -19
- package/dist/AModule/AComponents/AEditor/useAEditorRuntime.d.ts +0 -10
- package/dist/Copy-C53YImBi.cjs +0 -1
- package/dist/TableClipboard-VLo4e7nS.cjs +0 -6
- package/dist/TableSelection-CFByM7Xm.cjs +0 -1
- package/dist/TableUp-CI3X0VWR.cjs +0 -1
- package/dist/TableUpLogical-C6w-VDUU.cjs +0 -1
- package/dist/Video-BwTXCq5Q.cjs +0 -1
- package/dist/Video-Dys63ED5.js +0 -55
- package/dist/index-M_eV3rvp.cjs +0 -344
- /package/dist/AModule/AComponents/AEditor/{AEditorLayout.d.ts → core/AEditorLayout.d.ts} +0 -0
- /package/dist/AModule/AComponents/AEditor/{AEditorTableStyle.d.ts → engine/AEditorTableStyle.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { IAEditorProps } from './
|
|
3
|
-
export type { IAEditorProps, IAEditorRef, TAEditorLimitPosition, TAEditorSize, TAEditorToolbarType, TAEditorType, TValueSyncMode, } from './
|
|
2
|
+
import { IAEditorProps } from './core/types';
|
|
3
|
+
export type { IAEditorProps, IAEditorRef, TAEditorLimitPosition, TAEditorSize, TAEditorToolbarType, TAEditorType, TValueSyncMode, } from './core/types';
|
|
4
4
|
export declare const AEditor: (props: IAEditorProps) => React.ReactNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { Quill } from 'react-quill-new';
|
|
3
|
-
import { QuillFullscreenButtonOptions } from '
|
|
3
|
+
import { QuillFullscreenButtonOptions } from '../modules/FullscreenController';
|
|
4
4
|
interface IAEditorFullscreenProps {
|
|
5
5
|
isReadonly: boolean;
|
|
6
6
|
quillInstance: Quill | null;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { IAEditorResizerProps } from '../core/types';
|
|
3
|
+
export declare function AEditorResizer({ contentHeight, currentHeight, handleResizeStart, isResizing, noTransition, resizerHeight, }: Readonly<IAEditorResizerProps>): React.ReactNode;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { default as ReactQuill } from 'react-quill-new';
|
|
3
|
-
import { TUseValues } from '
|
|
4
|
-
import { IABaseProps } from '
|
|
5
|
-
import { IAWrapProps } from '
|
|
6
|
-
import { IClipboardOptions } from '
|
|
3
|
+
import { TUseValues } from '../../../AHooks/useValues';
|
|
4
|
+
import { IABaseProps } from '../../ABase/ABase';
|
|
5
|
+
import { IAWrapProps } from '../../AWrap/AWrap';
|
|
6
|
+
import { IClipboardOptions } from '../modules/Copy';
|
|
7
7
|
export interface IAEditorRef extends ReactQuill {
|
|
8
8
|
copyContent: (options?: IClipboardOptions) => void;
|
|
9
9
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { CSSProperties, RefObject } from 'react';
|
|
2
|
+
import { default as ReactQuill, DeltaStatic } from 'react-quill-new';
|
|
3
|
+
import { IAEditorRef, TValueSyncMode } from './AEditor.types';
|
|
4
|
+
import { IAEditorRuntimeSnapshot, TAEditorRuntimeProfile } from '../engine/AEditorRuntime';
|
|
5
|
+
export type { IAEditorProps, IAEditorRef, TAEditorLimitPosition, TAEditorSize, TAEditorToolbarType, TAEditorType, TValueSyncMode, } from './AEditor.types';
|
|
6
|
+
export type { IAEditorRuntime, IAEditorRuntimeBase, IAEditorRuntimeLoaded, IAEditorRuntimeProfileInput, IAEditorRuntimeSnapshot, TAEditorRuntimeProfile, } from '../engine/AEditorRuntime';
|
|
7
|
+
export type { QuillFullscreenButtonOptions } from '../modules/FullscreenController';
|
|
8
|
+
export type { ToolbarIcons, DestroyableModule, ClipboardModule } from '../engine/AEditorQuillConfig';
|
|
9
|
+
export interface UseAEditorRuntimeParams {
|
|
10
|
+
initialRuntimeSnapshot: IAEditorRuntimeSnapshot;
|
|
11
|
+
runtimeProfile: TAEditorRuntimeProfile;
|
|
12
|
+
syncEditorDeltaState: (nextDelta: DeltaStatic, nextCalculatedSize?: number) => void;
|
|
13
|
+
value: string;
|
|
14
|
+
}
|
|
15
|
+
export interface UseAEditorValueSyncParams {
|
|
16
|
+
canSetValue: boolean;
|
|
17
|
+
deferredSyncMs: number;
|
|
18
|
+
editorRef: RefObject<ReactQuill | null>;
|
|
19
|
+
hasExternalValue: boolean;
|
|
20
|
+
initialRuntimeSnapshot: IAEditorRuntimeSnapshot;
|
|
21
|
+
maxLength?: number;
|
|
22
|
+
setValue: ((nextValue: string) => void) | undefined;
|
|
23
|
+
shouldMaintainLocalDelta: boolean;
|
|
24
|
+
shouldTrackLimit: boolean;
|
|
25
|
+
value: string;
|
|
26
|
+
valueSyncMode: TValueSyncMode;
|
|
27
|
+
}
|
|
28
|
+
export interface UseAEditorQuillBindingParams {
|
|
29
|
+
commitPendingValueSync: () => void;
|
|
30
|
+
contentHeight?: number;
|
|
31
|
+
editorClassName?: string;
|
|
32
|
+
editorRef: RefObject<ReactQuill | null>;
|
|
33
|
+
editorStyle?: CSSProperties;
|
|
34
|
+
extEditorRef?: RefObject<IAEditorRef | null> | ((instance: IAEditorRef | null) => void);
|
|
35
|
+
handleResizeToolbar: ResizeObserverCallback;
|
|
36
|
+
isReadonly: boolean;
|
|
37
|
+
runtime: IAEditorRuntimeSnapshot;
|
|
38
|
+
}
|
|
39
|
+
export interface UseAEditorInitialTransitionParams {
|
|
40
|
+
editorRef: RefObject<ReactQuill | null>;
|
|
41
|
+
isReadonly: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface IAEditorResizeSession {
|
|
44
|
+
initialClientY: number;
|
|
45
|
+
initialHeight: number;
|
|
46
|
+
}
|
|
47
|
+
export interface IUseAEditorResizeStateParams {
|
|
48
|
+
contentHeight?: number;
|
|
49
|
+
extMaxHeight?: number;
|
|
50
|
+
extMinHeight?: number;
|
|
51
|
+
initialToolbarHeight: number;
|
|
52
|
+
}
|
|
53
|
+
export interface IUseAEditorResizeStateResult {
|
|
54
|
+
currentHeight?: number;
|
|
55
|
+
handleResizeStart: (event: import('react').MouseEvent) => void;
|
|
56
|
+
handleResizeToolbar: ResizeObserverCallback;
|
|
57
|
+
isResizing: boolean;
|
|
58
|
+
toolbarHeight: number;
|
|
59
|
+
}
|
|
60
|
+
export interface IAEditorResizerProps {
|
|
61
|
+
contentHeight?: number;
|
|
62
|
+
currentHeight?: number;
|
|
63
|
+
handleResizeStart: (e: import('react').MouseEvent) => void;
|
|
64
|
+
isResizing: boolean;
|
|
65
|
+
noTransition: string;
|
|
66
|
+
resizerHeight: number;
|
|
67
|
+
}
|
package/dist/AModule/AComponents/AEditor/{AEditorQuillConfig.d.ts → engine/AEditorQuillConfig.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
2
|
import { default as ReactQuill } from 'react-quill-new';
|
|
3
|
-
import { TAEditorSize, TAEditorType } from '
|
|
3
|
+
import { TAEditorSize, TAEditorType } from '../core/AEditor.types';
|
|
4
4
|
import { IAEditorRuntime, IAEditorRuntimeSnapshot } from './AEditorRuntime';
|
|
5
|
-
import { QuillFullscreenButtonOptions } from '
|
|
5
|
+
import { QuillFullscreenButtonOptions } from '../modules/FullscreenController';
|
|
6
6
|
interface CreateDefaultModulesParams {
|
|
7
7
|
icons: ToolbarIcons;
|
|
8
8
|
noImageResize?: boolean;
|
|
@@ -19,12 +19,9 @@ export interface DestroyableModule {
|
|
|
19
19
|
destroy?: () => void;
|
|
20
20
|
}
|
|
21
21
|
export interface ClipboardModule {
|
|
22
|
-
copyContent: (options?: import('
|
|
22
|
+
copyContent: (options?: import('../modules/Copy').IClipboardOptions) => Promise<boolean>;
|
|
23
23
|
}
|
|
24
24
|
export declare const DEFAULT_CUSTOM_MODULE_NAMES: readonly ["copy", "toggleFullscreen", "imageCompress", "resize", "clipboard"];
|
|
25
|
-
export declare const EDITOR_IMAGE_SIZE_CACHE: Map<string, number>;
|
|
26
|
-
export declare const EDITOR_IMAGE_SIZE_LIMIT = 256;
|
|
27
|
-
export declare const EDITOR_IMAGE_QUALITY = 0.7;
|
|
28
25
|
export declare function createToggleFullscreenOptions({ icons, type, }: Pick<CreateDefaultModulesParams, 'icons' | 'type'>): QuillFullscreenButtonOptions;
|
|
29
26
|
export declare function createToolbarIcons(toolbarSize: TAEditorSize): ToolbarIcons;
|
|
30
27
|
export declare function createEditorCssVariables(isTitleMode: boolean, toolbarSize: TAEditorSize, icons: ToolbarIcons): CSSProperties;
|
|
@@ -36,5 +33,4 @@ export declare function resolveQuillModules(params: {
|
|
|
36
33
|
runtime: IAEditorRuntimeSnapshot;
|
|
37
34
|
type: TAEditorType;
|
|
38
35
|
}): ReactQuill.ReactQuillProps['modules'] | undefined;
|
|
39
|
-
export declare function computeInitialCalculatedSize(shouldTrackLimit: boolean, html: import('react-quill-new').DeltaStatic, calculateTextSize: (delta: import('react-quill-new').DeltaStatic, imageSizes: Map<string, number>, quality: number) => number): number;
|
|
40
36
|
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { default as ReactQuill, Quill } from 'react-quill-new';
|
|
2
2
|
export declare function getInstantiatedEditor(editorInstance: ReactQuill | null | undefined): Quill | null;
|
|
3
3
|
export declare function clearInstantiatedEditor(editorInstance: ReactQuill | null | undefined): void;
|
|
4
|
+
export declare function findQuillToolbar(quillContainer: Element | null | undefined): Element | null;
|
|
5
|
+
export declare function findQuillContainer(quill: Quill | null | undefined): HTMLElement | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TAEditorToolbarType, TAEditorType } from '
|
|
1
|
+
import { TAEditorToolbarType, TAEditorType } from '../core/AEditor.types';
|
|
2
2
|
type TableUpModule = typeof import('quill-table-up');
|
|
3
3
|
type TCanonicalEditorRuntimeProfile = 'display' | 'readonly' | 'title' | 'full';
|
|
4
4
|
export type TAEditorRuntimeProfile = TCanonicalEditorRuntimeProfile | 'RawMinimal' | 'ReadOnly' | 'Title' | 'Full';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DeltaStatic } from 'react-quill-new';
|
|
2
2
|
export declare function normalizeEditorHtml(html: string): string;
|
|
3
|
+
export declare function writeLruCacheValue<K, V>(cache: Map<K, V>, key: K, value: V, limit?: number): void;
|
|
3
4
|
export declare function preserveWhitespaceHtml(html: string): string;
|
|
4
5
|
export declare function sanitizeHtmlToDelta(html: string): DeltaStatic;
|
|
5
6
|
export declare function deltaToHtml(delta: DeltaStatic): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { useAEditorInitialTransition } from './useAEditorInitialTransition';
|
|
2
|
+
export { useAEditorModuleBootstrap } from './useAEditorModuleBootstrap';
|
|
3
|
+
export { useAEditorQuillBinding } from './useAEditorQuillBinding';
|
|
4
|
+
export { useAEditorResizeState } from './useAEditorResizeState';
|
|
5
|
+
export { useAEditorRuntime } from './useAEditorRuntime';
|
|
6
|
+
export { useAEditorValueSync } from './useAEditorValueSync';
|
|
7
|
+
export type { IAEditorResizeSession, IAEditorResizerProps, IUseAEditorResizeStateParams, IUseAEditorResizeStateResult, UseAEditorInitialTransitionParams, UseAEditorQuillBindingParams, UseAEditorRuntimeParams, UseAEditorValueSyncParams, } from '../core/types';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { default as ReactQuill } from 'react-quill-new';
|
|
2
|
+
import { UseAEditorQuillBindingParams } from '../core/types';
|
|
3
|
+
export declare function useAEditorQuillBinding({ contentHeight, commitPendingValueSync, editorClassName, editorRef, editorStyle, extEditorRef, handleResizeToolbar, isReadonly, runtime, }: UseAEditorQuillBindingParams): {
|
|
4
|
+
editorRefCallback: (editorInstance: ReactQuill | null) => void;
|
|
5
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { IAEditorRuntimeSnapshot } from '../engine/AEditorRuntime';
|
|
2
|
+
import { UseAEditorRuntimeParams } from '../core/types';
|
|
3
|
+
export declare function useAEditorRuntime({ initialRuntimeSnapshot, runtimeProfile, syncEditorDeltaState, value, }: UseAEditorRuntimeParams): IAEditorRuntimeSnapshot;
|
package/dist/AModule/AComponents/AEditor/{useAEditorValueSync.d.ts → hooks/useAEditorValueSync.d.ts}
RENAMED
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
import { default as ReactQuill, DeltaStatic, EmitterSource } from 'react-quill-new';
|
|
2
|
-
import {
|
|
3
|
-
import { IAEditorRuntimeSnapshot } from './AEditorRuntime';
|
|
4
|
-
interface UseAEditorValueSyncParams {
|
|
5
|
-
canSetValue: boolean;
|
|
6
|
-
deferredSyncMs: number;
|
|
7
|
-
editorRef: React.RefObject<ReactQuill | null>;
|
|
8
|
-
hasExternalValue: boolean;
|
|
9
|
-
initialRuntimeSnapshot: IAEditorRuntimeSnapshot;
|
|
10
|
-
maxLength?: number;
|
|
11
|
-
setValue: ((nextValue: string) => void) | undefined;
|
|
12
|
-
shouldMaintainLocalDelta: boolean;
|
|
13
|
-
shouldTrackLimit: boolean;
|
|
14
|
-
value: string;
|
|
15
|
-
valueSyncMode: TValueSyncMode;
|
|
16
|
-
}
|
|
2
|
+
import { UseAEditorValueSyncParams } from '../core/types';
|
|
17
3
|
export declare function useAEditorValueSync({ canSetValue, deferredSyncMs, editorRef, hasExternalValue, initialRuntimeSnapshot, maxLength, setValue, shouldMaintainLocalDelta, shouldTrackLimit, value, valueSyncMode, }: UseAEditorValueSyncParams): {
|
|
18
4
|
calculatedSize: number;
|
|
19
5
|
clearScheduledValueSync: () => void;
|
|
@@ -25,4 +11,3 @@ export declare function useAEditorValueSync({ canSetValue, deferredSyncMs, edito
|
|
|
25
11
|
htmlDeltaRef: import('react').RefObject<DeltaStatic>;
|
|
26
12
|
syncEditorDeltaState: (nextDelta: DeltaStatic, nextCalculatedSize?: number) => void;
|
|
27
13
|
};
|
|
28
|
-
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Quill } from 'react-quill-new';
|
|
2
|
-
import { QuillFullscreenButtonOptions } from '
|
|
2
|
+
import { QuillFullscreenButtonOptions } from './FullscreenController';
|
|
3
3
|
export default class QuillToggleFullscreenButton {
|
|
4
4
|
readonly quill: Quill;
|
|
5
5
|
readonly options: QuillFullscreenButtonOptions;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { Quill } from 'react-quill-new';
|
|
2
|
+
/**
|
|
3
|
+
* Quill 툴바/키보드 핸들러 - Quill API가 this를 바인딩하므로 별도 모듈로 분리
|
|
4
|
+
* (함수형 컴포넌트 내부에서 this 사용 시 SonarQube S6757 위반 방지)
|
|
5
|
+
*/
|
|
6
|
+
export declare const deferMicrotask: (callback: () => void) => void;
|
|
2
7
|
export declare function removeNewlineHandler(this: {
|
|
3
8
|
quill: Quill;
|
|
4
9
|
}, _range: unknown, context: {
|
|
@@ -5,7 +5,6 @@ declare class JaeKanTableUp extends TableUp {
|
|
|
5
5
|
private moveSelectionToCell;
|
|
6
6
|
private clearDisplayedSelection;
|
|
7
7
|
private resolveSplitTargetCell;
|
|
8
|
-
private resolveTableCellNode;
|
|
9
8
|
private resolveCellInnerFromNode;
|
|
10
9
|
private readElementHeight;
|
|
11
10
|
private applyCellHeight;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TableCellInnerFormat } from 'quill-table-up';
|
|
1
2
|
export interface ITableCellIdentity {
|
|
2
3
|
colId: string;
|
|
3
4
|
rowId: string;
|
|
@@ -45,6 +46,8 @@ export interface IDomTableGridGeometry {
|
|
|
45
46
|
rowEdges: number[];
|
|
46
47
|
tableRect: IDomTableViewportRect;
|
|
47
48
|
}
|
|
49
|
+
export declare function resolveColumnCount(table: HTMLTableElement): number;
|
|
50
|
+
export declare function resolveTableCellNode(cell: TableCellInnerFormat): HTMLTableCellElement | null;
|
|
48
51
|
export declare function buildDomTableGrid(table: HTMLTableElement): IDomTableGrid | null;
|
|
49
52
|
export declare function buildDomTableGeometry(tableGrid: IDomTableGrid): IDomTableGridGeometry | null;
|
|
50
53
|
export declare function resolveViewportRectBounds(rects: IDomTableViewportRect[]): IDomTableViewportRect | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { default as CopyModule } from './Copy';
|
|
2
|
+
export { default as DividerBlot } from './Divider';
|
|
3
|
+
export { default as QuillToggleFullscreenButton } from './FullScreen';
|
|
4
|
+
export * from './FullscreenController';
|
|
5
|
+
export { default as ImageCompressor } from './ImageCompressor';
|
|
6
|
+
export { default as QuillResize } from './ImageResizer';
|
|
7
|
+
export { TableClipboard } from './TableClipboard';
|
|
8
|
+
export { default as JaeKanTableUp } from './TableUp';
|
|
9
|
+
export { default as VideoBlot } from './Video';
|
|
10
|
+
export * from './Handlers';
|
|
@@ -224,6 +224,12 @@ export interface IATreeProps<T extends IATreeItem<T>> extends IABaseProps {
|
|
|
224
224
|
* Description : resources of ATree
|
|
225
225
|
*/
|
|
226
226
|
resources?: Partial<typeof Resources.ATree>;
|
|
227
|
+
/**
|
|
228
|
+
* rightStickyProps? : React.HTMLAttributes<HTMLDivElement>
|
|
229
|
+
*
|
|
230
|
+
* Description : rightStickyProps of ATree
|
|
231
|
+
*/
|
|
232
|
+
rightStickyProps?: React.HTMLAttributes<HTMLDivElement>;
|
|
227
233
|
/**
|
|
228
234
|
* searchCircular? : boolean (default: false)
|
|
229
235
|
*
|
|
@@ -46,6 +46,7 @@ export interface IATreeItemProps<T> {
|
|
|
46
46
|
onMouseOver?: (e: React.MouseEvent<HTMLElement>, item: T) => void;
|
|
47
47
|
parentsInfo: IParentInfo<T>[];
|
|
48
48
|
resources: typeof Resources.ATree;
|
|
49
|
+
rightStickyProps?: React.HTMLAttributes<HTMLDivElement>;
|
|
49
50
|
searchItemClassName?: TCanCallback<IATreeItemProps<T>, string>;
|
|
50
51
|
searchItemStyle?: TCanCallback<IATreeItemProps<T>, React.CSSProperties>;
|
|
51
52
|
selectDisabled?: (item: T) => boolean | string | undefined;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
var x = Object.defineProperty;
|
|
2
2
|
var p = (i, t, r) => t in i ? x(i, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[t] = r;
|
|
3
3
|
var s = (i, t, r) => p(i, typeof t != "symbol" ? t + "" : t, r);
|
|
4
|
-
import { D as u, Q as
|
|
5
|
-
const
|
|
4
|
+
import { D as u, Q as d, d as m } from "./index-zKqkBWur.js";
|
|
5
|
+
const h = {
|
|
6
6
|
capture: !0
|
|
7
|
-
},
|
|
8
|
-
function
|
|
7
|
+
}, E = /* @__PURE__ */ new Set(["P", "DIV", "LI", "BLOCKQUOTE", "PRE", "TR", "TD", "TH", "SECTION", "ARTICLE", "H1", "H2", "H3", "H4", "H5", "H6"]), C = /<(?:br|p|div|li|blockquote|pre|tr|td|th|section|article|h[1-6])\b|[\r\n\t]/i, T = /[\r\n\t]+/g, f = /\s{2,}/g;
|
|
8
|
+
function b(i) {
|
|
9
9
|
return typeof i.insert == "string" ? i.insert.length : 1;
|
|
10
10
|
}
|
|
11
|
-
class
|
|
11
|
+
class L {
|
|
12
12
|
constructor(t, r = {}) {
|
|
13
13
|
s(this, "clipboard");
|
|
14
14
|
s(this, "quill");
|
|
@@ -21,25 +21,25 @@ class N {
|
|
|
21
21
|
const a = e.clipboardData.getData("text/html"), n = e.clipboardData.getData("text/plain"), l = this.quill.getSelection(!0);
|
|
22
22
|
if (!l) return;
|
|
23
23
|
if (a) {
|
|
24
|
-
const y = this.normalizeTitlePasteHtml(a),
|
|
24
|
+
const y = this.normalizeTitlePasteHtml(a), o = this.clipboard.convert({
|
|
25
25
|
html: y
|
|
26
26
|
});
|
|
27
|
-
this.applyPasteDelta(l.index, l.length,
|
|
27
|
+
this.applyPasteDelta(l.index, l.length, o), this.scheduleSelection(l.index + this.getDeltaLength(o));
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
const c = this.normalizeTitlePasteText(n);
|
|
31
31
|
this.applyPasteText(l.index, l.length, c), this.scheduleSelection(l.index + c.length);
|
|
32
32
|
};
|
|
33
|
-
t.addEventListener("paste", r,
|
|
34
|
-
t.removeEventListener("paste", r,
|
|
33
|
+
t.addEventListener("paste", r, h), this.cleanupFunctions.push(() => {
|
|
34
|
+
t.removeEventListener("paste", r, h);
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
normalizeTitlePasteText(t) {
|
|
38
|
-
return t.replaceAll(
|
|
38
|
+
return t.replaceAll(T, " ").replaceAll(f, " ").trim();
|
|
39
39
|
}
|
|
40
40
|
normalizeTitlePasteHtml(t) {
|
|
41
41
|
var l, c;
|
|
42
|
-
if (!
|
|
42
|
+
if (!C.test(t)) return t;
|
|
43
43
|
const r = document.createElement("div");
|
|
44
44
|
r.innerHTML = t, this.flattenTitlePasteNode(r);
|
|
45
45
|
const e = document.createTreeWalker(r, NodeFilter.SHOW_TEXT);
|
|
@@ -54,7 +54,7 @@ class N {
|
|
|
54
54
|
const r = Array.from(t.childNodes);
|
|
55
55
|
for (const a of r) {
|
|
56
56
|
if (a.nodeType === Node.TEXT_NODE) {
|
|
57
|
-
a.textContent = ((e = a.textContent) == null ? void 0 : e.replaceAll(
|
|
57
|
+
a.textContent = ((e = a.textContent) == null ? void 0 : e.replaceAll(T, " ")) ?? "";
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
60
60
|
if (a instanceof HTMLElement) {
|
|
@@ -62,7 +62,7 @@ class N {
|
|
|
62
62
|
a.replaceWith(document.createTextNode(" "));
|
|
63
63
|
continue;
|
|
64
64
|
}
|
|
65
|
-
this.flattenTitlePasteNode(a),
|
|
65
|
+
this.flattenTitlePasteNode(a), E.has(a.tagName) && a.nextSibling && !this.endsWithWhitespace(a) && a.appendChild(document.createTextNode(" "));
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -81,23 +81,18 @@ class N {
|
|
|
81
81
|
}
|
|
82
82
|
getDeltaLength(t) {
|
|
83
83
|
var r;
|
|
84
|
-
return ((r = t.ops) == null ? void 0 : r.reduce((e, a) => e +
|
|
84
|
+
return ((r = t.ops) == null ? void 0 : r.reduce((e, a) => e + b(a), 0)) ?? 0;
|
|
85
85
|
}
|
|
86
86
|
applyPasteDelta(t, r, e) {
|
|
87
87
|
const a = new u().retain(t).delete(r).concat(e);
|
|
88
|
-
this.quill.updateContents(a,
|
|
88
|
+
this.quill.updateContents(a, d.sources.USER);
|
|
89
89
|
}
|
|
90
90
|
applyPasteText(t, r, e) {
|
|
91
91
|
const a = new u().retain(t).delete(r);
|
|
92
|
-
e && a.insert(e), this.quill.updateContents(a,
|
|
92
|
+
e && a.insert(e), this.quill.updateContents(a, d.sources.USER);
|
|
93
93
|
}
|
|
94
94
|
scheduleSelection(t) {
|
|
95
|
-
|
|
96
|
-
if (typeof queueMicrotask == "function") {
|
|
97
|
-
queueMicrotask(r);
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
setTimeout(r, 0);
|
|
95
|
+
m(() => this.quill.setSelection(t, 0, d.sources.SILENT));
|
|
101
96
|
}
|
|
102
97
|
destroy() {
|
|
103
98
|
this.cleanupFunctions.forEach((t) => t()), this.cleanupFunctions = [];
|
|
@@ -192,5 +187,5 @@ class N {
|
|
|
192
187
|
}
|
|
193
188
|
}
|
|
194
189
|
export {
|
|
195
|
-
|
|
190
|
+
L as default
|
|
196
191
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var y=Object.defineProperty;var x=(i,t,r)=>t in i?y(i,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[t]=r;var d=(i,t,r)=>x(i,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index-vrHgYhV5.cjs"),u={capture:!0},p=new Set(["P","DIV","LI","BLOCKQUOTE","PRE","TR","TD","TH","SECTION","ARTICLE","H1","H2","H3","H4","H5","H6"]),m=/<(?:br|p|div|li|blockquote|pre|tr|td|th|section|article|h[1-6])\b|[\r\n\t]/i,T=/[\r\n\t]+/g,h=/\s{2,}/g;function E(i){return typeof i.insert=="string"?i.insert.length:1}class b{constructor(t,r={}){d(this,"clipboard");d(this,"quill");d(this,"cleanupFunctions",[]);this.clipboard=t.getModule("clipboard"),this.quill=t,r.isTitleMode&&this.setupTitleModePaste()}setupTitleModePaste(){const t=this.quill.root,r=e=>{if(e.preventDefault(),!e.clipboardData)return;const l=e.clipboardData.getData("text/html"),n=e.clipboardData.getData("text/plain"),a=this.quill.getSelection(!0);if(!a)return;if(l){const f=this.normalizeTitlePasteHtml(l),o=this.clipboard.convert({html:f});this.applyPasteDelta(a.index,a.length,o),this.scheduleSelection(a.index+this.getDeltaLength(o));return}const s=this.normalizeTitlePasteText(n);this.applyPasteText(a.index,a.length,s),this.scheduleSelection(a.index+s.length)};t.addEventListener("paste",r,u),this.cleanupFunctions.push(()=>{t.removeEventListener("paste",r,u)})}normalizeTitlePasteText(t){return t.replaceAll(T," ").replaceAll(h," ").trim()}normalizeTitlePasteHtml(t){var a,s;if(!m.test(t))return t;const r=document.createElement("div");r.innerHTML=t,this.flattenTitlePasteNode(r);const e=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);let l=e.nextNode();for(;l;)l.textContent=((a=l.textContent)==null?void 0:a.replaceAll(h," "))??"",l=e.nextNode();const n=this.findLastTextNode(r);return n&&(n.textContent=((s=n.textContent)==null?void 0:s.replaceAll(/\s+$/g,""))??""),r.innerHTML}flattenTitlePasteNode(t){var e;const r=Array.from(t.childNodes);for(const l of r){if(l.nodeType===Node.TEXT_NODE){l.textContent=((e=l.textContent)==null?void 0:e.replaceAll(T," "))??"";continue}if(l instanceof HTMLElement){if(l.tagName==="BR"){l.replaceWith(document.createTextNode(" "));continue}this.flattenTitlePasteNode(l),p.has(l.tagName)&&l.nextSibling&&!this.endsWithWhitespace(l)&&l.appendChild(document.createTextNode(" "))}}}endsWithWhitespace(t){var r;return/\s$/.test(((r=this.findLastTextNode(t))==null?void 0:r.textContent)??"")}findLastTextNode(t){const r=Array.from(t.childNodes).reverse();for(const e of r){if(e.nodeType===Node.TEXT_NODE)return e;const l=this.findLastTextNode(e);if(l)return l}return null}getDeltaLength(t){var r;return((r=t.ops)==null?void 0:r.reduce((e,l)=>e+E(l),0))??0}applyPasteDelta(t,r,e){const l=new c.Delta().retain(t).delete(r).concat(e);this.quill.updateContents(l,c.Quill.sources.USER)}applyPasteText(t,r,e){const l=new c.Delta().retain(t).delete(r);e&&l.insert(e),this.quill.updateContents(l,c.Quill.sources.USER)}scheduleSelection(t){c.deferMicrotask(()=>this.quill.setSelection(t,0,c.Quill.sources.SILENT))}destroy(){this.cleanupFunctions.forEach(t=>t()),this.cleanupFunctions=[]}async copyContent(t){var r;try{const e=this.quill.getText(),l=this.quill.root.innerHTML;return this.copyToClipboard(e,l,t)}catch(e){return console.error("Error in copyContent:",e),(r=t==null?void 0:t.onError)==null||r.call(t),!1}}async copyToClipboard(t,r,e){var l,n;try{return await this.tryModernClipboardWithHtml(t,r,e)||await this.tryModernClipboardText(t,e)||r&&this.tryLegacyClipboardWithHtml(r,e)||this.tryLegacyClipboardText(t,e)?!0:((l=e==null?void 0:e.onError)==null||l.call(e),!1)}catch(a){return console.error("복사 중 오류 발생:",a),(n=e==null?void 0:e.onError)==null||n.call(e),!1}}async tryModernClipboardWithHtml(t,r,e){var l;if(!navigator.clipboard||!r||!globalThis.ClipboardItem||!globalThis.isSecureContext)return!1;try{return await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([r],{type:"text/html"}),"text/plain":new Blob([t],{type:"text/plain"})})]),(l=e==null?void 0:e.onSuccess)==null||l.call(e),!0}catch{return!1}}async tryModernClipboardText(t,r){var e;if(!navigator.clipboard||!globalThis.isSecureContext)return!1;try{return await navigator.clipboard.writeText(t),(e=r==null?void 0:r.onSuccess)==null||e.call(r),!0}catch{return!1}}tryLegacyClipboardWithHtml(t,r){const e=document.createElement("div");e.innerHTML=t,e.style.cssText="position:fixed;left:-9999px;top:-9999px;opacity:0;",document.body.appendChild(e);try{const l=document.createRange();l.selectNodeContents(e);const n=globalThis.getSelection();return n?(n.removeAllRanges(),n.addRange(l),this.tryClipboardEventCopy({html:t,text:e.textContent??""},r)):!1}finally{e.remove()}}tryLegacyClipboardText(t,r){const e=document.createElement("textarea");e.value=t,e.style.cssText="position:fixed;left:-9999px;top:-9999px;opacity:0;",document.body.appendChild(e);try{return e.focus(),e.select(),this.tryClipboardEventCopy({text:t},r)}finally{e.remove()}}tryClipboardEventCopy(t,r){var n;let e=!1;const l=a=>{a.preventDefault(),a.clipboardData&&(a.clipboardData.setData("text/plain",t.text),t.html&&a.clipboardData.setData("text/html",t.html),e=!0)};document.addEventListener("copy",l);try{const a=new ClipboardEvent("copy",{clipboardData:new DataTransfer});if(document.dispatchEvent(a),e)return(n=r==null?void 0:r.onSuccess)==null||n.call(r),!0}catch{return!1}finally{document.removeEventListener("copy",l)}return!1}}exports.default=b;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var n = Object.defineProperty;
|
|
2
2
|
var a = (r, t, e) => t in r ? n(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
|
|
3
3
|
var o = (r, t, e) => a(r, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
-
import { Q as i, R as c, j as d, A as m } from "./index-
|
|
4
|
+
import { Q as i, R as c, j as d, A as m } from "./index-zKqkBWur.js";
|
|
5
5
|
const b = i.import("blots/block/embed"), l = i.import("ui/icons"), u = "border: var(--AEditor_Addon_Primary_border); border-bottom: none; transition: border var(--Transition);";
|
|
6
6
|
l.divider = c.renderToString(/* @__PURE__ */ d.jsx(m, { icon: "Minus", strokeWidth: 2.5, width: "100%" }));
|
|
7
7
|
class s extends b {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var n=Object.defineProperty;var c=(e,t,o)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var i=(e,t,o)=>c(e,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-
|
|
1
|
+
"use strict";var n=Object.defineProperty;var c=(e,t,o)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var i=(e,t,o)=>c(e,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-vrHgYhV5.cjs"),d=r.Quill.import("blots/block/embed"),a=r.Quill.import("ui/icons"),l="border: var(--AEditor_Addon_Primary_border); border-bottom: none; transition: border var(--Transition);";a.divider=r.ReactDOMServer.renderToString(r.jsxRuntimeExports.jsx(r.AIcon,{icon:"Minus",strokeWidth:2.5,width:"100%"}));class s extends d{static create(){const t=super.create(!0);return t.style.cssText=l,t}}i(s,"blotName","divider"),i(s,"tagName","hr");exports.default=s;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var l = Object.defineProperty;
|
|
2
2
|
var r = (e, t, o) => t in e ? l(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
|
|
3
3
|
var i = (e, t, o) => r(e, typeof t != "symbol" ? t + "" : t, o);
|
|
4
|
-
import { a as u,
|
|
4
|
+
import { a as u, b as c } from "./index-zKqkBWur.js";
|
|
5
5
|
class h {
|
|
6
6
|
constructor(t, o = {}) {
|
|
7
7
|
i(this, "quill");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var r=Object.defineProperty;var u=(i,t,o)=>t in i?r(i,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[t]=o;var e=(i,t,o)=>u(i,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-
|
|
1
|
+
"use strict";var r=Object.defineProperty;var u=(i,t,o)=>t in i?r(i,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[t]=o;var e=(i,t,o)=>u(i,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-vrHgYhV5.cjs");class c{constructor(t,o={}){e(this,"quill");e(this,"options");e(this,"toolbarEl");e(this,"ownerDocument");e(this,"controller");e(this,"button",null);e(this,"buttonIcon",null);e(this,"unsubscribeController",null);e(this,"buttonClickHandler",t=>this.controller.toggleFullscreen(t));if(this.quill=t,this.options=o,this.ownerDocument=t.root instanceof HTMLElement?t.root.ownerDocument:document,this.controller=s.getOrCreateQuillFullscreenController(t),this.options.type==="Raw"){this.toolbarEl=null;return}const n=t.getModule("toolbar"),l=(n==null?void 0:n.container)??null;this.toolbarEl=l,this.createButton()}destroy(){var t,o;(t=this.unsubscribeController)==null||t.call(this),this.unsubscribeController=null,this.button&&(this.button.removeEventListener("click",this.buttonClickHandler),this.button.remove(),this.button=null),(o=this.toolbarEl)==null||o.classList.remove("ql-toolbar-has-right-action"),s.destroyQuillFullscreenController(this.quill)}createButton(){if(!this.options.maximize||!this.options.minimize)return;const t=this.ownerDocument.createElement("button"),o=this.ownerDocument.createElement("span");t.type="button",t.classList.add("ql-fullscreen"),o.classList.add("ql-fullscreen-icon"),t.append(o),t.addEventListener("click",this.buttonClickHandler),this.button=t,this.buttonIcon=o,this.unsubscribeController=this.controller.subscribe(n=>this.syncButtonState(n)),this.toolbarEl&&(t.classList.add("ql-right-action"),this.toolbarEl.classList.add("ql-toolbar-has-right-action"),this.toolbarEl.append(t))}syncButtonState(t){if(!this.button||!this.buttonIcon)return;this.button.classList.toggle("ql-active",t);const o=t?this.options.minimize??"":this.options.maximize??"",n=t?this.options.minimizeLabel??"":this.options.maximizeLabel??"";this.buttonIcon.innerHTML!==o&&(this.buttonIcon.innerHTML=o),this.button.title!==n&&(this.button.title=n),this.button.getAttribute("aria-label")!==n&&this.button.setAttribute("aria-label",n)}}exports.default=c;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var w = Object.defineProperty;
|
|
2
2
|
var M = (h, i, t) => i in h ? w(h, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : h[i] = t;
|
|
3
3
|
var n = (h, i, t) => M(h, typeof i != "symbol" ? i + "" : i, t);
|
|
4
|
-
import { S as f,
|
|
4
|
+
import { S as f, c as C, Q as D, R as q, j as F, A as N } from "./index-zKqkBWur.js";
|
|
5
5
|
const g = {
|
|
6
6
|
OVERLAY: "ql-image-resizer-overlay",
|
|
7
7
|
HANDLE: "ql-image-resizer-handle",
|