kritzel-stencil 0.1.6 → 0.1.7
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/kritzel-color_24.cjs.entry.js +3 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +7 -7
- package/dist/components/index.js +1 -1
- package/dist/components/kritzel-editor.js +1 -1
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/{p-BJMnPnsd.js → p-DUrr1j9m.js} +1 -1
- package/dist/esm/kritzel-color_24.entry.js +3 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/{p-fffcec5b.entry.js → p-7282e19f.entry.js} +1 -1
- package/dist/stencil/stencil.esm.js +1 -1
- package/package.json +1 -1
|
@@ -20880,7 +20880,7 @@ const KritzelEngine = class {
|
|
|
20880
20880
|
};
|
|
20881
20881
|
const visibleObjects = this.core.store.state.objects.query(viewportBounds).sort((a, b) => a.zIndex - b.zIndex);
|
|
20882
20882
|
this.core.cursorManager.applyCursor();
|
|
20883
|
-
return (index.h(index.Host, { key: '
|
|
20883
|
+
return (index.h(index.Host, { key: 'a66ae1449999517202a7654426571644eb85670f' }, this.core.store.state.debugInfo.showViewportInfo && (index.h("div", { key: '53e0f2e32ad57e96fa96e6a3650aabca583273e3', class: "debug-panel" }, index.h("div", { key: 'd5bad0d9e2b8697cbfd01726391e8dc6a39614c0' }, "ActiveWorkspaceId: ", this.core.store.state?.activeWorkspace?.id), index.h("div", { key: 'd909b6942a54c8cc4b54a727d327c0f4ee998219' }, "ActiveWorkspaceName: ", this.core.store.state?.activeWorkspace?.name), index.h("div", { key: '502bc8b44f57437f589ab0d26774a6da6a78b4d2' }, "TranslateX: ", this.core.store.state?.translateX), index.h("div", { key: 'aa5b549a9734c9c75222dc02abe2066d8e12cd53' }, "TranslateY: ", this.core.store.state?.translateY), index.h("div", { key: '5aedd16e140b3ecb8cee5dca735f9ec262ac307f' }, "ViewportWidth: ", this.core.store.state?.viewportWidth), index.h("div", { key: '70e1cd1280c2609228945dac2c47a54118868b4a' }, "ViewportHeight: ", this.core.store.state?.viewportHeight), index.h("div", { key: '9cab5a11048dffe77cf3d34ba5eadd6ff771103a' }, "PointerCount: ", this.core.store.state.pointers.size), index.h("div", { key: '3d0f20bb2d3761fc9e7c386c399cc5ce17e9f485' }, "Scale: ", this.core.store.state?.scale), index.h("div", { key: 'cc33a4d24646f31a4a6eac8621471cc585a9a63d' }, "ActiveTool: ", this.core.store.state?.activeTool?.name), index.h("div", { key: '9da4a62dd88cd1036dd9ae7d37ad19bcc7dae682' }, "HasViewportChanged: ", this.core.store.state?.hasViewportChanged ? 'true' : 'false'), index.h("div", { key: '5a236e6afbe3bd8a2f561ef5f4f818168666d547' }, "IsEnabled: ", this.core.store.state?.isEnabled ? 'true' : 'false'), index.h("div", { key: 'e69ed8319aa55d1d7a33603098c6abc8304adce3' }, "IsScaling: ", this.core.store.state?.isScaling ? 'true' : 'false'), index.h("div", { key: '38d20cc78a282d425063e52902fb7122f3122ce5' }, "IsPanning: ", this.core.store.state?.isPanning ? 'true' : 'false'), index.h("div", { key: 'e7ac6b5edf15a8f03d48ff27de9612171dc73662' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), index.h("div", { key: '9848de00992ce7b29ea79f1e4c289549a7149423' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), index.h("div", { key: '821b3c7767da0502448dc3a742d4110d4a9297f3' }, "IsResizeHandleSelected: ", this.core.store.state.isResizeHandleSelected ? 'true' : 'false'), index.h("div", { key: '88362af2650298e3422d85e988f5935cae331d92' }, "IsRotationHandleSelected: ", this.core.store.state.isRotationHandleSelected ? 'true' : 'false'), index.h("div", { key: 'f7b2142bd79b678fba3420b9606c66a766f9a9a8' }, "IsRotationHandleHovered: ", this.core.store.state.isRotationHandleHovered ? 'true' : 'false'), index.h("div", { key: '3a44cd8bd68ae4333015d2c22105c828e7ad45c4' }, "IsDrawing: ", this.core.store.state.isDrawing ? 'true' : 'false'), index.h("div", { key: '6ecf38e18385b850101264a98b39122fbfe3b69a' }, "IsWriting: ", this.core.store.state.isWriting ? 'true' : 'false'), index.h("div", { key: '303954c2a3cc8a94a3bdf306ab85cef1d70603c3' }, "IsPointerDown: ", this.core.store.isPointerDown ? 'true' : 'false'), index.h("div", { key: '17e68f61690b44ea6bb2bc2b582dbc737ea3c179' }, "PointerX: ", this.core.store.state?.pointerX), index.h("div", { key: 'daa55d105e9e291dc362189c3cb32033031e7059' }, "PointerY: ", this.core.store.state?.pointerY), index.h("div", { key: '55530e8310ebb6dc9b044bff91b5612d9c937953' }, "SelectedObjects: ", this.core.store.selectionGroup?.objects.length || 0), index.h("div", { key: '4e2a722e53f57050cbc24335b77c42991732139e' }, "ViewportCenter: (", viewportCenterX.toFixed(2), ", ", viewportCenterY.toFixed(2), ")"))), index.h("div", { key: '1abd28238c02fdf3de0bc5fb7da350b022ef5854', id: "origin", class: "origin", style: {
|
|
20884
20884
|
transform: `matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`,
|
|
20885
20885
|
} }, visibleObjects?.map(object => {
|
|
20886
20886
|
return (index.h("div", { key: object.id, style: {
|
|
@@ -21129,7 +21129,7 @@ const KritzelEngine = class {
|
|
|
21129
21129
|
stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
|
|
21130
21130
|
strokeWidth: data.indicatorStrokeWidth,
|
|
21131
21131
|
} }))));
|
|
21132
|
-
})()), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: '
|
|
21132
|
+
})()), this.core.store.state.isContextMenuVisible && (index.h("kritzel-context-menu", { key: 'c06594220baf3c98f0bfffebac67806202c162e8', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
|
|
21133
21133
|
position: 'fixed',
|
|
21134
21134
|
left: `${this.core.store.state.contextMenuX}px`,
|
|
21135
21135
|
top: `${this.core.store.state.contextMenuY}px`,
|
|
@@ -21140,7 +21140,7 @@ const KritzelEngine = class {
|
|
|
21140
21140
|
y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
|
|
21141
21141
|
}, this.core.store.selectionGroup?.objects);
|
|
21142
21142
|
this.hideContextMenu();
|
|
21143
|
-
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof defaultLineTool_config.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { key: '
|
|
21143
|
+
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof defaultLineTool_config.KritzelEraserTool && !this.core.store.state.isScaling && index.h("kritzel-cursor-trail", { key: '64e2f59b1ad4b89848091732cf049de8feb655ca', core: this.core })));
|
|
21144
21144
|
}
|
|
21145
21145
|
static get watchers() { return {
|
|
21146
21146
|
"workspace": [{
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -6,7 +6,7 @@ var appGlobals = require('./app-globals-V2Kpy_OQ.js');
|
|
|
6
6
|
const defineCustomElements = async (win, options) => {
|
|
7
7
|
if (typeof window === 'undefined') return undefined;
|
|
8
8
|
await appGlobals.globalScripts();
|
|
9
|
-
return index.bootstrapLazy([["kritzel-color_24.cjs",[[512,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]]],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[
|
|
9
|
+
return index.bootstrapLazy([["kritzel-color_24.cjs",[[512,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]]],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"config":[32],"palette":[32],"currentOpacity":[32],"updateTrigger":[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{"tool":[{"handleToolChange":0}]}],[513,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[769,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040],"strokeColor":[1,"stroke-color"]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[513,"kritzel-color",{"value":[1],"size":[2]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[769,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]], options);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
exports.setNonce = index.setNonce;
|
package/dist/cjs/stencil.cjs.js
CHANGED
|
@@ -19,7 +19,7 @@ var patchBrowser = () => {
|
|
|
19
19
|
|
|
20
20
|
patchBrowser().then(async (options) => {
|
|
21
21
|
await appGlobals.globalScripts();
|
|
22
|
-
return index.bootstrapLazy([["kritzel-color_24.cjs",[[512,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]]],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[
|
|
22
|
+
return index.bootstrapLazy([["kritzel-color_24.cjs",[[512,"kritzel-editor",{"scaleMax":[2,"scale-max"],"scaleMin":[2,"scale-min"],"controls":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"customSvgIcons":[16],"isControlsVisible":[4,"is-controls-visible"],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"syncConfig":[16],"isEngineReady":[32],"isControlsReady":[32],"isWorkspaceManagerReady":[32],"workspaces":[32],"activeWorkspace":[32],"isVirtualKeyboardOpen":[32],"undoState":[32],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[0,"dblclick","onTouchStart"]],{"isEngineReady":[{"onIsEngineReady":0}],"isControlsReady":[{"onIsControlsReady":0}],"workspaces":[{"onWorkspacesChange":0}]}],[513,"kritzel-controls",{"controls":[16],"activeControl":[1040],"isUtilityPanelVisible":[4,"is-utility-panel-visible"],"undoState":[16],"firstConfig":[32],"isTooltipVisible":[32],"isTouchDevice":[32],"selectedSubOptions":[32],"openSubMenuControl":[32],"canScrollLeft":[32],"canScrollRight":[32],"needsScrolling":[32],"displayValues":[32],"closeTooltip":[64]},[[4,"click","handleDocumentClick"],[8,"keydown","handleKeyDown"],[4,"activeToolChange","handleActiveToolChange"],[4,"objectsSelectionChange","handleSelectionChange"]]],[513,"kritzel-workspace-manager",{"activeWorkspace":[1040],"workspaces":[16],"childMenuAnchor":[32],"openChildMenuItem":[32],"newWorkspace":[32],"editingItemId":[32]},[[8,"wheel","handleWheel"]]],[513,"kritzel-engine",{"workspace":[16],"syncConfig":[16],"activeTool":[16],"globalContextMenuItems":[16],"objectContextMenuItems":[16],"scaleMax":[1026,"scale-max"],"scaleMin":[1026,"scale-min"],"cursorTarget":[16],"forceUpdate":[32],"triggerSelectionChange":[64],"registerTool":[64],"changeActiveTool":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"bringForward":[64],"sendBackward":[64],"bringToFront":[64],"sendToBack":[64],"group":[64],"ungroup":[64],"undo":[64],"redo":[64],"hideContextMenu":[64],"getObjectById":[64],"addObject":[64],"updateObject":[64],"removeObject":[64],"getSelectedObjects":[64],"selectObjects":[64],"selectAllObjectsInViewport":[64],"clearSelection":[64],"centerObjectInViewport":[64],"getCopiedObjects":[64],"createWorkspace":[64],"updateWorkspace":[64],"deleteWorkspace":[64],"getWorkspaces":[64],"getActiveWorkspace":[64]},[[1,"wheel","handleWheel"],[0,"pointerdown","handlePointerDown"],[0,"pointermove","handlePointerMove"],[0,"pointerup","handlePointerUp"],[0,"pointercancel","handlePointerCancel"],[1,"longpress","handleLongPress"],[0,"contextmenu","handleContextMenu"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[4,"dblclick","preventDoubleTapZoomOnTouchDevices"]],{"workspace":[{"onWorkspaceChange":0}],"scaleMax":[{"validateScaleMax":0}],"scaleMin":[{"validateScaleMin":0}],"cursorTarget":[{"onCursorTargetChange":0}]}],[513,"kritzel-tool-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"config":[32],"palette":[32],"currentOpacity":[32],"updateTrigger":[32]},[[4,"objectsSelectionChange","handleSelectionChange"]],{"tool":[{"handleToolChange":0}]}],[513,"kritzel-split-button",{"buttonIcon":[1,"button-icon"],"dropdownIcon":[1,"dropdown-icon"],"items":[16],"mainButtonDisabled":[4,"main-button-disabled"],"menuButtonDisabled":[4,"menu-button-disabled"],"isMenuOpen":[32],"isTouchDevice":[32],"anchorElement":[32],"menuScrollTop":[32],"open":[64],"focusMenu":[64]}],[513,"kritzel-context-menu",{"items":[16],"objects":[16],"processedItems":[32]},[[9,"pointerdown","handleOutsideClick"]],{"items":[{"onItemsChanged":0}]}],[513,"kritzel-utility-panel",{"undoState":[16]}],[513,"kritzel-cursor-trail",{"core":[16],"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"pointerdown","handleMouseDown"],[9,"pointermove","handlePointerMove"],[9,"pointerup","handlePointerUp"]]],[769,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16],"offsetY":[2,"offset-y"],"positionX":[32],"positionY":[32],"focusContent":[64]},[[4,"click","handleOutsideClick"],[9,"resize","handleWindowResize"]]],[513,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"],"opacity":[2]}],[513,"kritzel-font-family",{"fontOptions":[16],"selectedFontFamily":[1025,"selected-font-family"]}],[513,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[513,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[513,"kritzel-line-endings",{"styles":[16],"value":[1040],"strokeColor":[1,"stroke-color"]}],[513,"kritzel-opacity-slider",{"value":[1026],"min":[2],"max":[2],"step":[2],"previewColor":[1,"preview-color"]}],[513,"kritzel-shape-fill",{"value":[1025]}],[513,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[513,"kritzel-menu",{"items":[16],"parent":[16],"selectedIndex":[32],"setScrollTop":[64],"setFocus":[64]}],[513,"kritzel-menu-item",{"item":[16],"parent":[16],"isDirty":[32]},null,{"item":[{"onItemChange":0}]}],[513,"kritzel-color",{"value":[1],"size":[2]}],[769,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[16],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32],"isOpen":[32],"focusedIndex":[32],"openDirection":[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleDocumentKeydown"]],{"options":[{"optionsChanged":0}],"value":[{"externalValueChanged":0}]}],[769,"kritzel-portal",{"anchor":[16],"offsetX":[2,"offset-x"],"offsetY":[2,"offset-y"],"autoFocus":[4,"auto-focus"]},[[8,"click","handleOutsideClick"],[8,"keydown","handleKeyDown"],[11,"resize","handleResize"],[11,"scroll","handleWindowScroll"]],{"anchor":[{"anchorChanged":0}]}],[513,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]],["kritzel-brush-style.cjs",[[513,"kritzel-brush-style",{"type":[1],"brushOptions":[16]}]]]], options);
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
exports.setNonce = index.setNonce;
|
|
@@ -401,7 +401,7 @@ export class KritzelEngine {
|
|
|
401
401
|
};
|
|
402
402
|
const visibleObjects = this.core.store.state.objects.query(viewportBounds).sort((a, b) => a.zIndex - b.zIndex);
|
|
403
403
|
this.core.cursorManager.applyCursor();
|
|
404
|
-
return (h(Host, { key: '
|
|
404
|
+
return (h(Host, { key: 'a66ae1449999517202a7654426571644eb85670f' }, this.core.store.state.debugInfo.showViewportInfo && (h("div", { key: '53e0f2e32ad57e96fa96e6a3650aabca583273e3', class: "debug-panel" }, h("div", { key: 'd5bad0d9e2b8697cbfd01726391e8dc6a39614c0' }, "ActiveWorkspaceId: ", this.core.store.state?.activeWorkspace?.id), h("div", { key: 'd909b6942a54c8cc4b54a727d327c0f4ee998219' }, "ActiveWorkspaceName: ", this.core.store.state?.activeWorkspace?.name), h("div", { key: '502bc8b44f57437f589ab0d26774a6da6a78b4d2' }, "TranslateX: ", this.core.store.state?.translateX), h("div", { key: 'aa5b549a9734c9c75222dc02abe2066d8e12cd53' }, "TranslateY: ", this.core.store.state?.translateY), h("div", { key: '5aedd16e140b3ecb8cee5dca735f9ec262ac307f' }, "ViewportWidth: ", this.core.store.state?.viewportWidth), h("div", { key: '70e1cd1280c2609228945dac2c47a54118868b4a' }, "ViewportHeight: ", this.core.store.state?.viewportHeight), h("div", { key: '9cab5a11048dffe77cf3d34ba5eadd6ff771103a' }, "PointerCount: ", this.core.store.state.pointers.size), h("div", { key: '3d0f20bb2d3761fc9e7c386c399cc5ce17e9f485' }, "Scale: ", this.core.store.state?.scale), h("div", { key: 'cc33a4d24646f31a4a6eac8621471cc585a9a63d' }, "ActiveTool: ", this.core.store.state?.activeTool?.name), h("div", { key: '9da4a62dd88cd1036dd9ae7d37ad19bcc7dae682' }, "HasViewportChanged: ", this.core.store.state?.hasViewportChanged ? 'true' : 'false'), h("div", { key: '5a236e6afbe3bd8a2f561ef5f4f818168666d547' }, "IsEnabled: ", this.core.store.state?.isEnabled ? 'true' : 'false'), h("div", { key: 'e69ed8319aa55d1d7a33603098c6abc8304adce3' }, "IsScaling: ", this.core.store.state?.isScaling ? 'true' : 'false'), h("div", { key: '38d20cc78a282d425063e52902fb7122f3122ce5' }, "IsPanning: ", this.core.store.state?.isPanning ? 'true' : 'false'), h("div", { key: 'e7ac6b5edf15a8f03d48ff27de9612171dc73662' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), h("div", { key: '9848de00992ce7b29ea79f1e4c289549a7149423' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), h("div", { key: '821b3c7767da0502448dc3a742d4110d4a9297f3' }, "IsResizeHandleSelected: ", this.core.store.state.isResizeHandleSelected ? 'true' : 'false'), h("div", { key: '88362af2650298e3422d85e988f5935cae331d92' }, "IsRotationHandleSelected: ", this.core.store.state.isRotationHandleSelected ? 'true' : 'false'), h("div", { key: 'f7b2142bd79b678fba3420b9606c66a766f9a9a8' }, "IsRotationHandleHovered: ", this.core.store.state.isRotationHandleHovered ? 'true' : 'false'), h("div", { key: '3a44cd8bd68ae4333015d2c22105c828e7ad45c4' }, "IsDrawing: ", this.core.store.state.isDrawing ? 'true' : 'false'), h("div", { key: '6ecf38e18385b850101264a98b39122fbfe3b69a' }, "IsWriting: ", this.core.store.state.isWriting ? 'true' : 'false'), h("div", { key: '303954c2a3cc8a94a3bdf306ab85cef1d70603c3' }, "IsPointerDown: ", this.core.store.isPointerDown ? 'true' : 'false'), h("div", { key: '17e68f61690b44ea6bb2bc2b582dbc737ea3c179' }, "PointerX: ", this.core.store.state?.pointerX), h("div", { key: 'daa55d105e9e291dc362189c3cb32033031e7059' }, "PointerY: ", this.core.store.state?.pointerY), h("div", { key: '55530e8310ebb6dc9b044bff91b5612d9c937953' }, "SelectedObjects: ", this.core.store.selectionGroup?.objects.length || 0), h("div", { key: '4e2a722e53f57050cbc24335b77c42991732139e' }, "ViewportCenter: (", viewportCenterX.toFixed(2), ", ", viewportCenterY.toFixed(2), ")"))), h("div", { key: '1abd28238c02fdf3de0bc5fb7da350b022ef5854', id: "origin", class: "origin", style: {
|
|
405
405
|
transform: `matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`,
|
|
406
406
|
} }, visibleObjects?.map(object => {
|
|
407
407
|
return (h("div", { key: object.id, style: {
|
|
@@ -650,7 +650,7 @@ export class KritzelEngine {
|
|
|
650
650
|
stroke: 'var(--kritzel-snap-indicator-stroke, #007bff)',
|
|
651
651
|
strokeWidth: data.indicatorStrokeWidth,
|
|
652
652
|
} }))));
|
|
653
|
-
})()), this.core.store.state.isContextMenuVisible && (h("kritzel-context-menu", { key: '
|
|
653
|
+
})()), this.core.store.state.isContextMenuVisible && (h("kritzel-context-menu", { key: 'c06594220baf3c98f0bfffebac67806202c162e8', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
|
|
654
654
|
position: 'fixed',
|
|
655
655
|
left: `${this.core.store.state.contextMenuX}px`,
|
|
656
656
|
top: `${this.core.store.state.contextMenuY}px`,
|
|
@@ -661,7 +661,7 @@ export class KritzelEngine {
|
|
|
661
661
|
y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
|
|
662
662
|
}, this.core.store.selectionGroup?.objects);
|
|
663
663
|
this.hideContextMenu();
|
|
664
|
-
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof KritzelEraserTool && !this.core.store.state.isScaling && h("kritzel-cursor-trail", { key: '
|
|
664
|
+
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof KritzelEraserTool && !this.core.store.state.isScaling && h("kritzel-cursor-trail", { key: '64e2f59b1ad4b89848091732cf049de8feb655ca', core: this.core })));
|
|
665
665
|
}
|
|
666
666
|
static get is() { return "kritzel-engine"; }
|
|
667
667
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1844,25 +1844,25 @@ export class KritzelEngine {
|
|
|
1844
1844
|
"method": "handlePointerDown",
|
|
1845
1845
|
"target": undefined,
|
|
1846
1846
|
"capture": false,
|
|
1847
|
-
"passive":
|
|
1847
|
+
"passive": false
|
|
1848
1848
|
}, {
|
|
1849
1849
|
"name": "pointermove",
|
|
1850
1850
|
"method": "handlePointerMove",
|
|
1851
1851
|
"target": undefined,
|
|
1852
1852
|
"capture": false,
|
|
1853
|
-
"passive":
|
|
1853
|
+
"passive": false
|
|
1854
1854
|
}, {
|
|
1855
1855
|
"name": "pointerup",
|
|
1856
1856
|
"method": "handlePointerUp",
|
|
1857
1857
|
"target": undefined,
|
|
1858
1858
|
"capture": false,
|
|
1859
|
-
"passive":
|
|
1859
|
+
"passive": false
|
|
1860
1860
|
}, {
|
|
1861
1861
|
"name": "pointercancel",
|
|
1862
1862
|
"method": "handlePointerCancel",
|
|
1863
1863
|
"target": undefined,
|
|
1864
1864
|
"capture": false,
|
|
1865
|
-
"passive":
|
|
1865
|
+
"passive": false
|
|
1866
1866
|
}, {
|
|
1867
1867
|
"name": "longpress",
|
|
1868
1868
|
"method": "handleLongPress",
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-BxS4Pdpz.js";export{e as KritzelBrushTool,d as KritzelGroup,b as KritzelImage,c as KritzelLine,f as KritzelLineTool,a as KritzelPath,h as KritzelSelectionTool,K as KritzelText,g as KritzelTextTool}from"./p-DX-VWb90.js";import{w as t,a as i,t as o,r as n,b as l,e as u,c as m,d as p,f as z,g as C,s as k,h as y,i as S,v as x,j as w,o as j,k as v,l as T,m as P,O as B,n as W,p as M,q as U,u as H,x as A,y as L,z as O,A as $,B as _,C as N,H as R,D as X}from"./p-BJMnPnsd.js";export{I as IndexedDBSyncProvider,J as KritzelAnchorManager,G as KritzelAppStateMap,F as KritzelCursorHelper,K as KritzelEraserTool,E as KritzelImageTool}from"./p-BJMnPnsd.js";export{K as KritzelWorkspace}from"./p-n789Y3S-.js";export{D as DEFAULT_BRUSH_CONFIG,b as DEFAULT_LINE_TOOL_CONFIG,a as DEFAULT_TEXT_CONFIG,KritzelEditor,defineCustomElement as defineCustomElementKritzelEditor}from"./kritzel-editor.js";export{KritzelBrushStyle,defineCustomElement as defineCustomElementKritzelBrushStyle}from"./kritzel-brush-style.js";export{KritzelColor,defineCustomElement as defineCustomElementKritzelColor}from"./kritzel-color.js";export{KritzelColorPalette,defineCustomElement as defineCustomElementKritzelColorPalette}from"./kritzel-color-palette.js";export{KritzelContextMenu,defineCustomElement as defineCustomElementKritzelContextMenu}from"./kritzel-context-menu.js";export{KritzelControls,defineCustomElement as defineCustomElementKritzelControls}from"./kritzel-controls.js";export{KritzelCursorTrail,defineCustomElement as defineCustomElementKritzelCursorTrail}from"./kritzel-cursor-trail.js";export{KritzelDropdown,defineCustomElement as defineCustomElementKritzelDropdown}from"./kritzel-dropdown.js";export{KritzelEngine,defineCustomElement as defineCustomElementKritzelEngine}from"./kritzel-engine.js";export{KritzelFont,defineCustomElement as defineCustomElementKritzelFont}from"./kritzel-font.js";export{KritzelFontFamily,defineCustomElement as defineCustomElementKritzelFontFamily}from"./kritzel-font-family.js";export{KritzelFontSize,defineCustomElement as defineCustomElementKritzelFontSize}from"./kritzel-font-size.js";export{KritzelIcon,defineCustomElement as defineCustomElementKritzelIcon}from"./kritzel-icon.js";export{KritzelLineEndings,defineCustomElement as defineCustomElementKritzelLineEndings}from"./kritzel-line-endings.js";export{KritzelMenu,defineCustomElement as defineCustomElementKritzelMenu}from"./kritzel-menu.js";export{KritzelMenuItem,defineCustomElement as defineCustomElementKritzelMenuItem}from"./kritzel-menu-item.js";export{KritzelOpacitySlider,defineCustomElement as defineCustomElementKritzelOpacitySlider}from"./kritzel-opacity-slider.js";export{KritzelPortal,defineCustomElement as defineCustomElementKritzelPortal}from"./kritzel-portal.js";export{KritzelShapeFill,defineCustomElement as defineCustomElementKritzelShapeFill}from"./kritzel-shape-fill.js";export{KritzelSplitButton,defineCustomElement as defineCustomElementKritzelSplitButton}from"./kritzel-split-button.js";export{KritzelStrokeSize,defineCustomElement as defineCustomElementKritzelStrokeSize}from"./kritzel-stroke-size.js";export{KritzelToolConfig,defineCustomElement as defineCustomElementKritzelToolConfig}from"./kritzel-tool-config.js";export{KritzelTooltip,defineCustomElement as defineCustomElementKritzelTooltip}from"./kritzel-tooltip.js";export{KritzelUtilityPanel,defineCustomElement as defineCustomElementKritzelUtilityPanel}from"./kritzel-utility-panel.js";export{KritzelWorkspaceManager,defineCustomElement as defineCustomElementKritzelWorkspaceManager}from"./kritzel-workspace-manager.js";class Y{doc;channel;_synced=!1;constructor(t,e,s){this.doc=e,this.channel=new BroadcastChannel(t),this.channel.onmessage=t=>{this.handleMessage(t.data)},this.doc.on("update",this.handleDocUpdate),this.broadcastSync(),setTimeout((()=>{this._synced=!0}),100),console.info("BroadcastChannel Provider initialized: "+t)}handleDocUpdate=(e,s)=>{if(s!==this){const s=z();t(s,0),i(s,e),this.channel.postMessage(o(s))}};handleMessage(e){const s=C(new Uint8Array(e));switch(n(s)){case 0:const e=l(s);m(this.doc,e,this);break;case 1:this.broadcastSync();break;case 2:const n=l(s),r=u(this.doc,n);if(r.length>0){const e=z();t(e,0),i(e,r),this.channel.postMessage(o(e))}}}broadcastSync(){const e=z();t(e,2),i(e,p(this.doc)),this.channel.postMessage(o(e))}async connect(){if(!this._synced)return new Promise((t=>{const e=()=>{this._synced?t():setTimeout(e,50)};e()}))}disconnect(){}destroy(){this.doc.off("update",this.handleDocUpdate),this.channel.close()}}const q=new Map,V="undefined"==typeof BroadcastChannel?class{constructor(t){this.room=t,this.onmessage=null,this._onChange=e=>e.key===t&&null!==this.onmessage&&this.onmessage({data:S(e.newValue||"")}),j(this._onChange)}postMessage(t){x.setItem(this.room,w(v(t)))}close(){T(this._onChange)}}:BroadcastChannel,Q=t=>k(q,t,(()=>{const e=y(),s=new V(t);return s.onmessage=t=>e.forEach((e=>e(t.data,"broadcastchannel"))),{bc:s,subs:e}})),Z=(t,e,s=null)=>{const i=Q(t);i.bc.postMessage(e),i.subs.forEach((t=>t(e,s)))},tt=(e,s)=>{t(e,0);const o=p(s);i(e,o)},et=(e,s,o)=>{t(e,1),i(e,u(s,o))},st=(t,e,s,i)=>{try{m(e,l(t),s)}catch(t){null!=i&&i(t),console.error("Caught error while handling a Yjs update",t)}},it=st;class ot extends B{constructor(t){super(),this.doc=t,this.clientID=t.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const t=M();null!==this.getLocalState()&&15e3<=t-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const e=[];this.meta.forEach(((s,i)=>{i!==this.clientID&&3e4<=t-s.lastUpdated&&this.states.has(i)&&e.push(i)})),e.length>0&&nt(this,e,"timeout")}),W(3e3)),t.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(t){const e=this.clientID,s=this.meta.get(e),i=void 0===s?0:s.clock+1,o=this.states.get(e);null===t?this.states.delete(e):this.states.set(e,t),this.meta.set(e,{clock:i,lastUpdated:M()});const n=[],r=[],l=[],c=[];null===t?c.push(e):null==o?null!=t&&n.push(e):(r.push(e),U(o,t)||l.push(e)),(n.length>0||l.length>0||c.length>0)&&this.emit("change",[{added:n,updated:l,removed:c},"local"]),this.emit("update",[{added:n,updated:r,removed:c},"local"])}setLocalStateField(t,e){const s=this.getLocalState();null!==s&&this.setLocalState({...s,[t]:e})}getStates(){return this.states}}const nt=(t,e,s)=>{const i=[];for(let s=0;s<e.length;s++){const o=e[s];if(t.states.has(o)){if(t.states.delete(o),o===t.clientID){const e=t.meta.get(o);t.meta.set(o,{clock:e.clock+1,lastUpdated:M()})}i.push(o)}}i.length>0&&(t.emit("change",[{added:[],updated:[],removed:i},s]),t.emit("update",[{added:[],updated:[],removed:i},s]))},rt=(e,s,i=e.states)=>{const n=s.length,r=z();t(r,n);for(let o=0;o<n;o++){const n=s[o],l=i.get(n)||null,c=e.meta.get(n).clock;t(r,n),t(r,c),H(r,JSON.stringify(l))}return o(r)},lt=[];lt[0]=(e,s,i,o)=>{t(e,0);const r=((t,e,s,i,o)=>{const r=n(t);switch(r){case 0:((t,e,s)=>{et(e,s,l(t))})(t,e,s);break;case 1:st(t,s,i,o);break;case 2:it(t,s,i,o);break;default:throw Error("Unknown message type")}return r})(s,e,i.doc,i);o&&1===r&&!i.synced&&(i.synced=!0)},lt[3]=(e,s,o)=>{t(e,1),i(e,rt(o.awareness,Array.from(o.awareness.getStates().keys())))},lt[1]=(t,e,s)=>{((t,e,s)=>{const i=C(e),o=M(),r=[],l=[],c=[],a=[],h=n(i);for(let e=0;e<h;e++){const e=n(i);let s=n(i);const h=JSON.parse(P(i)),d=t.meta.get(e),u=t.states.get(e),m=void 0===d?0:d.clock;(m<s||m===s&&null===h&&t.states.has(e))&&(null===h?e===t.clientID&&null!=t.getLocalState()?s++:t.states.delete(e):t.states.set(e,h),t.meta.set(e,{clock:s,lastUpdated:o}),void 0===d&&null!==h?r.push(e):void 0!==d&&null===h?a.push(e):null!==h&&(U(h,u)||c.push(e),l.push(e)))}(r.length>0||c.length>0||a.length>0)&&t.emit("change",[{added:r,updated:c,removed:a},s]),(r.length>0||l.length>0||a.length>0)&&t.emit("update",[{added:r,updated:l,removed:a},s])})(s.awareness,l(e),s)},lt[2]=(t,e,s)=>{((t,e,s)=>{0===n(t)&&s(0,P(t))})(e,0,((t,e)=>ct(s,e)))};const ct=(t,e)=>console.warn(`Permission denied to access ${t.url}.\n${e}`),at=(t,e,s)=>{const i=C(e),o=z(),r=n(i),l=t.messageHandlers[r];return l?l(o,i,t,s,r):console.error("Unable to compute message"),o},ht=(t,e,s)=>{e===t.ws&&(t.emit("connection-close",[s,t]),t.ws=null,e.close(),t.wsconnecting=!1,t.wsconnected?(t.wsconnected=!1,t.synced=!1,nt(t.awareness,Array.from(t.awareness.getStates().keys()).filter((e=>e!==t.doc.clientID)),t),t.emit("status",[{status:"disconnected"}])):t.wsUnsuccessfulReconnects++,setTimeout(dt,_(100*N(2,t.wsUnsuccessfulReconnects),t.maxBackoffTime),t))},dt=e=>{if(e.shouldConnect&&null===e.ws){const s=new e._WS(e.url,e.protocols);s.binaryType="arraybuffer",e.ws=s,e.wsconnecting=!0,e.wsconnected=!1,e.synced=!1,s.onmessage=t=>{e.wsLastMessageReceived=M();const i=at(e,new Uint8Array(t.data),!0);O(i)>1&&s.send(o(i))},s.onerror=t=>{e.emit("connection-error",[t,e])},s.onclose=t=>{ht(e,s,t)},s.onopen=()=>{e.wsLastMessageReceived=M(),e.wsconnecting=!1,e.wsconnected=!0,e.wsUnsuccessfulReconnects=0,e.emit("status",[{status:"connected"}]);const n=z();if(t(n,0),tt(n,e.doc),s.send(o(n)),null!==e.awareness.getLocalState()){const n=z();t(n,1),i(n,rt(e.awareness,[e.doc.clientID])),s.send(o(n))}},e.emit("status",[{status:"connecting"}])}},ut=(t,e)=>{const s=t.ws;t.wsconnected&&s&&s.readyState===s.OPEN&&s.send(e),t.bcconnected&&Z(t.bcChannel,e,t)};class mt extends L{constructor(e,s,n,{connect:r=!0,awareness:l=new ot(n),params:c={},protocols:a=[],WebSocketPolyfill:h=WebSocket,resyncInterval:d=-1,maxBackoffTime:u=2500,disableBc:m=!1}={}){for(super();"/"===e[e.length-1];)e=e.slice(0,e.length-1);this.serverUrl=e,this.bcChannel=e+"/"+s,this.maxBackoffTime=u,this.params=c,this.protocols=a,this.roomname=s,this.doc=n,this._WS=h,this.awareness=l,this.wsconnected=!1,this.wsconnecting=!1,this.bcconnected=!1,this.disableBc=m,this.wsUnsuccessfulReconnects=0,this.messageHandlers=lt.slice(),this._synced=!1,this.ws=null,this.wsLastMessageReceived=0,this.shouldConnect=r,this._resyncInterval=0,d>0&&(this._resyncInterval=setInterval((()=>{if(this.ws&&this.ws.readyState===WebSocket.OPEN){const e=z();t(e,0),tt(e,n),this.ws.send(o(e))}}),d)),this._bcSubscriber=(t,e)=>{if(e!==this){const e=at(this,new Uint8Array(t),!1);O(e)>1&&Z(this.bcChannel,o(e),this)}},this._updateHandler=(e,s)=>{if(s!==this){const s=z();t(s,0),((e,s)=>{t(e,2),i(e,s)})(s,e),ut(this,o(s))}},this.doc.on("update",this._updateHandler),this._awarenessUpdateHandler=({added:e,updated:s,removed:n})=>{const r=e.concat(s).concat(n),c=z();t(c,1),i(c,rt(l,r)),ut(this,o(c))},this._exitHandler=()=>{nt(this.awareness,[n.clientID],"app closed")},$&&"undefined"!=typeof process&&process.on("exit",this._exitHandler),l.on("update",this._awarenessUpdateHandler),this._checkInterval=setInterval((()=>{this.wsconnected&&3e4<M()-this.wsLastMessageReceived&&ht(this,this.ws,null)}),3e3),r&&this.connect()}get url(){const t=(()=>A(this.params,((t,e)=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`)).join("&"))();return this.serverUrl+"/"+this.roomname+(0===t.length?"":"?"+t)}get synced(){return this._synced}set synced(t){this._synced!==t&&(this._synced=t,this.emit("synced",[t]),this.emit("sync",[t]))}destroy(){0!==this._resyncInterval&&clearInterval(this._resyncInterval),clearInterval(this._checkInterval),this.disconnect(),$&&"undefined"!=typeof process&&process.off("exit",this._exitHandler),this.awareness.off("update",this._awarenessUpdateHandler),this.doc.off("update",this._updateHandler),super.destroy()}connectBc(){if(this.disableBc)return;this.bcconnected||(((t,e)=>{Q(this.bcChannel).subs.add(e)})(0,this._bcSubscriber),this.bcconnected=!0);const e=z();t(e,0),tt(e,this.doc),Z(this.bcChannel,o(e),this);const s=z();t(s,0),et(s,this.doc),Z(this.bcChannel,o(s),this);const n=z();t(n,3),Z(this.bcChannel,o(n),this);const r=z();t(r,1),i(r,rt(this.awareness,[this.doc.clientID])),Z(this.bcChannel,o(r),this)}disconnectBc(){const e=z();t(e,1),i(e,rt(this.awareness,[this.doc.clientID],new Map)),ut(this,o(e)),this.bcconnected&&(((t,e)=>{const s=Q(t);s.subs.delete(e)&&0===s.subs.size&&(s.bc.close(),q.delete(t))})(this.bcChannel,this._bcSubscriber),this.bcconnected=!1)}disconnect(){this.shouldConnect=!1,this.disconnectBc(),null!==this.ws&&ht(this,this.ws,null)}connect(){this.shouldConnect=!0,this.wsconnected||null!==this.ws||(dt(this),this.connectBc())}}class pt{provider;isConnected=!1;constructor(t,e,s){const i=s?.url||"ws://localhost:1234",o=s?.roomName||t;this.provider=new mt(i,o,e,{params:s?.params,protocols:s?.protocols,WebSocketPolyfill:s?.WebSocketPolyfill,awareness:s?.awareness,maxBackoffTime:s?.maxBackoffTime,disableBc:!0}),this.setupEventListeners(),console.info(`WebSocket Provider initialized: ${i}/${o}`)}static with(t){return{create:(e,s)=>new pt(e,s,t)}}setupEventListeners(){this.provider.on("status",(({status:t})=>{"connected"===t?(this.isConnected=!0,console.info("WebSocket connected")):"disconnected"===t&&(this.isConnected=!1,console.info("WebSocket disconnected"))})),this.provider.on("sync",(t=>{t&&console.info("WebSocket synced")}))}async connect(){if(!this.isConnected)return new Promise(((t,e)=>{const s=setTimeout((()=>{e(Error("WebSocket connection timeout"))}),1e4),i=({status:e})=>{"connected"===e&&(clearTimeout(s),this.provider.off("status",i),this.isConnected=!0,t())};this.provider.on("status",i),this.provider.wsconnected&&(clearTimeout(s),this.provider.off("status",i),this.isConnected=!0,t())}))}disconnect(){this.provider&&this.provider.disconnect(),this.isConnected=!1}destroy(){this.provider&&this.provider.destroy(),this.isConnected=!1}}class ft{provider;isConnected=!1;isSynced=!1;usesSharedSocket=!1;static sharedWebSocketProvider=null;constructor(t,e,s){const i=s?.name||t,o=s?.url||"ws://localhost:1234",n=s?.websocketProvider||ft.sharedWebSocketProvider;if(n){this.usesSharedSocket=!0;const t={websocketProvider:n,name:i,document:e,token:s?.token||null,onConnect:()=>{this.isConnected=!0,s?.quiet||console.info("Hocuspocus connected: "+i),s?.onConnect&&s.onConnect()},onDisconnect:()=>{this.isConnected=!1,this.isSynced=!1,s?.quiet||console.info("Hocuspocus disconnected: "+i),s?.onDisconnect&&s.onDisconnect()},onSynced:()=>{this.isSynced=!0,s?.quiet||console.info("Hocuspocus synced: "+i),s?.onSynced&&s.onSynced()}};void 0!==s?.forceSyncInterval&&(t.forceSyncInterval=s.forceSyncInterval),s?.onAuthenticationFailed&&(t.onAuthenticationFailed=s.onAuthenticationFailed),s?.onStatus&&(t.onStatus=s.onStatus),this.provider=new R(t),this.provider.attach(),s?.quiet||console.info("Hocuspocus Provider initialized (multiplexed): "+i)}else{this.usesSharedSocket=!1;const t={url:o,name:i,document:e,token:s?.token||null,onConnect:()=>{this.isConnected=!0,s?.quiet||console.info("Hocuspocus connected: "+i),s?.onConnect&&s.onConnect()},onDisconnect:()=>{this.isConnected=!1,this.isSynced=!1,s?.quiet||console.info("Hocuspocus disconnected: "+i),s?.onDisconnect&&s.onDisconnect()},onSynced:()=>{this.isSynced=!0,s?.quiet||console.info("Hocuspocus synced: "+i),s?.onSynced&&s.onSynced()}};void 0!==s?.forceSyncInterval&&(t.forceSyncInterval=s.forceSyncInterval),s?.onAuthenticationFailed&&(t.onAuthenticationFailed=s.onAuthenticationFailed),s?.onStatus&&(t.onStatus=s.onStatus),s?.WebSocketPolyfill&&(t.WebSocketPolyfill=s.WebSocketPolyfill),this.provider=new R(t),s?.quiet||console.info(`Hocuspocus Provider initialized: ${o}/${i}`)}}static createSharedWebSocket(t){if(ft.sharedWebSocketProvider)return console.warn("Shared WebSocket already exists. Returning existing instance."),ft.sharedWebSocketProvider;const e={url:t.url};return t.WebSocketPolyfill&&(e.WebSocketPolyfill=t.WebSocketPolyfill),t.onConnect&&(e.onConnect=t.onConnect),t.onDisconnect&&(e.onDisconnect=t.onDisconnect),t.onStatus&&(e.onStatus=t.onStatus),ft.sharedWebSocketProvider=new X(e),console.info("Shared Hocuspocus WebSocket created: "+t.url),ft.sharedWebSocketProvider}static destroySharedWebSocket(){ft.sharedWebSocketProvider&&(ft.sharedWebSocketProvider.destroy(),ft.sharedWebSocketProvider=null,console.info("Shared Hocuspocus WebSocket destroyed"))}static getSharedWebSocket(){return ft.sharedWebSocketProvider}static with(t){return{create:(e,s)=>new ft(e,s,t)}}async connect(){if(!this.isSynced)return new Promise(((t,e)=>{const s=setTimeout((()=>{e(Error("Hocuspocus connection timeout"))}),1e4),i=()=>{clearTimeout(s),this.provider.off("synced",i),t()};if(this.provider.on("synced",i),this.provider.isSynced)return clearTimeout(s),this.provider.off("synced",i),void t();this.isConnected||this.usesSharedSocket||this.provider.connect()}))}disconnect(){this.provider&&(this.usesSharedSocket?this.provider.detach():this.provider.disconnect()),this.isConnected=!1,this.isSynced=!1}destroy(){this.provider&&this.provider.destroy(),this.isConnected=!1,this.isSynced=!1}}export{Y as BroadcastSyncProvider,ft as HocuspocusSyncProvider,pt as WebSocketSyncProvider}
|
|
1
|
+
export{g as getAssetPath,r as render,s as setAssetPath,a as setNonce,b as setPlatformOptions}from"./p-BxS4Pdpz.js";export{e as KritzelBrushTool,d as KritzelGroup,b as KritzelImage,c as KritzelLine,f as KritzelLineTool,a as KritzelPath,h as KritzelSelectionTool,K as KritzelText,g as KritzelTextTool}from"./p-DX-VWb90.js";import{w as t,a as i,t as o,r as n,b as l,e as u,c as m,d as p,f as z,g as C,s as k,h as y,i as S,v as x,j as w,o as j,k as v,l as T,m as P,O as W,n as B,p as U,q as M,u as H,x as A,y as L,z as O,A as $,B as _,C as N,H as R,D as X}from"./p-DUrr1j9m.js";export{I as IndexedDBSyncProvider,J as KritzelAnchorManager,G as KritzelAppStateMap,F as KritzelCursorHelper,K as KritzelEraserTool,E as KritzelImageTool}from"./p-DUrr1j9m.js";export{K as KritzelWorkspace}from"./p-n789Y3S-.js";export{D as DEFAULT_BRUSH_CONFIG,b as DEFAULT_LINE_TOOL_CONFIG,a as DEFAULT_TEXT_CONFIG,KritzelEditor,defineCustomElement as defineCustomElementKritzelEditor}from"./kritzel-editor.js";export{KritzelBrushStyle,defineCustomElement as defineCustomElementKritzelBrushStyle}from"./kritzel-brush-style.js";export{KritzelColor,defineCustomElement as defineCustomElementKritzelColor}from"./kritzel-color.js";export{KritzelColorPalette,defineCustomElement as defineCustomElementKritzelColorPalette}from"./kritzel-color-palette.js";export{KritzelContextMenu,defineCustomElement as defineCustomElementKritzelContextMenu}from"./kritzel-context-menu.js";export{KritzelControls,defineCustomElement as defineCustomElementKritzelControls}from"./kritzel-controls.js";export{KritzelCursorTrail,defineCustomElement as defineCustomElementKritzelCursorTrail}from"./kritzel-cursor-trail.js";export{KritzelDropdown,defineCustomElement as defineCustomElementKritzelDropdown}from"./kritzel-dropdown.js";export{KritzelEngine,defineCustomElement as defineCustomElementKritzelEngine}from"./kritzel-engine.js";export{KritzelFont,defineCustomElement as defineCustomElementKritzelFont}from"./kritzel-font.js";export{KritzelFontFamily,defineCustomElement as defineCustomElementKritzelFontFamily}from"./kritzel-font-family.js";export{KritzelFontSize,defineCustomElement as defineCustomElementKritzelFontSize}from"./kritzel-font-size.js";export{KritzelIcon,defineCustomElement as defineCustomElementKritzelIcon}from"./kritzel-icon.js";export{KritzelLineEndings,defineCustomElement as defineCustomElementKritzelLineEndings}from"./kritzel-line-endings.js";export{KritzelMenu,defineCustomElement as defineCustomElementKritzelMenu}from"./kritzel-menu.js";export{KritzelMenuItem,defineCustomElement as defineCustomElementKritzelMenuItem}from"./kritzel-menu-item.js";export{KritzelOpacitySlider,defineCustomElement as defineCustomElementKritzelOpacitySlider}from"./kritzel-opacity-slider.js";export{KritzelPortal,defineCustomElement as defineCustomElementKritzelPortal}from"./kritzel-portal.js";export{KritzelShapeFill,defineCustomElement as defineCustomElementKritzelShapeFill}from"./kritzel-shape-fill.js";export{KritzelSplitButton,defineCustomElement as defineCustomElementKritzelSplitButton}from"./kritzel-split-button.js";export{KritzelStrokeSize,defineCustomElement as defineCustomElementKritzelStrokeSize}from"./kritzel-stroke-size.js";export{KritzelToolConfig,defineCustomElement as defineCustomElementKritzelToolConfig}from"./kritzel-tool-config.js";export{KritzelTooltip,defineCustomElement as defineCustomElementKritzelTooltip}from"./kritzel-tooltip.js";export{KritzelUtilityPanel,defineCustomElement as defineCustomElementKritzelUtilityPanel}from"./kritzel-utility-panel.js";export{KritzelWorkspaceManager,defineCustomElement as defineCustomElementKritzelWorkspaceManager}from"./kritzel-workspace-manager.js";class Y{doc;channel;_synced=!1;constructor(t,e,s){this.doc=e,this.channel=new BroadcastChannel(t),this.channel.onmessage=t=>{this.handleMessage(t.data)},this.doc.on("update",this.handleDocUpdate),this.broadcastSync(),setTimeout((()=>{this._synced=!0}),100),console.info("BroadcastChannel Provider initialized: "+t)}handleDocUpdate=(e,s)=>{if(s!==this){const s=z();t(s,0),i(s,e),this.channel.postMessage(o(s))}};handleMessage(e){const s=C(new Uint8Array(e));switch(n(s)){case 0:const e=l(s);m(this.doc,e,this);break;case 1:this.broadcastSync();break;case 2:const n=l(s),r=u(this.doc,n);if(r.length>0){const e=z();t(e,0),i(e,r),this.channel.postMessage(o(e))}}}broadcastSync(){const e=z();t(e,2),i(e,p(this.doc)),this.channel.postMessage(o(e))}async connect(){if(!this._synced)return new Promise((t=>{const e=()=>{this._synced?t():setTimeout(e,50)};e()}))}disconnect(){}destroy(){this.doc.off("update",this.handleDocUpdate),this.channel.close()}}const q=new Map,V="undefined"==typeof BroadcastChannel?class{constructor(t){this.room=t,this.onmessage=null,this._onChange=e=>e.key===t&&null!==this.onmessage&&this.onmessage({data:S(e.newValue||"")}),j(this._onChange)}postMessage(t){x.setItem(this.room,w(v(t)))}close(){T(this._onChange)}}:BroadcastChannel,Q=t=>k(q,t,(()=>{const e=y(),s=new V(t);return s.onmessage=t=>e.forEach((e=>e(t.data,"broadcastchannel"))),{bc:s,subs:e}})),Z=(t,e,s=null)=>{const i=Q(t);i.bc.postMessage(e),i.subs.forEach((t=>t(e,s)))},tt=(e,s)=>{t(e,0);const o=p(s);i(e,o)},et=(e,s,o)=>{t(e,1),i(e,u(s,o))},st=(t,e,s,i)=>{try{m(e,l(t),s)}catch(t){null!=i&&i(t),console.error("Caught error while handling a Yjs update",t)}},it=st;class ot extends W{constructor(t){super(),this.doc=t,this.clientID=t.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const t=U();null!==this.getLocalState()&&15e3<=t-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const e=[];this.meta.forEach(((s,i)=>{i!==this.clientID&&3e4<=t-s.lastUpdated&&this.states.has(i)&&e.push(i)})),e.length>0&&nt(this,e,"timeout")}),B(3e3)),t.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(t){const e=this.clientID,s=this.meta.get(e),i=void 0===s?0:s.clock+1,o=this.states.get(e);null===t?this.states.delete(e):this.states.set(e,t),this.meta.set(e,{clock:i,lastUpdated:U()});const n=[],r=[],l=[],c=[];null===t?c.push(e):null==o?null!=t&&n.push(e):(r.push(e),M(o,t)||l.push(e)),(n.length>0||l.length>0||c.length>0)&&this.emit("change",[{added:n,updated:l,removed:c},"local"]),this.emit("update",[{added:n,updated:r,removed:c},"local"])}setLocalStateField(t,e){const s=this.getLocalState();null!==s&&this.setLocalState({...s,[t]:e})}getStates(){return this.states}}const nt=(t,e,s)=>{const i=[];for(let s=0;s<e.length;s++){const o=e[s];if(t.states.has(o)){if(t.states.delete(o),o===t.clientID){const e=t.meta.get(o);t.meta.set(o,{clock:e.clock+1,lastUpdated:U()})}i.push(o)}}i.length>0&&(t.emit("change",[{added:[],updated:[],removed:i},s]),t.emit("update",[{added:[],updated:[],removed:i},s]))},rt=(e,s,i=e.states)=>{const n=s.length,r=z();t(r,n);for(let o=0;o<n;o++){const n=s[o],l=i.get(n)||null,c=e.meta.get(n).clock;t(r,n),t(r,c),H(r,JSON.stringify(l))}return o(r)},lt=[];lt[0]=(e,s,i,o)=>{t(e,0);const r=((t,e,s,i,o)=>{const r=n(t);switch(r){case 0:((t,e,s)=>{et(e,s,l(t))})(t,e,s);break;case 1:st(t,s,i,o);break;case 2:it(t,s,i,o);break;default:throw Error("Unknown message type")}return r})(s,e,i.doc,i);o&&1===r&&!i.synced&&(i.synced=!0)},lt[3]=(e,s,o)=>{t(e,1),i(e,rt(o.awareness,Array.from(o.awareness.getStates().keys())))},lt[1]=(t,e,s)=>{((t,e,s)=>{const i=C(e),o=U(),r=[],l=[],c=[],a=[],h=n(i);for(let e=0;e<h;e++){const e=n(i);let s=n(i);const h=JSON.parse(P(i)),d=t.meta.get(e),u=t.states.get(e),m=void 0===d?0:d.clock;(m<s||m===s&&null===h&&t.states.has(e))&&(null===h?e===t.clientID&&null!=t.getLocalState()?s++:t.states.delete(e):t.states.set(e,h),t.meta.set(e,{clock:s,lastUpdated:o}),void 0===d&&null!==h?r.push(e):void 0!==d&&null===h?a.push(e):null!==h&&(M(h,u)||c.push(e),l.push(e)))}(r.length>0||c.length>0||a.length>0)&&t.emit("change",[{added:r,updated:c,removed:a},s]),(r.length>0||l.length>0||a.length>0)&&t.emit("update",[{added:r,updated:l,removed:a},s])})(s.awareness,l(e),s)},lt[2]=(t,e,s)=>{((t,e,s)=>{0===n(t)&&s(0,P(t))})(e,0,((t,e)=>ct(s,e)))};const ct=(t,e)=>console.warn(`Permission denied to access ${t.url}.\n${e}`),at=(t,e,s)=>{const i=C(e),o=z(),r=n(i),l=t.messageHandlers[r];return l?l(o,i,t,s,r):console.error("Unable to compute message"),o},ht=(t,e,s)=>{e===t.ws&&(t.emit("connection-close",[s,t]),t.ws=null,e.close(),t.wsconnecting=!1,t.wsconnected?(t.wsconnected=!1,t.synced=!1,nt(t.awareness,Array.from(t.awareness.getStates().keys()).filter((e=>e!==t.doc.clientID)),t),t.emit("status",[{status:"disconnected"}])):t.wsUnsuccessfulReconnects++,setTimeout(dt,_(100*N(2,t.wsUnsuccessfulReconnects),t.maxBackoffTime),t))},dt=e=>{if(e.shouldConnect&&null===e.ws){const s=new e._WS(e.url,e.protocols);s.binaryType="arraybuffer",e.ws=s,e.wsconnecting=!0,e.wsconnected=!1,e.synced=!1,s.onmessage=t=>{e.wsLastMessageReceived=U();const i=at(e,new Uint8Array(t.data),!0);O(i)>1&&s.send(o(i))},s.onerror=t=>{e.emit("connection-error",[t,e])},s.onclose=t=>{ht(e,s,t)},s.onopen=()=>{e.wsLastMessageReceived=U(),e.wsconnecting=!1,e.wsconnected=!0,e.wsUnsuccessfulReconnects=0,e.emit("status",[{status:"connected"}]);const n=z();if(t(n,0),tt(n,e.doc),s.send(o(n)),null!==e.awareness.getLocalState()){const n=z();t(n,1),i(n,rt(e.awareness,[e.doc.clientID])),s.send(o(n))}},e.emit("status",[{status:"connecting"}])}},ut=(t,e)=>{const s=t.ws;t.wsconnected&&s&&s.readyState===s.OPEN&&s.send(e),t.bcconnected&&Z(t.bcChannel,e,t)};class mt extends L{constructor(e,s,n,{connect:r=!0,awareness:l=new ot(n),params:c={},protocols:a=[],WebSocketPolyfill:h=WebSocket,resyncInterval:d=-1,maxBackoffTime:u=2500,disableBc:m=!1}={}){for(super();"/"===e[e.length-1];)e=e.slice(0,e.length-1);this.serverUrl=e,this.bcChannel=e+"/"+s,this.maxBackoffTime=u,this.params=c,this.protocols=a,this.roomname=s,this.doc=n,this._WS=h,this.awareness=l,this.wsconnected=!1,this.wsconnecting=!1,this.bcconnected=!1,this.disableBc=m,this.wsUnsuccessfulReconnects=0,this.messageHandlers=lt.slice(),this._synced=!1,this.ws=null,this.wsLastMessageReceived=0,this.shouldConnect=r,this._resyncInterval=0,d>0&&(this._resyncInterval=setInterval((()=>{if(this.ws&&this.ws.readyState===WebSocket.OPEN){const e=z();t(e,0),tt(e,n),this.ws.send(o(e))}}),d)),this._bcSubscriber=(t,e)=>{if(e!==this){const e=at(this,new Uint8Array(t),!1);O(e)>1&&Z(this.bcChannel,o(e),this)}},this._updateHandler=(e,s)=>{if(s!==this){const s=z();t(s,0),((e,s)=>{t(e,2),i(e,s)})(s,e),ut(this,o(s))}},this.doc.on("update",this._updateHandler),this._awarenessUpdateHandler=({added:e,updated:s,removed:n})=>{const r=e.concat(s).concat(n),c=z();t(c,1),i(c,rt(l,r)),ut(this,o(c))},this._exitHandler=()=>{nt(this.awareness,[n.clientID],"app closed")},$&&"undefined"!=typeof process&&process.on("exit",this._exitHandler),l.on("update",this._awarenessUpdateHandler),this._checkInterval=setInterval((()=>{this.wsconnected&&3e4<U()-this.wsLastMessageReceived&&ht(this,this.ws,null)}),3e3),r&&this.connect()}get url(){const t=(()=>A(this.params,((t,e)=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`)).join("&"))();return this.serverUrl+"/"+this.roomname+(0===t.length?"":"?"+t)}get synced(){return this._synced}set synced(t){this._synced!==t&&(this._synced=t,this.emit("synced",[t]),this.emit("sync",[t]))}destroy(){0!==this._resyncInterval&&clearInterval(this._resyncInterval),clearInterval(this._checkInterval),this.disconnect(),$&&"undefined"!=typeof process&&process.off("exit",this._exitHandler),this.awareness.off("update",this._awarenessUpdateHandler),this.doc.off("update",this._updateHandler),super.destroy()}connectBc(){if(this.disableBc)return;this.bcconnected||(((t,e)=>{Q(this.bcChannel).subs.add(e)})(0,this._bcSubscriber),this.bcconnected=!0);const e=z();t(e,0),tt(e,this.doc),Z(this.bcChannel,o(e),this);const s=z();t(s,0),et(s,this.doc),Z(this.bcChannel,o(s),this);const n=z();t(n,3),Z(this.bcChannel,o(n),this);const r=z();t(r,1),i(r,rt(this.awareness,[this.doc.clientID])),Z(this.bcChannel,o(r),this)}disconnectBc(){const e=z();t(e,1),i(e,rt(this.awareness,[this.doc.clientID],new Map)),ut(this,o(e)),this.bcconnected&&(((t,e)=>{const s=Q(t);s.subs.delete(e)&&0===s.subs.size&&(s.bc.close(),q.delete(t))})(this.bcChannel,this._bcSubscriber),this.bcconnected=!1)}disconnect(){this.shouldConnect=!1,this.disconnectBc(),null!==this.ws&&ht(this,this.ws,null)}connect(){this.shouldConnect=!0,this.wsconnected||null!==this.ws||(dt(this),this.connectBc())}}class pt{provider;isConnected=!1;constructor(t,e,s){const i=s?.url||"ws://localhost:1234",o=s?.roomName||t;this.provider=new mt(i,o,e,{params:s?.params,protocols:s?.protocols,WebSocketPolyfill:s?.WebSocketPolyfill,awareness:s?.awareness,maxBackoffTime:s?.maxBackoffTime,disableBc:!0}),this.setupEventListeners(),console.info(`WebSocket Provider initialized: ${i}/${o}`)}static with(t){return{create:(e,s)=>new pt(e,s,t)}}setupEventListeners(){this.provider.on("status",(({status:t})=>{"connected"===t?(this.isConnected=!0,console.info("WebSocket connected")):"disconnected"===t&&(this.isConnected=!1,console.info("WebSocket disconnected"))})),this.provider.on("sync",(t=>{t&&console.info("WebSocket synced")}))}async connect(){if(!this.isConnected)return new Promise(((t,e)=>{const s=setTimeout((()=>{e(Error("WebSocket connection timeout"))}),1e4),i=({status:e})=>{"connected"===e&&(clearTimeout(s),this.provider.off("status",i),this.isConnected=!0,t())};this.provider.on("status",i),this.provider.wsconnected&&(clearTimeout(s),this.provider.off("status",i),this.isConnected=!0,t())}))}disconnect(){this.provider&&this.provider.disconnect(),this.isConnected=!1}destroy(){this.provider&&this.provider.destroy(),this.isConnected=!1}}class ft{provider;isConnected=!1;isSynced=!1;usesSharedSocket=!1;static sharedWebSocketProvider=null;constructor(t,e,s){const i=s?.name||t,o=s?.url||"ws://localhost:1234",n=s?.websocketProvider||ft.sharedWebSocketProvider;if(n){this.usesSharedSocket=!0;const t={websocketProvider:n,name:i,document:e,token:s?.token||null,onConnect:()=>{this.isConnected=!0,s?.quiet||console.info("Hocuspocus connected: "+i),s?.onConnect&&s.onConnect()},onDisconnect:()=>{this.isConnected=!1,this.isSynced=!1,s?.quiet||console.info("Hocuspocus disconnected: "+i),s?.onDisconnect&&s.onDisconnect()},onSynced:()=>{this.isSynced=!0,s?.quiet||console.info("Hocuspocus synced: "+i),s?.onSynced&&s.onSynced()}};void 0!==s?.forceSyncInterval&&(t.forceSyncInterval=s.forceSyncInterval),s?.onAuthenticationFailed&&(t.onAuthenticationFailed=s.onAuthenticationFailed),s?.onStatus&&(t.onStatus=s.onStatus),this.provider=new R(t),this.provider.attach(),s?.quiet||console.info("Hocuspocus Provider initialized (multiplexed): "+i)}else{this.usesSharedSocket=!1;const t={url:o,name:i,document:e,token:s?.token||null,onConnect:()=>{this.isConnected=!0,s?.quiet||console.info("Hocuspocus connected: "+i),s?.onConnect&&s.onConnect()},onDisconnect:()=>{this.isConnected=!1,this.isSynced=!1,s?.quiet||console.info("Hocuspocus disconnected: "+i),s?.onDisconnect&&s.onDisconnect()},onSynced:()=>{this.isSynced=!0,s?.quiet||console.info("Hocuspocus synced: "+i),s?.onSynced&&s.onSynced()}};void 0!==s?.forceSyncInterval&&(t.forceSyncInterval=s.forceSyncInterval),s?.onAuthenticationFailed&&(t.onAuthenticationFailed=s.onAuthenticationFailed),s?.onStatus&&(t.onStatus=s.onStatus),s?.WebSocketPolyfill&&(t.WebSocketPolyfill=s.WebSocketPolyfill),this.provider=new R(t),s?.quiet||console.info(`Hocuspocus Provider initialized: ${o}/${i}`)}}static createSharedWebSocket(t){if(ft.sharedWebSocketProvider)return console.warn("Shared WebSocket already exists. Returning existing instance."),ft.sharedWebSocketProvider;const e={url:t.url};return t.WebSocketPolyfill&&(e.WebSocketPolyfill=t.WebSocketPolyfill),t.onConnect&&(e.onConnect=t.onConnect),t.onDisconnect&&(e.onDisconnect=t.onDisconnect),t.onStatus&&(e.onStatus=t.onStatus),ft.sharedWebSocketProvider=new X(e),console.info("Shared Hocuspocus WebSocket created: "+t.url),ft.sharedWebSocketProvider}static destroySharedWebSocket(){ft.sharedWebSocketProvider&&(ft.sharedWebSocketProvider.destroy(),ft.sharedWebSocketProvider=null,console.info("Shared Hocuspocus WebSocket destroyed"))}static getSharedWebSocket(){return ft.sharedWebSocketProvider}static with(t){return{create:(e,s)=>new ft(e,s,t)}}async connect(){if(!this.isSynced)return new Promise(((t,e)=>{const s=setTimeout((()=>{e(Error("Hocuspocus connection timeout"))}),1e4),i=()=>{clearTimeout(s),this.provider.off("synced",i),t()};if(this.provider.on("synced",i),this.provider.isSynced)return clearTimeout(s),this.provider.off("synced",i),void t();this.isConnected||this.usesSharedSocket||this.provider.connect()}))}disconnect(){this.provider&&(this.usesSharedSocket?this.provider.detach():this.provider.disconnect()),this.isConnected=!1,this.isSynced=!1}destroy(){this.provider&&this.provider.destroy(),this.isConnected=!1,this.isSynced=!1}}export{Y as BroadcastSyncProvider,ft as HocuspocusSyncProvider,pt as WebSocketSyncProvider}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,H as t,c as s,h as o,d as i,t as a}from"./p-BxS4Pdpz.js";import{K as r,d as n}from"./p-DgCGSL2Q.js";import{D as l,S as c,h as p,e as m,f as k,g as d,i as h,j as u}from"./p-DX-VWb90.js";import{L as b,M as g,K as y,E as f,N as z}from"./p-BJMnPnsd.js";import{K as j}from"./p-n789Y3S-.js";import{K as C}from"./p-l10It7Nm.js";import{d as w}from"./p-e1r5dgeP.js";import{d as E}from"./p-DMJI6opm.js";import{d as x}from"./p-Cnpk2hfo.js";import{d as I}from"./p-_uKelBZg.js";import{d as R}from"./p-BlUr7oVq.js";import{d as S}from"./p-CCj8nmQH.js";import{d as O}from"./p-DLijNISu.js";import{d as v}from"./p-9XZbc_qK.js";import{d as W}from"./p-FOxrXeq4.js";import{d as M}from"./p-CNneo_RD.js";import{d as V,a as D}from"./p-CLOnpu42.js";import{d as K}from"./p-BVIY50lR.js";import{d as P}from"./p-Ctv4NAxk.js";import{d as A}from"./p-pKbfOI5a.js";import{d as B}from"./p-wRXL928z.js";import{d as U}from"./p-S5GeUsJP.js";import{d as T}from"./p-Z7y6A4a9.js";import{d as F}from"./p-83YX0-FS.js";import{d as L}from"./p-DKgqzi2Y.js";import{d as Y}from"./p-DV_h5Jo2.js";const N={type:"pen",color:"#000000",size:16,palettes:{pen:[...l]}},X={color:"#000000",size:8,fontFamily:"Arial",palette:[...l]},q={color:"#000000",size:4,palette:[...l],arrows:{end:{enabled:!0,style:"triangle"}}},G={shapeType:c.Rectangle,fillColor:"transparent",strokeColor:"#000000",strokeWidth:4,fontColor:"#000000",fontSize:16,fontFamily:"Arial",palette:[...l]},J=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.isReady=s(this,"isReady"),this.objectsChange=s(this,"objectsChange"),this.undoStateChange=s(this,"undoStateChange")}get host(){return this}scaleMax=b;scaleMin=g;controls=[{name:"selection",type:"tool",isDefault:!0,tool:p,icon:"cursor"},{name:"brush",type:"tool",tool:m,icon:"pen",config:N},{name:"line",type:"tool",tool:k,icon:"arrow",config:q},{name:"eraser",type:"tool",tool:y,icon:"eraser"},{name:"text",type:"tool",tool:d,icon:"type",config:X},{name:"shape",type:"tool",tool:h,icon:"shape-rectangle",config:G,subOptions:[{id:"rectangle",icon:"shape-rectangle",label:"Rectangle",value:c.Rectangle,toolProperty:"shapeType"},{id:"ellipse",icon:"shape-ellipse",label:"Ellipse",value:c.Ellipse,toolProperty:"shapeType"},{id:"triangle",icon:"shape-triangle",label:"Triangle",value:c.Triangle,toolProperty:"shapeType"}]},{name:"image",type:"tool",tool:f,icon:"image"},{name:"config",type:"config"}];globalContextMenuItems=[{label:"Paste",icon:"paste",disabled:async()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.y)},{label:"Select All",icon:"select-all",action:()=>this.selectAllObjectsInViewport()}];objectContextMenuItems=[{label:"Copy",icon:"copy",action:()=>this.engineRef.copy()},{label:"Paste",icon:"paste",disabled:async()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.y)},{label:"Delete",icon:"delete",action:()=>this.engineRef.delete()},{label:"Bring to Front",icon:"bring-to-front",action:()=>this.engineRef.bringToFront()},{label:"Send to Back",icon:"send-to-back",action:()=>this.engineRef.sendToBack()},{label:"Group",icon:"group",disabled:async()=>(await this.engineRef.getSelectedObjects()).length<2,action:()=>this.engineRef.group()},{label:"Ungroup",icon:"ungroup",disabled:async()=>!(await this.engineRef.getSelectedObjects()).some((e=>"KritzelGroup"===e.__class__)),action:()=>this.engineRef.ungroup()}];customSvgIcons={};isControlsVisible=!0;isUtilityPanelVisible=!0;syncConfig;isReady;objectsChange;undoStateChange;isEngineReady=!1;isControlsReady=!1;isWorkspaceManagerReady=!1;workspaces=[];activeWorkspace;isVirtualKeyboardOpen=!1;undoState=null;onIsEngineReady(e){e&&this.isControlsReady&&this.checkIsReady()}onIsControlsReady(e){e&&this.isEngineReady&&this.checkIsReady()}onWorkspacesChange(e){if(this.activeWorkspace){const t=e.find((e=>e.id===this.activeWorkspace.id));t&&t!==this.activeWorkspace&&(this.activeWorkspace=t)}}onTouchStart(e){e.cancelable&&e.preventDefault()}async getObjectById(e){return this.engineRef.getObjectById(e)}async addObject(e){return this.engineRef.addObject(e)}async updateObject(e,t){return this.engineRef.updateObject(e,t)}async removeObject(e){return this.engineRef.removeObject(e)}async getSelectedObjects(){return this.engineRef.getSelectedObjects()}async selectObjects(e){return this.engineRef.selectObjects(e)}async selectAllObjectsInViewport(){return this.engineRef.selectAllObjectsInViewport()}async clearSelection(){this.engineRef.clearSelection()}async centerObjectInViewport(e){return this.engineRef.centerObjectInViewport(e)}async createWorkspace(e,t){const s=new j("workspace-"+Date.now(),e,t);return this.engineRef.createWorkspace(s)}async updateWorkspace(e){return this.engineRef.updateWorkspace(e)}async deleteWorkspace(e){return this.engineRef.deleteWorkspace(e)}async getWorkspaces(){return this.engineRef.getWorkspaces()}async getActiveWorkspace(){return this.engineRef.getActiveWorkspace()}engineRef;controlsRef;splitButtonRef;componentDidLoad(){this.registerCustomSvgIcons(),this.listenForMobileKeyboard(),this.setOsSpecificCssVariables()}async checkIsReady(){await customElements.whenDefined("kritzel-editor"),await customElements.whenDefined("kritzel-workspace-manager"),await customElements.whenDefined("kritzel-controls"),await customElements.whenDefined("kritzel-engine"),this.isEngineReady&&this.isControlsReady&&this.isWorkspaceManagerReady&&this.isReady.emit(this.host)}onEngineReady(e){this.isEngineReady=!0,this.activeWorkspace=e.detail.activeWorkspace,this.workspaces=e.detail.workspaces}handleWorkspacesChange(e){this.workspaces=e.detail}handleObjectsChange(e){this.objectsChange.emit(e.detail)}handleUndoStateChange(e){this.undoStateChange.emit(e.detail),this.undoState=e.detail}registerCustomSvgIcons(){for(const[e,t]of Object.entries(this.customSvgIcons))r.register(e,t)}listenForMobileKeyboard(){u.onKeyboardVisibleChanged((e=>{this.isVirtualKeyboardOpen=e}))}setOsSpecificCssVariables(){switch(C.detectOS()){case"iOS":this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px"),this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","14px"),this.host.style.setProperty("--kritzel-editor-controls-transition","cubic-bezier(0.25, 0.1, 0.25, 1.0)"),this.host.style.setProperty("--kritzel-editor-controls-transform","translateY(200%)"),this.host.style.setProperty("--kritzel-editor-controls-transition-duration","0.25s");break;case"Android":this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px"),this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","24px");break;default:this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px"),this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","14px")}}render(){return o(i,{key:"08dae992458f6440295e59a12934c76ad4f9931e"},o("kritzel-workspace-manager",{key:"43a980a7aadbc3fef9f375c99f1577f771612835",workspaces:this.workspaces,activeWorkspace:this.activeWorkspace,onWorkspaceChange:e=>this.activeWorkspace=e.detail,onIsWorkspaceManagerReady:()=>this.isWorkspaceManagerReady=!0}),o("kritzel-engine",{key:"471133030308d915fb9fa1e8e818662e56d483db",ref:e=>this.engineRef=e,workspace:this.activeWorkspace,syncConfig:this.syncConfig,scaleMax:this.scaleMax,scaleMin:this.scaleMin,globalContextMenuItems:this.globalContextMenuItems,objectContextMenuItems:this.objectContextMenuItems,onIsEngineReady:e=>this.onEngineReady(e),onWorkspacesChange:e=>this.handleWorkspacesChange(e),onObjectsChange:e=>this.handleObjectsChange(e),onUndoStateChange:e=>this.handleUndoStateChange(e)}),o("kritzel-controls",{key:"7e7c7111e0629309c4bda9d94b95623dbe835f0f",class:{"keyboard-open":this.isVirtualKeyboardOpen},style:{display:this.isControlsVisible?"flex":"none"},ref:e=>this.controlsRef=e,controls:this.controls,isUtilityPanelVisible:this.isUtilityPanelVisible,undoState:this.undoState,onIsControlsReady:()=>this.isControlsReady=!0}))}static get watchers(){return{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}]}}static get style(){return"kritzel-editor{display:flex;margin:0;position:relative;overflow:hidden;width:100%;height:100%;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}kritzel-workspace-manager{position:absolute;top:var(--kritzel-editor-workspace-manager-top, 14px);left:var(--kritzel-editor-workspace-manager-left, 14px)}kritzel-controls{position:absolute;bottom:var(--kritzel-editor-controls-bottom, 14px);transition:transform var(--kritzel-editor-controls-transition-duration, 0.1s) var(--kritzel-editor-controls-transition, ease-in-out)}kritzel-controls.keyboard-open{transform:var(--kritzel-editor-controls-transform, translateY(300%))}"}},[512,"kritzel-editor",{scaleMax:[2,"scale-max"],scaleMin:[2,"scale-min"],controls:[16],globalContextMenuItems:[16],objectContextMenuItems:[16],customSvgIcons:[16],isControlsVisible:[4,"is-controls-visible"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],syncConfig:[16],isEngineReady:[32],isControlsReady:[32],isWorkspaceManagerReady:[32],workspaces:[32],activeWorkspace:[32],isVirtualKeyboardOpen:[32],undoState:[32],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"dblclick","onTouchStart"]],{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}]}]),_=J,Z=function(){"undefined"!=typeof customElements&&["kritzel-editor","kritzel-color","kritzel-color-palette","kritzel-context-menu","kritzel-controls","kritzel-cursor-trail","kritzel-dropdown","kritzel-engine","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-menu","kritzel-menu-item","kritzel-opacity-slider","kritzel-portal","kritzel-shape-fill","kritzel-split-button","kritzel-stroke-size","kritzel-tool-config","kritzel-tooltip","kritzel-utility-panel","kritzel-workspace-manager"].forEach((e=>{switch(e){case"kritzel-editor":customElements.get(a(e))||customElements.define(a(e),J);break;case"kritzel-color":customElements.get(a(e))||w();break;case"kritzel-color-palette":customElements.get(a(e))||E();break;case"kritzel-context-menu":customElements.get(a(e))||x();break;case"kritzel-controls":customElements.get(a(e))||I();break;case"kritzel-cursor-trail":customElements.get(a(e))||R();break;case"kritzel-dropdown":customElements.get(a(e))||S();break;case"kritzel-engine":customElements.get(a(e))||z();break;case"kritzel-font":customElements.get(a(e))||O();break;case"kritzel-font-family":customElements.get(a(e))||v();break;case"kritzel-font-size":customElements.get(a(e))||W();break;case"kritzel-icon":customElements.get(a(e))||n();break;case"kritzel-line-endings":customElements.get(a(e))||M();break;case"kritzel-menu":customElements.get(a(e))||D();break;case"kritzel-menu-item":customElements.get(a(e))||V();break;case"kritzel-opacity-slider":customElements.get(a(e))||K();break;case"kritzel-portal":customElements.get(a(e))||P();break;case"kritzel-shape-fill":customElements.get(a(e))||A();break;case"kritzel-split-button":customElements.get(a(e))||B();break;case"kritzel-stroke-size":customElements.get(a(e))||U();break;case"kritzel-tool-config":customElements.get(a(e))||T();break;case"kritzel-tooltip":customElements.get(a(e))||F();break;case"kritzel-utility-panel":customElements.get(a(e))||L();break;case"kritzel-workspace-manager":customElements.get(a(e))||Y()}}))};export{N as D,_ as KritzelEditor,X as a,q as b,Z as defineCustomElement}
|
|
1
|
+
import{p as e,H as t,c as s,h as o,d as i,t as a}from"./p-BxS4Pdpz.js";import{K as r,d as n}from"./p-DgCGSL2Q.js";import{D as l,S as c,h as p,e as m,f as k,g as d,i as h,j as u}from"./p-DX-VWb90.js";import{L as b,M as g,K as y,E as f,N as z}from"./p-DUrr1j9m.js";import{K as j}from"./p-n789Y3S-.js";import{K as C}from"./p-l10It7Nm.js";import{d as w}from"./p-e1r5dgeP.js";import{d as E}from"./p-DMJI6opm.js";import{d as x}from"./p-Cnpk2hfo.js";import{d as I}from"./p-_uKelBZg.js";import{d as R}from"./p-BlUr7oVq.js";import{d as S}from"./p-CCj8nmQH.js";import{d as O}from"./p-DLijNISu.js";import{d as v}from"./p-9XZbc_qK.js";import{d as W}from"./p-FOxrXeq4.js";import{d as M}from"./p-CNneo_RD.js";import{d as V,a as D}from"./p-CLOnpu42.js";import{d as K}from"./p-BVIY50lR.js";import{d as P}from"./p-Ctv4NAxk.js";import{d as A}from"./p-pKbfOI5a.js";import{d as B}from"./p-wRXL928z.js";import{d as U}from"./p-S5GeUsJP.js";import{d as T}from"./p-Z7y6A4a9.js";import{d as F}from"./p-83YX0-FS.js";import{d as L}from"./p-DKgqzi2Y.js";import{d as Y}from"./p-DV_h5Jo2.js";const N={type:"pen",color:"#000000",size:16,palettes:{pen:[...l]}},X={color:"#000000",size:8,fontFamily:"Arial",palette:[...l]},q={color:"#000000",size:4,palette:[...l],arrows:{end:{enabled:!0,style:"triangle"}}},G={shapeType:c.Rectangle,fillColor:"transparent",strokeColor:"#000000",strokeWidth:4,fontColor:"#000000",fontSize:16,fontFamily:"Arial",palette:[...l]},_=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.isReady=s(this,"isReady"),this.objectsChange=s(this,"objectsChange"),this.undoStateChange=s(this,"undoStateChange")}get host(){return this}scaleMax=b;scaleMin=g;controls=[{name:"selection",type:"tool",isDefault:!0,tool:p,icon:"cursor"},{name:"brush",type:"tool",tool:m,icon:"pen",config:N},{name:"line",type:"tool",tool:k,icon:"arrow",config:q},{name:"eraser",type:"tool",tool:y,icon:"eraser"},{name:"text",type:"tool",tool:d,icon:"type",config:X},{name:"shape",type:"tool",tool:h,icon:"shape-rectangle",config:G,subOptions:[{id:"rectangle",icon:"shape-rectangle",label:"Rectangle",value:c.Rectangle,toolProperty:"shapeType"},{id:"ellipse",icon:"shape-ellipse",label:"Ellipse",value:c.Ellipse,toolProperty:"shapeType"},{id:"triangle",icon:"shape-triangle",label:"Triangle",value:c.Triangle,toolProperty:"shapeType"}]},{name:"image",type:"tool",tool:f,icon:"image"},{name:"config",type:"config"}];globalContextMenuItems=[{label:"Paste",icon:"paste",disabled:async()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.y)},{label:"Select All",icon:"select-all",action:()=>this.selectAllObjectsInViewport()}];objectContextMenuItems=[{label:"Copy",icon:"copy",action:()=>this.engineRef.copy()},{label:"Paste",icon:"paste",disabled:async()=>0===(await this.engineRef.getCopiedObjects()).length,action:e=>this.engineRef.paste(e.x,e.y)},{label:"Delete",icon:"delete",action:()=>this.engineRef.delete()},{label:"Bring to Front",icon:"bring-to-front",action:()=>this.engineRef.bringToFront()},{label:"Send to Back",icon:"send-to-back",action:()=>this.engineRef.sendToBack()},{label:"Group",icon:"group",disabled:async()=>(await this.engineRef.getSelectedObjects()).length<2,action:()=>this.engineRef.group()},{label:"Ungroup",icon:"ungroup",disabled:async()=>!(await this.engineRef.getSelectedObjects()).some((e=>"KritzelGroup"===e.__class__)),action:()=>this.engineRef.ungroup()}];customSvgIcons={};isControlsVisible=!0;isUtilityPanelVisible=!0;syncConfig;isReady;objectsChange;undoStateChange;isEngineReady=!1;isControlsReady=!1;isWorkspaceManagerReady=!1;workspaces=[];activeWorkspace;isVirtualKeyboardOpen=!1;undoState=null;onIsEngineReady(e){e&&this.isControlsReady&&this.checkIsReady()}onIsControlsReady(e){e&&this.isEngineReady&&this.checkIsReady()}onWorkspacesChange(e){if(this.activeWorkspace){const t=e.find((e=>e.id===this.activeWorkspace.id));t&&t!==this.activeWorkspace&&(this.activeWorkspace=t)}}onTouchStart(e){e.cancelable&&e.preventDefault()}async getObjectById(e){return this.engineRef.getObjectById(e)}async addObject(e){return this.engineRef.addObject(e)}async updateObject(e,t){return this.engineRef.updateObject(e,t)}async removeObject(e){return this.engineRef.removeObject(e)}async getSelectedObjects(){return this.engineRef.getSelectedObjects()}async selectObjects(e){return this.engineRef.selectObjects(e)}async selectAllObjectsInViewport(){return this.engineRef.selectAllObjectsInViewport()}async clearSelection(){this.engineRef.clearSelection()}async centerObjectInViewport(e){return this.engineRef.centerObjectInViewport(e)}async createWorkspace(e,t){const s=new j("workspace-"+Date.now(),e,t);return this.engineRef.createWorkspace(s)}async updateWorkspace(e){return this.engineRef.updateWorkspace(e)}async deleteWorkspace(e){return this.engineRef.deleteWorkspace(e)}async getWorkspaces(){return this.engineRef.getWorkspaces()}async getActiveWorkspace(){return this.engineRef.getActiveWorkspace()}engineRef;controlsRef;splitButtonRef;componentDidLoad(){this.registerCustomSvgIcons(),this.listenForMobileKeyboard(),this.setOsSpecificCssVariables()}async checkIsReady(){await customElements.whenDefined("kritzel-editor"),await customElements.whenDefined("kritzel-workspace-manager"),await customElements.whenDefined("kritzel-controls"),await customElements.whenDefined("kritzel-engine"),this.isEngineReady&&this.isControlsReady&&this.isWorkspaceManagerReady&&this.isReady.emit(this.host)}onEngineReady(e){this.isEngineReady=!0,this.activeWorkspace=e.detail.activeWorkspace,this.workspaces=e.detail.workspaces}handleWorkspacesChange(e){this.workspaces=e.detail}handleObjectsChange(e){this.objectsChange.emit(e.detail)}handleUndoStateChange(e){this.undoStateChange.emit(e.detail),this.undoState=e.detail}registerCustomSvgIcons(){for(const[e,t]of Object.entries(this.customSvgIcons))r.register(e,t)}listenForMobileKeyboard(){u.onKeyboardVisibleChanged((e=>{this.isVirtualKeyboardOpen=e}))}setOsSpecificCssVariables(){switch(C.detectOS()){case"iOS":this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px"),this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","14px"),this.host.style.setProperty("--kritzel-editor-controls-transition","cubic-bezier(0.25, 0.1, 0.25, 1.0)"),this.host.style.setProperty("--kritzel-editor-controls-transform","translateY(200%)"),this.host.style.setProperty("--kritzel-editor-controls-transition-duration","0.25s");break;case"Android":this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px"),this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","24px");break;default:this.host.style.setProperty("--kritzel-editor-workspace-manager-top","14px"),this.host.style.setProperty("--kritzel-editor-workspace-manager-left","14px"),this.host.style.setProperty("--kritzel-editor-controls-bottom","14px")}}render(){return o(i,{key:"08dae992458f6440295e59a12934c76ad4f9931e"},o("kritzel-workspace-manager",{key:"43a980a7aadbc3fef9f375c99f1577f771612835",workspaces:this.workspaces,activeWorkspace:this.activeWorkspace,onWorkspaceChange:e=>this.activeWorkspace=e.detail,onIsWorkspaceManagerReady:()=>this.isWorkspaceManagerReady=!0}),o("kritzel-engine",{key:"471133030308d915fb9fa1e8e818662e56d483db",ref:e=>this.engineRef=e,workspace:this.activeWorkspace,syncConfig:this.syncConfig,scaleMax:this.scaleMax,scaleMin:this.scaleMin,globalContextMenuItems:this.globalContextMenuItems,objectContextMenuItems:this.objectContextMenuItems,onIsEngineReady:e=>this.onEngineReady(e),onWorkspacesChange:e=>this.handleWorkspacesChange(e),onObjectsChange:e=>this.handleObjectsChange(e),onUndoStateChange:e=>this.handleUndoStateChange(e)}),o("kritzel-controls",{key:"7e7c7111e0629309c4bda9d94b95623dbe835f0f",class:{"keyboard-open":this.isVirtualKeyboardOpen},style:{display:this.isControlsVisible?"flex":"none"},ref:e=>this.controlsRef=e,controls:this.controls,isUtilityPanelVisible:this.isUtilityPanelVisible,undoState:this.undoState,onIsControlsReady:()=>this.isControlsReady=!0}))}static get watchers(){return{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}]}}static get style(){return"kritzel-editor{display:flex;margin:0;position:relative;overflow:hidden;width:100%;height:100%;align-items:center;justify-content:center;touch-action:manipulation;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}kritzel-workspace-manager{position:absolute;top:var(--kritzel-editor-workspace-manager-top, 14px);left:var(--kritzel-editor-workspace-manager-left, 14px)}kritzel-controls{position:absolute;bottom:var(--kritzel-editor-controls-bottom, 14px);transition:transform var(--kritzel-editor-controls-transition-duration, 0.1s) var(--kritzel-editor-controls-transition, ease-in-out)}kritzel-controls.keyboard-open{transform:var(--kritzel-editor-controls-transform, translateY(300%))}"}},[512,"kritzel-editor",{scaleMax:[2,"scale-max"],scaleMin:[2,"scale-min"],controls:[16],globalContextMenuItems:[16],objectContextMenuItems:[16],customSvgIcons:[16],isControlsVisible:[4,"is-controls-visible"],isUtilityPanelVisible:[4,"is-utility-panel-visible"],syncConfig:[16],isEngineReady:[32],isControlsReady:[32],isWorkspaceManagerReady:[32],workspaces:[32],activeWorkspace:[32],isVirtualKeyboardOpen:[32],undoState:[32],getObjectById:[64],addObject:[64],updateObject:[64],removeObject:[64],getSelectedObjects:[64],selectObjects:[64],selectAllObjectsInViewport:[64],clearSelection:[64],centerObjectInViewport:[64],createWorkspace:[64],updateWorkspace:[64],deleteWorkspace:[64],getWorkspaces:[64],getActiveWorkspace:[64]},[[0,"dblclick","onTouchStart"]],{isEngineReady:[{onIsEngineReady:0}],isControlsReady:[{onIsControlsReady:0}],workspaces:[{onWorkspacesChange:0}]}]),J=_,Z=function(){"undefined"!=typeof customElements&&["kritzel-editor","kritzel-color","kritzel-color-palette","kritzel-context-menu","kritzel-controls","kritzel-cursor-trail","kritzel-dropdown","kritzel-engine","kritzel-font","kritzel-font-family","kritzel-font-size","kritzel-icon","kritzel-line-endings","kritzel-menu","kritzel-menu-item","kritzel-opacity-slider","kritzel-portal","kritzel-shape-fill","kritzel-split-button","kritzel-stroke-size","kritzel-tool-config","kritzel-tooltip","kritzel-utility-panel","kritzel-workspace-manager"].forEach((e=>{switch(e){case"kritzel-editor":customElements.get(a(e))||customElements.define(a(e),_);break;case"kritzel-color":customElements.get(a(e))||w();break;case"kritzel-color-palette":customElements.get(a(e))||E();break;case"kritzel-context-menu":customElements.get(a(e))||x();break;case"kritzel-controls":customElements.get(a(e))||I();break;case"kritzel-cursor-trail":customElements.get(a(e))||R();break;case"kritzel-dropdown":customElements.get(a(e))||S();break;case"kritzel-engine":customElements.get(a(e))||z();break;case"kritzel-font":customElements.get(a(e))||O();break;case"kritzel-font-family":customElements.get(a(e))||v();break;case"kritzel-font-size":customElements.get(a(e))||W();break;case"kritzel-icon":customElements.get(a(e))||n();break;case"kritzel-line-endings":customElements.get(a(e))||M();break;case"kritzel-menu":customElements.get(a(e))||D();break;case"kritzel-menu-item":customElements.get(a(e))||V();break;case"kritzel-opacity-slider":customElements.get(a(e))||K();break;case"kritzel-portal":customElements.get(a(e))||P();break;case"kritzel-shape-fill":customElements.get(a(e))||A();break;case"kritzel-split-button":customElements.get(a(e))||B();break;case"kritzel-stroke-size":customElements.get(a(e))||U();break;case"kritzel-tool-config":customElements.get(a(e))||T();break;case"kritzel-tooltip":customElements.get(a(e))||F();break;case"kritzel-utility-panel":customElements.get(a(e))||L();break;case"kritzel-workspace-manager":customElements.get(a(e))||Y()}}))};export{N as D,J as KritzelEditor,X as a,q as b,Z as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P as
|
|
1
|
+
import{P as r,N as o}from"./p-DUrr1j9m.js";const s=r,m=o;export{s as KritzelEngine,m as defineCustomElement}
|