kritzel-stencil 0.0.76 → 0.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index-BUKRdCPx.js +2 -6
- package/dist/cjs/{kritzel-brush-style_18.cjs.entry.js → kritzel-brush-style_19.cjs.entry.js} +76 -60
- package/dist/cjs/kritzel-brush-style_19.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.css +18 -2
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +4 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +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-control-brush-config/kritzel-control-brush-config.js +2 -2
- 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.js +42 -41
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -1
- package/dist/collection/components/ui/kritzel-dummy/kritzel-dummy.js +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.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-dummy.js +1 -28
- package/dist/components/kritzel-dummy.js.map +1 -1
- package/dist/components/kritzel-editor.js +35 -26
- package/dist/components/kritzel-editor.js.map +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.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/p-9_JiL_wH.js +33 -0
- package/dist/components/p-9_JiL_wH.js.map +1 -0
- package/dist/components/{p-Dd-jVt1z.js → p-B17z0dHf.js} +4 -4
- package/dist/components/{p-Dd-jVt1z.js.map → p-B17z0dHf.js.map} +1 -1
- package/dist/components/{p-CtzUAFH7.js → p-BfOHORuS.js} +8 -8
- package/dist/components/{p-CtzUAFH7.js.map → p-BfOHORuS.js.map} +1 -1
- package/dist/components/{p-CW800wxH.js → p-BzT7WSFX.js} +7 -7
- package/dist/components/{p-CW800wxH.js.map → p-BzT7WSFX.js.map} +1 -1
- package/dist/components/{p-RyhiTey9.js → p-C25_uk1W.js} +4 -4
- package/dist/components/{p-RyhiTey9.js.map → p-C25_uk1W.js.map} +1 -1
- package/dist/components/{p-ub68lkC1.js → p-CCcFfkWG.js} +3 -3
- package/dist/components/{p-ub68lkC1.js.map → p-CCcFfkWG.js.map} +1 -1
- package/dist/components/{p-D4WPb8MT.js → p-Clp62syd.js} +4 -4
- package/dist/components/{p-D4WPb8MT.js.map → p-Clp62syd.js.map} +1 -1
- package/dist/components/{p-DzVQltWB.js → p-CmwVLwvI.js} +53 -52
- package/dist/components/p-CmwVLwvI.js.map +1 -0
- package/dist/components/{p-DkKI-ulw.js → p-DBL15JoO.js} +3 -3
- package/dist/components/{p-DkKI-ulw.js.map → p-DBL15JoO.js.map} +1 -1
- package/dist/components/{p-CwiXaI-9.js → p-DqnnZDDT.js} +4 -4
- package/dist/components/{p-CwiXaI-9.js.map → p-DqnnZDDT.js.map} +1 -1
- package/dist/components/{p-Vgp7wvdA.js → p-rxaqUiJC.js} +6 -6
- package/dist/components/{p-Vgp7wvdA.js.map → p-rxaqUiJC.js.map} +1 -1
- package/dist/esm/index-CvjcGi0O.js +2 -6
- package/dist/esm/{kritzel-brush-style_18.entry.js → kritzel-brush-style_19.entry.js} +76 -61
- package/dist/esm/kritzel-brush-style_19.entry.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/p-400de083.entry.js +2 -0
- package/dist/stencil/p-400de083.entry.js.map +1 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +3 -0
- package/package.json +1 -1
- package/dist/cjs/kritzel-brush-style_18.cjs.entry.js.map +0 -1
- package/dist/cjs/kritzel-dummy.cjs.entry.js +0 -20
- package/dist/cjs/kritzel-dummy.cjs.entry.js.map +0 -1
- package/dist/cjs/kritzel-dummy.entry.cjs.js.map +0 -1
- package/dist/components/p-DzVQltWB.js.map +0 -1
- package/dist/esm/kritzel-brush-style_18.entry.js.map +0 -1
- package/dist/esm/kritzel-dummy.entry.js +0 -18
- package/dist/esm/kritzel-dummy.entry.js.map +0 -1
- package/dist/stencil/kritzel-dummy.entry.esm.js.map +0 -1
- package/dist/stencil/p-1f3fc9e2.entry.js +0 -2
- package/dist/stencil/p-1f3fc9e2.entry.js.map +0 -1
- package/dist/stencil/p-37925d25.entry.js +0 -2
- package/dist/stencil/p-37925d25.entry.js.map +0 -1
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -5,7 +5,7 @@ var index = require('./index-BUKRdCPx.js');
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await index.globalScripts();
|
|
8
|
-
return index.bootstrapLazy([["kritzel-
|
|
8
|
+
return index.bootstrapLazy([["kritzel-brush-style_19.cjs",[[1,"kritzel-editor",{"controls":[16],"customSvgIcons":[16,"custom-svg-icons"],"hideControls":[4,"hide-controls"],"forceUpdate":[32]},[[0,"dblclick","handleTouchStart"]]],[1,"kritzel-controls",{"controls":[16],"activeControl":[1040,"active-control"],"firstConfig":[32],"tooltipVisible":[32],"forceUpdate":[32]},[[4,"activeToolChange","handleActiveToolChange"],[4,"click","handleClick"]]],[1,"kritzel-engine",{"activeTool":[16,"active-tool"],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"forceUpdate":[32],"registerTool":[64],"changeActiveTool":[64],"setFocus":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"moveToTop":[64],"moveToBottom":[64],"selectAllInViewport":[64],"undo":[64],"redo":[64],"hideContextMenu":[64]},[[0,"contextmenu","handleContextMenu"],[1,"mousedown","handleMouseDown"],[1,"mousemove","handleMouseMove"],[1,"mouseup","handleMouseUp"],[0,"dblclick","handleDoubleClick"],[0,"doubletap","handleDoubleTap"],[0,"touchstart","handleTouchStart"],[0,"touchmove","handleTouchMove"],[0,"touchend","handleTouchEnd"],[0,"touchcancel","handleTouchCancel"],[0,"wheel","handleWheel"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[9,"mousedown","updateFocus"]]],[1,"kritzel-dummy"],[1,"kritzel-control-text-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"]}],[1,"kritzel-control-brush-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"palette":[32]},null,{"tool":["handleToolChange"]}],[1,"kritzel-context-menu",{"items":[16]}],[1,"kritzel-utility-panel"],[1,"kritzel-cursor-trail",{"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"mousedown","handleMouseDown"],[9,"mousemove","handleMouseMove"],[9,"mouseup","handleMouseUp"],[9,"touchstart","handleTouchStart"],[9,"touchmove","handleTouchMove"],[9,"touchend","handleTouchEnd"]]],[1,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16,"anchor-element"],"arrowSize":[2,"arrow-size"],"offsetY":[2,"offset-y"],"positionX":[32],"arrowOffset":[32],"isMobileView":[32]},[[9,"resize","handleWindowResize"]]],[1,"kritzel-brush-style",{"type":[1],"brushOptions":[16,"brush-options"]}],[1,"kritzel-font-family",{"fontOptions":[16,"font-options"],"selectedFontFamily":[1025,"selected-font-family"]}],[1,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[1,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[1,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"]}],[1,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[1,"kritzel-color",{"value":[1],"size":[2]}],[1,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[8,"select-styles"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32]},null,{"value":["externalValueChanged"],"options":["optionsChanged"]}],[1,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
exports.setNonce = index.setNonce;
|
package/dist/cjs/stencil.cjs.js
CHANGED
|
@@ -18,7 +18,7 @@ var patchBrowser = () => {
|
|
|
18
18
|
|
|
19
19
|
patchBrowser().then(async (options) => {
|
|
20
20
|
await index.globalScripts();
|
|
21
|
-
return index.bootstrapLazy([["kritzel-
|
|
21
|
+
return index.bootstrapLazy([["kritzel-brush-style_19.cjs",[[1,"kritzel-editor",{"controls":[16],"customSvgIcons":[16,"custom-svg-icons"],"hideControls":[4,"hide-controls"],"forceUpdate":[32]},[[0,"dblclick","handleTouchStart"]]],[1,"kritzel-controls",{"controls":[16],"activeControl":[1040,"active-control"],"firstConfig":[32],"tooltipVisible":[32],"forceUpdate":[32]},[[4,"activeToolChange","handleActiveToolChange"],[4,"click","handleClick"]]],[1,"kritzel-engine",{"activeTool":[16,"active-tool"],"globalContextMenuItems":[16,"global-context-menu-items"],"objectContextMenuItems":[16,"object-context-menu-items"],"forceUpdate":[32],"registerTool":[64],"changeActiveTool":[64],"setFocus":[64],"disable":[64],"enable":[64],"delete":[64],"copy":[64],"paste":[64],"moveToTop":[64],"moveToBottom":[64],"selectAllInViewport":[64],"undo":[64],"redo":[64],"hideContextMenu":[64]},[[0,"contextmenu","handleContextMenu"],[1,"mousedown","handleMouseDown"],[1,"mousemove","handleMouseMove"],[1,"mouseup","handleMouseUp"],[0,"dblclick","handleDoubleClick"],[0,"doubletap","handleDoubleTap"],[0,"touchstart","handleTouchStart"],[0,"touchmove","handleTouchMove"],[0,"touchend","handleTouchEnd"],[0,"touchcancel","handleTouchCancel"],[0,"wheel","handleWheel"],[9,"resize","handleResize"],[8,"keydown","handleKeyDown"],[8,"keyup","handleKeyUp"],[9,"mousedown","updateFocus"]]],[1,"kritzel-dummy"],[1,"kritzel-control-text-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"]}],[1,"kritzel-control-brush-config",{"tool":[1040],"isExpanded":[1028,"is-expanded"],"palette":[32]},null,{"tool":["handleToolChange"]}],[1,"kritzel-context-menu",{"items":[16]}],[1,"kritzel-utility-panel"],[1,"kritzel-cursor-trail",{"cursorTrailPoints":[32],"isLeftButtonDown":[32]},[[9,"mousedown","handleMouseDown"],[9,"mousemove","handleMouseMove"],[9,"mouseup","handleMouseUp"],[9,"touchstart","handleTouchStart"],[9,"touchmove","handleTouchMove"],[9,"touchend","handleTouchEnd"]]],[1,"kritzel-tooltip",{"isVisible":[4,"is-visible"],"anchorElement":[16,"anchor-element"],"arrowSize":[2,"arrow-size"],"offsetY":[2,"offset-y"],"positionX":[32],"arrowOffset":[32],"isMobileView":[32]},[[9,"resize","handleWindowResize"]]],[1,"kritzel-brush-style",{"type":[1],"brushOptions":[16,"brush-options"]}],[1,"kritzel-font-family",{"fontOptions":[16,"font-options"],"selectedFontFamily":[1025,"selected-font-family"]}],[1,"kritzel-font-size",{"sizes":[16],"selectedSize":[1026,"selected-size"],"fontFamily":[1,"font-family"]}],[1,"kritzel-stroke-size",{"sizes":[16],"selectedSize":[1026,"selected-size"]}],[1,"kritzel-color-palette",{"colors":[16],"selectedColor":[1025,"selected-color"],"isExpanded":[4,"is-expanded"],"isOpaque":[4,"is-opaque"]}],[1,"kritzel-font",{"fontFamily":[1,"font-family"],"size":[2],"color":[1]}],[1,"kritzel-color",{"value":[1],"size":[2]}],[1,"kritzel-dropdown",{"options":[16],"value":[1],"width":[1],"selectStyles":[8,"select-styles"],"internalValue":[32],"hasSuffixContent":[32],"hasPrefixContent":[32]},null,{"value":["externalValueChanged"],"options":["optionsChanged"]}],[1,"kritzel-icon",{"name":[1],"label":[1],"size":[2]}]]]], options);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
exports.setNonce = index.setNonce;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
:host {
|
|
2
2
|
display: flex;
|
|
3
3
|
margin: 0;
|
|
4
4
|
position: relative;
|
|
@@ -75,7 +75,23 @@ kritzel-editor {
|
|
|
75
75
|
--kritzel-engine-background-color: #ffffff;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
.dummy-top {
|
|
79
|
+
position: absolute;
|
|
80
|
+
left: 50%;
|
|
81
|
+
transform: translateX(-50%);
|
|
82
|
+
top: 16px;
|
|
83
|
+
z-index: 1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.dummy-bottom {
|
|
87
|
+
position: absolute;
|
|
88
|
+
left: 50%;
|
|
89
|
+
transform: translateX(-50%);
|
|
90
|
+
bottom: 16px;
|
|
91
|
+
z-index: 1;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
kritzel-controls{
|
|
79
95
|
position: absolute;
|
|
80
96
|
left: 50%;
|
|
81
97
|
transform: translateX(-50%);
|
|
@@ -35,9 +35,12 @@ export class KritzelEditor {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: '37e291c25a636b65cc751799cfe57de216a14990' }, h("kritzel-dummy", { key: '5b3b3e9c6baf1885a85f749f674ca257fa9f109e', class: "dummy-top" }), h("kritzel-engine", { key: '11ec65ad0858d842c472b829667c1be7086d92b1', onEngineReady: () => this.handleEngineReady() }), h("kritzel-dummy", { key: 'c3e3586692f5f8340aa34cd8b04e7ac1fbd7401b', class: "dummy-bottom" }), h("kritzel-controls", { key: '3f999492eeabe6e3179027753138099d387aa541', controls: this.controls, onControlsReady: () => this.handleControlsReady(), style: {
|
|
39
|
+
visibility: 'hidden'
|
|
40
|
+
} })));
|
|
39
41
|
}
|
|
40
42
|
static get is() { return "kritzel-editor"; }
|
|
43
|
+
static get encapsulation() { return "shadow"; }
|
|
41
44
|
static get originalStyleUrls() {
|
|
42
45
|
return {
|
|
43
46
|
"$": ["kritzel-editor.css"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kritzel-editor.js","sourceRoot":"","sources":["../../../../src/components/core/kritzel-editor/kritzel-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAOrF,MAAM,OAAO,aAAa;IAL1B;QAOE,aAAQ,GAA4B,wBAAwB,CAAC;QAG7D,mBAAc,GAA2B,EAAE,CAAC;QAG5C,iBAAY,GAAY,KAAK,CAAC;QAG9B,gBAAW,GAAW,CAAC,CAAC;QAEhB,gBAAW,GAAY,KAAK,CAAC;QAE7B,kBAAa,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"kritzel-editor.js","sourceRoot":"","sources":["../../../../src/components/core/kritzel-editor/kritzel-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAOrF,MAAM,OAAO,aAAa;IAL1B;QAOE,aAAQ,GAA4B,wBAAwB,CAAC;QAG7D,mBAAc,GAA2B,EAAE,CAAC;QAG5C,iBAAY,GAAY,KAAK,CAAC;QAG9B,gBAAW,GAAW,CAAC,CAAC;QAEhB,gBAAW,GAAY,KAAK,CAAC;QAE7B,kBAAa,GAAY,KAAK,CAAC;KAoDxC;IAjDC,gBAAgB,CAAC,KAAiB;QAChC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YAEH,sEAAe,KAAK,EAAC,WAAW,GAAiB;YAEjD,uEAAgB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAmB;YAEhF,sEAAe,KAAK,EAAC,cAAc,GAAiB;YAEpD,yEACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EACjD,KAAK,EAAE;oBACL,UAAU,EAAE,QAAQ;iBACrB,GACiB,CACf,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Listen, Prop, State, h } from '@stencil/core';\r\nimport { KritzelIconRegistry } from '../../../classes/icon-registry.class';\r\nimport { KritzelToolbarControl } from '../../../interfaces/toolbar-control.interface';\r\nimport { DEFAULT_KRITZEL_CONTROLS } from '../../../configs/default-toolbar-controls';\r\n\r\n@Component({\r\n tag: 'kritzel-editor',\r\n styleUrl: 'kritzel-editor.css',\r\n shadow: true,\r\n})\r\nexport class KritzelEditor {\r\n @Prop()\r\n controls: KritzelToolbarControl[] = DEFAULT_KRITZEL_CONTROLS;\r\n\r\n @Prop()\r\n customSvgIcons: Record<string, string> = {};\r\n\r\n @Prop()\r\n hideControls: boolean = false;\r\n\r\n @State()\r\n forceUpdate: number = 0;\r\n\r\n private engineReady: boolean = false;\r\n\r\n private controlsReady: boolean = false;\r\n\r\n @Listen('dblclick', { passive: false })\r\n handleTouchStart(event: TouchEvent) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n componentWillLoad() {\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 handleEngineReady() {\r\n this.engineReady = true;\r\n this.checkReadiness();\r\n }\r\n\r\n handleControlsReady() {\r\n this.controlsReady = true;\r\n this.checkReadiness();\r\n }\r\n\r\n checkReadiness() {\r\n if (this.engineReady && this.controlsReady) {\r\n console.info('KritzelEditor is ready');\r\n this.forceUpdate++;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n\r\n <kritzel-dummy class=\"dummy-top\"></kritzel-dummy>\r\n\r\n <kritzel-engine onEngineReady={() => this.handleEngineReady()}></kritzel-engine>\r\n\r\n <kritzel-dummy class=\"dummy-bottom\"></kritzel-dummy>\r\n\r\n <kritzel-controls\r\n controls={this.controls}\r\n onControlsReady={() => this.handleControlsReady()}\r\n style={{\r\n visibility: 'hidden'\r\n }}\r\n ></kritzel-controls>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -29,13 +29,13 @@ export class KritzelColor {
|
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
31
|
const isColorVeryLight = this.isLightColor(this.value);
|
|
32
|
-
return (h(Host, { key: '
|
|
32
|
+
return (h(Host, { key: '6771c3aac90292a82070af08b995fdf297061bc1' }, h("div", { key: '4bb3e10fee1566db56f8a727dc858351e8a4184f', class: "checkerboard-bg", style: {
|
|
33
33
|
width: `${this.size}px`,
|
|
34
34
|
height: `${this.size}px`,
|
|
35
35
|
borderRadius: '50%',
|
|
36
36
|
display: 'inline-block',
|
|
37
37
|
position: 'relative',
|
|
38
|
-
} }, h("div", { key: '
|
|
38
|
+
} }, h("div", { key: '290f49b17b686482057d3492752217e35af85d81', class: {
|
|
39
39
|
'color-circle': true,
|
|
40
40
|
'white': isColorVeryLight,
|
|
41
41
|
}, style: {
|
|
@@ -20,7 +20,7 @@ export class KritzelColorPalette {
|
|
|
20
20
|
render() {
|
|
21
21
|
const displayedColors = this.isExpanded ? this.colors : this.colors.slice(0, 6);
|
|
22
22
|
const expandedHeight = this.isExpanded ? this.calculateHeight() : '32px';
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: 'e3e89140f833e336a3e0c299c1e9c9d4cad21fdb' }, h("div", { key: '019b62ab59cf468fc497ba0f6b429b844bcc4584', class: {
|
|
24
24
|
'color-grid': true,
|
|
25
25
|
'expanded': this.isExpanded,
|
|
26
26
|
}, style: {
|
|
@@ -6,7 +6,7 @@ export class KritzelFont {
|
|
|
6
6
|
this.color = '#000000';
|
|
7
7
|
}
|
|
8
8
|
render() {
|
|
9
|
-
return (h(Host, { key: '
|
|
9
|
+
return (h(Host, { key: '4e952fbcaea52c332a72cda1ba6fc060696aa107' }, h("div", { key: 'db371b9552eceb53470b2bbd964c9c31578bb7e1', class: "font-preview", style: {
|
|
10
10
|
fontFamily: this.fontFamily,
|
|
11
11
|
fontSize: `${this.size}px`,
|
|
12
12
|
color: this.color
|
|
@@ -10,7 +10,7 @@ export class KritzelFontSize {
|
|
|
10
10
|
this.sizeChange.emit(size);
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
return (h(Host, { key: '
|
|
13
|
+
return (h(Host, { key: '2cd69fb4d291f46121f2f05acd44153d4fe51801' }, this.sizes.map(size => (h("div", { class: {
|
|
14
14
|
'size-container': true,
|
|
15
15
|
'selected': this.selectedSize === size,
|
|
16
16
|
}, onClick: () => this.handleSizeClick(size) }, h("kritzel-font", { fontFamily: this.fontFamily, size: size }))))));
|
|
@@ -9,7 +9,7 @@ export class KritzelStrokeSize {
|
|
|
9
9
|
this.sizeChange.emit(size);
|
|
10
10
|
}
|
|
11
11
|
render() {
|
|
12
|
-
return (h(Host, { key: '
|
|
12
|
+
return (h(Host, { key: '9738591d397c522c72d9744bbb7e0ff7f6976175' }, this.sizes.map(size => (h("div", { class: {
|
|
13
13
|
'size-container': true,
|
|
14
14
|
'selected': this.selectedSize === size,
|
|
15
15
|
}, onClick: () => this.handleSizeClick(size) }, h("kritzel-color", { value: '#000000', size: size }))))));
|
|
@@ -37,23 +37,23 @@ export class KritzelTooltip {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
|
-
return (h(Host, { key: '
|
|
40
|
+
return (h(Host, { key: 'a8c55d66efd76aeea390e7a5bdb05dbdb1e35bd2', style: {
|
|
41
41
|
position: 'fixed',
|
|
42
42
|
zIndex: '9999',
|
|
43
43
|
transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
|
|
44
44
|
visibility: this.isVisible ? 'visible' : 'hidden',
|
|
45
45
|
left: !this.isMobileView ? `${this.positionX}px` : '50%',
|
|
46
46
|
marginBottom: `${this.offsetY + this.arrowSize}px`,
|
|
47
|
-
} }, h("div", { key: '
|
|
47
|
+
} }, h("div", { key: '5d3ad02c4885e9ee3dc55a7358357bb224ae102e', class: "tooltip-content", onClick: event => event.stopPropagation() }, h("slot", { key: '767fb0dbf8fa9a63d184f601d28536fbff677a02' }), h("div", { key: '30c0bdd69f56cab6b94fb0f4290de370d990c500', class: "tooltip-arrow-wrapper", style: {
|
|
48
48
|
position: 'fixed',
|
|
49
49
|
left: this.arrowOffset,
|
|
50
50
|
bottom: `-${this.arrowSize * 2}px`,
|
|
51
|
-
} }, h("div", { key: '
|
|
51
|
+
} }, h("div", { key: '2d2197a52e69477308ae7591446b4ca20635e0bc', class: "tooltip-arrow", style: {
|
|
52
52
|
borderLeft: `${this.arrowSize}px solid transparent`,
|
|
53
53
|
borderRight: `${this.arrowSize}px solid transparent`,
|
|
54
54
|
borderTop: `${this.arrowSize}px solid var(--kritzel-controls-tooltip-background-color)`,
|
|
55
55
|
filter: 'drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))',
|
|
56
|
-
} }), h("div", { key: '
|
|
56
|
+
} }), h("div", { key: 'fa932ba1b6b242455c85fbf13b51c58c53ad3e9a', class: "tooltip-arrow-rect", style: {
|
|
57
57
|
position: 'relative',
|
|
58
58
|
width: `${this.arrowSize * 2}px`,
|
|
59
59
|
height: `${this.arrowSize}px`,
|
package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js
CHANGED
|
@@ -28,14 +28,14 @@ export class KritzelControlBrushConfig {
|
|
|
28
28
|
this.toolChange.emit(this.tool);
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: '57c18e06633951d2d82006d5b28cf863e9414bf4' }, h("div", { key: '6e4666f8efb3f1c9f1b1c8362119d2eababcc314', style: {
|
|
32
32
|
display: 'flex',
|
|
33
33
|
flexDirection: 'row',
|
|
34
34
|
alignItems: 'center',
|
|
35
35
|
justifyContent: 'flex-start',
|
|
36
36
|
width: '100%',
|
|
37
37
|
gap: '8px',
|
|
38
|
-
} }, h("kritzel-brush-style", { key: '
|
|
38
|
+
} }, h("kritzel-brush-style", { key: 'b52b7f8d0a64c0f973fbfbf35aad04c4b17b2b57', type: this.tool.type, onTypeChange: event => this.handleTypeChange(event) }), h("button", { key: 'e74f649d44e94e45668aa335935e4c3e05888a85', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand', style: this.palette.length > 6 ? { visibillity: 'visible' } : { visibility: 'hidden' } }, h("kritzel-icon", { key: '457c7b47b45ac62e696e69459b9674d8679e6736', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), h("kritzel-color-palette", { key: '3914791059ff9215c082315a4c52170b88cb0908', colors: this.palette, selectedColor: this.tool.color, isExpanded: this.isExpanded, isOpaque: true, onColorChange: color => this.handleColorChange(color) }), h("kritzel-stroke-size", { key: '51e8a2080cf27e08b060f099ed4696b352e3d10c', selectedSize: this.tool.size, onSizeChange: event => this.handleSizeChange(event) })));
|
|
39
39
|
}
|
|
40
40
|
static get is() { return "kritzel-control-brush-config"; }
|
|
41
41
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js
CHANGED
|
@@ -19,14 +19,14 @@ export class KritzelControlTextConfig {
|
|
|
19
19
|
this.toolChange.emit(this.tool);
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: 'dd94cc7171046d9683c5e320a2fef2c5598d6e2a' }, h("div", { key: 'c19e1cddc78ffa51e1117db01edc83e89db51158', style: {
|
|
23
23
|
display: 'flex',
|
|
24
24
|
flexDirection: 'row',
|
|
25
25
|
alignItems: 'center',
|
|
26
26
|
justifyContent: 'flex-start',
|
|
27
27
|
width: '100%',
|
|
28
28
|
gap: '8px',
|
|
29
|
-
} }, h("kritzel-font-family", { key: '
|
|
29
|
+
} }, h("kritzel-font-family", { key: '17dc46439b2e578da30a04551dfa5a47e0fd6328', selectedFontFamily: this.tool.fontFamily, onFontFamilyChange: event => this.handleFamilyChange(event) }), h("button", { key: '412b5b812c63d9c067ae43042a457185b8e6af48', class: "expand-toggle", onClick: () => this.handleToggleExpand(), title: this.isExpanded ? 'Collapse' : 'Expand' }, h("kritzel-icon", { key: '6b9d098076145e4bb7b500f782baf9df713b666a', name: this.isExpanded ? 'chevron-up' : 'chevron-down' }))), h("kritzel-color-palette", { key: '6f58506e220ec54c1c934e38e65bc30d52bfb406', colors: this.tool.palette, selectedColor: this.tool.fontColor, isExpanded: this.isExpanded, onColorChange: event => this.handleColorChange(event) }), h("kritzel-font-size", { key: '2d595ab0d6abb342503ad00e439efa577e3f1f49', selectedSize: this.tool.fontSize, fontFamily: this.tool.fontFamily, onSizeChange: event => this.handleSizeChange(event) })));
|
|
30
30
|
}
|
|
31
31
|
static get is() { return "kritzel-control-text-config"; }
|
|
32
32
|
static get encapsulation() { return "shadow"; }
|
|
@@ -18,45 +18,46 @@ export class KritzelControls {
|
|
|
18
18
|
var _a;
|
|
19
19
|
return (_a = this.activeControl) === null || _a === void 0 ? void 0 : _a.tool;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
21
|
+
async componentDidLoad() {
|
|
22
|
+
console.log('KritzelControls componentDidLoad');
|
|
23
|
+
this.forceUpdate++;
|
|
24
|
+
this.controlsReady.emit();
|
|
25
|
+
this.initializeEngine().then(() => {
|
|
26
|
+
this.initializeTools()
|
|
27
|
+
.then(() => {
|
|
28
|
+
console.info('KritzelControls initialized with tools:', this.controls);
|
|
29
|
+
this.forceUpdate++;
|
|
30
|
+
})
|
|
31
|
+
.catch(error => {
|
|
32
|
+
console.error('Error initializing tools:', error);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async initializeEngine() {
|
|
37
|
+
this.kritzelEngine = this.host.parentElement.querySelector('kritzel-engine');
|
|
38
|
+
if (!this.kritzelEngine) {
|
|
39
|
+
throw new Error('kritzel-engine not found in parent element.');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async initializeTools() {
|
|
43
|
+
for (const c of this.controls) {
|
|
44
|
+
if (c.type === 'tool' && c.tool) {
|
|
45
|
+
c.tool = await this.kritzelEngine.registerTool(c.name, c.tool, c.config);
|
|
46
|
+
}
|
|
47
|
+
if (c.type === 'tool' && c.isDefault && c.tool) {
|
|
48
|
+
await this.kritzelEngine.changeActiveTool(c.tool);
|
|
49
|
+
this.activeControl = c;
|
|
50
|
+
}
|
|
51
|
+
if (c.type === 'config') {
|
|
52
|
+
if (this.firstConfig === null) {
|
|
53
|
+
this.firstConfig = c;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.warn('Only one config control is allowed. The first one will be used.');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
60
61
|
async handleActiveToolChange(event) {
|
|
61
62
|
var _a;
|
|
62
63
|
this.activeControl = this.controls.find(control => control.tool === event.detail) || null;
|
|
@@ -94,11 +95,11 @@ export class KritzelControls {
|
|
|
94
95
|
render() {
|
|
95
96
|
var _a, _b;
|
|
96
97
|
const hasNoConfig = ((_a = this.activeControl) === null || _a === void 0 ? void 0 : _a.config) === undefined || ((_b = this.activeControl) === null || _b === void 0 ? void 0 : _b.config) === null;
|
|
97
|
-
return (h(Host, { key: '
|
|
98
|
+
return (h(Host, { key: 'b2ccafa0e74d1a036f1bfd0fb994bd5aa746401d' }, h("kritzel-utility-panel", { key: '585a8058b22015956b11df13614e8acf721be969', style: {
|
|
98
99
|
position: 'absolute',
|
|
99
100
|
bottom: '56px',
|
|
100
101
|
left: '12px',
|
|
101
|
-
}, onUndo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.undo(); }, onRedo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.redo(); }, onDelete: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.delete(); } }), h("div", { key: '
|
|
102
|
+
}, onUndo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.undo(); }, onRedo: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.redo(); }, onDelete: () => { var _a; return (_a = this.kritzelEngine) === null || _a === void 0 ? void 0 : _a.delete(); } }), h("div", { key: '56238089b382ba65f6951ee841bdb1cd36159b31', class: "kritzel-controls" }, this.controls.map(control => {
|
|
102
103
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
103
104
|
if (control.type === 'tool') {
|
|
104
105
|
return (h("button", { class: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kritzel-controls.js","sourceRoot":"","sources":["../../../../src/components/ui/kritzel-controls/kritzel-controls.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Element, Host, Listen, Event, EventEmitter } from '@stencil/core';\r\nimport { KritzelBrushTool } from '../../../classes/tools/brush-tool.class';\r\nimport { KritzelTextTool } from '../../../classes/tools/text-tool.class';\r\nimport { KritzelToolbarControl } from '../../../interfaces/toolbar-control.interface';\r\nimport { KritzelBaseTool } from '../../../classes/tools/base-tool.class';\r\n\r\ntype ToolConfig = Record<string, any>;\r\n\r\n@Component({\r\n tag: 'kritzel-controls',\r\n styleUrl: 'kritzel-controls.css',\r\n shadow: true,\r\n assetsDirs: ['../assets'],\r\n})\r\nexport class KritzelControls {\r\n @Prop()\r\n controls: KritzelToolbarControl[] = [];\r\n\r\n @Prop({ mutable: true })\r\n activeControl: KritzelToolbarControl | null = null;\r\n\r\n @Event()\r\n controlsReady: EventEmitter<void>;\r\n\r\n @Element()\r\n host!: HTMLElement;\r\n\r\n @State()\r\n firstConfig: ToolConfig | null = null;\r\n\r\n @State()\r\n tooltipVisible: boolean = false;\r\n\r\n @State()\r\n forceUpdate: number = 0;\r\n\r\n kritzelEngine: HTMLKritzelEngineElement | null = null;\r\n\r\n get activeToolAsTextTool() {\r\n return this.activeControl?.tool as KritzelTextTool;\r\n }\r\n\r\n get activeToolAsBrushTool() {\r\n return this.activeControl?.tool as KritzelBrushTool;\r\n }\r\n\r\n // async componentDidLoad() {\r\n // console.log('KritzelControls componentDidLoad');\r\n // this.forceUpdate++;\r\n // this.controlsReady.emit();\r\n // this.initializeEngine().then(() => {\r\n // this.initializeTools()\r\n // .then(() => {\r\n // console.info('KritzelControls initialized with tools:', this.controls);\r\n // this.forceUpdate++;\r\n // })\r\n // .catch(error => {\r\n // console.error('Error initializing tools:', error);\r\n // });\r\n // });\r\n // }\r\n\r\n // private async initializeEngine() {\r\n // this.kritzelEngine = this.host.parentElement.querySelector('kritzel-engine');\r\n\r\n // if (!this.kritzelEngine) {\r\n // throw new Error('kritzel-engine not found in parent element.');\r\n // }\r\n // }\r\n\r\n // private async initializeTools() {\r\n // for (const c of this.controls) {\r\n // if (c.type === 'tool' && c.tool) {\r\n // c.tool = await this.kritzelEngine.registerTool(c.name, c.tool, c.config);\r\n // }\r\n\r\n // if (c.type === 'tool' && c.isDefault && c.tool) {\r\n // await this.kritzelEngine.changeActiveTool(c.tool as KritzelBaseTool);\r\n // this.activeControl = c;\r\n // }\r\n\r\n // if (c.type === 'config') {\r\n // if (this.firstConfig === null) {\r\n // this.firstConfig = c;\r\n // } else {\r\n // console.warn('Only one config control is allowed. The first one will be used.');\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n @Listen('activeToolChange', { target: 'document' })\r\n async handleActiveToolChange(event: CustomEvent) {\r\n this.activeControl = this.controls.find(control => control.tool === event.detail) || null;\r\n await this.kritzelEngine?.setFocus();\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClick(event: MouseEvent) {\r\n const element = event.target as HTMLElement;\r\n\r\n if (!this.kritzelEngine || element.closest('.kritzel-tooltip')) {\r\n return;\r\n }\r\n\r\n this.tooltipVisible = false;\r\n this.kritzelEngine.enable();\r\n }\r\n\r\n preventDefault(event: Event) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n async handleControlClick(control: KritzelToolbarControl) {\r\n this.activeControl = control;\r\n\r\n if (this.activeControl.type === 'tool') {\r\n await this.kritzelEngine.changeActiveTool(this.activeControl.tool as KritzelBaseTool);\r\n }\r\n }\r\n\r\n handleConfigClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.tooltipVisible = !this.tooltipVisible;\r\n this.kritzelEngine.disable();\r\n }\r\n\r\n async handleToolChange(event: CustomEvent) {\r\n this.activeControl = { ...this.activeControl, tool: event.detail };\r\n await this.kritzelEngine.changeActiveTool((this.activeControl as any).tool);\r\n }\r\n\r\n render() {\r\n const hasNoConfig = this.activeControl?.config === undefined || this.activeControl?.config === null;\r\n\r\n return (\r\n <Host>\r\n <kritzel-utility-panel\r\n style={{\r\n position: 'absolute',\r\n bottom: '56px',\r\n left: '12px',\r\n }}\r\n onUndo={() => this.kritzelEngine?.undo()}\r\n onRedo={() => this.kritzelEngine?.redo()}\r\n onDelete={() => this.kritzelEngine?.delete()}\r\n ></kritzel-utility-panel>\r\n\r\n <div class=\"kritzel-controls\">\r\n {this.controls.map(control => {\r\n if (control.type === 'tool') {\r\n return (\r\n <button\r\n class={{\r\n 'kritzel-control': true,\r\n 'selected': this.activeControl?.name === control?.name,\r\n }}\r\n key={control.name}\r\n onClick={_event => this.handleControlClick?.(control)}\r\n >\r\n <kritzel-icon name={control.icon}></kritzel-icon>\r\n </button>\r\n );\r\n }\r\n\r\n if (control.type === 'divider') {\r\n return <div class=\"kritzel-divider\" key={control.name}></div>;\r\n }\r\n\r\n if (control.type === 'config' && control.name === this.firstConfig?.name && this.activeControl) {\r\n return (\r\n <div class=\"kritzel-config-container\" key={control.name}>\r\n <kritzel-tooltip isVisible={this.tooltipVisible} anchorElement={this.host.shadowRoot?.querySelector('.kritzel-config-container') as HTMLElement}>\r\n <div style={{ width: '294px', height: '100%' }}>\r\n {this.activeControl.name === 'brush' && (\r\n <kritzel-control-brush-config tool={this.activeToolAsBrushTool} onToolChange={event => this.handleToolChange?.(event)}></kritzel-control-brush-config>\r\n )}\r\n\r\n {this.activeControl.name === 'text' && (\r\n <kritzel-control-text-config tool={this.activeToolAsTextTool} onToolChange={event => this.handleToolChange?.(event)}></kritzel-control-text-config>\r\n )}\r\n </div>\r\n </kritzel-tooltip>\r\n\r\n <div\r\n class=\"kritzel-config\"\r\n onClick={event => this.handleConfigClick?.(event)}\r\n style={{\r\n cursor: this.activeControl.config ? 'pointer' : 'default',\r\n pointerEvents: hasNoConfig ? 'none' : 'auto',\r\n }}\r\n >\r\n {this.activeControl.tool instanceof KritzelBrushTool && (\r\n <div class=\"color-container\">\r\n <kritzel-color\r\n value={this.activeToolAsBrushTool?.color}\r\n size={this.activeToolAsBrushTool?.size}\r\n style={{\r\n borderRadius: '50%',\r\n border: 'none',\r\n }}\r\n ></kritzel-color>\r\n </div>\r\n )}\r\n\r\n {this.activeControl.tool instanceof KritzelTextTool && (\r\n <div class=\"font-container\">\r\n <kritzel-font\r\n fontFamily={this.activeToolAsTextTool?.fontFamily}\r\n size={this.activeToolAsTextTool?.fontSize}\r\n color={this.activeToolAsTextTool?.fontColor}\r\n ></kritzel-font>\r\n </div>\r\n )}\r\n\r\n {hasNoConfig && <div class=\"no-config\"></div>}\r\n </div>\r\n </div>\r\n );\r\n }\r\n })}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"kritzel-controls.js","sourceRoot":"","sources":["../../../../src/components/ui/kritzel-controls/kritzel-controls.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Element, Host, Listen, Event, EventEmitter } from '@stencil/core';\r\nimport { KritzelBrushTool } from '../../../classes/tools/brush-tool.class';\r\nimport { KritzelTextTool } from '../../../classes/tools/text-tool.class';\r\nimport { KritzelToolbarControl } from '../../../interfaces/toolbar-control.interface';\r\nimport { KritzelBaseTool } from '../../../classes/tools/base-tool.class';\r\n\r\ntype ToolConfig = Record<string, any>;\r\n\r\n@Component({\r\n tag: 'kritzel-controls',\r\n styleUrl: 'kritzel-controls.css',\r\n shadow: true,\r\n assetsDirs: ['../assets'],\r\n})\r\nexport class KritzelControls {\r\n @Prop()\r\n controls: KritzelToolbarControl[] = [];\r\n\r\n @Prop({ mutable: true })\r\n activeControl: KritzelToolbarControl | null = null;\r\n\r\n @Event()\r\n controlsReady: EventEmitter<void>;\r\n\r\n @Element()\r\n host!: HTMLElement;\r\n\r\n @State()\r\n firstConfig: ToolConfig | null = null;\r\n\r\n @State()\r\n tooltipVisible: boolean = false;\r\n\r\n @State()\r\n forceUpdate: number = 0;\r\n\r\n kritzelEngine: HTMLKritzelEngineElement | null = null;\r\n\r\n get activeToolAsTextTool() {\r\n return this.activeControl?.tool as KritzelTextTool;\r\n }\r\n\r\n get activeToolAsBrushTool() {\r\n return this.activeControl?.tool as KritzelBrushTool;\r\n }\r\n\r\n async componentDidLoad() {\r\n console.log('KritzelControls componentDidLoad');\r\n this.forceUpdate++;\r\n this.controlsReady.emit();\r\n this.initializeEngine().then(() => {\r\n this.initializeTools()\r\n .then(() => {\r\n console.info('KritzelControls initialized with tools:', this.controls);\r\n this.forceUpdate++;\r\n })\r\n .catch(error => {\r\n console.error('Error initializing tools:', error);\r\n });\r\n });\r\n }\r\n\r\n private async initializeEngine() {\r\n this.kritzelEngine = this.host.parentElement.querySelector('kritzel-engine');\r\n\r\n if (!this.kritzelEngine) {\r\n throw new Error('kritzel-engine not found in parent element.');\r\n }\r\n }\r\n\r\n private async initializeTools() {\r\n for (const c of this.controls) {\r\n if (c.type === 'tool' && c.tool) {\r\n c.tool = await this.kritzelEngine.registerTool(c.name, c.tool, c.config);\r\n }\r\n\r\n if (c.type === 'tool' && c.isDefault && c.tool) {\r\n await this.kritzelEngine.changeActiveTool(c.tool as KritzelBaseTool);\r\n this.activeControl = c;\r\n }\r\n\r\n if (c.type === 'config') {\r\n if (this.firstConfig === null) {\r\n this.firstConfig = c;\r\n } else {\r\n console.warn('Only one config control is allowed. The first one will be used.');\r\n }\r\n }\r\n }\r\n }\r\n\r\n @Listen('activeToolChange', { target: 'document' })\r\n async handleActiveToolChange(event: CustomEvent) {\r\n this.activeControl = this.controls.find(control => control.tool === event.detail) || null;\r\n await this.kritzelEngine?.setFocus();\r\n }\r\n\r\n @Listen('click', { target: 'document' })\r\n handleClick(event: MouseEvent) {\r\n const element = event.target as HTMLElement;\r\n\r\n if (!this.kritzelEngine || element.closest('.kritzel-tooltip')) {\r\n return;\r\n }\r\n\r\n this.tooltipVisible = false;\r\n this.kritzelEngine.enable();\r\n }\r\n\r\n preventDefault(event: Event) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n async handleControlClick(control: KritzelToolbarControl) {\r\n this.activeControl = control;\r\n\r\n if (this.activeControl.type === 'tool') {\r\n await this.kritzelEngine.changeActiveTool(this.activeControl.tool as KritzelBaseTool);\r\n }\r\n }\r\n\r\n handleConfigClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.tooltipVisible = !this.tooltipVisible;\r\n this.kritzelEngine.disable();\r\n }\r\n\r\n async handleToolChange(event: CustomEvent) {\r\n this.activeControl = { ...this.activeControl, tool: event.detail };\r\n await this.kritzelEngine.changeActiveTool((this.activeControl as any).tool);\r\n }\r\n\r\n render() {\r\n const hasNoConfig = this.activeControl?.config === undefined || this.activeControl?.config === null;\r\n\r\n return (\r\n <Host>\r\n <kritzel-utility-panel\r\n style={{\r\n position: 'absolute',\r\n bottom: '56px',\r\n left: '12px',\r\n }}\r\n onUndo={() => this.kritzelEngine?.undo()}\r\n onRedo={() => this.kritzelEngine?.redo()}\r\n onDelete={() => this.kritzelEngine?.delete()}\r\n ></kritzel-utility-panel>\r\n\r\n <div class=\"kritzel-controls\">\r\n {this.controls.map(control => {\r\n if (control.type === 'tool') {\r\n return (\r\n <button\r\n class={{\r\n 'kritzel-control': true,\r\n 'selected': this.activeControl?.name === control?.name,\r\n }}\r\n key={control.name}\r\n onClick={_event => this.handleControlClick?.(control)}\r\n >\r\n <kritzel-icon name={control.icon}></kritzel-icon>\r\n </button>\r\n );\r\n }\r\n\r\n if (control.type === 'divider') {\r\n return <div class=\"kritzel-divider\" key={control.name}></div>;\r\n }\r\n\r\n if (control.type === 'config' && control.name === this.firstConfig?.name && this.activeControl) {\r\n return (\r\n <div class=\"kritzel-config-container\" key={control.name}>\r\n <kritzel-tooltip isVisible={this.tooltipVisible} anchorElement={this.host.shadowRoot?.querySelector('.kritzel-config-container') as HTMLElement}>\r\n <div style={{ width: '294px', height: '100%' }}>\r\n {this.activeControl.name === 'brush' && (\r\n <kritzel-control-brush-config tool={this.activeToolAsBrushTool} onToolChange={event => this.handleToolChange?.(event)}></kritzel-control-brush-config>\r\n )}\r\n\r\n {this.activeControl.name === 'text' && (\r\n <kritzel-control-text-config tool={this.activeToolAsTextTool} onToolChange={event => this.handleToolChange?.(event)}></kritzel-control-text-config>\r\n )}\r\n </div>\r\n </kritzel-tooltip>\r\n\r\n <div\r\n class=\"kritzel-config\"\r\n onClick={event => this.handleConfigClick?.(event)}\r\n style={{\r\n cursor: this.activeControl.config ? 'pointer' : 'default',\r\n pointerEvents: hasNoConfig ? 'none' : 'auto',\r\n }}\r\n >\r\n {this.activeControl.tool instanceof KritzelBrushTool && (\r\n <div class=\"color-container\">\r\n <kritzel-color\r\n value={this.activeToolAsBrushTool?.color}\r\n size={this.activeToolAsBrushTool?.size}\r\n style={{\r\n borderRadius: '50%',\r\n border: 'none',\r\n }}\r\n ></kritzel-color>\r\n </div>\r\n )}\r\n\r\n {this.activeControl.tool instanceof KritzelTextTool && (\r\n <div class=\"font-container\">\r\n <kritzel-font\r\n fontFamily={this.activeToolAsTextTool?.fontFamily}\r\n size={this.activeToolAsTextTool?.fontSize}\r\n color={this.activeToolAsTextTool?.fontColor}\r\n ></kritzel-font>\r\n </div>\r\n )}\r\n\r\n {hasNoConfig && <div class=\"no-config\"></div>}\r\n </div>\r\n </div>\r\n );\r\n }\r\n })}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
export class KritzelDummy {
|
|
3
3
|
render() {
|
|
4
|
-
return (h(Host, { key: '
|
|
4
|
+
return (h(Host, { key: 'aff3d5d844af503ead3cd02a1a62f26c885587ef' }, "Dummy Component Works!"));
|
|
5
5
|
}
|
|
6
6
|
static get is() { return "kritzel-dummy"; }
|
|
7
7
|
static get encapsulation() { return "shadow"; }
|
|
@@ -13,7 +13,7 @@ export class KritzelUtilityPanel {
|
|
|
13
13
|
this.redo.emit();
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: '41a059b44da75d93169ad9c3ab9e7094a178ce6a' }, h("button", { key: 'cb6ce47be3b7b8efa863658b45339c084c006558', class: "utility-button", onClick: event => this.handleUndo(event) }, h("kritzel-icon", { key: '2cd0e214a354603a0b6d3c5a20414e5592b57c72', name: "undo" })), h("button", { key: '3a2c931d270d1173603722eb6f0be7450905225d', class: "utility-button", onClick: event => this.handleRedo(event) }, h("kritzel-icon", { key: '647ee8f80f8ee7991278ae09c824c2d41939b799', name: "redo" })), h("div", { key: 'cc8aab4de10a3c7997e8b65682fa5fed4a0e9ee7', class: "utility-separator" }), h("button", { key: '8e1f513af08407fafc4d2cfe48dc781120942ebd', class: "utility-button" }, h("kritzel-icon", { key: '4758c3bdcbb2a273424982ce4c1a05575199c130', name: "delete", onClick: () => this.delete.emit() }))));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "kritzel-utility-panel"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -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-DqnnZDDT.js';
|
|
2
2
|
|
|
3
3
|
const KritzelColorPalette = KritzelColorPalette$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-BzT7WSFX.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-BfOHORuS.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-CmwVLwvI.js';
|
|
2
2
|
|
|
3
3
|
const KritzelControls = KritzelControls$1;
|
|
4
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,31 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const kritzelDummyCss = ":host{display:block}";
|
|
4
|
-
|
|
5
|
-
const KritzelDummy$1 = /*@__PURE__*/ proxyCustomElement(class KritzelDummy extends H {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.__registerHost();
|
|
9
|
-
this.__attachShadow();
|
|
10
|
-
}
|
|
11
|
-
render() {
|
|
12
|
-
return (h(Host, { key: 'ab62a8c7ef676c182d60a36be96ddb12ae636659' }, "Dummy Component Works!"));
|
|
13
|
-
}
|
|
14
|
-
static get style() { return kritzelDummyCss; }
|
|
15
|
-
}, [1, "kritzel-dummy"]);
|
|
16
|
-
function defineCustomElement$1() {
|
|
17
|
-
if (typeof customElements === "undefined") {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const components = ["kritzel-dummy"];
|
|
21
|
-
components.forEach(tagName => { switch (tagName) {
|
|
22
|
-
case "kritzel-dummy":
|
|
23
|
-
if (!customElements.get(tagName)) {
|
|
24
|
-
customElements.define(tagName, KritzelDummy$1);
|
|
25
|
-
}
|
|
26
|
-
break;
|
|
27
|
-
} });
|
|
28
|
-
}
|
|
1
|
+
import { K as KritzelDummy$1, d as defineCustomElement$1 } from './p-9_JiL_wH.js';
|
|
29
2
|
|
|
30
3
|
const KritzelDummy = KritzelDummy$1;
|
|
31
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kritzel-dummy.js","mappings":"
|
|
1
|
+
{"file":"kritzel-dummy.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|