kritzel-stencil 0.0.159 → 0.0.161
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/{default-text-tool.config-BySzvIox.js → default-text-tool.config-zB3FPuXq.js} +270 -58
- package/dist/cjs/default-text-tool.config-zB3FPuXq.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
- package/dist/cjs/kritzel-brush-style.entry.cjs.js.map +1 -1
- package/dist/cjs/kritzel-color_22.cjs.entry.js +108 -101
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/core/store.class.js +3 -0
- package/dist/collection/classes/core/store.class.js.map +1 -1
- package/dist/collection/classes/handlers/resize.handler.js +54 -32
- package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
- package/dist/collection/classes/handlers/rotation.handler.js +12 -8
- package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
- package/dist/collection/classes/objects/selection-group.class.js +91 -16
- package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
- package/dist/collection/classes/registries/icon-registry.class.js +6 -1
- package/dist/collection/classes/registries/icon-registry.class.js.map +1 -1
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +0 -14
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +80 -10
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
- package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.css +0 -1
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.css +1 -1
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
- package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.css +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.css +1 -1
- package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.css +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +1 -2
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +1 -1
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +4 -4
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.css +1 -2
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +1 -1
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.css +1 -1
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +2 -2
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.css +1 -1
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +2 -2
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.css +4 -4
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +3 -3
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.css +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
- package/dist/collection/configs/default-engine-config.js +6 -0
- package/dist/collection/configs/default-engine-config.js.map +1 -1
- package/dist/collection/helpers/cursor.helper.js +58 -0
- package/dist/collection/helpers/cursor.helper.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/kritzel-brush-style.js +3 -3
- package/dist/components/kritzel-brush-style.js.map +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.js +1 -1
- package/dist/components/kritzel-context-menu.js +1 -1
- package/dist/components/kritzel-control-brush-config.js +1 -1
- package/dist/components/kritzel-control-text-config.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-cursor-trail.js +1 -1
- package/dist/components/kritzel-dropdown.js +1 -1
- package/dist/components/kritzel-editor.js +21 -21
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-font-family.js +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.js +1 -1
- package/dist/components/kritzel-icon.js +1 -1
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-portal.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-tooltip.js +1 -1
- package/dist/components/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/{p-CK6no3mi.js → p-58y59Acb.js} +6 -6
- package/dist/components/{p-CK6no3mi.js.map → p-58y59Acb.js.map} +1 -1
- package/dist/components/{p-CTP479Lf.js → p-9Fzdviju.js} +6 -6
- package/dist/components/{p-CTP479Lf.js.map → p-9Fzdviju.js.map} +1 -1
- package/dist/components/{p-DDmSxM5f.js → p-B6r22FSC.js} +5 -5
- package/dist/components/p-B6r22FSC.js.map +1 -0
- package/dist/components/{p-CLt3HMl6.js → p-B_3OZeom.js} +3 -3
- package/dist/components/{p-CLt3HMl6.js.map → p-B_3OZeom.js.map} +1 -1
- package/dist/components/{p-TdCTkEu0.js → p-BdZKPKnx.js} +7 -7
- package/dist/components/p-BdZKPKnx.js.map +1 -0
- package/dist/components/{p-CIXPLjCu.js → p-BdwB-S9G.js} +3 -3
- package/dist/components/p-BdwB-S9G.js.map +1 -0
- package/dist/components/{p-1lIHoOlH.js → p-BpXgwgnV.js} +18 -18
- package/dist/components/p-BpXgwgnV.js.map +1 -0
- package/dist/components/{p-D1uj4A4F.js → p-Brd9SxWS.js} +5 -5
- package/dist/components/p-Brd9SxWS.js.map +1 -0
- package/dist/components/{p-CsA9M6me.js → p-CC8KFHSe.js} +8 -8
- package/dist/components/p-CC8KFHSe.js.map +1 -0
- package/dist/components/{p-BgznZoBH.js → p-CFH6XRL5.js} +5 -5
- package/dist/components/p-CFH6XRL5.js.map +1 -0
- package/dist/components/{p-B4kxkVe-.js → p-CRGwaUcp.js} +5 -5
- package/dist/components/p-CRGwaUcp.js.map +1 -0
- package/dist/components/{p-uuRJU2R1.js → p-Ck4lGnmt.js} +3 -3
- package/dist/components/{p-uuRJU2R1.js.map → p-Ck4lGnmt.js.map} +1 -1
- package/dist/components/{p-BAplhrRJ.js → p-D7BLVRXX.js} +289 -75
- package/dist/components/p-D7BLVRXX.js.map +1 -0
- package/dist/components/{p-C2sWlNsJ.js → p-D_ygcWSz.js} +5 -5
- package/dist/components/p-D_ygcWSz.js.map +1 -0
- package/dist/components/p-DbKKCHKd.js +103 -0
- package/dist/components/p-DbKKCHKd.js.map +1 -0
- package/dist/components/{p-Ddh40W3x.js → p-Doixm8-N.js} +9 -9
- package/dist/components/p-Doixm8-N.js.map +1 -0
- package/dist/components/{p-BQg4YML7.js → p-DxNbcUzt.js} +12 -12
- package/dist/components/p-DxNbcUzt.js.map +1 -0
- package/dist/components/{p-D4yvhd1d.js → p-LAsVgL2e.js} +4 -4
- package/dist/components/{p-D4yvhd1d.js.map → p-LAsVgL2e.js.map} +1 -1
- package/dist/components/{p-D5Wq4x4r.js → p-OFrACpZf.js} +3 -3
- package/dist/components/{p-D5Wq4x4r.js.map → p-OFrACpZf.js.map} +1 -1
- package/dist/components/{p-DAfkuR8U.js → p-i0IlGLv2.js} +5 -5
- package/dist/components/p-i0IlGLv2.js.map +1 -0
- package/dist/esm/{default-text-tool.config-2YFQA3SF.js → default-text-tool.config-BvCgOiKA.js} +269 -59
- package/dist/esm/default-text-tool.config-BvCgOiKA.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/kritzel-brush-style.entry.js +1 -1
- package/dist/esm/kritzel-brush-style.entry.js.map +1 -1
- package/dist/esm/kritzel-color_22.entry.js +106 -99
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/kritzel-brush-style.entry.esm.js.map +1 -1
- package/dist/stencil/p-385bab97.entry.js +2 -0
- package/dist/stencil/{p-d702c5af.entry.js.map → p-385bab97.entry.js.map} +1 -1
- package/dist/stencil/p-6d9756d9.entry.js +10 -0
- package/dist/stencil/p-6d9756d9.entry.js.map +1 -0
- package/dist/stencil/{p-2YFQA3SF.js → p-BvCgOiKA.js} +2 -2
- package/dist/stencil/p-BvCgOiKA.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/core/store.class.d.ts +1 -0
- package/dist/types/classes/objects/selection-group.class.d.ts +1 -0
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +4 -0
- package/dist/types/components.d.ts +2 -0
- package/dist/types/helpers/cursor.helper.d.ts +22 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interfaces/engine-state.interface.d.ts +7 -0
- package/package.json +1 -1
- package/dist/cjs/default-text-tool.config-BySzvIox.js.map +0 -1
- package/dist/components/p-1lIHoOlH.js.map +0 -1
- package/dist/components/p-B4kxkVe-.js.map +0 -1
- package/dist/components/p-BAplhrRJ.js.map +0 -1
- package/dist/components/p-BQg4YML7.js.map +0 -1
- package/dist/components/p-BgznZoBH.js.map +0 -1
- package/dist/components/p-Bhtn9qay.js +0 -98
- package/dist/components/p-Bhtn9qay.js.map +0 -1
- package/dist/components/p-C2sWlNsJ.js.map +0 -1
- package/dist/components/p-CIXPLjCu.js.map +0 -1
- package/dist/components/p-CsA9M6me.js.map +0 -1
- package/dist/components/p-D1uj4A4F.js.map +0 -1
- package/dist/components/p-DAfkuR8U.js.map +0 -1
- package/dist/components/p-DDmSxM5f.js.map +0 -1
- package/dist/components/p-Ddh40W3x.js.map +0 -1
- package/dist/components/p-TdCTkEu0.js.map +0 -1
- package/dist/esm/default-text-tool.config-2YFQA3SF.js.map +0 -1
- package/dist/stencil/p-2YFQA3SF.js.map +0 -1
- package/dist/stencil/p-2e85a4af.entry.js +0 -10
- package/dist/stencil/p-2e85a4af.entry.js.map +0 -1
- package/dist/stencil/p-d702c5af.entry.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host, c as createEvent, g as getElement } from './index-SGde3HXB.js';
|
|
2
|
-
import {
|
|
2
|
+
import { U as KritzelDevicesHelper, G as KritzelBrushTool, L as KritzelTextTool, V as KritzelMouseButton, N as KritzelSelectionTool, S as DEFAULT_BRUSH_CONFIG, I as KritzelEraserTool, T as DEFAULT_TEXT_CONFIG, J as KritzelImageTool, R as KritzelWorkspace, W as KritzelIconRegistry, X as KritzelKeyboardHelper, Y as KritzelBaseHandler, Z as KritzelToolRegistry, _ as KritzelSelectionBox, $ as KritzelSelectionGroup, a0 as KritzelBaseObject, F as KritzelImage, K as KritzelText, E as KritzelPath, a1 as Doc, a2 as DEFAULT_SYNC_CONFIG, a3 as UndoManager, Q as KritzelAppStateMap, a4 as ObjectHelper, a5 as KritzelEventHelper, a6 as KritzelBaseTool, M as KritzelCursorHelper } from './default-text-tool.config-BvCgOiKA.js';
|
|
3
3
|
|
|
4
4
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
5
5
|
|
|
@@ -37,13 +37,13 @@ const KritzelColor = class {
|
|
|
37
37
|
}
|
|
38
38
|
render() {
|
|
39
39
|
const isColorVeryLight = this.isLightColor(this.value);
|
|
40
|
-
return (h(Host, { key: '
|
|
40
|
+
return (h(Host, { key: 'bd867d9ff750588e41fb364b2192a6c2c5832e59' }, h("div", { key: '858e97d057d7ba19869cbacc4e9f31ae6c64defa', class: "checkerboard-bg", style: {
|
|
41
41
|
width: `${this.size}px`,
|
|
42
42
|
height: `${this.size}px`,
|
|
43
43
|
borderRadius: '50%',
|
|
44
44
|
display: 'inline-block',
|
|
45
45
|
position: 'relative',
|
|
46
|
-
} }, h("div", { key: '
|
|
46
|
+
} }, h("div", { key: '0c983b133716e048f29d7e51979068fbde178abd', class: {
|
|
47
47
|
'color-circle': true,
|
|
48
48
|
'white': isColorVeryLight,
|
|
49
49
|
}, style: {
|
|
@@ -60,7 +60,7 @@ const KritzelColor = class {
|
|
|
60
60
|
};
|
|
61
61
|
KritzelColor.style = kritzelColorCss;
|
|
62
62
|
|
|
63
|
-
const kritzelColorPaletteCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;width:100%;box-sizing:border-box}.color-grid{width:100%;display:grid;grid-template-columns:repeat(6, 32px);gap:8px;justify-items:center;overflow:hidden;height:40px;transition:height 0.1s ease-in-out}.color-grid.expanded{height:500px}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box}.color-container:hover{background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.color-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-color-palette-selected-background-color)}";
|
|
63
|
+
const kritzelColorPaletteCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;width:100%;box-sizing:border-box}.color-grid{width:100%;display:grid;grid-template-columns:repeat(6, 32px);gap:8px;justify-items:center;overflow:hidden;height:40px;transition:height 0.1s ease-in-out}.color-grid.expanded{height:500px}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box}.color-container:hover{background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.color-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-color-palette-selected-background-color)}";
|
|
64
64
|
|
|
65
65
|
const KritzelColorPalette = class {
|
|
66
66
|
constructor(hostRef) {
|
|
@@ -86,7 +86,7 @@ const KritzelColorPalette = class {
|
|
|
86
86
|
render() {
|
|
87
87
|
const displayedColors = this.isExpanded ? this.colors : this.colors.slice(0, 6);
|
|
88
88
|
const expandedHeight = this.isExpanded ? this.calculateHeight() : '32px';
|
|
89
|
-
return (h(Host, { key: '
|
|
89
|
+
return (h(Host, { key: 'a237c0ebccd7fbfb6b42ce7fd5689d7282571bef' }, h("div", { key: 'dbccf2817079f6cf958fa37d097654c326d6a4ab', class: {
|
|
90
90
|
'color-grid': true,
|
|
91
91
|
'expanded': this.isExpanded,
|
|
92
92
|
}, style: {
|
|
@@ -99,7 +99,7 @@ const KritzelColorPalette = class {
|
|
|
99
99
|
};
|
|
100
100
|
KritzelColorPalette.style = kritzelColorPaletteCss;
|
|
101
101
|
|
|
102
|
-
const kritzelContextMenuCss = ":host{display:block}.menu-container{display:flex;flex-direction:column;background-color:var(--kritzel-context-menu-background-color, #ffffff);border-radius:var(--kritzel-context-menu-border-radius, 12px);box-shadow:var(--kritzel-context-menu-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12));border:var(--kritzel-context-menu-border, 1px solid #ebebeb);padding:var(--kritzel-context-menu-padding,4px)}.menu-item{display:flex;align-items:center;gap:var(--kritzel-context-menu-item-gap, 8px);background:none;border:none;text-align:left;padding:var(--kritzel-context-menu-item-padding, 8px);border-radius:var(--kritzel-context-menu-item-border-radius, 12px);cursor:pointer;font-size:var(--kritzel-context-menu-item-font-size, 14px);color:var(--kritzel-context-menu-item-color, #333333);white-space:nowrap;-webkit-tap-highlight-color:transparent}.menu-item:not(.disabled):hover{background-color:var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.menu-item:not(.disabled):active{background-color:var(--kritzel-context-menu-item-active-background-color, hsl(0, 0%, 0%, 8.6%))}.menu-item.disabled{color:var(--kritzel-context-menu-item-disabled-color, #aaaaaa)
|
|
102
|
+
const kritzelContextMenuCss = ":host{display:block}.menu-container{display:flex;flex-direction:column;background-color:var(--kritzel-context-menu-background-color, #ffffff);border-radius:var(--kritzel-context-menu-border-radius, 12px);box-shadow:var(--kritzel-context-menu-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12));border:var(--kritzel-context-menu-border, 1px solid #ebebeb);padding:var(--kritzel-context-menu-padding,4px)}.menu-item{display:flex;align-items:center;gap:var(--kritzel-context-menu-item-gap, 8px);background:none;border:none;text-align:left;padding:var(--kritzel-context-menu-item-padding, 8px);border-radius:var(--kritzel-context-menu-item-border-radius, 12px);cursor:var(--kritzel-pointer-cursor, pointer);font-size:var(--kritzel-context-menu-item-font-size, 14px);color:var(--kritzel-context-menu-item-color, #333333);white-space:nowrap;-webkit-tap-highlight-color:transparent}.menu-item:not(.disabled):hover{background-color:var(--kritzel-context-menu-item-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.menu-item:not(.disabled):active{background-color:var(--kritzel-context-menu-item-active-background-color, hsl(0, 0%, 0%, 8.6%))}.menu-item.disabled{color:var(--kritzel-context-menu-item-disabled-color, #aaaaaa)}.menu-item kritzel-icon{opacity:0.8;flex-shrink:0}.menu-item.disabled kritzel-icon{opacity:0.4}.label{flex-grow:1}";
|
|
103
103
|
|
|
104
104
|
const KritzelContextMenu = class {
|
|
105
105
|
constructor(hostRef) {
|
|
@@ -151,7 +151,7 @@ const KritzelContextMenu = class {
|
|
|
151
151
|
return defaultValue;
|
|
152
152
|
}
|
|
153
153
|
render() {
|
|
154
|
-
return (h(Host, { key: '
|
|
154
|
+
return (h(Host, { key: '102f1fd72d991e6d5c0fa6025ed75d860e8e9852' }, h("div", { key: '510ea27fdcddc78a51220f68a8d8ba82fd2bd108', class: "menu-container" }, this.processedItems.map(({ item, isDisabled }, index) => (h("button", { key: `${item.label}-${index}`, class: { 'menu-item': true, 'disabled': isDisabled }, onClick: () => this.handleItemClick(item, isDisabled), disabled: isDisabled }, item.icon && h("kritzel-icon", { name: item.icon, size: 16 }), h("span", { class: "label" }, item.label)))))));
|
|
155
155
|
}
|
|
156
156
|
static get watchers() { return {
|
|
157
157
|
"items": ["onItemsChanged"]
|
|
@@ -159,7 +159,7 @@ const KritzelContextMenu = class {
|
|
|
159
159
|
};
|
|
160
160
|
KritzelContextMenu.style = kritzelContextMenuCss;
|
|
161
161
|
|
|
162
|
-
const kritzelControlBrushConfigCss = ":host{display:flex;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";
|
|
162
|
+
const kritzelControlBrushConfigCss = ":host{display:flex;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:var(--kritzel-pointer-cursor, pointer);font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";
|
|
163
163
|
|
|
164
164
|
const KritzelControlBrushConfig = class {
|
|
165
165
|
constructor(hostRef) {
|
|
@@ -194,14 +194,14 @@ const KritzelControlBrushConfig = class {
|
|
|
194
194
|
this.toolChange.emit(this.tool);
|
|
195
195
|
}
|
|
196
196
|
render() {
|
|
197
|
-
return (h(Host, { key: '
|
|
197
|
+
return (h(Host, { key: '3111b2870e4a02da26bac5450424cadeef8c8d39' }, h("div", { key: '4bbf6bede0822c35e206566dd176e6b150b54098', style: {
|
|
198
198
|
display: 'flex',
|
|
199
199
|
flexDirection: 'row',
|
|
200
200
|
alignItems: this.isExpanded ? 'flex-start' : 'center',
|
|
201
201
|
justifyContent: 'flex-start',
|
|
202
202
|
width: '100%',
|
|
203
203
|
gap: '8px',
|
|
204
|
-
} }, h("kritzel-color-palette", { key: '
|
|
204
|
+
} }, h("kritzel-color-palette", { key: 'eb9c5690f823ca278d60629b9ac0595411771d05', colors: this.palette, selectedColor: this.tool.color, isExpanded: this.isExpanded, isOpaque: true, onColorChange: color => this.handleColorChange(color) }), h("button", { key: 'd5b0d12188babdd26bbf97344cec60760b7c4f87', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand', style: this.palette.length > 6 ? { visibillity: 'visible' } : { visibility: 'hidden' } }, h("kritzel-icon", { key: 'e1beea772a60dda335a56815fa39609c37849769', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), h("kritzel-stroke-size", { key: '8b31bac4e67752f55d2c2281b37a38e6fd801a57', selectedSize: this.tool.size, onSizeChange: event => this.handleSizeChange(event) })));
|
|
205
205
|
}
|
|
206
206
|
static get watchers() { return {
|
|
207
207
|
"tool": ["handleToolChange"]
|
|
@@ -209,7 +209,7 @@ const KritzelControlBrushConfig = class {
|
|
|
209
209
|
};
|
|
210
210
|
KritzelControlBrushConfig.style = kritzelControlBrushConfigCss;
|
|
211
211
|
|
|
212
|
-
const kritzelControlTextConfigCss = ":host{display:block;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";
|
|
212
|
+
const kritzelControlTextConfigCss = ":host{display:block;flex-direction:column;width:100%}.expand-toggle{background:none;border:none;cursor:var(--kritzel-pointer-cursor, pointer);font-size:14px;line-height:1;padding:8px;color:var(--kritzel-color-palette-expand-toggle-color, #666666)}.expand-toggle:hover{color:var(--kritzel-color-palette-expand-toggle-hover-color, #333333)}";
|
|
213
213
|
|
|
214
214
|
const KritzelControlTextConfig = class {
|
|
215
215
|
constructor(hostRef) {
|
|
@@ -235,19 +235,19 @@ const KritzelControlTextConfig = class {
|
|
|
235
235
|
this.toolChange.emit(this.tool);
|
|
236
236
|
}
|
|
237
237
|
render() {
|
|
238
|
-
return (h(Host, { key: '
|
|
238
|
+
return (h(Host, { key: '172bfe742f7fcb7db080729ac9b07cfd7a2f3f86' }, h("div", { key: 'de4000668ebc8a0fb27d9ae9b817b68a5d3e69b0', style: {
|
|
239
239
|
display: 'flex',
|
|
240
240
|
flexDirection: 'row',
|
|
241
241
|
alignItems: 'center',
|
|
242
242
|
justifyContent: 'flex-start',
|
|
243
243
|
width: '100%',
|
|
244
244
|
gap: '8px',
|
|
245
|
-
} }, h("kritzel-font-family", { key: '
|
|
245
|
+
} }, h("kritzel-font-family", { key: '4940703e315d0991d4eb2000f4e1a1da6e113cb2', selectedFontFamily: this.tool.fontFamily, onFontFamilyChange: event => this.handleFamilyChange(event) }), h("button", { key: '5a32fe373c1ce5cd312fa67e2b345fcc9eda81e5', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand' }, h("kritzel-icon", { key: '2dc5d0ed3d4bfe02e560e0d9b7fc487e343f56d9', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), h("kritzel-color-palette", { key: 'c3cba9ef7408aa726954b649d76bd1ae40f0aec6', colors: this.tool.palette, selectedColor: this.tool.fontColor, isExpanded: this.isExpanded, onColorChange: event => this.handleColorChange(event) }), h("kritzel-font-size", { key: 'b9f879d5f2bcc4b92519235e6fc0a22195a30a8f', selectedSize: this.tool.fontSize, fontFamily: this.tool.fontFamily, onSizeChange: event => this.handleSizeChange(event) })));
|
|
246
246
|
}
|
|
247
247
|
};
|
|
248
248
|
KritzelControlTextConfig.style = kritzelControlTextConfigCss;
|
|
249
249
|
|
|
250
|
-
const kritzelControlsCss = ":host{display:flex;flex-direction:column;user-select:none}:host(.mobile){--kritzel-controls-control-hover-background-color:transparent;--kritzel-controls-control-active-background-color:transparent}.kritzel-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--kritzel-controls-gap, 8px);height:100%;padding:var(--kritzel-controls-padding, 8px);background-color:var(--kritzel-controls-background-color, #ffffff);border-radius:var(--kritzel-controls-border-radius, 16px);box-shadow:var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-controls-border, 1px solid #ebebeb);z-index:10000;position:relative}.kritzel-control{display:flex;justify-content:center;align-items:center;color:var(--kritzel-controls-control-color, #000000);border-radius:var(--kritzel-controls-control-border-radius, 12px);padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font-weight:bold}.kritzel-control:focus,.kritzel-control:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control.selected,.kritzel-control.selected:hover,.kritzel-control.selected:active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control.selected:focus{background-color:var(--kritzel-controls-control-selected-background-color, #007bffe3) !important}.kritzel-divider{width:var(--kritzel-controls-divider-width, 1px);height:var(--kritzel-controls-divider-height, 24px);background-color:var(--kritzel-controls-divider-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-config-container{position:relative;display:flex;justify-content:center;align-items:center;width:40px;height:40px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.kritzel-config{display:flex;justify-content:center;align-items:center;cursor:pointer;border-radius:50%}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.font-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.no-config{height:24px;width:24px;border-radius:50%;border:1px dashed gray}kritzel-tooltip{position:fixed;bottom:56px;left:50%;transform:translateX(-50%);z-index:10001}";
|
|
250
|
+
const kritzelControlsCss = ":host{display:flex;flex-direction:column;user-select:none}:host(.mobile){--kritzel-controls-control-hover-background-color:transparent;--kritzel-controls-control-active-background-color:transparent}.kritzel-controls{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--kritzel-controls-gap, 8px);height:100%;padding:var(--kritzel-controls-padding, 8px);background-color:var(--kritzel-controls-background-color, #ffffff);border-radius:var(--kritzel-controls-border-radius, 16px);box-shadow:var(--kritzel-controls-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-controls-border, 1px solid #ebebeb);z-index:10000;position:relative}.kritzel-control{display:flex;justify-content:center;align-items:center;color:var(--kritzel-controls-control-color, #000000);border-radius:var(--kritzel-controls-control-border-radius, 12px);padding:var(--kritzel-controls-control-padding, 8px);border:none;background:none;cursor:var(--kritzel-pointer-cursor, pointer);-webkit-tap-highlight-color:transparent;font-weight:bold}.kritzel-control:focus,.kritzel-control:hover{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-control:active{background-color:var(--kritzel-controls-control-active-background-color, hsl(0, 0%, 0%, 8.6%))}.kritzel-control.selected,.kritzel-control.selected:hover,.kritzel-control.selected:active{background-color:var(--kritzel-controls-control-selected-background-color, #007AFF) !important;color:var(--kritzel-controls-control-selected-color, #ffffff) !important}.kritzel-control.selected:focus{background-color:var(--kritzel-controls-control-selected-background-color, #007bffe3) !important}.kritzel-divider{width:var(--kritzel-controls-divider-width, 1px);height:var(--kritzel-controls-divider-height, 24px);background-color:var(--kritzel-controls-divider-background-color, hsl(0, 0%, 0%, 4.3%))}.kritzel-config-container{position:relative;display:flex;justify-content:center;align-items:center;width:40px;height:40px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.kritzel-config{display:flex;justify-content:center;align-items:center;cursor:var(--kritzel-pointer-cursor, pointer);border-radius:50%}.color-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.font-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;background-color:var(--kritzel-color-palette-hover-background-color, #ebebeb)}.no-config{height:24px;width:24px;border-radius:50%;border:1px dashed gray}kritzel-tooltip{position:fixed;bottom:56px;left:50%;transform:translateX(-50%);z-index:10001}";
|
|
251
251
|
|
|
252
252
|
const KritzelControls = class {
|
|
253
253
|
constructor(hostRef) {
|
|
@@ -351,13 +351,13 @@ const KritzelControls = class {
|
|
|
351
351
|
}
|
|
352
352
|
render() {
|
|
353
353
|
const hasNoConfig = this.activeControl?.config === undefined || this.activeControl?.config === null;
|
|
354
|
-
return (h(Host, { key: '
|
|
354
|
+
return (h(Host, { key: 'c01351cbf438f2e36249b2ef3ef8725edcabd57b', class: {
|
|
355
355
|
mobile: this.isTouchDevice,
|
|
356
|
-
} }, this.isUtilityPanelVisible && (h("kritzel-utility-panel", { key: '
|
|
356
|
+
} }, this.isUtilityPanelVisible && (h("kritzel-utility-panel", { key: '3c14cf25dd51f123dc8d33be92992e2f2c18ac40', style: {
|
|
357
357
|
position: 'absolute',
|
|
358
358
|
bottom: '56px',
|
|
359
359
|
left: '12px',
|
|
360
|
-
}, undoState: this.undoState, onUndo: () => this.kritzelEngine?.undo(), onRedo: () => this.kritzelEngine?.redo(), onDelete: () => this.kritzelEngine?.delete() })), h("div", { key: '
|
|
360
|
+
}, undoState: this.undoState, onUndo: () => this.kritzelEngine?.undo(), onRedo: () => this.kritzelEngine?.redo(), onDelete: () => this.kritzelEngine?.delete() })), h("div", { key: '05719acfe12d1770bf49fb7d9989619f2e27ee0f', class: "kritzel-controls" }, this.controls.map(control => {
|
|
361
361
|
if (control.type === 'tool') {
|
|
362
362
|
return (h("button", { class: {
|
|
363
363
|
'kritzel-control': true,
|
|
@@ -454,7 +454,7 @@ const KritzelCursorTrail = class {
|
|
|
454
454
|
}
|
|
455
455
|
}
|
|
456
456
|
render() {
|
|
457
|
-
return (h(Host, { key: '
|
|
457
|
+
return (h(Host, { key: '2bbe2e331555476316c4460ff64fae7a955eee3d' }, this.cursorTrailPoints.length > 1 && (h("svg", { key: '78a354686ff624afba1a3c31df02dbefaf295d4b', class: "cursor-trail-svg", xmlns: "http://www.w3.org/2000/svg", style: {
|
|
458
458
|
position: 'absolute',
|
|
459
459
|
left: '0',
|
|
460
460
|
top: '0',
|
|
@@ -477,7 +477,7 @@ const KritzelCursorTrail = class {
|
|
|
477
477
|
};
|
|
478
478
|
KritzelCursorTrail.style = kritzelCursorTrailCss;
|
|
479
479
|
|
|
480
|
-
const kritzelDropdownCss = ":host{display:inline-flex;vertical-align:middle;width:100%;}.dropdown-wrapper{display:flex;align-items:center;border:1px solid #333333;border-radius:var(--kritzel-controls-control-border-radius, 12px);overflow:hidden;height:32px;width:100%}.custom-select{padding:0 8px;padding-right:30px;height:100%;width:100%;box-sizing:border-box;border-radius:0;border:none;background-color:#fff;cursor:pointer;outline:none;font-size:inherit;color:var(--kritzel-controls-text-color, #333333);-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23333333\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"/></svg>');background-size:16px 16px;background-repeat:no-repeat;background-position:right 8px center}.custom-select.has-suffix-border{border-right:1px solid #333333}.custom-select.has-prefix-border{border-left:1px solid #333333}::slotted(*){height:100%;box-sizing:border-box}";
|
|
480
|
+
const kritzelDropdownCss = ":host{display:inline-flex;vertical-align:middle;width:100%;}.dropdown-wrapper{display:flex;align-items:center;border:1px solid #333333;border-radius:var(--kritzel-controls-control-border-radius, 12px);overflow:hidden;height:32px;width:100%}.custom-select{padding:0 8px;padding-right:30px;height:100%;width:100%;box-sizing:border-box;border-radius:0;border:none;background-color:#fff;cursor:var(--kritzel-pointer-cursor, pointer);outline:none;font-size:inherit;color:var(--kritzel-controls-text-color, #333333);-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23333333\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"/></svg>');background-size:16px 16px;background-repeat:no-repeat;background-position:right 8px center}.custom-select.has-suffix-border{border-right:1px solid #333333}.custom-select.has-prefix-border{border-left:1px solid #333333}::slotted(*){height:100%;box-sizing:border-box}";
|
|
481
481
|
|
|
482
482
|
const KritzelDropdown = class {
|
|
483
483
|
constructor(hostRef) {
|
|
@@ -573,53 +573,6 @@ const KritzelDropdown = class {
|
|
|
573
573
|
};
|
|
574
574
|
KritzelDropdown.style = kritzelDropdownCss;
|
|
575
575
|
|
|
576
|
-
class KritzelIconRegistry {
|
|
577
|
-
static registry = new Map();
|
|
578
|
-
static register(name, svgContent) {
|
|
579
|
-
if (this.registry.has(name)) {
|
|
580
|
-
console.warn(`[IconRegistry] Icon "${name}" is already registered. It will be overwritten.`);
|
|
581
|
-
}
|
|
582
|
-
this.registry.set(name, svgContent);
|
|
583
|
-
}
|
|
584
|
-
static get(name) {
|
|
585
|
-
return this.registry.get(name);
|
|
586
|
-
}
|
|
587
|
-
static registerIcons(icons) {
|
|
588
|
-
for (const name in icons) {
|
|
589
|
-
if (Object.prototype.hasOwnProperty.call(icons, name)) {
|
|
590
|
-
this.register(name, icons[name]);
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
static has(name) {
|
|
595
|
-
return this.registry.has(name);
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
KritzelIconRegistry.registerIcons({
|
|
599
|
-
'cursor': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z"/></svg>',
|
|
600
|
-
'pen': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/></svg>',
|
|
601
|
-
'highlighter': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-highlighter-icon lucide-highlighter"><path d="m9 11-6 6v3h9l3-3"/><path d="m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"/></svg>',
|
|
602
|
-
'eraser': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"/><path d="M22 21H7"/><path d="m5 11 9 9"/></svg>',
|
|
603
|
-
'type': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 7 4 4 20 4 20 7"/><line x1="9" x2="15" y1="20" y2="20"/><line x1="12" x2="12" y1="4" y2="20"/></svg>',
|
|
604
|
-
'image': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',
|
|
605
|
-
'chevron-down': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>',
|
|
606
|
-
'chevron-up': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m18 15-6-6-6 6"/></svg>',
|
|
607
|
-
'copy': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy-icon lucide-copy"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>',
|
|
608
|
-
'paste': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clipboard-paste-icon lucide-clipboard-paste"><path d="M11 14h10"/><path d="M16 4h2a2 2 0 0 1 2 2v1.344"/><path d="m17 18 4-4-4-4"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113"/><rect x="8" y="2" width="8" height="4" rx="1"/></svg>',
|
|
609
|
-
'cut': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scissors-icon lucide-scissors"><circle cx="6" cy="6" r="3"/><path d="M8.12 8.12 12 12"/><path d="M20 4 8.12 15.88"/><circle cx="6" cy="18" r="3"/><path d="M14.8 14.8 20 20"/></svg>',
|
|
610
|
-
'delete': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trash2-icon lucide-trash-2"><path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/></svg>',
|
|
611
|
-
'bring-to-front': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-to-line-icon lucide-arrow-up-to-line"><path d="M5 3h14"/><path d="m18 13-6-6-6 6"/><path d="M12 7v14"/></svg>',
|
|
612
|
-
'send-to-back': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-down-to-line-icon lucide-arrow-down-to-line"><path d="M12 17V3"/><path d="m6 11 6 6 6-6"/><path d="M19 21H5"/></svg>',
|
|
613
|
-
'select-all': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-mouse-pointer-icon lucide-square-mouse-pointer"><path d="M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"/><path d="M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"/></svg>',
|
|
614
|
-
'download': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download-icon lucide-download"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/></svg>',
|
|
615
|
-
'undo': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-undo-icon lucide-undo"><path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"/></svg>',
|
|
616
|
-
'redo': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-redo-icon lucide-redo"><path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"/></svg>',
|
|
617
|
-
'plus': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus-icon lucide-plus"><path d="M5 12h14"/><path d="M12 5v14"/></svg>',
|
|
618
|
-
'ellipsis-vertical': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-ellipsis-vertical-icon lucide-ellipsis-vertical"><circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/></svg>',
|
|
619
|
-
'x': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-x-icon lucide-x"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>',
|
|
620
|
-
'check': '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check-icon lucide-check"><path d="M20 6 9 17l-5-5"/></svg>'
|
|
621
|
-
});
|
|
622
|
-
|
|
623
576
|
const ABSOLUTE_SCALE_MAX = 1000;
|
|
624
577
|
const ABSOLUTE_SCALE_MIN = 0.0001;
|
|
625
578
|
|
|
@@ -849,7 +802,7 @@ const KritzelEditor = class {
|
|
|
849
802
|
}
|
|
850
803
|
}
|
|
851
804
|
render() {
|
|
852
|
-
return (h(Host, { key: '
|
|
805
|
+
return (h(Host, { key: 'c824014ce85ef5c94436211df5241d23f11caed4' }, h("kritzel-workspace-manager", { key: '8ce43afa37896897674b5df943bef3fe1ffba32b', workspaces: this.workspaces, activeWorkspace: this.activeWorkspace, onWorkspaceChange: event => (this.activeWorkspace = event.detail), onIsWorkspaceManagerReady: () => (this.isWorkspaceManagerReady = true) }), h("kritzel-engine", { key: '12f80313bb145d9065a6222d5a8b503f0eca177a', ref: el => (this.engineRef = el), workspace: this.activeWorkspace, syncConfig: this.syncConfig, scaleMax: this.scaleMax, scaleMin: this.scaleMin, globalContextMenuItems: this.globalContextMenuItems, objectContextMenuItems: this.objectContextMenuItems, onIsEngineReady: event => this.onEngineReady(event), onWorkspacesChange: event => this.handleWorkspacesChange(event), onObjectsChange: event => this.handleObjectsChange(event), onUndoStateChange: event => this.handleUndoStateChange(event) }), h("kritzel-controls", { key: '0a1e63580afcbe65e5cf42833d86c3b34bb686c7', class: { 'keyboard-open': this.isVirtualKeyboardOpen }, style: { display: this.isControlsVisible ? 'flex' : 'none' }, ref: el => (this.controlsRef = el), controls: this.controls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState, onIsControlsReady: () => (this.isControlsReady = true) })));
|
|
853
806
|
}
|
|
854
807
|
static get watchers() { return {
|
|
855
808
|
"isEngineReady": ["onIsEngineReady"],
|
|
@@ -18392,8 +18345,10 @@ const DEFAULT_ENGINE_CONFIG = {
|
|
|
18392
18345
|
isPanning: false,
|
|
18393
18346
|
isSelecting: false,
|
|
18394
18347
|
isResizing: false,
|
|
18348
|
+
isResizeHandleHovered: false,
|
|
18395
18349
|
isResizeHandleSelected: false,
|
|
18396
18350
|
isRotating: false,
|
|
18351
|
+
isRotationHandleHovered: false,
|
|
18397
18352
|
isRotationHandleSelected: false,
|
|
18398
18353
|
isDragging: false,
|
|
18399
18354
|
isDrawing: false,
|
|
@@ -18429,6 +18384,10 @@ const DEFAULT_ENGINE_CONFIG = {
|
|
|
18429
18384
|
longTouchDelay: 300,
|
|
18430
18385
|
pointers: new Map(),
|
|
18431
18386
|
workspaces: [],
|
|
18387
|
+
cursor: {
|
|
18388
|
+
icon: 'default',
|
|
18389
|
+
iconActive: 'default'
|
|
18390
|
+
}
|
|
18432
18391
|
};
|
|
18433
18392
|
|
|
18434
18393
|
class KritzelCustomElement extends KritzelBaseObject {
|
|
@@ -19023,6 +18982,9 @@ class KritzelStore {
|
|
|
19023
18982
|
get isDisabled() {
|
|
19024
18983
|
return this._state.isEnabled === false || this._state.isReady === false || this._state.activeWorkspace === null;
|
|
19025
18984
|
}
|
|
18985
|
+
get isPointerDown() {
|
|
18986
|
+
return this._state.pointers.size > 0;
|
|
18987
|
+
}
|
|
19026
18988
|
constructor(state) {
|
|
19027
18989
|
this._state = state;
|
|
19028
18990
|
this._state.objects = new KritzelObjectMap();
|
|
@@ -19507,7 +19469,7 @@ class KritzelCore {
|
|
|
19507
19469
|
}
|
|
19508
19470
|
}
|
|
19509
19471
|
|
|
19510
|
-
const kritzelEngineCss = ":host{display:block;position:relative;height:100%;width:100%;overflow:hidden;background-color:var(--kritzel-engine-background-color, #ffffff)}:host,:host *{touch-action:none;user-select:none}.ProseMirror{outline:none}p,h1,h2,h3,h4,h5,h6,blockquote,pre{margin:0;padding:0}.debug-panel{position:absolute;pointer-events:none;top:0;right:0}.origin{position:relative;top:0;left:0;height:0;width:0;pointer-events:none;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top left;overflow:visible}.object{overflow:visible}.
|
|
19472
|
+
const kritzelEngineCss = ":host{display:block;position:relative;height:100%;width:100%;overflow:hidden;background-color:var(--kritzel-engine-background-color, #ffffff)}:host,:host *{touch-action:none;user-select:none}.ProseMirror{outline:none}p,h1,h2,h3,h4,h5,h6,blockquote,pre{margin:0;padding:0}.debug-panel{position:absolute;pointer-events:none;top:0;right:0}.origin{position:relative;top:0;left:0;height:0;width:0;pointer-events:none;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top left;overflow:visible}.object{overflow:visible}.PlaygroundEditorTheme__quote{margin:0;margin-left:20px;margin-bottom:10px;font-size:15px;color:rgb(101, 103, 107);border-left-color:rgb(206, 208, 212);border-left-width:4px;border-left-style:solid;padding-left:16px}";
|
|
19511
19473
|
|
|
19512
19474
|
const KritzelEngine = class {
|
|
19513
19475
|
get host() { return getElement(this); }
|
|
@@ -19546,6 +19508,15 @@ const KritzelEngine = class {
|
|
|
19546
19508
|
this.core.store.state.scaleMin = newValue;
|
|
19547
19509
|
}
|
|
19548
19510
|
}
|
|
19511
|
+
cursorTarget;
|
|
19512
|
+
onCursorTargetChange(newValue) {
|
|
19513
|
+
// Reset cursor on old target
|
|
19514
|
+
if (this.cursorTargetElement) {
|
|
19515
|
+
this.cursorTargetElement.style.cursor = '';
|
|
19516
|
+
}
|
|
19517
|
+
// Set new target (defaults to document.body)
|
|
19518
|
+
this.cursorTargetElement = newValue || document.body;
|
|
19519
|
+
}
|
|
19549
19520
|
isEngineReady;
|
|
19550
19521
|
activeToolChange;
|
|
19551
19522
|
workspacesChange;
|
|
@@ -19586,7 +19557,9 @@ const KritzelEngine = class {
|
|
|
19586
19557
|
if (this.core.store.isDisabled) {
|
|
19587
19558
|
return;
|
|
19588
19559
|
}
|
|
19589
|
-
this.core.store.state.pointers.
|
|
19560
|
+
if (this.core.store.state.pointers.has(ev.pointerId)) {
|
|
19561
|
+
this.core.store.state.pointers.set(ev.pointerId, ev);
|
|
19562
|
+
}
|
|
19590
19563
|
if (this.core.store.state.pointers.size > 1) {
|
|
19591
19564
|
this.throttledPointerMoveMulti(ev);
|
|
19592
19565
|
}
|
|
@@ -19599,6 +19572,10 @@ const KritzelEngine = class {
|
|
|
19599
19572
|
}
|
|
19600
19573
|
this.core.store.state.pointers.delete(ev.pointerId);
|
|
19601
19574
|
this.host.releasePointerCapture(ev.pointerId);
|
|
19575
|
+
// Reset cursor to default when all pointers are released
|
|
19576
|
+
if (this.core.store.state.pointers.size === 0) {
|
|
19577
|
+
this.core.store.state.cursor = { icon: 'default', iconActive: 'default' };
|
|
19578
|
+
}
|
|
19602
19579
|
this.viewport.handlePointerUp(ev);
|
|
19603
19580
|
this.core.store.state?.activeTool?.handlePointerUp(ev);
|
|
19604
19581
|
}
|
|
@@ -19608,6 +19585,10 @@ const KritzelEngine = class {
|
|
|
19608
19585
|
}
|
|
19609
19586
|
this.host.releasePointerCapture(ev.pointerId);
|
|
19610
19587
|
this.core.store.state.pointers.delete(ev.pointerId);
|
|
19588
|
+
// Reset cursor to default when all pointers are released
|
|
19589
|
+
if (this.core.store.state.pointers.size === 0) {
|
|
19590
|
+
this.core.store.state.cursor = { icon: 'default', iconActive: 'default' };
|
|
19591
|
+
}
|
|
19611
19592
|
this.viewport.handlePointerUp(ev);
|
|
19612
19593
|
this.core.store.state?.activeTool?.handlePointerUp(ev);
|
|
19613
19594
|
}
|
|
@@ -19782,6 +19763,7 @@ const KritzelEngine = class {
|
|
|
19782
19763
|
contextMenuHandler;
|
|
19783
19764
|
keyHandler;
|
|
19784
19765
|
contextMenuElement = null;
|
|
19766
|
+
cursorTargetElement = null;
|
|
19785
19767
|
get isSelecting() {
|
|
19786
19768
|
return this.core.store.state.activeTool instanceof KritzelSelectionTool && this.core.store.state.isSelecting;
|
|
19787
19769
|
}
|
|
@@ -19801,6 +19783,12 @@ const KritzelEngine = class {
|
|
|
19801
19783
|
disconnectedCallback() {
|
|
19802
19784
|
this.throttledWheel.cancel();
|
|
19803
19785
|
this.throttledPointerMoveMulti.cancel();
|
|
19786
|
+
// Reset cursor on target element
|
|
19787
|
+
if (this.cursorTargetElement) {
|
|
19788
|
+
this.cursorTargetElement.style.cursor = '';
|
|
19789
|
+
this.cursorTargetElement.style.removeProperty('--kritzel-pointer-cursor');
|
|
19790
|
+
this.cursorTargetElement = null;
|
|
19791
|
+
}
|
|
19804
19792
|
}
|
|
19805
19793
|
componentWillLoad() {
|
|
19806
19794
|
this.validateScaleMax(this.scaleMax);
|
|
@@ -19810,6 +19798,10 @@ const KritzelEngine = class {
|
|
|
19810
19798
|
this.contextMenuHandler = new KritzelContextMenuHandler(this.core, this.globalContextMenuItems, this.objectContextMenuItems);
|
|
19811
19799
|
this.keyHandler = new KritzelKeyHandler(this.core);
|
|
19812
19800
|
this.viewport = new KritzelViewport(this.core, this.host);
|
|
19801
|
+
// Set cursor target element (use prop value or default to document.body)
|
|
19802
|
+
this.cursorTargetElement = this.cursorTarget || document.body;
|
|
19803
|
+
// Set the pointer cursor CSS variable for child components to use
|
|
19804
|
+
this.cursorTargetElement.style.setProperty('--kritzel-pointer-cursor', KritzelCursorHelper.getPointerCursor());
|
|
19813
19805
|
// Set sync configuration if provided
|
|
19814
19806
|
if (this.syncConfig) {
|
|
19815
19807
|
this.core.setSyncConfig(this.syncConfig);
|
|
@@ -19851,6 +19843,20 @@ const KritzelEngine = class {
|
|
|
19851
19843
|
KritzelKeyboardHelper.forceHideKeyboard();
|
|
19852
19844
|
this.core.rerender();
|
|
19853
19845
|
}
|
|
19846
|
+
updateCursor() {
|
|
19847
|
+
const state = this.core.store.state;
|
|
19848
|
+
const isPointerDown = this.core.store.isPointerDown;
|
|
19849
|
+
const icon = state.cursor?.icon;
|
|
19850
|
+
const iconActive = state.cursor?.iconActive ?? icon;
|
|
19851
|
+
const rotation = state.cursor?.rotation;
|
|
19852
|
+
const cursor = KritzelCursorHelper.getCursor({
|
|
19853
|
+
iconName: isPointerDown ? iconActive : icon,
|
|
19854
|
+
rotation: rotation,
|
|
19855
|
+
});
|
|
19856
|
+
if (this.cursorTargetElement) {
|
|
19857
|
+
this.cursorTargetElement.style.cursor = cursor;
|
|
19858
|
+
}
|
|
19859
|
+
}
|
|
19854
19860
|
render() {
|
|
19855
19861
|
const computedStyle = window.getComputedStyle(this.host);
|
|
19856
19862
|
const baseHandleSizePx = computedStyle.getPropertyValue('--kritzel-selection-handle-size').trim() || '6px';
|
|
@@ -19867,7 +19873,8 @@ const KritzelEngine = class {
|
|
|
19867
19873
|
depth: 100,
|
|
19868
19874
|
};
|
|
19869
19875
|
const visibleObjects = this.core.store.state.objects.query(viewportBounds);
|
|
19870
|
-
|
|
19876
|
+
this.updateCursor();
|
|
19877
|
+
return (h(Host, { key: '192c356c5476b2b3cf370b05efd5742776423200' }, this.core.store.state.debugInfo.showViewportInfo && (h("div", { key: 'fae1b053c1eda01726f6b583a8dd167bb1c34aa1', class: "debug-panel" }, h("div", { key: '0e0fab7c39c1c8116831cf7b228914b0c40fb338' }, "ActiveWorkspaceId: ", this.core.store.state?.activeWorkspace?.id), h("div", { key: '770d284f5104919c5c6a36e653971d3662e9428b' }, "ActiveWorkspaceName: ", this.core.store.state?.activeWorkspace?.name), h("div", { key: '4937256ccf074a0a2fffb9c8c32a8c6ba41d3fb4' }, "TranslateX: ", this.core.store.state?.translateX), h("div", { key: '447d95aed0dda6e212e7c67ff4bc0a2e574131fd' }, "TranslateY: ", this.core.store.state?.translateY), h("div", { key: '548a04b16f68873e5fc0a2767146b52e83b9f0f8' }, "ViewportWidth: ", this.core.store.state?.viewportWidth), h("div", { key: '16a92abf89f1b438f14f311dd248ae82e1ac1982' }, "ViewportHeight: ", this.core.store.state?.viewportHeight), h("div", { key: '92a2abc5a757c64d764f3e1ee525556eb6a88852' }, "PointerCount: ", this.core.store.state.pointers.size), h("div", { key: '7677d4fd149ef2507626e50502d7c2b74fb294af' }, "Scale: ", this.core.store.state?.scale), h("div", { key: '3120c7ff85fd9f8ef14fb313b9aae6f2fc817f75' }, "ActiveTool: ", this.core.store.state?.activeTool?.name), h("div", { key: '100cd8a8c221d66046d9ff869b23809ca2568d12' }, "HasViewportChanged: ", this.core.store.state?.hasViewportChanged ? 'true' : 'false'), h("div", { key: '2efec039f635eec81d172113d55284eb9002f339' }, "IsEnabled: ", this.core.store.state?.isEnabled ? 'true' : 'false'), h("div", { key: 'f1df2fbf86a1944831c26a23e8c0baadd5ba1c56' }, "IsScaling: ", this.core.store.state?.isScaling ? 'true' : 'false'), h("div", { key: '10098cd2ffd07200fc8a12941ffd91fc1fac4de8' }, "IsPanning: ", this.core.store.state?.isPanning ? 'true' : 'false'), h("div", { key: '75043ccdac3ef3b02dae17b758813132174c2034' }, "IsSelecting: ", this.isSelecting ? 'true' : 'false'), h("div", { key: '59217b67d572cc60fc8381bcc930a952fea2faaa' }, "IsSelectionActive: ", this.isSelectionActive ? 'true' : 'false'), h("div", { key: 'c4a7d64031d3b430673adb6adcb7f525f7a47ddc' }, "IsResizeHandleSelected: ", this.core.store.state.isResizeHandleSelected ? 'true' : 'false'), h("div", { key: 'd62bef9cab424e77781a3d5639552b8122e92238' }, "IsRotationHandleSelected: ", this.core.store.state.isRotationHandleSelected ? 'true' : 'false'), h("div", { key: 'ab5dbbc947b335a1396a945328a5939d690d8cd0' }, "IsRotationHandleHovered: ", this.core.store.state.isRotationHandleHovered ? 'true' : 'false'), h("div", { key: 'fb2c19a0cdc070ecbf28e51b08112a73ffcf2817' }, "IsDrawing: ", this.core.store.state.isDrawing ? 'true' : 'false'), h("div", { key: '2d5519541aeb9a6423524463a03d1626f5eaf6ca' }, "IsWriting: ", this.core.store.state.isWriting ? 'true' : 'false'), h("div", { key: 'f86b578263c68ac194d6b3d606a1cb31717b1792' }, "IsPointerDown: ", this.core.store.isPointerDown ? 'true' : 'false'), h("div", { key: '52ed5379ef3e9a18cbabe14be8106055a8f71ede' }, "PointerX: ", this.core.store.state?.pointerX), h("div", { key: '6b97e5f6c90666283fb5cfed0cf0e3b7bc0fffe3' }, "PointerY: ", this.core.store.state?.pointerY), h("div", { key: '5f80b9d4121974ee1e8afe89925b6b38b840e90f' }, "SelectedObjects: ", this.core.store.selectionGroup?.objects.length || 0), h("div", { key: '8a280b4454677f5dc29e4a2a39fd4f7cfc8c26df' }, "ViewportCenter: (", viewportCenterX.toFixed(2), ", ", viewportCenterY.toFixed(2), ")"))), h("div", { key: '660dd95852906f5c049b9527b26ea0af3fa04274', id: "origin", class: "origin", style: {
|
|
19871
19878
|
transform: `matrix(${this.core.store.state?.scale}, 0, 0, ${this.core.store.state?.scale}, ${this.core.store.state?.translateX}, ${this.core.store.state?.translateY})`,
|
|
19872
19879
|
} }, visibleObjects?.map(object => {
|
|
19873
19880
|
return (h("div", { key: object.id, style: {
|
|
@@ -19965,25 +19972,25 @@ const KritzelEngine = class {
|
|
|
19965
19972
|
} }), h("circle", { class: "resize-handle-overlay top-left", cx: "0", cy: "0", r: `${(baseHandleTouchSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19966
19973
|
fill: 'transparent',
|
|
19967
19974
|
paintOrder: 'fill',
|
|
19968
|
-
} }), h("circle", { class: "resize-handle top-right", cx: object.totalWidth, cy: "0", r: `${(baseHandleSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19975
|
+
}, onPointerEnter: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'move-vertical', rotation: object.rotationDegrees - 45 }), onPointerLeave: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'default', iconActive: 'default' }) }), h("circle", { class: "resize-handle top-right", cx: object.totalWidth, cy: "0", r: `${(baseHandleSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19969
19976
|
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
19970
19977
|
paintOrder: 'fill',
|
|
19971
19978
|
} }), h("circle", { class: "resize-handle-overlay top-right", cx: object.totalWidth, cy: "0", r: `${(baseHandleTouchSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19972
19979
|
fill: 'transparent',
|
|
19973
19980
|
paintOrder: 'fill',
|
|
19974
|
-
} }), h("circle", { class: "resize-handle bottom-left", cx: "0", cy: object.totalHeight, r: `${(baseHandleSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19981
|
+
}, onPointerEnter: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'move-vertical', rotation: object.rotationDegrees + 45 }), onPointerLeave: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'default', iconActive: 'default' }) }), h("circle", { class: "resize-handle bottom-left", cx: "0", cy: object.totalHeight, r: `${(baseHandleSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19975
19982
|
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
19976
19983
|
paintOrder: 'fill',
|
|
19977
19984
|
} }), h("circle", { class: "resize-handle-overlay bottom-left", cx: "0", cy: object.totalHeight, r: `${(baseHandleTouchSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19978
19985
|
fill: 'transparent',
|
|
19979
19986
|
paintOrder: 'fill',
|
|
19980
|
-
} }), h("circle", { class: "resize-handle bottom-right", cx: object.totalWidth, cy: object.totalHeight, r: `${(baseHandleSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19987
|
+
}, onPointerEnter: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'move-vertical', rotation: object.rotationDegrees + 45 }), onPointerLeave: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'default', iconActive: 'default' }) }), h("circle", { class: "resize-handle bottom-right", cx: object.totalWidth, cy: object.totalHeight, r: `${(baseHandleSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19981
19988
|
fill: 'var(--kritzel-selection-handle-color, #000000)',
|
|
19982
19989
|
paintOrder: 'fill',
|
|
19983
19990
|
} }), h("circle", { class: "resize-handle-overlay bottom-right", cx: object.totalWidth, cy: object.totalHeight, r: `${(baseHandleTouchSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19984
19991
|
fill: 'transparent',
|
|
19985
19992
|
paintOrder: 'fill',
|
|
19986
|
-
} }), h("line", { x1: object.totalWidth / 2, y1: "0", x2: object.totalWidth / 2, y2: -((15 * object.scale) / this.core.store.state?.scale), style: {
|
|
19993
|
+
}, onPointerEnter: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'move-vertical', rotation: object.rotationDegrees - 45 }), onPointerLeave: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'default', iconActive: 'default' }) }), h("line", { x1: object.totalWidth / 2, y1: "0", x2: object.totalWidth / 2, y2: -((15 * object.scale) / this.core.store.state?.scale), style: {
|
|
19987
19994
|
stroke: 'var(--kritzel-selection-border-color, #007AFF)',
|
|
19988
19995
|
strokeWidth: `calc(var(--kritzel-selection-border-width, 2px) * ${object.scale} / ${this.core.store.state?.scale})`,
|
|
19989
19996
|
} }), h("circle", { class: "rotation-handle", cx: object.totalWidth / 2, cy: -((15 * object.scale) / this.core.store.state?.scale), r: `${(baseHandleSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
@@ -19991,10 +19998,9 @@ const KritzelEngine = class {
|
|
|
19991
19998
|
paintOrder: 'fill',
|
|
19992
19999
|
} }), h("circle", { class: "rotation-handle-overlay", cx: object.totalWidth / 2, cy: -((15 * object.scale) / this.core.store.state?.scale), r: `${(baseHandleTouchSize * object.scale) / this.core.store.state?.scale}`, style: {
|
|
19993
20000
|
fill: 'transparent',
|
|
19994
|
-
cursor: 'grab',
|
|
19995
20001
|
paintOrder: 'fill',
|
|
19996
|
-
} }))))));
|
|
19997
|
-
})), this.core.store.state.isContextMenuVisible && (h("kritzel-context-menu", { key: '
|
|
20002
|
+
}, onPointerEnter: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'hand', iconActive: 'hand-grab' }), onPointerLeave: () => !this.core.store.isPointerDown && (this.core.store.state.cursor = { icon: 'default', iconActive: 'default' }) }))))));
|
|
20003
|
+
})), this.core.store.state.isContextMenuVisible && (h("kritzel-context-menu", { key: '0da13416f8f2cf2f0eb6fcbb8eacb942dda0efb5', class: "context-menu", ref: el => (this.contextMenuElement = el), items: this.core.store.state.contextMenuItems, objects: this.core.store.selectionGroup?.objects || [], style: {
|
|
19998
20004
|
position: 'fixed',
|
|
19999
20005
|
left: `${this.core.store.state.contextMenuX}px`,
|
|
20000
20006
|
top: `${this.core.store.state.contextMenuY}px`,
|
|
@@ -20005,12 +20011,13 @@ const KritzelEngine = class {
|
|
|
20005
20011
|
y: (-this.core.store.state.translateY + this.core.store.state.contextMenuY) / this.core.store.state.scale,
|
|
20006
20012
|
}, this.core.store.selectionGroup?.objects);
|
|
20007
20013
|
this.hideContextMenu();
|
|
20008
|
-
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof KritzelEraserTool && !this.core.store.state.isScaling && h("kritzel-cursor-trail", { key: '
|
|
20014
|
+
}, onClose: () => this.hideContextMenu() })), this.core.store.state?.activeTool instanceof KritzelEraserTool && !this.core.store.state.isScaling && h("kritzel-cursor-trail", { key: '609dd8438a2678eaa3ce0a73858d9236c9371f96', core: this.core })));
|
|
20009
20015
|
}
|
|
20010
20016
|
static get watchers() { return {
|
|
20011
20017
|
"workspace": ["onWorkspaceChange"],
|
|
20012
20018
|
"scaleMax": ["validateScaleMax"],
|
|
20013
|
-
"scaleMin": ["validateScaleMin"]
|
|
20019
|
+
"scaleMin": ["validateScaleMin"],
|
|
20020
|
+
"cursorTarget": ["onCursorTargetChange"]
|
|
20014
20021
|
}; }
|
|
20015
20022
|
};
|
|
20016
20023
|
KritzelEngine.style = kritzelEngineCss;
|
|
@@ -20025,7 +20032,7 @@ const KritzelFont = class {
|
|
|
20025
20032
|
size = 24;
|
|
20026
20033
|
color = '#000000';
|
|
20027
20034
|
render() {
|
|
20028
|
-
return (h(Host, { key: '
|
|
20035
|
+
return (h(Host, { key: '23b744f73bf860a53c554ade7d3e9d3eb281caac' }, h("div", { key: '7bfc9dadff6ccfbdf3990830423f92eff8580a54', class: "font-preview", style: {
|
|
20029
20036
|
fontFamily: this.fontFamily,
|
|
20030
20037
|
fontSize: `${this.size}px`,
|
|
20031
20038
|
color: this.color
|
|
@@ -20034,7 +20041,7 @@ const KritzelFont = class {
|
|
|
20034
20041
|
};
|
|
20035
20042
|
KritzelFont.style = kritzelFontCss;
|
|
20036
20043
|
|
|
20037
|
-
const kritzelFontFamilyCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.font-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;cursor:pointer;border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}.font-style-button.italic-text{font-style:italic}";
|
|
20044
|
+
const kritzelFontFamilyCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.font-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;cursor:var(--kritzel-pointer-cursor, pointer);border-radius:0;color:var(--control-text-color);font-weight:bold;-webkit-tap-highlight-color:transparent}.font-style-button:not(:last-child){border-right:1px solid #333333}.font-style-button:hover{background-color:var(--control-hover-bg)}.font-style-button:active{background-color:var(--control-active-bg)}.font-style-button.selected,.font-style-button.selected:hover,.font-style-button.selected:active{background-color:var(--control-selected-bg);color:var(--control-selected-color)}.font-style-button.italic-text{font-style:italic}";
|
|
20038
20045
|
|
|
20039
20046
|
const KritzelFontFamily = class {
|
|
20040
20047
|
constructor(hostRef) {
|
|
@@ -20072,12 +20079,12 @@ const KritzelFontFamily = class {
|
|
|
20072
20079
|
label: option.label,
|
|
20073
20080
|
style: { fontFamily: option.value },
|
|
20074
20081
|
}));
|
|
20075
|
-
return (h(Host, { key: '
|
|
20082
|
+
return (h(Host, { key: '5c31315857fa29e0d7c3dac2b7911a244467a052' }, h("kritzel-dropdown", { key: '05abce1f973cd49ef8c7ddc198545ec63d6ac249', options: dropdownOptions, value: this.selectedFontFamily, onValueChanged: this.handleDropdownValueChange, selectStyles: { fontFamily: this.selectedFontFamily } }, h("button", { key: 'd5c99c0277eeb40f7a0ce29ffb013768125d7fd2', class: "font-style-button", slot: "suffix" }, "B"), h("button", { key: 'db9348b72cd65b047994dba6c898bf6517d0358b', class: "font-style-button italic-text", slot: "suffix" }, "I"))));
|
|
20076
20083
|
}
|
|
20077
20084
|
};
|
|
20078
20085
|
KritzelFontFamily.style = kritzelFontFamilyCss;
|
|
20079
20086
|
|
|
20080
|
-
const kritzelFontSizeCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:4px;cursor:pointer;border:2px solid transparent;box-sizing:border-box;border-radius:50%}.size-container:hover{background-color:var(--kritzel-font-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-font-size-selected-background-color, #e0e0e0)}";
|
|
20087
|
+
const kritzelFontSizeCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:4px;cursor:var(--kritzel-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box;border-radius:50%}.size-container:hover{background-color:var(--kritzel-font-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-font-size-selected-background-color, #e0e0e0)}";
|
|
20081
20088
|
|
|
20082
20089
|
const KritzelFontSize = class {
|
|
20083
20090
|
constructor(hostRef) {
|
|
@@ -20093,7 +20100,7 @@ const KritzelFontSize = class {
|
|
|
20093
20100
|
this.sizeChange.emit(size);
|
|
20094
20101
|
}
|
|
20095
20102
|
render() {
|
|
20096
|
-
return (h(Host, { key: '
|
|
20103
|
+
return (h(Host, { key: 'd20034d67eb857065dca11d96074fdf4234c0ef4' }, this.sizes.map(size => (h("div", { class: {
|
|
20097
20104
|
'size-container': true,
|
|
20098
20105
|
'selected': this.selectedSize === size,
|
|
20099
20106
|
}, onClick: () => this.handleSizeClick(size) }, h("kritzel-font", { fontFamily: this.fontFamily, size: size }))))));
|
|
@@ -20188,12 +20195,12 @@ const KritzelMenu = class {
|
|
|
20188
20195
|
this.itemCloseChildMenu.emit(event.detail);
|
|
20189
20196
|
};
|
|
20190
20197
|
render() {
|
|
20191
|
-
return (h(Host, { key: '
|
|
20198
|
+
return (h(Host, { key: 'c4b9a602cefcbd0a100f5f1c4a273220d59ead17', tabIndex: 0, onClick: e => e.stopPropagation() }, this.openChildMenuItem && h("div", { key: '530ce19ac1aada15260ac5ed2c95c20b202bb94a', class: "has-open-child-overlay", onClick: this.onOverlayClick }), this.items.map(item => (h("kritzel-menu-item", { key: item.id, item: item, parent: this.parent, style: { pointerEvents: this.editingMenuItem && !item.isEditing ? 'none' : 'auto' }, onItemSelect: this.handleItemSelect, onItemSave: this.handleSave, onItemCancel: this.handleCancel, onItemToggleChildMenu: this.handleToggleChildMenu, onItemCloseChildMenu: this.handleCloseChildMenu })))));
|
|
20192
20199
|
}
|
|
20193
20200
|
};
|
|
20194
20201
|
KritzelMenu.style = kritzelMenuCss;
|
|
20195
20202
|
|
|
20196
|
-
const kritzelMenuItemCss = ":host{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--kritzel-menu-item-padding, 8px);box-sizing:border-box;gap:16px;height:var(--kritzel-menu-item-height, 40px);min-height:var(--kritzel-menu-item-min-height, 40px);font-family:sans-serif;font-size:var(--kritzel-menu-item-font-size, 14px);color:var(--kritzel-menu-item-color, #333333);border-radius:var(--kritzel-menu-item-border-radius, 12px)
|
|
20203
|
+
const kritzelMenuItemCss = ":host{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--kritzel-menu-item-padding, 8px);box-sizing:border-box;gap:16px;height:var(--kritzel-menu-item-height, 40px);min-height:var(--kritzel-menu-item-min-height, 40px);font-family:sans-serif;font-size:var(--kritzel-menu-item-font-size, 14px);color:var(--kritzel-menu-item-color, #333333);border-radius:var(--kritzel-menu-item-border-radius, 12px)}:host(:hover) .menu-item-overlay,:host(:focus-within) .menu-item-overlay{background-color:var(--kritzel-menu-item-overlay-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.selected){background-color:var(--kritzel-menu-item-selected-bg, #007aff);color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .action-button{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected.editing){background-color:var(--kritzel-menu-item-selected-bg, #007aff)}:host(.selected) .edit-input{color:var(--kritzel-menu-item-selected-color, #ffffff)}:host(.selected) .action-button kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-selected-color, #ffffff)}kritzel-icon{--kritzel-icon-color:var(--kritzel-menu-item-color, #333333)}:host(.selected) .edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, rgba(255, 255, 255, 0.16))}:host(.editing){background-color:var(--kritzel-menu-item-editing-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.disabled){opacity:0.5;pointer-events:none !important}:host(.child-open){background-color:var(--kritzel-menu-item-child-open-background-color, hsl(0, 0%, 0%, 4.3%))}:host(.child-open.selected){background-color:var(--kritzel-menu-item-selected-bg, #007aff)}.menu-item-overlay{position:absolute;inset:0;background-color:transparent;z-index:0;pointer-events:none;border-radius:var(--kritzel-menu-item-border-radius, 12px)}.menu-item-content{display:flex;align-items:center;gap:8px;position:relative;z-index:1;height:100%}.left{justify-content:flex-start;flex:1;min-width:0}.left>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.right{justify-content:flex-end}.edit-input{flex:1;height:var(--kritzel-menu-item-input-height, 24px);padding:0;background-color:transparent;border-radius:0;border:none;border-bottom:1px solid var(--kritzel-menu-item-input-border, #ccc);font-size:var(--kritzel-context-menu-item-font-size, 14px);width:100%;min-width:0;box-sizing:border-box;outline:none}.edit-input::selection{background-color:var(--kritzel-menu-item-input-selection-color, #007bff);color:var(--kritzel-menu-item-input-selection-text-color, #ffffff)}.action-button{padding:4px;border-radius:8px;border:none;cursor:var(--kritzel-pointer-cursor, pointer);display:flex;align-items:center;justify-content:center;background-color:transparent;background:transparent;-webkit-tap-highlight-color:transparent}.action-button:hover,.action-button:focus{background-color:var(--kritzel-menu-item-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.action-button.disabled{pointer-events:none;opacity:0.5}";
|
|
20197
20204
|
|
|
20198
20205
|
const KritzelMenuItem = class {
|
|
20199
20206
|
constructor(hostRef) {
|
|
@@ -20289,12 +20296,12 @@ const KritzelMenuItem = class {
|
|
|
20289
20296
|
];
|
|
20290
20297
|
}
|
|
20291
20298
|
render() {
|
|
20292
|
-
return (h(Host, { key: '
|
|
20299
|
+
return (h(Host, { key: '7e1c4957d32429f235cb0f5a71fe3e0d2ca52934', tabIndex: this.item.isDisabled ? -1 : 0, class: {
|
|
20293
20300
|
'selected': this.item.isSelected,
|
|
20294
20301
|
'editing': this.item.isEditing,
|
|
20295
20302
|
'disabled': this.item.isDisabled,
|
|
20296
20303
|
'child-open': this.item.isChildMenuOpen,
|
|
20297
|
-
}, onClick: this.handleItemSelect }, h("div", { key: '
|
|
20304
|
+
}, onClick: this.handleItemSelect }, h("div", { key: '2e478e0ee73b11aaca57b56c25fdbeaa449a543e', class: "menu-item-overlay" }), this.item.isEditing ? this.renderEditMode() : this.renderViewMode()));
|
|
20298
20305
|
}
|
|
20299
20306
|
static get watchers() { return {
|
|
20300
20307
|
"item": ["onItemChange"]
|
|
@@ -20535,14 +20542,14 @@ const KritzelPortal = class {
|
|
|
20535
20542
|
this.portal.style.left = `${left}px`;
|
|
20536
20543
|
}
|
|
20537
20544
|
render() {
|
|
20538
|
-
return (h(Host, { key: '
|
|
20545
|
+
return (h(Host, { key: 'e536f728900dd70efc6524c7b9e76c2a20e26ef9', style: { display: this.anchor ? 'block' : 'none' } }, h("slot", { key: 'dc3fdea3ad588ba062c7ffc25e955453f8ac4f30' })));
|
|
20539
20546
|
}
|
|
20540
20547
|
static get watchers() { return {
|
|
20541
20548
|
"anchor": ["anchorChanged"]
|
|
20542
20549
|
}; }
|
|
20543
20550
|
};
|
|
20544
20551
|
|
|
20545
|
-
const kritzelSplitButtonCss = ":host{position:relative;display:flex;align-items:center;font-family:sans-serif;z-index:1;padding:var(--kritzel-split-button-padding, 4px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-split-button-border, 1px solid #ebebeb);gap:var(--kritzel-split-button-gap, 4px)}:host(.mobile){--kritzel-split-button-hover-background-color:transparent}button{border:none;background-color:transparent;padding:0;margin:0;font-family:inherit;font-size:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center;pointer-events:all;-webkit-tap-highlight-color:transparent}.split-main-button,.split-menu-button{height:auto;display:flex;align-items:center;padding:var(--kritzel-split-button-padding, 8px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);font-size:var(--kritzel-split-button-font-size, 14px)}.split-main-button:hover,.split-menu-button:hover{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button:focus,.split-menu-button:focus{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button{gap:var(--kritzel-split-button-gap, 4px)}.split-menu-button{border-left:none;justify-content:center}.split-divider{width:var(--kritzel-split-button-divider-width, 1px);height:24px;background-color:var(--kritzel-split-button-divider-background-color, hsl(0, 0%, 0%, 4.3%))}:disabled{pointer-events:none;opacity:0.5}";
|
|
20552
|
+
const kritzelSplitButtonCss = ":host{position:relative;display:flex;align-items:center;font-family:sans-serif;z-index:1;padding:var(--kritzel-split-button-padding, 4px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);box-shadow:var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));border:var(--kritzel-split-button-border, 1px solid #ebebeb);gap:var(--kritzel-split-button-gap, 4px)}:host(.mobile){--kritzel-split-button-hover-background-color:transparent}button{border:none;background-color:transparent;padding:0;margin:0;font-family:inherit;font-size:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:var(--kritzel-pointer-cursor, pointer);text-align:center;display:flex;align-items:center;justify-content:center;pointer-events:all;-webkit-tap-highlight-color:transparent}.split-main-button,.split-menu-button{height:auto;display:flex;align-items:center;padding:var(--kritzel-split-button-padding, 8px);background-color:var(--kritzel-split-button-background-color, #ffffff);border-radius:var(--kritzel-split-button-border-radius, 12px);font-size:var(--kritzel-split-button-font-size, 14px)}.split-main-button:hover,.split-menu-button:hover{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button:focus,.split-menu-button:focus{background-color:var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.split-main-button{gap:var(--kritzel-split-button-gap, 4px)}.split-menu-button{border-left:none;justify-content:center}.split-divider{width:var(--kritzel-split-button-divider-width, 1px);height:24px;background-color:var(--kritzel-split-button-divider-background-color, hsl(0, 0%, 0%, 4.3%))}:disabled{pointer-events:none;opacity:0.5}";
|
|
20546
20553
|
|
|
20547
20554
|
const KritzelSplitButton = class {
|
|
20548
20555
|
constructor(hostRef) {
|
|
@@ -20635,12 +20642,12 @@ const KritzelSplitButton = class {
|
|
|
20635
20642
|
this.menuScrollTop = event.target.scrollTop;
|
|
20636
20643
|
};
|
|
20637
20644
|
render() {
|
|
20638
|
-
return (h(Host, { key: '
|
|
20645
|
+
return (h(Host, { key: '3603874994e8a9d666448460d7e403252d38f799', class: { mobile: this.isTouchDevice } }, h("button", { key: 'a6a2f8cd22118f7be668f3fd1fc52e38c44b22b3', class: "split-main-button", tabIndex: 0, onClick: this.handleButtonClick, disabled: this.mainButtonDisabled }, this.buttonIcon && h("kritzel-icon", { key: 'e61abf53a2890b6587746eb2aef5a813e81ff1b9', name: this.buttonIcon })), h("div", { key: '17f78d85b2fbd0fe6e7925e10c2531c51bcfdf41', class: "split-divider" }), h("button", { key: 'ac507c76479d66e3483ee898e144a6bea4e8cf6a', ref: el => (this.splitMenuButtonRef = el), class: "split-menu-button", tabIndex: 0, onClick: this.toggleMenu, disabled: this.menuButtonDisabled }, h("kritzel-icon", { key: '8274be53e327d537c2987bc9a3761bc768bdd41f', name: this.dropdownIcon })), h("kritzel-portal", { key: '71136ef798f3c77cff30426a0fcd4ff91bf312b8', anchor: this.anchorElement, offsetY: 4, onClose: this.closeMenu }, h("kritzel-menu", { key: 'd1363d2029d7b4aafbd6cba9a4ca6cdf617064e9', ref: el => (this.menuRef = el), items: this.items, onItemSelect: this.handleItemSelect, onItemSave: this.handleItemSave, onItemCancel: this.handleItemCancel, onItemToggleChildMenu: this.handleItemToggleChildMenu, onItemCloseChildMenu: this.handleItemCloseChildMenu, onClose: this.closeMenu, onScroll: this.handleScroll }))));
|
|
20639
20646
|
}
|
|
20640
20647
|
};
|
|
20641
20648
|
KritzelSplitButton.style = kritzelSplitButtonCss;
|
|
20642
20649
|
|
|
20643
|
-
const kritzelStrokeSizeCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-sizing:border-box}.size-container:hover{background-color:var(--kritzel-stroke-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-stroke-size-selected-background-color, #ebebeb)}";
|
|
20650
|
+
const kritzelStrokeSizeCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box}.size-container{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:50%;cursor:var(--kritzel-pointer-cursor, pointer);border:2px solid transparent;box-sizing:border-box}.size-container:hover{background-color:var(--kritzel-stroke-size-hover-background-color, #ebebeb)}.size-container.selected{border-color:var(--kritzel-selection-border-color, #007AFF);background-color:var(--kritzel-stroke-size-selected-background-color, #ebebeb)}";
|
|
20644
20651
|
|
|
20645
20652
|
const KritzelStrokeSize = class {
|
|
20646
20653
|
constructor(hostRef) {
|
|
@@ -20655,7 +20662,7 @@ const KritzelStrokeSize = class {
|
|
|
20655
20662
|
this.sizeChange.emit(size);
|
|
20656
20663
|
}
|
|
20657
20664
|
render() {
|
|
20658
|
-
return (h(Host, { key: '
|
|
20665
|
+
return (h(Host, { key: '7c9041e061a946f20210cff2330cb736c2703ac7' }, this.sizes.map(size => (h("div", { tabIndex: 0, class: {
|
|
20659
20666
|
'size-container': true,
|
|
20660
20667
|
'selected': this.selectedSize === size,
|
|
20661
20668
|
}, onClick: () => this.handleSizeClick(size) }, h("kritzel-color", { value: '#000000', size: size }))))));
|
|
@@ -20732,23 +20739,23 @@ const KritzelTooltip = class {
|
|
|
20732
20739
|
}
|
|
20733
20740
|
}
|
|
20734
20741
|
render() {
|
|
20735
|
-
return (h(Host, { key: '
|
|
20742
|
+
return (h(Host, { key: '8f78668b3d266d7a0eb140d01626998534acc252', style: {
|
|
20736
20743
|
position: 'fixed',
|
|
20737
20744
|
zIndex: '9999',
|
|
20738
20745
|
transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
|
|
20739
20746
|
visibility: this.isVisible ? 'visible' : 'hidden',
|
|
20740
20747
|
left: !this.isMobileView ? `${this.positionX}px` : '50%',
|
|
20741
20748
|
marginBottom: `${this.offsetY + this.arrowSize}px`,
|
|
20742
|
-
} }, h("div", { key: '
|
|
20749
|
+
} }, h("div", { key: '77b526b1687d41654b32b6f14d3e0400908b0a79', class: "tooltip-content", onClick: event => event.stopPropagation() }, h("slot", { key: 'fcd088608c091ff877b1e58425a0905c84c9999a' }), h("div", { key: '002913b582b5c034e7af722c433fbe79d0c32150', class: "tooltip-arrow-wrapper", style: {
|
|
20743
20750
|
position: 'fixed',
|
|
20744
20751
|
left: this.arrowOffset,
|
|
20745
20752
|
bottom: `-${this.arrowSize * 2}px`,
|
|
20746
|
-
} }, h("div", { key: '
|
|
20753
|
+
} }, h("div", { key: 'fc834bf34b464ac039ffb58e47485b76f8ced03e', class: "tooltip-arrow", style: {
|
|
20747
20754
|
borderLeft: `${this.arrowSize}px solid transparent`,
|
|
20748
20755
|
borderRight: `${this.arrowSize}px solid transparent`,
|
|
20749
20756
|
borderTop: `${this.arrowSize}px solid var(--kritzel-controls-tooltip-background-color, #ffffff)`,
|
|
20750
20757
|
filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))',
|
|
20751
|
-
} }), h("div", { key: '
|
|
20758
|
+
} }), h("div", { key: '65939011ae607a144f8217cf3aa5bdd2ff0f88fc', class: "tooltip-arrow-rect", style: {
|
|
20752
20759
|
position: 'relative',
|
|
20753
20760
|
width: `${this.arrowSize * 2}px`,
|
|
20754
20761
|
height: `${this.arrowSize}px`,
|
|
@@ -20759,7 +20766,7 @@ const KritzelTooltip = class {
|
|
|
20759
20766
|
};
|
|
20760
20767
|
KritzelTooltip.style = kritzelTooltipCss;
|
|
20761
20768
|
|
|
20762
|
-
const kritzelUtilityPanelCss = ":host{display:flex;flex-direction:row;align-items:center;padding:4px;gap:8px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:rgb(226, 226, 226);width:fit-content;user-select:none}.utility-button{display:flex;justify-content:center;align-items:center;width:28px;height:28px;padding:8px 4px;border:none;background:none;cursor:pointer;color:#333333;-webkit-tap-highlight-color:transparent;border-radius:var(--kritzel-utility-panel-button-border-radius, 8px)}.utility-button:hover,.utility-button:focus-visible{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.utility-button:disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.utility-separator{width:1px;height:16px;background-color:hsl(0, 0%, 0%, 4.3%)}";
|
|
20769
|
+
const kritzelUtilityPanelCss = ":host{display:flex;flex-direction:row;align-items:center;padding:4px;gap:8px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:rgb(226, 226, 226);width:fit-content;user-select:none}.utility-button{display:flex;justify-content:center;align-items:center;width:28px;height:28px;padding:8px 4px;border:none;background:none;cursor:var(--kritzel-pointer-cursor, pointer);color:#333333;-webkit-tap-highlight-color:transparent;border-radius:var(--kritzel-utility-panel-button-border-radius, 8px)}.utility-button:hover,.utility-button:focus-visible{background-color:var(--kritzel-controls-control-hover-background-color, hsl(0, 0%, 0%, 4.3%))}.utility-button:disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}.utility-separator{width:1px;height:16px;background-color:hsl(0, 0%, 0%, 4.3%)}";
|
|
20763
20770
|
|
|
20764
20771
|
const KritzelUtilityPanel = class {
|
|
20765
20772
|
constructor(hostRef) {
|
|
@@ -20785,7 +20792,7 @@ const KritzelUtilityPanel = class {
|
|
|
20785
20792
|
this.redo.emit();
|
|
20786
20793
|
}
|
|
20787
20794
|
render() {
|
|
20788
|
-
return (h(Host, { key: '
|
|
20795
|
+
return (h(Host, { key: '6e33687f7c71ec342d47f1ae4a507de1f08fad6f' }, h("button", { key: 'd0cf45d78743a954764d03abdb49a725c0979cf8', class: "utility-button", disabled: !this.undoState?.canUndo, onClick: event => this.handleUndo(event) }, h("kritzel-icon", { key: '6303892952ef0426023dde47b909fe90abfbd4c6', name: "undo" })), h("button", { key: '0542b66850c61e001d7461ddcbceb7999f98dc6a', class: "utility-button", disabled: !this.undoState?.canRedo, onClick: event => this.handleRedo(event) }, h("kritzel-icon", { key: 'faf61b34c8d5abe3ba0bdb1787a08418874532a4', name: "redo" })), h("div", { key: 'a8482d17b7e9b68204d81097ced692daa1fb11cc', class: "utility-separator" }), h("button", { key: 'd733f273095a96c914285908088d9c1536dddaf0', class: "utility-button" }, h("kritzel-icon", { key: 'd5322357c8ffc646c77acb02c5c5ce9131ba66cd', name: "delete", onClick: () => this.delete.emit() }))));
|
|
20789
20796
|
}
|
|
20790
20797
|
};
|
|
20791
20798
|
KritzelUtilityPanel.style = kritzelUtilityPanelCss;
|