kritzel-stencil 0.4.7 → 0.4.9
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/cjs/index.cjs.js +9 -1
- package/dist/cjs/kritzel-active-users_47.cjs.entry.js +1396 -1243
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{schema.constants-C8hqt--r.js → schema.constants-ByNZ_qAj.js} +136 -7
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/handlers/line-handle.handler.js +1 -1
- package/dist/collection/classes/managers/license.manager.js +56 -0
- package/dist/collection/classes/objects/image.class.js +9 -0
- package/dist/collection/classes/objects/line.class.js +1 -1
- package/dist/collection/classes/objects/path.class.js +9 -0
- package/dist/collection/classes/objects/shape.class.js +12 -3
- package/dist/collection/classes/objects/text.class.js +1 -1
- package/dist/collection/classes/providers/sync/broadcast-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +2 -0
- package/dist/collection/classes/providers/sync/in-memory-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/indexeddb-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +2 -0
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +197 -67
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +146 -172
- package/dist/collection/components/ui/kritzel-export/kritzel-export.js +1 -1
- package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
- package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
- package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +90 -4
- package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +1 -1
- package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +2 -2
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
- package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +1 -1
- package/dist/collection/constants/license.constants.js +1 -1
- package/dist/collection/constants/version.js +1 -1
- package/dist/collection/helpers/object.helper.js +11 -0
- package/dist/collection/helpers/svg-export.helper.js +19 -9
- package/dist/collection/helpers/theme.helper.js +8 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/interfaces/object-export.interface.js +1 -0
- package/dist/collection/interfaces/sync-config.interface.js +21 -1
- package/dist/collection/themes/dark-theme.js +2 -0
- package/dist/collection/themes/light-theme.js +2 -0
- package/dist/components/index.js +11 -4
- package/dist/components/kritzel-awareness-cursors.js +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-editor.js +180 -83
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-export.js +1 -1
- package/dist/components/kritzel-loading-overlay.js +1 -1
- package/dist/components/kritzel-login-dialog.js +1 -1
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-more-menu.js +1 -1
- package/dist/components/kritzel-portal.js +1 -1
- package/dist/components/kritzel-settings.js +1 -1
- package/dist/components/kritzel-share-dialog.js +1 -1
- package/dist/components/kritzel-split-button.js +1 -1
- package/dist/components/kritzel-stroke-size.js +1 -1
- package/dist/components/kritzel-tool-config.js +1 -1
- package/dist/components/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/kritzel-zoom-panel.js +1 -1
- package/dist/components/{p-DwY5pghH.js → p-6rQICkGr.js} +1 -1
- package/dist/components/{p-DkH3hoLz.js → p-8ScektIm.js} +6 -6
- package/dist/components/{p-1nG2hxfJ.js → p-9m1cAVwG.js} +2 -2
- package/dist/components/{p-DkY7pIg5.js → p-BRGufCki.js} +95 -6
- package/dist/components/{p-BKOsmXB5.js → p-BqWiEmYI.js} +1 -1
- package/dist/components/{p-BLOPBDUF.js → p-C2CeSrTm.js} +1 -1
- package/dist/components/{p-zd7zXld8.js → p-CMZ09rB1.js} +1 -1
- package/dist/components/{p-BmyTdQGy.js → p-CURiiQfq.js} +12 -0
- package/dist/components/{p-DDbO5q-e.js → p-CXJZxJvp.js} +4 -4
- package/dist/components/{p-7Rt7ml3v.js → p-Cj0NElII.js} +1 -1
- package/dist/components/{p-Bm_BWQa4.js → p-Ckm1Aq0V.js} +1 -1
- package/dist/components/{p-BVEGQLBD.js → p-CoY7emAj.js} +1 -1
- package/dist/components/{p-BZxOukfY.js → p-Cr2z2UBL.js} +4 -4
- package/dist/components/{p-D0oplzU-.js → p-D7H8oxZb.js} +2 -2
- package/dist/components/{p-Dd-pMvlr.js → p-DPONTran.js} +11 -0
- package/dist/components/{p-BMRln59F.js → p-DW7WW4EN.js} +2 -2
- package/dist/components/{p-D8TOEhPY.js → p-DuVkk58V.js} +2 -2
- package/dist/components/{p-OLfoATNk.js → p-U9FjWrp-.js} +1 -1
- package/dist/components/{p-C2yi85nc.js → p-ZPPtEla5.js} +1213 -1131
- package/dist/components/{p-COjsYPir.js → p-dVfh-Sy9.js} +1 -1
- package/dist/components/{p-Ka7OWbnk.js → p-lQ7nfhOy.js} +12 -3
- package/dist/esm/index.js +9 -2
- package/dist/esm/kritzel-active-users_47.entry.js +1396 -1243
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{schema.constants-uC7_X6yr.js → schema.constants-1t45c2_U.js} +136 -8
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +9 -2
- package/dist/stencil/{p-uC7_X6yr.js → p-1t45c2_U.js} +136 -8
- package/dist/stencil/{p-472f2e90.entry.js → p-f5f088ea.entry.js} +1396 -1243
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/managers/license.manager.d.ts +6 -0
- package/dist/types/classes/objects/image.class.d.ts +3 -0
- package/dist/types/classes/objects/path.class.d.ts +3 -0
- package/dist/types/classes/objects/shape.class.d.ts +3 -0
- package/dist/types/classes/providers/sync/broadcast-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/in-memory-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/indexeddb-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +1 -0
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +15 -3
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +16 -34
- package/dist/types/components/ui/kritzel-more-menu/kritzel-more-menu.d.ts +10 -1
- package/dist/types/components.d.ts +27 -26
- package/dist/types/constants/license.constants.d.ts +1 -1
- package/dist/types/constants/version.d.ts +1 -1
- package/dist/types/helpers/object.helper.d.ts +4 -0
- package/dist/types/helpers/theme.helper.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interfaces/menu-item.interface.d.ts +1 -1
- package/dist/types/interfaces/object-export.interface.d.ts +20 -0
- package/dist/types/interfaces/sync-config.interface.d.ts +5 -0
- package/dist/types/interfaces/sync-provider.interface.d.ts +5 -0
- package/dist/types/interfaces/theme.interface.d.ts +2 -0
- package/package.json +1 -1
|
@@ -2,4 +2,8 @@ export declare class ObjectHelper {
|
|
|
2
2
|
static generateUUID(length?: number): string;
|
|
3
3
|
static isEmpty(obj: any): boolean;
|
|
4
4
|
static isClass<T>(object: unknown, className: string): object is T;
|
|
5
|
+
static isKritzelExportable(object: unknown): object is {
|
|
6
|
+
getSupportedExportFormats(): string[];
|
|
7
|
+
exportAs(format: string, context: unknown): Promise<string | null>;
|
|
8
|
+
};
|
|
5
9
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { KritzelTheme } from '../interfaces/theme.interface';
|
|
2
2
|
export declare class ThemeHelper {
|
|
3
|
+
private static readonly appliedVariableNames;
|
|
3
4
|
/**
|
|
4
5
|
* Converts a camelCase string to kebab-case.
|
|
5
6
|
* @example ThemeHelper.camelToKebab('controlHoverBackgroundColor') → 'control-hover-background-color'
|
package/dist/types/index.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export * from './classes/registries/custom-element-renderer.registry';
|
|
|
45
45
|
export * from './classes/registries/font-registry.class';
|
|
46
46
|
export * from './interfaces/toolbar-control.interface';
|
|
47
47
|
export * from './interfaces/menu-item.interface';
|
|
48
|
+
export * from './interfaces/object-export.interface';
|
|
48
49
|
export * from './interfaces/object-change-event.interface';
|
|
49
50
|
export * from './interfaces/custom-element-renderer.interface';
|
|
50
51
|
export * from './interfaces/sync-provider.interface';
|
|
@@ -10,7 +10,7 @@ export interface IKritzelMenuItem<T = any> {
|
|
|
10
10
|
isSelected?: boolean;
|
|
11
11
|
isEditing?: boolean;
|
|
12
12
|
isDisabled?: boolean;
|
|
13
|
-
isVisible?: boolean;
|
|
13
|
+
isVisible?: boolean | (() => boolean | Promise<boolean>);
|
|
14
14
|
isChildMenuOpen?: boolean;
|
|
15
15
|
isNewItem?: boolean;
|
|
16
16
|
childMenuAnchor?: HTMLElement;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { KritzelBaseObject } from '../classes/objects/base-object.class';
|
|
2
|
+
export type KritzelObjectExportFormat = 'png' | 'svg';
|
|
3
|
+
/**
|
|
4
|
+
* Runtime context passed to object-owned export methods.
|
|
5
|
+
* The engine provides these callbacks so object classes can request
|
|
6
|
+
* serialization/rasterization without owning global dependencies.
|
|
7
|
+
*/
|
|
8
|
+
export interface KritzelObjectExportContext {
|
|
9
|
+
getObjectAsSvgDataUrl(object: KritzelBaseObject, options?: {
|
|
10
|
+
rasterSafeForCanvas?: boolean;
|
|
11
|
+
}): Promise<string | null>;
|
|
12
|
+
getObjectAsPngDataUrl(object: KritzelBaseObject): Promise<string | null>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Capability contract for objects that can export themselves.
|
|
16
|
+
*/
|
|
17
|
+
export interface KritzelExportable {
|
|
18
|
+
getSupportedExportFormats(): KritzelObjectExportFormat[];
|
|
19
|
+
exportAs(format: KritzelObjectExportFormat, context: KritzelObjectExportContext): Promise<string | null>;
|
|
20
|
+
}
|
|
@@ -34,3 +34,8 @@ export interface KritzelSyncConfig {
|
|
|
34
34
|
*/
|
|
35
35
|
appStateId?: string;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Returns `true` when the given sync configuration contains at least one remote
|
|
39
|
+
* (network) provider, meaning the share option should be available in the UI.
|
|
40
|
+
*/
|
|
41
|
+
export declare function hasRemoteSyncProvider(syncConfig?: KritzelSyncConfig): boolean;
|
|
@@ -44,6 +44,11 @@ export interface ISyncProvider {
|
|
|
44
44
|
* Factory function type for creating provider instances
|
|
45
45
|
*/
|
|
46
46
|
export interface ProviderFactory {
|
|
47
|
+
/**
|
|
48
|
+
* Whether this factory creates local or network providers.
|
|
49
|
+
* Used to determine UI capabilities such as the share option.
|
|
50
|
+
*/
|
|
51
|
+
readonly type?: SyncProviderType;
|
|
47
52
|
create(docName: string, doc: Y.Doc, options?: {
|
|
48
53
|
quiet?: boolean;
|
|
49
54
|
}): ISyncProvider;
|
|
@@ -459,7 +459,9 @@ export interface KritzelTheme {
|
|
|
459
459
|
/** Snap variables */
|
|
460
460
|
snap?: {
|
|
461
461
|
indicatorFill?: string;
|
|
462
|
+
indicatorFillInactive?: string;
|
|
462
463
|
indicatorStroke?: string;
|
|
464
|
+
indicatorStrokeInactive?: string;
|
|
463
465
|
lineStroke?: string;
|
|
464
466
|
};
|
|
465
467
|
/** Split button variables */
|