kritzel-stencil 0.0.160 → 0.0.162
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-D10FksvZ.js → default-line-tool.config-D1Ns0NmM.js} +3156 -929
- package/dist/cjs/default-line-tool.config-D1Ns0NmM.js.map +1 -0
- package/dist/cjs/index.cjs.js +131 -126
- 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 +538 -198
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/core/core.class.js +140 -3
- package/dist/collection/classes/core/core.class.js.map +1 -1
- package/dist/collection/classes/core/reviver.class.js +8 -0
- package/dist/collection/classes/core/reviver.class.js.map +1 -1
- package/dist/collection/classes/core/store.class.js +8 -0
- package/dist/collection/classes/core/store.class.js.map +1 -1
- package/dist/collection/classes/handlers/line-handle.handler.js +383 -0
- package/dist/collection/classes/handlers/line-handle.handler.js.map +1 -0
- package/dist/collection/classes/handlers/move.handler.js +2 -2
- package/dist/collection/classes/handlers/move.handler.js.map +1 -1
- package/dist/collection/classes/handlers/resize.handler.js +42 -34
- 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/managers/anchor.manager.js +874 -0
- package/dist/collection/classes/managers/anchor.manager.js.map +1 -0
- package/dist/collection/classes/managers/cursor.manager.js +117 -0
- package/dist/collection/classes/managers/cursor.manager.js.map +1 -0
- package/dist/collection/classes/objects/base-object.class.js +4 -2
- package/dist/collection/classes/objects/base-object.class.js.map +1 -1
- package/dist/collection/classes/objects/line.class.js +564 -0
- package/dist/collection/classes/objects/line.class.js.map +1 -0
- package/dist/collection/classes/objects/selection-group.class.js +4 -0
- package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
- package/dist/collection/classes/registries/icon-registry.class.js +7 -1
- package/dist/collection/classes/registries/icon-registry.class.js.map +1 -1
- package/dist/collection/classes/tools/line-tool.class.js +172 -0
- package/dist/collection/classes/tools/line-tool.class.js.map +1 -0
- package/dist/collection/classes/tools/selection-tool.class.js +41 -8
- package/dist/collection/classes/tools/selection-tool.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 +11 -2
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.css +0 -14
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +163 -21
- 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 +10 -0
- package/dist/collection/configs/default-engine-config.js.map +1 -1
- package/dist/collection/configs/default-line-tool.config.js +34 -0
- package/dist/collection/configs/default-line-tool.config.js.map +1 -0
- package/dist/collection/helpers/cursor.helper.js +58 -0
- package/dist/collection/helpers/cursor.helper.js.map +1 -0
- package/dist/collection/helpers/geometry.helper.js +42 -0
- package/dist/collection/helpers/geometry.helper.js.map +1 -1
- package/dist/collection/index.js +6 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/interfaces/anchor.interface.js +2 -0
- package/dist/collection/interfaces/anchor.interface.js.map +1 -0
- package/dist/collection/interfaces/arrow-head.interface.js +2 -0
- package/dist/collection/interfaces/arrow-head.interface.js.map +1 -0
- package/dist/collection/interfaces/engine-state.interface.js.map +1 -1
- package/dist/collection/interfaces/line-options.interface.js +2 -0
- package/dist/collection/interfaces/line-options.interface.js.map +1 -0
- package/dist/collection/interfaces/toolbar-control.interface.js.map +1 -1
- package/dist/components/index.js +4 -4
- 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 +64 -23
- package/dist/components/kritzel-editor.js.map +1 -1
- 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-TdCTkEu0.js → p-7_lwv0zQ.js} +7 -7
- package/dist/components/p-7_lwv0zQ.js.map +1 -0
- 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-CIXPLjCu.js → p-BdwB-S9G.js} +3 -3
- package/dist/components/p-BdwB-S9G.js.map +1 -0
- package/dist/components/p-BixlbUD7.js +104 -0
- package/dist/components/p-BixlbUD7.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-Ddh40W3x.js → p-CDteBYm9.js} +9 -9
- package/dist/components/p-CDteBYm9.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-CK6no3mi.js → p-CkD1PQQX.js} +6 -6
- package/dist/components/{p-CK6no3mi.js.map → p-CkD1PQQX.js.map} +1 -1
- package/dist/components/{p-BQg4YML7.js → p-Cqr0Bah5.js} +12 -12
- package/dist/components/p-Cqr0Bah5.js.map +1 -0
- package/dist/components/{p-DTHqEUDc.js → p-CuhOrcET.js} +2861 -390
- package/dist/components/p-CuhOrcET.js.map +1 -0
- package/dist/components/{p-DAfkuR8U.js → p-CvLFRlQU.js} +5 -5
- package/dist/components/p-CvLFRlQU.js.map +1 -0
- package/dist/components/{p-1lIHoOlH.js → p-DKwJJuFb.js} +19 -19
- package/dist/components/p-DKwJJuFb.js.map +1 -0
- package/dist/components/{p-CsA9M6me.js → p-DZ7kxJUx.js} +8 -8
- package/dist/components/p-DZ7kxJUx.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-C2sWlNsJ.js → p-dMCB4tJA.js} +5 -5
- package/dist/components/p-dMCB4tJA.js.map +1 -0
- package/dist/components/{p-CBYBurdY.js → p-sokRZ7Vn.js} +49 -5
- package/dist/components/p-sokRZ7Vn.js.map +1 -0
- package/dist/esm/{default-text-tool.config-DzqpOikl.js → default-line-tool.config-C35m-d1Y.js} +3150 -930
- package/dist/esm/default-line-tool.config-C35m-d1Y.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 +457 -117
- 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-C35m-d1Y.js +2 -0
- package/dist/stencil/p-C35m-d1Y.js.map +1 -0
- package/dist/stencil/p-d142ef46.entry.js +10 -0
- package/dist/stencil/p-d142ef46.entry.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/core/core.class.d.ts +18 -0
- package/dist/types/classes/core/store.class.d.ts +3 -0
- package/dist/types/classes/handlers/line-handle.handler.d.ts +34 -0
- package/dist/types/classes/managers/anchor.manager.d.ts +160 -0
- package/dist/types/classes/managers/cursor.manager.d.ts +43 -0
- package/dist/types/classes/objects/line.class.d.ts +98 -0
- package/dist/types/classes/tools/line-tool.class.d.ts +17 -0
- package/dist/types/classes/tools/selection-tool.class.d.ts +4 -0
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +4 -2
- package/dist/types/components.d.ts +7 -5
- package/dist/types/configs/default-line-tool.config.d.ts +2 -0
- package/dist/types/helpers/cursor.helper.d.ts +22 -0
- package/dist/types/helpers/geometry.helper.d.ts +10 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/interfaces/anchor.interface.d.ts +137 -0
- package/dist/types/interfaces/arrow-head.interface.d.ts +26 -0
- package/dist/types/interfaces/engine-state.interface.d.ts +15 -0
- package/dist/types/interfaces/line-options.interface.d.ts +21 -0
- package/dist/types/interfaces/toolbar-control.interface.d.ts +17 -1
- package/package.json +1 -1
- package/dist/cjs/default-text-tool.config-D10FksvZ.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-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-CBYBurdY.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-DTHqEUDc.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-DzqpOikl.js.map +0 -1
- package/dist/stencil/p-5475442e.entry.js +0 -10
- package/dist/stencil/p-5475442e.entry.js.map +0 -1
- package/dist/stencil/p-DzqpOikl.js +0 -2
- package/dist/stencil/p-DzqpOikl.js.map +0 -1
- package/dist/stencil/p-d702c5af.entry.js +0 -2
package/dist/components/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { g as getAssetPath, r as render, s as setAssetPath, a as setNonce, b as setPlatformOptions } from './p-CwkUrTy1.js';
|
|
2
|
-
export { b as KritzelBrushTool, a as KritzelPath, K as KritzelText, c as KritzelTextTool } from './p-
|
|
3
|
-
import { w as writeVarUint, a as writeVarUint8Array, t as toUint8Array, r as readVarUint, b as readVarUint8Array, e as encodeStateAsUpdate, c as applyUpdate, d as encodeStateVector, f as createEncoder, g as createDecoder, s as setIfUndefined, h as create, i as fromBase64, v as varStorage, j as toBase64, o as onChange, k as createUint8ArrayFromArrayBuffer, l as offChange, m as readVarString, O as Observable, n as floor, p as getUnixTime, q as equalityDeep, u as writeVarString, x as map, y as ObservableV2, z as length, A as isNode, B as min, C as pow, H as HocuspocusProvider, D as HocuspocusProviderWebsocket } from './p-
|
|
4
|
-
export {
|
|
2
|
+
export { b as KritzelBrushTool, a as KritzelPath, K as KritzelText, c as KritzelTextTool } from './p-sokRZ7Vn.js';
|
|
3
|
+
import { w as writeVarUint, a as writeVarUint8Array, t as toUint8Array, r as readVarUint, b as readVarUint8Array, e as encodeStateAsUpdate, c as applyUpdate, d as encodeStateVector, f as createEncoder, g as createDecoder, s as setIfUndefined, h as create, i as fromBase64, v as varStorage, j as toBase64, o as onChange, k as createUint8ArrayFromArrayBuffer, l as offChange, m as readVarString, O as Observable, n as floor, p as getUnixTime, q as equalityDeep, u as writeVarString, x as map, y as ObservableV2, z as length, A as isNode, B as min, C as pow, H as HocuspocusProvider, D as HocuspocusProviderWebsocket } from './p-CuhOrcET.js';
|
|
4
|
+
export { M as IndexedDBSyncProvider, P as KritzelAnchorManager, N as KritzelAppStateMap, J as KritzelCursorHelper, G as KritzelEraserTool, K as KritzelImage, I as KritzelImageTool, E as KritzelLine, F as KritzelLineTool, L as KritzelSelectionTool } from './p-CuhOrcET.js';
|
|
5
5
|
export { K as KritzelWorkspace } from './p-n789Y3S-.js';
|
|
6
|
-
export { D as DEFAULT_BRUSH_CONFIG, a as DEFAULT_TEXT_CONFIG, KritzelEditor, defineCustomElement as defineCustomElementKritzelEditor } from './kritzel-editor.js';
|
|
6
|
+
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';
|
|
7
7
|
export { KritzelBrushStyle, defineCustomElement as defineCustomElementKritzelBrushStyle } from './kritzel-brush-style.js';
|
|
8
8
|
export { KritzelColor, defineCustomElement as defineCustomElementKritzelColor } from './kritzel-color.js';
|
|
9
9
|
export { KritzelColorPalette, defineCustomElement as defineCustomElementKritzelColorPalette } from './kritzel-color-palette.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-CwkUrTy1.js';
|
|
2
|
-
import { d as defineCustomElement$3 } from './p-
|
|
3
|
-
import { d as defineCustomElement$2 } from './p-
|
|
2
|
+
import { d as defineCustomElement$3 } from './p-BdwB-S9G.js';
|
|
3
|
+
import { d as defineCustomElement$2 } from './p-BixlbUD7.js';
|
|
4
4
|
|
|
5
|
-
const kritzelBrushStyleCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.brush-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;
|
|
5
|
+
const kritzelBrushStyleCss = ":host{display:flex;align-items:flex-start;gap:8px;padding:8px;box-sizing:border-box;width:100%}.brush-style-button{display:flex;justify-content:center;align-items:center;width:42px;height:32px;padding:0;border:none;outline:none;background:none;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)}";
|
|
6
6
|
|
|
7
7
|
const KritzelBrushStyle$1 = /*@__PURE__*/ proxyCustomElement(class KritzelBrushStyle extends H {
|
|
8
8
|
constructor(registerHost) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kritzel-brush-style.js","mappings":";;;;AAAA,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"file":"kritzel-brush-style.js","mappings":";;;;AAAA,MAAM,oBAAoB,GAAG,ytBAAytB;;MCUzuBA,mBAAiB,iBAAAC,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;;;;;;;;;IACpB,IAAI,GAA0B,KAAK;AACnC,IAAA,YAAY,GAAuB;AACzC,QAAA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC9B,QAAA,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;KAC/C;AAEQ,IAAA,UAAU;AAEnB,IAAA,yBAAyB,CAAC,KAA0B,EAAA;QAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAA+B,CAAC;;IAG7D,MAAM,GAAA;AACJ,QAAA,MAAM,eAAe,GAAqB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,KAAK;YACzE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;AACpB,SAAA,CAAC,CAAC;AAEH,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,IAAI,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAA,EAC1H,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,EAAA,EAC9C,CAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAc,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAiB,CAAA,CACjD,CACQ,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["KritzelBrushStyle","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/kritzel-brush-style/kritzel-brush-style.css?tag=kritzel-brush-style&encapsulation=shadow","src/components/shared/kritzel-brush-style/kritzel-brush-style.tsx"],"sourcesContent":[":host {\r\n display: flex; \r\n align-items: flex-start; \r\n gap: 8px; \r\n padding: 8px; \r\n box-sizing: border-box; \r\n width: 100%;\r\n}\r\n\r\n.brush-style-button {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 42px;\r\n height: 32px;\r\n padding: 0;\r\n border: none;\r\n outline: none;\r\n background: none;\r\n border-radius: 0; \r\n color: var(--control-text-color);\r\n font-weight: bold;\r\n -webkit-tap-highlight-color: transparent;\r\n}\r\n\r\n.font-style-button:not(:last-child) {\r\n border-right: 1px solid #333333; \r\n}\r\n\r\n.font-style-button:hover {\r\n background-color: var(--control-hover-bg);\r\n}\r\n\r\n.font-style-button:active {\r\n background-color: var(--control-active-bg);\r\n}\r\n\r\n.font-style-button.selected,\r\n.font-style-button.selected:hover,\r\n.font-style-button.selected:active {\r\n background-color: var(--control-selected-bg);\r\n color: var(--control-selected-color);\r\n}","import { Component, Host, h, Prop, EventEmitter, Event } from '@stencil/core';\r\nimport { DropdownOption } from '../kritzel-dropdown/kritzel-dropdown'; // Import DropdownOption\r\n\r\nexport interface BrushStyleOption extends DropdownOption {}\r\n\r\n@Component({\r\n tag: 'kritzel-brush-style',\r\n styleUrl: 'kritzel-brush-style.css',\r\n shadow: true,\r\n})\r\nexport class KritzelBrushStyle {\r\n @Prop() type: 'pen' | 'highlighter' = 'pen';\r\n @Prop() brushOptions: BrushStyleOption[] = [\r\n { value: 'pen', label: 'Pen' },\r\n { value: 'highlighter', label: 'Highlighter' },\r\n ];\r\n\r\n @Event() typeChange: EventEmitter<'pen' | 'highlighter'>;\r\n\r\n handleDropdownValueChange(event: CustomEvent<string>) {\r\n this.typeChange.emit(event.detail as 'pen' | 'highlighter');\r\n }\r\n\r\n render() {\r\n const dropdownOptions: DropdownOption[] = this.brushOptions.map(option => ({\r\n value: option.value,\r\n label: option.label,\r\n }));\r\n\r\n return (\r\n <Host>\r\n <kritzel-dropdown options={dropdownOptions} value={this.type} onValueChanged={event => this.handleDropdownValueChange(event)}>\r\n <button class=\"brush-style-button\" slot=\"prefix\">\r\n <kritzel-icon name={this.type} size={16}></kritzel-icon>\r\n </button>\r\n </kritzel-dropdown>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelColorPalette$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelColorPalette$1, d as defineCustomElement$1 } from './p-Brd9SxWS.js';
|
|
2
2
|
|
|
3
3
|
const KritzelColorPalette = KritzelColorPalette$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelContextMenu$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelContextMenu$1, d as defineCustomElement$1 } from './p-dMCB4tJA.js';
|
|
2
2
|
|
|
3
3
|
const KritzelContextMenu = KritzelContextMenu$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelControlBrushConfig$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelControlBrushConfig$1, d as defineCustomElement$1 } from './p-CDteBYm9.js';
|
|
2
2
|
|
|
3
3
|
const KritzelControlBrushConfig = KritzelControlBrushConfig$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelControlTextConfig$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelControlTextConfig$1, d as defineCustomElement$1 } from './p-Cqr0Bah5.js';
|
|
2
2
|
|
|
3
3
|
const KritzelControlTextConfig = KritzelControlTextConfig$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelControls$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelControls$1, d as defineCustomElement$1 } from './p-DKwJJuFb.js';
|
|
2
2
|
|
|
3
3
|
const KritzelControls = KritzelControls$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelCursorTrail$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelCursorTrail$1, d as defineCustomElement$1 } from './p-B_3OZeom.js';
|
|
2
2
|
|
|
3
3
|
const KritzelCursorTrail = KritzelCursorTrail$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelDropdown$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelDropdown$1, d as defineCustomElement$1 } from './p-BdwB-S9G.js';
|
|
2
2
|
|
|
3
3
|
const KritzelDropdown = KritzelDropdown$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-CwkUrTy1.js';
|
|
2
|
-
import { K as KritzelIconRegistry, d as defineCustomElement$a } from './p-
|
|
3
|
-
import {
|
|
4
|
-
import { b as KritzelBrushTool, c as KritzelTextTool, d as KritzelKeyboardHelper } from './p-
|
|
2
|
+
import { K as KritzelIconRegistry, d as defineCustomElement$a } from './p-BixlbUD7.js';
|
|
3
|
+
import { Q as ABSOLUTE_SCALE_MAX, R as ABSOLUTE_SCALE_MIN, L as KritzelSelectionTool, F as KritzelLineTool, G as KritzelEraserTool, I as KritzelImageTool, S as defineCustomElement$e } from './p-CuhOrcET.js';
|
|
4
|
+
import { b as KritzelBrushTool, c as KritzelTextTool, d as KritzelKeyboardHelper } from './p-sokRZ7Vn.js';
|
|
5
5
|
import { K as KritzelWorkspace } from './p-n789Y3S-.js';
|
|
6
6
|
import { K as KritzelDevicesHelper } from './p-l10It7Nm.js';
|
|
7
|
-
import { d as defineCustomElement$m } from './p-
|
|
8
|
-
import { d as defineCustomElement$l } from './p-
|
|
9
|
-
import { d as defineCustomElement$k } from './p-
|
|
10
|
-
import { d as defineCustomElement$j } from './p-
|
|
11
|
-
import { d as defineCustomElement$i } from './p-
|
|
12
|
-
import { d as defineCustomElement$h } from './p-
|
|
13
|
-
import { d as defineCustomElement$g } from './p-
|
|
14
|
-
import { d as defineCustomElement$f } from './p-
|
|
15
|
-
import { d as defineCustomElement$d } from './p-
|
|
16
|
-
import { d as defineCustomElement$c } from './p-
|
|
17
|
-
import { d as defineCustomElement$b } from './p-
|
|
18
|
-
import { d as defineCustomElement$8, a as defineCustomElement$9 } from './p-
|
|
19
|
-
import { d as defineCustomElement$7 } from './p-
|
|
20
|
-
import { d as defineCustomElement$6 } from './p-
|
|
21
|
-
import { d as defineCustomElement$5 } from './p-
|
|
22
|
-
import { d as defineCustomElement$4 } from './p-
|
|
23
|
-
import { d as defineCustomElement$3 } from './p-
|
|
24
|
-
import { d as defineCustomElement$2 } from './p-
|
|
7
|
+
import { d as defineCustomElement$m } from './p-LAsVgL2e.js';
|
|
8
|
+
import { d as defineCustomElement$l } from './p-Brd9SxWS.js';
|
|
9
|
+
import { d as defineCustomElement$k } from './p-dMCB4tJA.js';
|
|
10
|
+
import { d as defineCustomElement$j } from './p-CDteBYm9.js';
|
|
11
|
+
import { d as defineCustomElement$i } from './p-Cqr0Bah5.js';
|
|
12
|
+
import { d as defineCustomElement$h } from './p-DKwJJuFb.js';
|
|
13
|
+
import { d as defineCustomElement$g } from './p-B_3OZeom.js';
|
|
14
|
+
import { d as defineCustomElement$f } from './p-BdwB-S9G.js';
|
|
15
|
+
import { d as defineCustomElement$d } from './p-Ck4lGnmt.js';
|
|
16
|
+
import { d as defineCustomElement$c } from './p-CFH6XRL5.js';
|
|
17
|
+
import { d as defineCustomElement$b } from './p-B6r22FSC.js';
|
|
18
|
+
import { d as defineCustomElement$8, a as defineCustomElement$9 } from './p-DZ7kxJUx.js';
|
|
19
|
+
import { d as defineCustomElement$7 } from './p-OFrACpZf.js';
|
|
20
|
+
import { d as defineCustomElement$6 } from './p-7_lwv0zQ.js';
|
|
21
|
+
import { d as defineCustomElement$5 } from './p-CRGwaUcp.js';
|
|
22
|
+
import { d as defineCustomElement$4 } from './p-9Fzdviju.js';
|
|
23
|
+
import { d as defineCustomElement$3 } from './p-CvLFRlQU.js';
|
|
24
|
+
import { d as defineCustomElement$2 } from './p-CkD1PQQX.js';
|
|
25
25
|
|
|
26
26
|
const DEFAULT_BRUSH_CONFIG = {
|
|
27
27
|
type: 'pen',
|
|
@@ -115,6 +115,40 @@ const DEFAULT_TEXT_CONFIG = {
|
|
|
115
115
|
],
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
+
const DEFAULT_LINE_TOOL_CONFIG = {
|
|
119
|
+
color: '#000000',
|
|
120
|
+
size: 4,
|
|
121
|
+
palette: [
|
|
122
|
+
'#000000',
|
|
123
|
+
'#ff5252',
|
|
124
|
+
'#ffbc00',
|
|
125
|
+
'#00c853',
|
|
126
|
+
'#0000FF',
|
|
127
|
+
'#d500f9',
|
|
128
|
+
'#fafafa',
|
|
129
|
+
'#a52714',
|
|
130
|
+
'#ee8100',
|
|
131
|
+
'#558b2f',
|
|
132
|
+
'#01579b',
|
|
133
|
+
'#8e24aa',
|
|
134
|
+
'#90a4ae',
|
|
135
|
+
'#ff4081',
|
|
136
|
+
'#ff6e40',
|
|
137
|
+
'#aeea00',
|
|
138
|
+
'#304ffe',
|
|
139
|
+
'#7c4dff',
|
|
140
|
+
'#cfd8dc',
|
|
141
|
+
'#f8bbd0',
|
|
142
|
+
'#ffccbc',
|
|
143
|
+
'#f0f4c3',
|
|
144
|
+
'#b3e5fc',
|
|
145
|
+
'#e1bee7',
|
|
146
|
+
],
|
|
147
|
+
arrows: {
|
|
148
|
+
end: { enabled: true, style: 'triangle' },
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
|
|
118
152
|
const kritzelEditorCss = "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%))}";
|
|
119
153
|
|
|
120
154
|
const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor extends H {
|
|
@@ -145,6 +179,13 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
|
|
|
145
179
|
icon: 'pen',
|
|
146
180
|
config: DEFAULT_BRUSH_CONFIG,
|
|
147
181
|
},
|
|
182
|
+
{
|
|
183
|
+
name: 'line',
|
|
184
|
+
type: 'tool',
|
|
185
|
+
tool: KritzelLineTool,
|
|
186
|
+
icon: 'arrow',
|
|
187
|
+
config: DEFAULT_LINE_TOOL_CONFIG,
|
|
188
|
+
},
|
|
148
189
|
{
|
|
149
190
|
name: 'eraser',
|
|
150
191
|
type: 'tool',
|
|
@@ -344,7 +385,7 @@ const KritzelEditor$1 = /*@__PURE__*/ proxyCustomElement(class KritzelEditor ext
|
|
|
344
385
|
}
|
|
345
386
|
}
|
|
346
387
|
render() {
|
|
347
|
-
return (h(Host, { key: '
|
|
388
|
+
return (h(Host, { key: 'f107cce23625f36978736ef948a51cd91d84c3f1' }, h("kritzel-workspace-manager", { key: 'a924de174ac5226c3ac5507c35e162b35490a5dd', workspaces: this.workspaces, activeWorkspace: this.activeWorkspace, onWorkspaceChange: event => (this.activeWorkspace = event.detail), onIsWorkspaceManagerReady: () => (this.isWorkspaceManagerReady = true) }), h("kritzel-engine", { key: '48b6c14ca2c1e1a2c745ec81294a331a463219a1', 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: '2ec26e1444f4ba642c4fdc4ef2da1a62dc0256a6', 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) })));
|
|
348
389
|
}
|
|
349
390
|
static get watchers() { return {
|
|
350
391
|
"isEngineReady": ["onIsEngineReady"],
|
|
@@ -510,7 +551,7 @@ function defineCustomElement$1() {
|
|
|
510
551
|
const KritzelEditor = KritzelEditor$1;
|
|
511
552
|
const defineCustomElement = defineCustomElement$1;
|
|
512
553
|
|
|
513
|
-
export { DEFAULT_BRUSH_CONFIG as D, KritzelEditor, DEFAULT_TEXT_CONFIG as a, defineCustomElement };
|
|
554
|
+
export { DEFAULT_BRUSH_CONFIG as D, KritzelEditor, DEFAULT_TEXT_CONFIG as a, DEFAULT_LINE_TOOL_CONFIG as b, defineCustomElement };
|
|
514
555
|
//# sourceMappingURL=kritzel-editor.js.map
|
|
515
556
|
|
|
516
557
|
//# sourceMappingURL=kritzel-editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kritzel-editor.js","mappings":"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","names":["KritzelEditor","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/configs/default-brush-tool.config.ts","src/configs/default-text-tool.config.ts","src/components/core/kritzel-editor/kritzel-editor.css?tag=kritzel-editor","src/components/core/kritzel-editor/kritzel-editor.tsx"],"sourcesContent":["import { KritzelBrushToolConfig } from '../interfaces/toolbar-control.interface';\r\n\r\nexport const DEFAULT_BRUSH_CONFIG: KritzelBrushToolConfig = {\r\n type: 'pen',\r\n color: '#000000',\r\n size: 16,\r\n palettes: {\r\n pen: [\r\n '#000000',\r\n '#ff5252',\r\n '#ffbc00',\r\n '#00c853',\r\n '#0000FF',\r\n '#d500f9',\r\n '#fafafa',\r\n '#a52714',\r\n '#ee8100',\r\n '#558b2f',\r\n '#01579b',\r\n '#8e24aa',\r\n '#90a4ae',\r\n '#ff4081',\r\n '#ff6e40',\r\n '#aeea00',\r\n '#304ffe',\r\n '#7c4dff',\r\n '#cfd8dc',\r\n '#f8bbd0',\r\n '#ffccbc',\r\n '#f0f4c3',\r\n '#9fa8da',\r\n '#d1c4e9',\r\n ],\r\n highlighter: [\r\n '#0000006e',\r\n '#ff52526e',\r\n '#ffbb006e',\r\n '#00c8536e',\r\n '#0000FF6e',\r\n '#d500f96e',\r\n '#fafafa6e',\r\n '#a527146e',\r\n '#ee81006e',\r\n '#558b2f6e',\r\n '#01579b6e',\r\n '#8e24aa6e',\r\n '#90a4ae6e',\r\n '#ff40816e',\r\n '#ff6e406e',\r\n '#aeea006e',\r\n '#304ffe6e',\r\n '#7c4dff6e',\r\n '#cfd8dc6e',\r\n '#f8bbd06e',\r\n '#ffccbc6e',\r\n '#f0f4c36e',\r\n '#9fa8da6e',\r\n '#d1c4e96e',\r\n ],\r\n },\r\n};\r\n\r\n\r\n","import { KritzelTextToolConfig } from \"../interfaces/toolbar-control.interface\";\r\n\r\nexport const DEFAULT_TEXT_CONFIG: KritzelTextToolConfig = {\r\n color: '#000000',\r\n size: 8,\r\n fontFamily: 'Arial',\r\n palette: [\r\n '#000000',\r\n '#ff5252',\r\n '#ffbc00',\r\n '#00c853',\r\n '#0000FF',\r\n '#d500f9',\r\n '#fafafa',\r\n '#a52714',\r\n '#ee8100',\r\n '#558b2f',\r\n '#01579b',\r\n '#8e24aa',\r\n '#90a4ae',\r\n '#ff4081',\r\n '#ff6e40',\r\n '#aeea00',\r\n '#304ffe',\r\n '#7c4dff',\r\n '#cfd8dc',\r\n '#f8bbd0',\r\n '#ffccbc',\r\n '#f0f4c3',\r\n '#9fa8da',\r\n '#d1c4e9',\r\n ],\r\n};","kritzel-editor{\r\n display: flex;\r\n margin: 0;\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n touch-action: manipulation;\r\n user-select: none;\r\n -webkit-touch-callout: none;\r\n -webkit-user-select: none;\r\n -khtml-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none; \r\n}\r\n\r\nkritzel-workspace-manager {\r\n position: absolute;\r\n top: var(--kritzel-editor-workspace-manager-top, 14px);\r\n left: var(--kritzel-editor-workspace-manager-left, 14px);\r\n}\r\n\r\nkritzel-controls {\r\n position: absolute;\r\n bottom: var(--kritzel-editor-controls-bottom, 14px);\r\n transition: transform var(--kritzel-editor-controls-transition-duration, 0.1s) var(--kritzel-editor-controls-transition, ease-in-out);\r\n}\r\n\r\nkritzel-controls.keyboard-open {\r\n transform: var(--kritzel-editor-controls-transform, translateY(300%));\r\n}","import { Component, Host, Listen, Prop, Element, h, Method, Event, State, EventEmitter, Watch } from '@stencil/core';\r\nimport { KritzelIconRegistry } from '../../../classes/registries/icon-registry.class';\r\nimport { KritzelToolbarControl } from '../../../interfaces/toolbar-control.interface';\r\nimport { KritzelBaseObject } from '../../../classes/objects/base-object.class';\r\nimport { KritzelSelectionTool } from '../../../classes/tools/selection-tool.class';\r\nimport { KritzelEraserTool } from '../../../classes/tools/eraser-tool.class';\r\nimport { KritzelImageTool } from '../../../classes/tools/image-tool.class';\r\nimport { KritzelBrushTool } from '../../../classes/tools/brush-tool.class';\r\nimport { KritzelTextTool } from '../../../classes/tools/text-tool.class';\r\nimport { ContextMenuItem } from '../../../interfaces/context-menu-item.interface';\r\nimport { DEFAULT_BRUSH_CONFIG } from '../../../configs/default-brush-tool.config';\r\nimport { DEFAULT_TEXT_CONFIG } from '../../../configs/default-text-tool.config';\r\nimport { ABSOLUTE_SCALE_MAX, ABSOLUTE_SCALE_MIN } from '../../../constants/engine.constants';\r\nimport { KritzelEngineState } from '../../../interfaces/engine-state.interface';\r\nimport { KritzelWorkspace } from '../../../classes/core/workspace.class';\r\nimport { KritzelKeyboardHelper } from '../../../helpers/keyboard.helper';\r\nimport { KritzelDevicesHelper } from '../../../helpers/devices.helper';\r\nimport { KritzelSyncConfig } from '../../../interfaces/sync-config.interface';\r\nimport { KritzelUndoState } from '../../..';\r\n@Component({\r\n tag: 'kritzel-editor',\r\n styleUrl: 'kritzel-editor.css',\r\n shadow: false,\r\n})\r\nexport class KritzelEditor {\r\n @Element() host!: HTMLElement;\r\n\r\n @Prop() scaleMax: number = ABSOLUTE_SCALE_MAX;\r\n @Prop() scaleMin: number = ABSOLUTE_SCALE_MIN;\r\n @Prop() controls: KritzelToolbarControl[] = [\r\n {\r\n name: 'selection',\r\n type: 'tool',\r\n isDefault: true,\r\n tool: KritzelSelectionTool,\r\n icon: 'cursor',\r\n },\r\n {\r\n name: 'brush',\r\n type: 'tool',\r\n tool: KritzelBrushTool,\r\n icon: 'pen',\r\n config: DEFAULT_BRUSH_CONFIG,\r\n },\r\n {\r\n name: 'eraser',\r\n type: 'tool',\r\n tool: KritzelEraserTool,\r\n icon: 'eraser',\r\n },\r\n {\r\n name: 'text',\r\n type: 'tool',\r\n tool: KritzelTextTool,\r\n icon: 'type',\r\n config: DEFAULT_TEXT_CONFIG,\r\n },\r\n {\r\n name: 'image',\r\n type: 'tool',\r\n tool: KritzelImageTool,\r\n icon: 'image',\r\n },\r\n {\r\n name: 'divider',\r\n type: 'divider',\r\n },\r\n {\r\n name: 'config',\r\n type: 'config',\r\n },\r\n ];\r\n\r\n @Prop() globalContextMenuItems: ContextMenuItem[] = [\r\n {\r\n label: 'Paste',\r\n icon: 'paste',\r\n disabled: async () => (await this.engineRef.getCopiedObjects()).length === 0,\r\n action: menu => this.engineRef.paste(menu.x, menu.y),\r\n },\r\n { label: 'Select All', icon: 'select-all', action: () => this.selectAllObjectsInViewport() },\r\n ];\r\n\r\n @Prop() objectContextMenuItems: ContextMenuItem[] = [\r\n { label: 'Copy', icon: 'copy', action: () => this.engineRef.copy() },\r\n {\r\n label: 'Paste',\r\n icon: 'paste',\r\n disabled: async () => (await this.engineRef.getCopiedObjects()).length === 0,\r\n action: (menu, _) => this.engineRef.paste(menu.x, menu.y),\r\n },\r\n { label: 'Delete', icon: 'delete', action: () => this.engineRef.delete() },\r\n { label: 'Bring to Front', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() },\r\n { label: 'Send to Back', icon: 'send-to-back', action: () => this.engineRef.sendToBack() },\r\n ];\r\n\r\n @Prop() customSvgIcons: Record<string, string> = {};\r\n @Prop() isControlsVisible: boolean = true;\r\n @Prop() isUtilityPanelVisible: boolean = true;\r\n @Prop() syncConfig?: KritzelSyncConfig;\r\n\r\n @Event() isReady: EventEmitter<HTMLElement>;\r\n @Event() objectsChange: EventEmitter<KritzelBaseObject[]>;\r\n @Event() undoStateChange: EventEmitter<KritzelUndoState>;\r\n\r\n @State() isEngineReady: boolean = false;\r\n @State() isControlsReady: boolean = false;\r\n @State() isWorkspaceManagerReady: boolean = false;\r\n @State() workspaces: KritzelWorkspace[] = [];\r\n @State() activeWorkspace: KritzelWorkspace;\r\n @State() isVirtualKeyboardOpen: boolean = false;\r\n @State() undoState: KritzelUndoState = null;\r\n\r\n @Watch('isEngineReady')\r\n onIsEngineReady(newValue: boolean) {\r\n if (newValue && this.isControlsReady) {\r\n this.checkIsReady();\r\n }\r\n }\r\n\r\n @Watch('isControlsReady')\r\n onIsControlsReady(newValue: boolean) {\r\n if (newValue && this.isEngineReady) {\r\n this.checkIsReady();\r\n }\r\n }\r\n\r\n @Watch('workspaces')\r\n onWorkspacesChange(newWorkspaces: KritzelWorkspace[]) {\r\n if (this.activeWorkspace) {\r\n const updatedActiveWorkspace = newWorkspaces.find(ws => ws.id === this.activeWorkspace.id);\r\n if (updatedActiveWorkspace && updatedActiveWorkspace !== this.activeWorkspace) {\r\n this.activeWorkspace = updatedActiveWorkspace;\r\n }\r\n }\r\n }\r\n\r\n @Listen('dblclick', { passive: false })\r\n onTouchStart(event: MouseEvent) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n @Method()\r\n async getObjectById<T extends KritzelBaseObject>(id: string): Promise<T | null> {\r\n return this.engineRef.getObjectById(id);\r\n }\r\n\r\n @Method()\r\n async addObject<T extends KritzelBaseObject>(object: T): Promise<T | null> {\r\n return this.engineRef.addObject(object);\r\n }\r\n\r\n @Method()\r\n async updateObject<T extends KritzelBaseObject>(object: T, updatedProperties: Partial<T>): Promise<T | null> {\r\n return this.engineRef.updateObject(object, updatedProperties);\r\n }\r\n\r\n @Method()\r\n async removeObject<T extends KritzelBaseObject>(object: T): Promise<T | null> {\r\n return this.engineRef.removeObject(object);\r\n }\r\n\r\n @Method()\r\n async getSelectedObjects(): Promise<KritzelBaseObject[]> {\r\n return this.engineRef.getSelectedObjects();\r\n }\r\n\r\n @Method()\r\n async selectObjects(objects: KritzelBaseObject[]) {\r\n return this.engineRef.selectObjects(objects);\r\n }\r\n\r\n @Method()\r\n async selectAllObjectsInViewport() {\r\n return this.engineRef.selectAllObjectsInViewport();\r\n }\r\n\r\n @Method()\r\n async clearSelection() {\r\n this.engineRef.clearSelection();\r\n }\r\n\r\n @Method()\r\n async centerObjectInViewport(object: KritzelBaseObject) {\r\n return this.engineRef.centerObjectInViewport(object);\r\n }\r\n\r\n @Method()\r\n async createWorkspace(name: string, viewport?: { translateX: number; translateY: number; scale: number }): Promise<KritzelWorkspace | null> {\r\n const workspace = new KritzelWorkspace(`workspace-${Date.now()}`, name, viewport);\r\n return this.engineRef.createWorkspace(workspace);\r\n }\r\n\r\n @Method()\r\n async updateWorkspace(workspace: KritzelWorkspace): Promise<void> {\r\n return this.engineRef.updateWorkspace(workspace);\r\n }\r\n\r\n @Method()\r\n async deleteWorkspace(workspace: KritzelWorkspace): Promise<void> {\r\n return this.engineRef.deleteWorkspace(workspace);\r\n }\r\n\r\n @Method()\r\n async getWorkspaces(): Promise<KritzelWorkspace[]> {\r\n return this.engineRef.getWorkspaces();\r\n }\r\n\r\n @Method()\r\n async getActiveWorkspace(): Promise<KritzelWorkspace> {\r\n return this.engineRef.getActiveWorkspace();\r\n }\r\n\r\n engineRef!: HTMLKritzelEngineElement;\r\n controlsRef!: HTMLKritzelControlsElement;\r\n splitButtonRef!: HTMLKritzelSplitButtonElement;\r\n\r\n componentDidLoad() {\r\n this.registerCustomSvgIcons();\r\n this.listenForMobileKeyboard();\r\n this.setOsSpecificCssVariables();\r\n }\r\n\r\n async checkIsReady() {\r\n await customElements.whenDefined('kritzel-editor');\r\n await customElements.whenDefined('kritzel-workspace-manager');\r\n await customElements.whenDefined('kritzel-controls');\r\n await customElements.whenDefined('kritzel-engine');\r\n\r\n if (!this.isEngineReady || !this.isControlsReady || !this.isWorkspaceManagerReady) {\r\n return;\r\n }\r\n\r\n this.isReady.emit(this.host);\r\n }\r\n\r\n onEngineReady(event: CustomEvent<KritzelEngineState>) {\r\n this.isEngineReady = true;\r\n this.activeWorkspace = event.detail.activeWorkspace;\r\n this.workspaces = event.detail.workspaces;\r\n }\r\n\r\n handleWorkspacesChange(event: CustomEvent<KritzelWorkspace[]>) {\r\n this.workspaces = event.detail;\r\n }\r\n\r\n handleObjectsChange(event: CustomEvent<KritzelBaseObject[]>) {\r\n this.objectsChange.emit(event.detail);\r\n }\r\n\r\n handleUndoStateChange(event: CustomEvent<KritzelUndoState>) {\r\n this.undoStateChange.emit(event.detail);\r\n this.undoState = event.detail;\r\n }\r\n\r\n private registerCustomSvgIcons() {\r\n for (const [name, svg] of Object.entries(this.customSvgIcons)) {\r\n KritzelIconRegistry.register(name, svg);\r\n }\r\n }\r\n\r\n private listenForMobileKeyboard() {\r\n KritzelKeyboardHelper.onKeyboardVisibleChanged(isOpen => {\r\n this.isVirtualKeyboardOpen = isOpen;\r\n });\r\n }\r\n\r\n private setOsSpecificCssVariables() {\r\n const os = KritzelDevicesHelper.detectOS();\r\n\r\n switch (os) {\r\n case 'iOS':\r\n // iOS specific adjustments\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-top', '14px');\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-left', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-bottom', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-transition', 'cubic-bezier(0.25, 0.1, 0.25, 1.0)');\r\n this.host.style.setProperty('--kritzel-editor-controls-transform', 'translateY(200%)');\r\n this.host.style.setProperty('--kritzel-editor-controls-transition-duration', '0.25s');\r\n break;\r\n\r\n case 'Android':\r\n // Android specific adjustments\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-top', '14px');\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-left', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-bottom', '24px');\r\n break;\r\n\r\n default:\r\n // Default for Windows/Linux\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-top', '14px');\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-left', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-bottom', '14px');\r\n break;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <kritzel-workspace-manager\r\n workspaces={this.workspaces}\r\n activeWorkspace={this.activeWorkspace}\r\n onWorkspaceChange={event => (this.activeWorkspace = event.detail)}\r\n onIsWorkspaceManagerReady={() => (this.isWorkspaceManagerReady = true)}\r\n ></kritzel-workspace-manager>\r\n\r\n <kritzel-engine\r\n ref={el => (this.engineRef = el)}\r\n workspace={this.activeWorkspace}\r\n syncConfig={this.syncConfig}\r\n scaleMax={this.scaleMax}\r\n scaleMin={this.scaleMin}\r\n globalContextMenuItems={this.globalContextMenuItems}\r\n objectContextMenuItems={this.objectContextMenuItems}\r\n onIsEngineReady={event => this.onEngineReady(event)}\r\n onWorkspacesChange={event => this.handleWorkspacesChange(event)}\r\n onObjectsChange={event => this.handleObjectsChange(event)}\r\n onUndoStateChange={event => this.handleUndoStateChange(event)}\r\n ></kritzel-engine>\r\n\r\n <kritzel-controls\r\n class={{ 'keyboard-open': this.isVirtualKeyboardOpen }}\r\n style={{ display: this.isControlsVisible ? 'flex' : 'none' }}\r\n ref={el => (this.controlsRef = el)}\r\n controls={this.controls}\r\n isUtilityPanelVisible={this.isUtilityPanelVisible}\r\n undoState={this.undoState}\r\n onIsControlsReady={() => (this.isControlsReady = true)}\r\n ></kritzel-controls>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
1
|
+
{"file":"kritzel-editor.js","mappings":"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","names":["KritzelEditor","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/configs/default-brush-tool.config.ts","src/configs/default-text-tool.config.ts","src/configs/default-line-tool.config.ts","src/components/core/kritzel-editor/kritzel-editor.css?tag=kritzel-editor","src/components/core/kritzel-editor/kritzel-editor.tsx"],"sourcesContent":["import { KritzelBrushToolConfig } from '../interfaces/toolbar-control.interface';\r\n\r\nexport const DEFAULT_BRUSH_CONFIG: KritzelBrushToolConfig = {\r\n type: 'pen',\r\n color: '#000000',\r\n size: 16,\r\n palettes: {\r\n pen: [\r\n '#000000',\r\n '#ff5252',\r\n '#ffbc00',\r\n '#00c853',\r\n '#0000FF',\r\n '#d500f9',\r\n '#fafafa',\r\n '#a52714',\r\n '#ee8100',\r\n '#558b2f',\r\n '#01579b',\r\n '#8e24aa',\r\n '#90a4ae',\r\n '#ff4081',\r\n '#ff6e40',\r\n '#aeea00',\r\n '#304ffe',\r\n '#7c4dff',\r\n '#cfd8dc',\r\n '#f8bbd0',\r\n '#ffccbc',\r\n '#f0f4c3',\r\n '#9fa8da',\r\n '#d1c4e9',\r\n ],\r\n highlighter: [\r\n '#0000006e',\r\n '#ff52526e',\r\n '#ffbb006e',\r\n '#00c8536e',\r\n '#0000FF6e',\r\n '#d500f96e',\r\n '#fafafa6e',\r\n '#a527146e',\r\n '#ee81006e',\r\n '#558b2f6e',\r\n '#01579b6e',\r\n '#8e24aa6e',\r\n '#90a4ae6e',\r\n '#ff40816e',\r\n '#ff6e406e',\r\n '#aeea006e',\r\n '#304ffe6e',\r\n '#7c4dff6e',\r\n '#cfd8dc6e',\r\n '#f8bbd06e',\r\n '#ffccbc6e',\r\n '#f0f4c36e',\r\n '#9fa8da6e',\r\n '#d1c4e96e',\r\n ],\r\n },\r\n};\r\n\r\n\r\n","import { KritzelTextToolConfig } from \"../interfaces/toolbar-control.interface\";\r\n\r\nexport const DEFAULT_TEXT_CONFIG: KritzelTextToolConfig = {\r\n color: '#000000',\r\n size: 8,\r\n fontFamily: 'Arial',\r\n palette: [\r\n '#000000',\r\n '#ff5252',\r\n '#ffbc00',\r\n '#00c853',\r\n '#0000FF',\r\n '#d500f9',\r\n '#fafafa',\r\n '#a52714',\r\n '#ee8100',\r\n '#558b2f',\r\n '#01579b',\r\n '#8e24aa',\r\n '#90a4ae',\r\n '#ff4081',\r\n '#ff6e40',\r\n '#aeea00',\r\n '#304ffe',\r\n '#7c4dff',\r\n '#cfd8dc',\r\n '#f8bbd0',\r\n '#ffccbc',\r\n '#f0f4c3',\r\n '#9fa8da',\r\n '#d1c4e9',\r\n ],\r\n};","import { KritzelLineToolConfig } from '../interfaces/toolbar-control.interface';\r\n\r\nexport const DEFAULT_LINE_TOOL_CONFIG: KritzelLineToolConfig = {\r\n color: '#000000',\r\n size: 4,\r\n palette: [\r\n '#000000',\r\n '#ff5252',\r\n '#ffbc00',\r\n '#00c853',\r\n '#0000FF',\r\n '#d500f9',\r\n '#fafafa',\r\n '#a52714',\r\n '#ee8100',\r\n '#558b2f',\r\n '#01579b',\r\n '#8e24aa',\r\n '#90a4ae',\r\n '#ff4081',\r\n '#ff6e40',\r\n '#aeea00',\r\n '#304ffe',\r\n '#7c4dff',\r\n '#cfd8dc',\r\n '#f8bbd0',\r\n '#ffccbc',\r\n '#f0f4c3',\r\n '#b3e5fc',\r\n '#e1bee7',\r\n ],\r\n arrows: {\r\n end: { enabled: true, style: 'triangle' },\r\n },\r\n};\r\n","kritzel-editor{\r\n display: flex;\r\n margin: 0;\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n touch-action: manipulation;\r\n user-select: none;\r\n -webkit-touch-callout: none;\r\n -webkit-user-select: none;\r\n -khtml-user-select: none;\r\n -moz-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none; \r\n}\r\n\r\nkritzel-workspace-manager {\r\n position: absolute;\r\n top: var(--kritzel-editor-workspace-manager-top, 14px);\r\n left: var(--kritzel-editor-workspace-manager-left, 14px);\r\n}\r\n\r\nkritzel-controls {\r\n position: absolute;\r\n bottom: var(--kritzel-editor-controls-bottom, 14px);\r\n transition: transform var(--kritzel-editor-controls-transition-duration, 0.1s) var(--kritzel-editor-controls-transition, ease-in-out);\r\n}\r\n\r\nkritzel-controls.keyboard-open {\r\n transform: var(--kritzel-editor-controls-transform, translateY(300%));\r\n}","import { Component, Host, Listen, Prop, Element, h, Method, Event, State, EventEmitter, Watch } from '@stencil/core';\r\nimport { KritzelIconRegistry } from '../../../classes/registries/icon-registry.class';\r\nimport { KritzelToolbarControl } from '../../../interfaces/toolbar-control.interface';\r\nimport { KritzelBaseObject } from '../../../classes/objects/base-object.class';\r\nimport { KritzelSelectionTool } from '../../../classes/tools/selection-tool.class';\r\nimport { KritzelEraserTool } from '../../../classes/tools/eraser-tool.class';\r\nimport { KritzelImageTool } from '../../../classes/tools/image-tool.class';\r\nimport { KritzelBrushTool } from '../../../classes/tools/brush-tool.class';\r\nimport { KritzelLineTool } from '../../../classes/tools/line-tool.class';\r\nimport { KritzelTextTool } from '../../../classes/tools/text-tool.class';\r\nimport { ContextMenuItem } from '../../../interfaces/context-menu-item.interface';\r\nimport { DEFAULT_BRUSH_CONFIG } from '../../../configs/default-brush-tool.config';\r\nimport { DEFAULT_LINE_TOOL_CONFIG } from '../../../configs/default-line-tool.config';\r\nimport { DEFAULT_TEXT_CONFIG } from '../../../configs/default-text-tool.config';\r\nimport { ABSOLUTE_SCALE_MAX, ABSOLUTE_SCALE_MIN } from '../../../constants/engine.constants';\r\nimport { KritzelEngineState } from '../../../interfaces/engine-state.interface';\r\nimport { KritzelWorkspace } from '../../../classes/core/workspace.class';\r\nimport { KritzelKeyboardHelper } from '../../../helpers/keyboard.helper';\r\nimport { KritzelDevicesHelper } from '../../../helpers/devices.helper';\r\nimport { KritzelSyncConfig } from '../../../interfaces/sync-config.interface';\r\nimport { KritzelUndoState } from '../../..';\r\n@Component({\r\n tag: 'kritzel-editor',\r\n styleUrl: 'kritzel-editor.css',\r\n shadow: false,\r\n})\r\nexport class KritzelEditor {\r\n @Element() host!: HTMLElement;\r\n\r\n @Prop() scaleMax: number = ABSOLUTE_SCALE_MAX;\r\n @Prop() scaleMin: number = ABSOLUTE_SCALE_MIN;\r\n @Prop() controls: KritzelToolbarControl[] = [\r\n {\r\n name: 'selection',\r\n type: 'tool',\r\n isDefault: true,\r\n tool: KritzelSelectionTool,\r\n icon: 'cursor',\r\n },\r\n {\r\n name: 'brush',\r\n type: 'tool',\r\n tool: KritzelBrushTool,\r\n icon: 'pen',\r\n config: DEFAULT_BRUSH_CONFIG,\r\n },\r\n {\r\n name: 'line',\r\n type: 'tool',\r\n tool: KritzelLineTool,\r\n icon: 'arrow',\r\n config: DEFAULT_LINE_TOOL_CONFIG,\r\n },\r\n {\r\n name: 'eraser',\r\n type: 'tool',\r\n tool: KritzelEraserTool,\r\n icon: 'eraser',\r\n },\r\n {\r\n name: 'text',\r\n type: 'tool',\r\n tool: KritzelTextTool,\r\n icon: 'type',\r\n config: DEFAULT_TEXT_CONFIG,\r\n },\r\n {\r\n name: 'image',\r\n type: 'tool',\r\n tool: KritzelImageTool,\r\n icon: 'image',\r\n },\r\n {\r\n name: 'divider',\r\n type: 'divider',\r\n },\r\n {\r\n name: 'config',\r\n type: 'config',\r\n },\r\n ];\r\n\r\n @Prop() globalContextMenuItems: ContextMenuItem[] = [\r\n {\r\n label: 'Paste',\r\n icon: 'paste',\r\n disabled: async () => (await this.engineRef.getCopiedObjects()).length === 0,\r\n action: menu => this.engineRef.paste(menu.x, menu.y),\r\n },\r\n { label: 'Select All', icon: 'select-all', action: () => this.selectAllObjectsInViewport() },\r\n ];\r\n\r\n @Prop() objectContextMenuItems: ContextMenuItem[] = [\r\n { label: 'Copy', icon: 'copy', action: () => this.engineRef.copy() },\r\n {\r\n label: 'Paste',\r\n icon: 'paste',\r\n disabled: async () => (await this.engineRef.getCopiedObjects()).length === 0,\r\n action: (menu, _) => this.engineRef.paste(menu.x, menu.y),\r\n },\r\n { label: 'Delete', icon: 'delete', action: () => this.engineRef.delete() },\r\n { label: 'Bring to Front', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() },\r\n { label: 'Send to Back', icon: 'send-to-back', action: () => this.engineRef.sendToBack() },\r\n ];\r\n\r\n @Prop() customSvgIcons: Record<string, string> = {};\r\n @Prop() isControlsVisible: boolean = true;\r\n @Prop() isUtilityPanelVisible: boolean = true;\r\n @Prop() syncConfig?: KritzelSyncConfig;\r\n\r\n @Event() isReady: EventEmitter<HTMLElement>;\r\n @Event() objectsChange: EventEmitter<KritzelBaseObject[]>;\r\n @Event() undoStateChange: EventEmitter<KritzelUndoState>;\r\n\r\n @State() isEngineReady: boolean = false;\r\n @State() isControlsReady: boolean = false;\r\n @State() isWorkspaceManagerReady: boolean = false;\r\n @State() workspaces: KritzelWorkspace[] = [];\r\n @State() activeWorkspace: KritzelWorkspace;\r\n @State() isVirtualKeyboardOpen: boolean = false;\r\n @State() undoState: KritzelUndoState = null;\r\n\r\n @Watch('isEngineReady')\r\n onIsEngineReady(newValue: boolean) {\r\n if (newValue && this.isControlsReady) {\r\n this.checkIsReady();\r\n }\r\n }\r\n\r\n @Watch('isControlsReady')\r\n onIsControlsReady(newValue: boolean) {\r\n if (newValue && this.isEngineReady) {\r\n this.checkIsReady();\r\n }\r\n }\r\n\r\n @Watch('workspaces')\r\n onWorkspacesChange(newWorkspaces: KritzelWorkspace[]) {\r\n if (this.activeWorkspace) {\r\n const updatedActiveWorkspace = newWorkspaces.find(ws => ws.id === this.activeWorkspace.id);\r\n if (updatedActiveWorkspace && updatedActiveWorkspace !== this.activeWorkspace) {\r\n this.activeWorkspace = updatedActiveWorkspace;\r\n }\r\n }\r\n }\r\n\r\n @Listen('dblclick', { passive: false })\r\n onTouchStart(event: MouseEvent) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n @Method()\r\n async getObjectById<T extends KritzelBaseObject>(id: string): Promise<T | null> {\r\n return this.engineRef.getObjectById(id);\r\n }\r\n\r\n @Method()\r\n async addObject<T extends KritzelBaseObject>(object: T): Promise<T | null> {\r\n return this.engineRef.addObject(object);\r\n }\r\n\r\n @Method()\r\n async updateObject<T extends KritzelBaseObject>(object: T, updatedProperties: Partial<T>): Promise<T | null> {\r\n return this.engineRef.updateObject(object, updatedProperties);\r\n }\r\n\r\n @Method()\r\n async removeObject<T extends KritzelBaseObject>(object: T): Promise<T | null> {\r\n return this.engineRef.removeObject(object);\r\n }\r\n\r\n @Method()\r\n async getSelectedObjects(): Promise<KritzelBaseObject[]> {\r\n return this.engineRef.getSelectedObjects();\r\n }\r\n\r\n @Method()\r\n async selectObjects(objects: KritzelBaseObject[]) {\r\n return this.engineRef.selectObjects(objects);\r\n }\r\n\r\n @Method()\r\n async selectAllObjectsInViewport() {\r\n return this.engineRef.selectAllObjectsInViewport();\r\n }\r\n\r\n @Method()\r\n async clearSelection() {\r\n this.engineRef.clearSelection();\r\n }\r\n\r\n @Method()\r\n async centerObjectInViewport(object: KritzelBaseObject) {\r\n return this.engineRef.centerObjectInViewport(object);\r\n }\r\n\r\n @Method()\r\n async createWorkspace(name: string, viewport?: { translateX: number; translateY: number; scale: number }): Promise<KritzelWorkspace | null> {\r\n const workspace = new KritzelWorkspace(`workspace-${Date.now()}`, name, viewport);\r\n return this.engineRef.createWorkspace(workspace);\r\n }\r\n\r\n @Method()\r\n async updateWorkspace(workspace: KritzelWorkspace): Promise<void> {\r\n return this.engineRef.updateWorkspace(workspace);\r\n }\r\n\r\n @Method()\r\n async deleteWorkspace(workspace: KritzelWorkspace): Promise<void> {\r\n return this.engineRef.deleteWorkspace(workspace);\r\n }\r\n\r\n @Method()\r\n async getWorkspaces(): Promise<KritzelWorkspace[]> {\r\n return this.engineRef.getWorkspaces();\r\n }\r\n\r\n @Method()\r\n async getActiveWorkspace(): Promise<KritzelWorkspace> {\r\n return this.engineRef.getActiveWorkspace();\r\n }\r\n\r\n engineRef!: HTMLKritzelEngineElement;\r\n controlsRef!: HTMLKritzelControlsElement;\r\n splitButtonRef!: HTMLKritzelSplitButtonElement;\r\n\r\n componentDidLoad() {\r\n this.registerCustomSvgIcons();\r\n this.listenForMobileKeyboard();\r\n this.setOsSpecificCssVariables();\r\n }\r\n\r\n async checkIsReady() {\r\n await customElements.whenDefined('kritzel-editor');\r\n await customElements.whenDefined('kritzel-workspace-manager');\r\n await customElements.whenDefined('kritzel-controls');\r\n await customElements.whenDefined('kritzel-engine');\r\n\r\n if (!this.isEngineReady || !this.isControlsReady || !this.isWorkspaceManagerReady) {\r\n return;\r\n }\r\n\r\n this.isReady.emit(this.host);\r\n }\r\n\r\n onEngineReady(event: CustomEvent<KritzelEngineState>) {\r\n this.isEngineReady = true;\r\n this.activeWorkspace = event.detail.activeWorkspace;\r\n this.workspaces = event.detail.workspaces;\r\n }\r\n\r\n handleWorkspacesChange(event: CustomEvent<KritzelWorkspace[]>) {\r\n this.workspaces = event.detail;\r\n }\r\n\r\n handleObjectsChange(event: CustomEvent<KritzelBaseObject[]>) {\r\n this.objectsChange.emit(event.detail);\r\n }\r\n\r\n handleUndoStateChange(event: CustomEvent<KritzelUndoState>) {\r\n this.undoStateChange.emit(event.detail);\r\n this.undoState = event.detail;\r\n }\r\n\r\n private registerCustomSvgIcons() {\r\n for (const [name, svg] of Object.entries(this.customSvgIcons)) {\r\n KritzelIconRegistry.register(name, svg);\r\n }\r\n }\r\n\r\n private listenForMobileKeyboard() {\r\n KritzelKeyboardHelper.onKeyboardVisibleChanged(isOpen => {\r\n this.isVirtualKeyboardOpen = isOpen;\r\n });\r\n }\r\n\r\n private setOsSpecificCssVariables() {\r\n const os = KritzelDevicesHelper.detectOS();\r\n\r\n switch (os) {\r\n case 'iOS':\r\n // iOS specific adjustments\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-top', '14px');\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-left', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-bottom', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-transition', 'cubic-bezier(0.25, 0.1, 0.25, 1.0)');\r\n this.host.style.setProperty('--kritzel-editor-controls-transform', 'translateY(200%)');\r\n this.host.style.setProperty('--kritzel-editor-controls-transition-duration', '0.25s');\r\n break;\r\n\r\n case 'Android':\r\n // Android specific adjustments\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-top', '14px');\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-left', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-bottom', '24px');\r\n break;\r\n\r\n default:\r\n // Default for Windows/Linux\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-top', '14px');\r\n this.host.style.setProperty('--kritzel-editor-workspace-manager-left', '14px');\r\n this.host.style.setProperty('--kritzel-editor-controls-bottom', '14px');\r\n break;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <kritzel-workspace-manager\r\n workspaces={this.workspaces}\r\n activeWorkspace={this.activeWorkspace}\r\n onWorkspaceChange={event => (this.activeWorkspace = event.detail)}\r\n onIsWorkspaceManagerReady={() => (this.isWorkspaceManagerReady = true)}\r\n ></kritzel-workspace-manager>\r\n\r\n <kritzel-engine\r\n ref={el => (this.engineRef = el)}\r\n workspace={this.activeWorkspace}\r\n syncConfig={this.syncConfig}\r\n scaleMax={this.scaleMax}\r\n scaleMin={this.scaleMin}\r\n globalContextMenuItems={this.globalContextMenuItems}\r\n objectContextMenuItems={this.objectContextMenuItems}\r\n onIsEngineReady={event => this.onEngineReady(event)}\r\n onWorkspacesChange={event => this.handleWorkspacesChange(event)}\r\n onObjectsChange={event => this.handleObjectsChange(event)}\r\n onUndoStateChange={event => this.handleUndoStateChange(event)}\r\n ></kritzel-engine>\r\n\r\n <kritzel-controls\r\n class={{ 'keyboard-open': this.isVirtualKeyboardOpen }}\r\n style={{ display: this.isControlsVisible ? 'flex' : 'none' }}\r\n ref={el => (this.controlsRef = el)}\r\n controls={this.controls}\r\n isUtilityPanelVisible={this.isUtilityPanelVisible}\r\n undoState={this.undoState}\r\n onIsControlsReady={() => (this.isControlsReady = true)}\r\n ></kritzel-controls>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelFontFamily$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelFontFamily$1, d as defineCustomElement$1 } from './p-CFH6XRL5.js';
|
|
2
2
|
|
|
3
3
|
const KritzelFontFamily = KritzelFontFamily$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelFontSize$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelFontSize$1, d as defineCustomElement$1 } from './p-B6r22FSC.js';
|
|
2
2
|
|
|
3
3
|
const KritzelFontSize = KritzelFontSize$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as KritzelMenuItem$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { b as KritzelMenuItem$1, d as defineCustomElement$1 } from './p-DZ7kxJUx.js';
|
|
2
2
|
|
|
3
3
|
const KritzelMenuItem = KritzelMenuItem$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelSplitButton$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelSplitButton$1, d as defineCustomElement$1 } from './p-7_lwv0zQ.js';
|
|
2
2
|
|
|
3
3
|
const KritzelSplitButton = KritzelSplitButton$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelStrokeSize$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelStrokeSize$1, d as defineCustomElement$1 } from './p-CRGwaUcp.js';
|
|
2
2
|
|
|
3
3
|
const KritzelStrokeSize = KritzelStrokeSize$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelUtilityPanel$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelUtilityPanel$1, d as defineCustomElement$1 } from './p-CvLFRlQU.js';
|
|
2
2
|
|
|
3
3
|
const KritzelUtilityPanel = KritzelUtilityPanel$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { K as KritzelWorkspaceManager$1, d as defineCustomElement$1 } from './p-
|
|
1
|
+
import { K as KritzelWorkspaceManager$1, d as defineCustomElement$1 } from './p-CkD1PQQX.js';
|
|
2
2
|
|
|
3
3
|
const KritzelWorkspaceManager = KritzelWorkspaceManager$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-CwkUrTy1.js';
|
|
2
2
|
import { K as KritzelDevicesHelper } from './p-l10It7Nm.js';
|
|
3
|
-
import { d as defineCustomElement$4 } from './p-
|
|
4
|
-
import { d as defineCustomElement$2, a as defineCustomElement$3 } from './p-
|
|
5
|
-
import { d as defineCustomElement$1 } from './p-
|
|
3
|
+
import { d as defineCustomElement$4 } from './p-BixlbUD7.js';
|
|
4
|
+
import { d as defineCustomElement$2, a as defineCustomElement$3 } from './p-DZ7kxJUx.js';
|
|
5
|
+
import { d as defineCustomElement$1 } from './p-OFrACpZf.js';
|
|
6
6
|
|
|
7
|
-
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}";
|
|
7
|
+
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}";
|
|
8
8
|
|
|
9
9
|
const KritzelSplitButton = /*@__PURE__*/ proxyCustomElement(class KritzelSplitButton extends H {
|
|
10
10
|
constructor(registerHost) {
|
|
@@ -101,7 +101,7 @@ const KritzelSplitButton = /*@__PURE__*/ proxyCustomElement(class KritzelSplitBu
|
|
|
101
101
|
this.menuScrollTop = event.target.scrollTop;
|
|
102
102
|
};
|
|
103
103
|
render() {
|
|
104
|
-
return (h(Host, { key: '
|
|
104
|
+
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 }))));
|
|
105
105
|
}
|
|
106
106
|
static get style() { return kritzelSplitButtonCss; }
|
|
107
107
|
}, [769, "kritzel-split-button", {
|
|
@@ -152,6 +152,6 @@ function defineCustomElement() {
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
export { KritzelSplitButton as K, defineCustomElement as d };
|
|
155
|
-
//# sourceMappingURL=p-
|
|
155
|
+
//# sourceMappingURL=p-7_lwv0zQ.js.map
|
|
156
156
|
|
|
157
|
-
//# sourceMappingURL=p-
|
|
157
|
+
//# sourceMappingURL=p-7_lwv0zQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-7_lwv0zQ.js","mappings":";;;;;;AAAA,MAAM,qBAAqB,GAAG,wxDAAwxD;;MCSzyD,kBAAkB,iBAAAA,kBAAA,CAAA,MAAA,kBAAA,SAAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;IAGrB,UAAU,GAAW,MAAM;IAC3B,YAAY,GAAW,cAAc;IACrC,KAAK,GAAuB,EAAE;IAC9B,kBAAkB,GAAG,KAAK;IAC1B,kBAAkB,GAAG,KAAK;AAEzB,IAAA,eAAe;AACf,IAAA,UAAU;AACV,IAAA,QAAQ;AACR,IAAA,UAAU;AACV,IAAA,mBAAmB;AACnB,IAAA,kBAAkB;AAClB,IAAA,QAAQ;AACR,IAAA,SAAS;IAET,UAAU,GAAG,KAAK;AAClB,IAAA,aAAa,GAAY,oBAAoB,CAAC,aAAa,EAAE;AAC7D,IAAA,aAAa;IACb,aAAa,GAAW,CAAC;AAElC,IAAA,kBAAkB;AAClB,IAAA,OAAO;AAGP,IAAA,MAAM,IAAI,GAAA;QACR,IAAI,IAAI,CAAC,UAAU;YAAE;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;AAItB,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;;;AAIzB,IAAA,iBAAiB,GAAG,CAAC,KAAiB,KAAI;QAChD,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC7B,KAAC;AAEO,IAAA,UAAU,GAAG,CAAC,KAAiB,KAAI;QACzC,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,SAAS,EAAE;;aACX;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAExB,KAAC;AAEO,IAAA,QAAQ,GAAG,CAAC,KAAiB,KAAI;QACvC,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAEpB,qBAAqB,CAAC,MAAK;YACzB,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;AAChD,SAAC,CAAC;AACJ,KAAC;IAEO,SAAS,GAAG,MAAK;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,QAAA,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACvB,KAAC;IAEO,gBAAgB,GAAG,KAAK,IAAG;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AACpC,KAAC;IAEO,cAAc,GAAG,KAAK,IAAG;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAClC,KAAC;IAEO,gBAAgB,GAAG,KAAK,IAAG;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AACpC,KAAC;IAEO,yBAAyB,GAAG,KAAK,IAAG;QAC1C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC7C,KAAC;IAEO,wBAAwB,GAAG,KAAK,IAAG;QACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC5C,KAAC;IAEO,YAAY,GAAG,KAAK,IAAG;QAC7B,IAAI,CAAC,aAAa,GAAI,KAAK,CAAC,MAAsB,CAAC,SAAS;AAC9D,KAAC;IAED,MAAM,GAAA;QACJ,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,EAAA,EACzC,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,KAAK,EAAC,mBAAmB,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAC9G,EAAA,IAAI,CAAC,UAAU,IAAI,CAAc,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,UAAU,GAAiB,CACjE,EAET,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAO,CAAA,EAEjC,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,EAAE,KAAK,EAAC,mBAAmB,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAA,EACnJ,CAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAc,IAAI,EAAE,IAAI,CAAC,YAAY,GAAiB,CAC/C,EAET,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAgB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAA,EAC7E,CAAA,CAAA,cAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,EAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,qBAAqB,EAAE,IAAI,CAAC,yBAAyB,EACrD,oBAAoB,EAAE,IAAI,CAAC,wBAAwB,EACnD,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAA,CACb,CACD,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/kritzel-split-button/kritzel-split-button.css?tag=kritzel-split-button&encapsulation=shadow","src/components/shared/kritzel-split-button/kritzel-split-button.tsx"],"sourcesContent":[":host {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n font-family: sans-serif;\r\n z-index: 1;\r\n padding: var(--kritzel-split-button-padding, 4px);\r\n background-color: var(--kritzel-split-button-background-color, #ffffff);\r\n border-radius: var(--kritzel-split-button-border-radius, 12px);\r\n box-shadow: var(--kritzel-split-button-box-shadow, 0 0 3px rgba(0, 0, 0, 0.08));\r\n border: var(--kritzel-split-button-border, 1px solid #ebebeb);\r\n gap: var(--kritzel-split-button-gap, 4px);\r\n}\r\n\r\n:host(.mobile){\r\n --kritzel-split-button-hover-background-color: transparent;\r\n}\r\n\r\nbutton {\r\n border: none;\r\n background-color: transparent;\r\n padding: 0;\r\n margin: 0;\r\n font-family: inherit;\r\n font-size: inherit;\r\n color: inherit;\r\n -webkit-appearance: none;\r\n -moz-appearance: none;\r\n appearance: none;\r\n cursor: var(--kritzel-pointer-cursor, pointer);\r\n text-align: center;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n pointer-events: all;\r\n -webkit-tap-highlight-color: transparent;\r\n}\r\n\r\n.split-main-button,\r\n.split-menu-button {\r\n height: auto;\r\n display: flex;\r\n align-items: center;\r\n padding: var(--kritzel-split-button-padding, 8px);\r\n background-color: var(--kritzel-split-button-background-color, #ffffff);\r\n border-radius: var(--kritzel-split-button-border-radius, 12px);\r\n font-size: var(--kritzel-split-button-font-size, 14px);\r\n}\r\n\r\n.split-main-button:hover,\r\n.split-menu-button:hover {\r\n background-color: var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%));\r\n}\r\n\r\n.split-main-button:focus,\r\n.split-menu-button:focus {\r\n background-color: var(--kritzel-split-button-hover-background-color, hsl(0, 0%, 0%, 4.3%));\r\n}\r\n\r\n.split-main-button {\r\n gap: var(--kritzel-split-button-gap, 4px);\r\n}\r\n\r\n.split-menu-button {\r\n border-left: none;\r\n justify-content: center;\r\n}\r\n\r\n.split-divider {\r\n width: var(--kritzel-split-button-divider-width, 1px);\r\n height: 24px;\r\n background-color: var(--kritzel-split-button-divider-background-color, hsl(0, 0%, 0%, 4.3%));\r\n}\r\n\r\n:disabled {\r\n pointer-events: none;\r\n opacity: 0.5;\r\n}\r\n","import { Component, h, Prop, State, Event, EventEmitter, Host, Element, Method } from '@stencil/core';\r\nimport { KritzelDevicesHelper } from '../../../helpers/devices.helper';\r\nimport { IKritzelMenuItem, IKritzelMenuItemSelectEvent, IKritzelMenuItemToggleChildMenuEvent } from '../../../interfaces/menu-item.interface';\r\n\r\n@Component({\r\n tag: 'kritzel-split-button',\r\n styleUrl: 'kritzel-split-button.css',\r\n shadow: true,\r\n})\r\nexport class KritzelSplitButton {\r\n @Element() host!: HTMLElement;\r\n\r\n @Prop() buttonIcon: string = 'plus';\r\n @Prop() dropdownIcon: string = 'chevron-down';\r\n @Prop() items: IKritzelMenuItem[] = [];\r\n @Prop() mainButtonDisabled = false;\r\n @Prop() menuButtonDisabled = false;\r\n\r\n @Event() mainButtonClick: EventEmitter<void>;\r\n @Event() itemSelect: EventEmitter<IKritzelMenuItemSelectEvent>;\r\n @Event() itemSave: EventEmitter<IKritzelMenuItem>;\r\n @Event() itemCancel: EventEmitter<IKritzelMenuItem>;\r\n @Event() itemToggleChildMenu: EventEmitter<IKritzelMenuItemToggleChildMenuEvent>;\r\n @Event() itemCloseChildMenu: EventEmitter<IKritzelMenuItem>;\r\n @Event() menuOpen: EventEmitter<void>;\r\n @Event() menuClose: EventEmitter<void>;\r\n\r\n @State() isMenuOpen = false;\r\n @State() isTouchDevice: boolean = KritzelDevicesHelper.isTouchDevice();\r\n @State() anchorElement: HTMLElement;\r\n @State() menuScrollTop: number = 0;\r\n\r\n splitMenuButtonRef: HTMLButtonElement;\r\n menuRef: HTMLKritzelMenuElement;\r\n\r\n @Method()\r\n async open() {\r\n if (this.isMenuOpen) return;\r\n this.isMenuOpen = true;\r\n this.anchorElement = this.host;\r\n this.menuOpen.emit();\r\n }\r\n\r\n @Method()\r\n async focusMenu() {\r\n if (this.menuRef) {\r\n await this.menuRef.setFocus();\r\n }\r\n }\r\n\r\n private handleButtonClick = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n this.mainButtonClick.emit();\r\n };\r\n\r\n private toggleMenu = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n if (this.isMenuOpen) {\r\n this.closeMenu();\r\n } else {\r\n this.openMenu(event);\r\n }\r\n };\r\n\r\n private openMenu = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n this.isMenuOpen = true;\r\n this.anchorElement = this.host;\r\n this.menuOpen.emit();\r\n\r\n requestAnimationFrame(() => {\r\n this.menuRef?.setScrollTop(this.menuScrollTop);\r\n });\r\n };\r\n\r\n private closeMenu = () => {\r\n this.isMenuOpen = false;\r\n this.anchorElement = null;\r\n this.splitMenuButtonRef?.blur();\r\n this.menuClose.emit();\r\n };\r\n\r\n private handleItemSelect = event => {\r\n this.itemSelect.emit(event.detail);\r\n };\r\n\r\n private handleItemSave = event => {\r\n this.itemSave.emit(event.detail);\r\n };\r\n\r\n private handleItemCancel = event => {\r\n this.itemCancel.emit(event.detail);\r\n };\r\n\r\n private handleItemToggleChildMenu = event => {\r\n this.itemToggleChildMenu.emit(event.detail);\r\n };\r\n\r\n private handleItemCloseChildMenu = event => {\r\n this.itemCloseChildMenu.emit(event.detail);\r\n };\r\n\r\n private handleScroll = event => {\r\n this.menuScrollTop = (event.target as HTMLElement).scrollTop;\r\n }\r\n\r\n render() {\r\n return (\r\n <Host class={{ mobile: this.isTouchDevice }}>\r\n <button class=\"split-main-button\" tabIndex={0} onClick={this.handleButtonClick} disabled={this.mainButtonDisabled}>\r\n {this.buttonIcon && <kritzel-icon name={this.buttonIcon}></kritzel-icon>}\r\n </button>\r\n\r\n <div class=\"split-divider\"></div>\r\n\r\n <button ref={el => (this.splitMenuButtonRef = el)} class=\"split-menu-button\" tabIndex={0} onClick={this.toggleMenu} disabled={this.menuButtonDisabled}>\r\n <kritzel-icon name={this.dropdownIcon}></kritzel-icon>\r\n </button>\r\n\r\n <kritzel-portal anchor={this.anchorElement} offsetY={4} onClose={this.closeMenu}>\r\n <kritzel-menu\r\n ref={el => (this.menuRef = el)}\r\n items={this.items}\r\n onItemSelect={this.handleItemSelect}\r\n onItemSave={this.handleItemSave}\r\n onItemCancel={this.handleItemCancel}\r\n onItemToggleChildMenu={this.handleItemToggleChildMenu}\r\n onItemCloseChildMenu={this.handleItemCloseChildMenu}\r\n onClose={this.closeMenu}\r\n onScroll={this.handleScroll}\r\n ></kritzel-menu>\r\n </kritzel-portal>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -74,23 +74,23 @@ const KritzelTooltip = /*@__PURE__*/ proxyCustomElement(class KritzelTooltip ext
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
render() {
|
|
77
|
-
return (h(Host, { key: '
|
|
77
|
+
return (h(Host, { key: '8f78668b3d266d7a0eb140d01626998534acc252', style: {
|
|
78
78
|
position: 'fixed',
|
|
79
79
|
zIndex: '9999',
|
|
80
80
|
transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
|
|
81
81
|
visibility: this.isVisible ? 'visible' : 'hidden',
|
|
82
82
|
left: !this.isMobileView ? `${this.positionX}px` : '50%',
|
|
83
83
|
marginBottom: `${this.offsetY + this.arrowSize}px`,
|
|
84
|
-
} }, h("div", { key: '
|
|
84
|
+
} }, h("div", { key: '77b526b1687d41654b32b6f14d3e0400908b0a79', class: "tooltip-content", onClick: event => event.stopPropagation() }, h("slot", { key: 'fcd088608c091ff877b1e58425a0905c84c9999a' }), h("div", { key: '002913b582b5c034e7af722c433fbe79d0c32150', class: "tooltip-arrow-wrapper", style: {
|
|
85
85
|
position: 'fixed',
|
|
86
86
|
left: this.arrowOffset,
|
|
87
87
|
bottom: `-${this.arrowSize * 2}px`,
|
|
88
|
-
} }, h("div", { key: '
|
|
88
|
+
} }, h("div", { key: 'fc834bf34b464ac039ffb58e47485b76f8ced03e', class: "tooltip-arrow", style: {
|
|
89
89
|
borderLeft: `${this.arrowSize}px solid transparent`,
|
|
90
90
|
borderRight: `${this.arrowSize}px solid transparent`,
|
|
91
91
|
borderTop: `${this.arrowSize}px solid var(--kritzel-controls-tooltip-background-color, #ffffff)`,
|
|
92
92
|
filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))',
|
|
93
|
-
} }), h("div", { key: '
|
|
93
|
+
} }), h("div", { key: '65939011ae607a144f8217cf3aa5bdd2ff0f88fc', class: "tooltip-arrow-rect", style: {
|
|
94
94
|
position: 'relative',
|
|
95
95
|
width: `${this.arrowSize * 2}px`,
|
|
96
96
|
height: `${this.arrowSize}px`,
|
|
@@ -124,6 +124,6 @@ function defineCustomElement() {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
export { KritzelTooltip as K, defineCustomElement as d };
|
|
127
|
-
//# sourceMappingURL=p-
|
|
127
|
+
//# sourceMappingURL=p-9Fzdviju.js.map
|
|
128
128
|
|
|
129
|
-
//# sourceMappingURL=p-
|
|
129
|
+
//# sourceMappingURL=p-9Fzdviju.js.map
|