kritzel-stencil 0.1.1 → 0.1.2
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-line-tool.config-SdMGkNhv.js → default-line-tool.config-MA02HCrH.js} +635 -118
- package/dist/cjs/{index-BeKMS-Zt.js → index-Bj0n7fQQ.js} +84 -7
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kritzel-brush-style.cjs.entry.js +1 -1
- package/dist/cjs/{kritzel-color_22.cjs.entry.js → kritzel-color_24.cjs.entry.js} +870 -769
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stencil.cjs.js +3 -3
- package/dist/collection/classes/core/core.class.js +2 -0
- package/dist/collection/classes/core/viewport.class.js +43 -3
- package/dist/collection/classes/objects/line.class.js +1 -0
- package/dist/collection/classes/objects/path.class.js +1 -0
- package/dist/collection/classes/objects/shape.class.js +1 -0
- package/dist/collection/classes/objects/text.class.js +4 -3
- package/dist/collection/classes/providers/indexeddb-sync-provider.class.js +0 -1
- package/dist/collection/classes/tools/brush-tool.class.js +5 -0
- package/dist/collection/classes/tools/line-tool.class.js +31 -1
- package/dist/collection/classes/tools/selection-tool.class.js +193 -0
- package/dist/collection/classes/tools/shape-tool.class.js +2 -0
- package/dist/collection/classes/tools/text-tool.class.js +3 -0
- package/dist/collection/collection-manifest.json +5 -3
- package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +3 -2
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +37 -19
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +108 -36
- 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 +24 -2
- 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-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-line-endings/kritzel-line-endings.css +60 -0
- package/dist/collection/components/shared/kritzel-line-endings/kritzel-line-endings.js +187 -0
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +15 -8
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +16 -9
- package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.css +85 -0
- package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +163 -0
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
- package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.css +47 -0
- package/dist/collection/components/shared/kritzel-shape-fill/kritzel-shape-fill.js +93 -0
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +13 -7
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.css +11 -2
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +2 -2
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.css +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +6 -4
- package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +6 -3
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +95 -14
- package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.css +38 -0
- package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.js +321 -0
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +3 -2
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +6 -3
- package/dist/collection/configs/default-brush-tool.config.js +2 -52
- package/dist/collection/configs/default-line-tool.config.js +2 -26
- package/dist/collection/configs/default-shape-tool.config.js +2 -15
- package/dist/collection/configs/default-text-tool.config.js +2 -26
- package/dist/collection/constants/color-palette.constants.js +30 -0
- package/dist/collection/helpers/color.helper.js +31 -0
- package/dist/collection/helpers/tool-config.helper.js +65 -0
- package/dist/collection/interfaces/tool-config.interface.js +1 -0
- package/dist/components/index.d.ts +8 -4
- package/dist/components/index.js +1 -1
- package/dist/components/kritzel-brush-style.js +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-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 +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-line-endings.d.ts +11 -0
- package/dist/components/kritzel-line-endings.js +1 -0
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-opacity-slider.d.ts +11 -0
- package/dist/components/kritzel-opacity-slider.js +1 -0
- package/dist/components/kritzel-portal.js +1 -1
- package/dist/components/kritzel-shape-fill.d.ts +11 -0
- package/dist/components/kritzel-shape-fill.js +1 -0
- package/dist/components/kritzel-split-button.js +1 -1
- package/dist/components/kritzel-stroke-size.js +1 -1
- package/dist/components/kritzel-tool-config.d.ts +11 -0
- package/dist/components/kritzel-tool-config.js +1 -0
- 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-83YX0-FS.js +1 -0
- package/dist/components/p-8iEiCuEN.js +1 -0
- package/dist/components/p-9XZbc_qK.js +1 -0
- package/dist/components/p-B3P64-gH.js +9 -0
- package/dist/components/p-B8QjTqOY.js +1 -0
- package/dist/components/p-BF6MdW17.js +1 -0
- package/dist/components/p-BVIY50lR.js +1 -0
- package/dist/components/p-BbqT9o1F.js +1 -0
- package/dist/components/{p-CXzfYQ_u.js → p-BnidlyU0.js} +1 -1
- package/dist/components/{p-Bj_Og27M.js → p-BxS4Pdpz.js} +1 -1
- package/dist/components/{p-g0N9j_uT.js → p-CCj8nmQH.js} +1 -1
- package/dist/components/{p-1z-ds26_.js → p-CLOnpu42.js} +1 -1
- package/dist/components/{p-D1tfzpy8.js → p-CSGeDE4f.js} +1 -1
- package/dist/components/p-CbuHMNa9.js +1 -0
- package/dist/components/p-ClMFs3KI.js +1 -0
- package/dist/components/{p-IAqZFssU.js → p-Cnpk2hfo.js} +1 -1
- package/dist/components/{p-Cy77SpWt.js → p-Ctv4NAxk.js} +1 -1
- package/dist/components/p-CyHZWbkS.js +1 -0
- package/dist/components/{p-C4krHoUl.js → p-D8GeJNUv.js} +1 -1
- package/dist/components/{p-XGgKC_Fe.js → p-DKgqzi2Y.js} +1 -1
- package/dist/components/p-DOF5fWDU.js +1 -0
- package/dist/components/{p-4FEa4ADy.js → p-DV_h5Jo2.js} +1 -1
- package/dist/components/{p-DTezr6w9.js → p-DgCGSL2Q.js} +1 -1
- package/dist/components/{p-D5ZsALCP.js → p-wRXL928z.js} +1 -1
- package/dist/esm/{default-line-tool.config-Cw8mdDpt.js → default-line-tool.config-DLpNl6R9.js} +634 -110
- package/dist/esm/{index-BqhmuUH2.js → index-OLdaFN6W.js} +84 -7
- package/dist/esm/index.js +2 -2
- package/dist/esm/kritzel-brush-style.entry.js +1 -1
- package/dist/esm/{kritzel-color_22.entry.js → kritzel-color_24.entry.js} +859 -760
- package/dist/esm/loader.js +3 -3
- package/dist/esm/stencil.js +4 -4
- package/dist/stencil/index.esm.js +1 -1
- package/dist/stencil/{p-09295079.entry.js → p-802bc7cf.entry.js} +1 -1
- package/dist/stencil/p-DLpNl6R9.js +1 -0
- package/dist/stencil/p-OLdaFN6W.js +2 -0
- package/dist/stencil/p-caf30edb.entry.js +9 -0
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/core/viewport.class.d.ts +6 -0
- package/dist/types/classes/objects/shape.class.d.ts +1 -0
- package/dist/types/classes/tools/brush-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/line-tool.class.d.ts +2 -1
- package/dist/types/classes/tools/selection-tool.class.d.ts +22 -0
- package/dist/types/classes/tools/shape-tool.class.d.ts +1 -0
- package/dist/types/classes/tools/text-tool.class.d.ts +1 -0
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +2 -0
- package/dist/types/components/shared/kritzel-color-palette/kritzel-color-palette.d.ts +1 -0
- package/dist/types/components/shared/kritzel-line-endings/kritzel-line-endings.d.ts +23 -0
- package/dist/types/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.d.ts +17 -0
- package/dist/types/components/shared/kritzel-shape-fill/kritzel-shape-fill.d.ts +10 -0
- package/dist/types/components/ui/kritzel-controls/kritzel-controls.d.ts +9 -0
- package/dist/types/components/ui/kritzel-tool-config/kritzel-tool-config.d.ts +25 -0
- package/dist/types/components.d.ts +235 -82
- package/dist/types/constants/color-palette.constants.d.ts +5 -0
- package/dist/types/helpers/color.helper.d.ts +9 -0
- package/dist/types/helpers/tool-config.helper.d.ts +4 -0
- package/dist/types/interfaces/line-options.interface.d.ts +1 -0
- package/dist/types/interfaces/path-options.interface.d.ts +1 -0
- package/dist/types/interfaces/tool-config.interface.d.ts +26 -0
- package/dist/types/stencil-public-runtime.d.ts +29 -0
- package/package.json +5 -3
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.css +0 -19
- package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +0 -134
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.css +0 -19
- package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +0 -114
- package/dist/components/kritzel-control-brush-config.d.ts +0 -11
- package/dist/components/kritzel-control-brush-config.js +0 -1
- package/dist/components/kritzel-control-text-config.d.ts +0 -11
- package/dist/components/kritzel-control-text-config.js +0 -1
- package/dist/components/p-BXaWhpO2.js +0 -1
- package/dist/components/p-BtuXeItZ.js +0 -1
- package/dist/components/p-C-d2IH4v.js +0 -1
- package/dist/components/p-C3UriJh7.js +0 -1
- package/dist/components/p-CF5L2Gdl.js +0 -1
- package/dist/components/p-CeKT_dTd.js +0 -1
- package/dist/components/p-Cp15toXH.js +0 -1
- package/dist/components/p-D4n7UbGY.js +0 -1
- package/dist/components/p-Du1vxHy8.js +0 -1
- package/dist/components/p-exWKDgI8.js +0 -9
- package/dist/stencil/p-BqhmuUH2.js +0 -2
- package/dist/stencil/p-Cw8mdDpt.js +0 -1
- package/dist/stencil/p-d21a009f.entry.js +0 -9
- package/dist/types/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.d.ts +0 -15
- package/dist/types/components/ui/kritzel-control-text-config/kritzel-control-text-config.d.ts +0 -12
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
export class KritzelOpacitySlider {
|
|
3
|
+
/** Current opacity value (0 to 1) */
|
|
4
|
+
value = 1;
|
|
5
|
+
/** Minimum opacity value */
|
|
6
|
+
min = 0;
|
|
7
|
+
/** Maximum opacity value */
|
|
8
|
+
max = 1;
|
|
9
|
+
/** Step increment */
|
|
10
|
+
step = 0.01;
|
|
11
|
+
/** Color to display in the preview (optional) */
|
|
12
|
+
previewColor = '#000000';
|
|
13
|
+
valueChange;
|
|
14
|
+
handleInput(event) {
|
|
15
|
+
const input = event.target;
|
|
16
|
+
const newValue = parseFloat(input.value);
|
|
17
|
+
this.value = newValue;
|
|
18
|
+
this.valueChange.emit(newValue);
|
|
19
|
+
}
|
|
20
|
+
getPercentage() {
|
|
21
|
+
return Math.round(this.value * 100);
|
|
22
|
+
}
|
|
23
|
+
render() {
|
|
24
|
+
const percentage = this.getPercentage();
|
|
25
|
+
return (h(Host, { key: 'e1409175b038e78d2659356452c48ccc7d79b8de' }, h("div", { key: '1de138f56f699fc54623ed8d7b8b5c6d3eda3c67', class: "opacity-container" }, h("div", { key: '1dd5d0d36c8d025ba46a0623a20f040990cc749a', class: "slider-wrapper" }, h("input", { key: '7b555aa0a4a9abfdcdadc86bffa5878c9336d1e4', type: "range", class: "opacity-slider", min: this.min, max: this.max, step: this.step, value: this.value, onInput: (e) => this.handleInput(e), style: {
|
|
26
|
+
'--slider-progress': `${percentage}%`,
|
|
27
|
+
} })))));
|
|
28
|
+
}
|
|
29
|
+
static get is() { return "kritzel-opacity-slider"; }
|
|
30
|
+
static get encapsulation() { return "shadow"; }
|
|
31
|
+
static get originalStyleUrls() {
|
|
32
|
+
return {
|
|
33
|
+
"$": ["kritzel-opacity-slider.css"]
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
static get styleUrls() {
|
|
37
|
+
return {
|
|
38
|
+
"$": ["kritzel-opacity-slider.css"]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static get properties() {
|
|
42
|
+
return {
|
|
43
|
+
"value": {
|
|
44
|
+
"type": "number",
|
|
45
|
+
"mutable": true,
|
|
46
|
+
"complexType": {
|
|
47
|
+
"original": "number",
|
|
48
|
+
"resolved": "number",
|
|
49
|
+
"references": {}
|
|
50
|
+
},
|
|
51
|
+
"required": false,
|
|
52
|
+
"optional": false,
|
|
53
|
+
"docs": {
|
|
54
|
+
"tags": [],
|
|
55
|
+
"text": "Current opacity value (0 to 1)"
|
|
56
|
+
},
|
|
57
|
+
"getter": false,
|
|
58
|
+
"setter": false,
|
|
59
|
+
"reflect": false,
|
|
60
|
+
"attribute": "value",
|
|
61
|
+
"defaultValue": "1"
|
|
62
|
+
},
|
|
63
|
+
"min": {
|
|
64
|
+
"type": "number",
|
|
65
|
+
"mutable": false,
|
|
66
|
+
"complexType": {
|
|
67
|
+
"original": "number",
|
|
68
|
+
"resolved": "number",
|
|
69
|
+
"references": {}
|
|
70
|
+
},
|
|
71
|
+
"required": false,
|
|
72
|
+
"optional": false,
|
|
73
|
+
"docs": {
|
|
74
|
+
"tags": [],
|
|
75
|
+
"text": "Minimum opacity value"
|
|
76
|
+
},
|
|
77
|
+
"getter": false,
|
|
78
|
+
"setter": false,
|
|
79
|
+
"reflect": false,
|
|
80
|
+
"attribute": "min",
|
|
81
|
+
"defaultValue": "0"
|
|
82
|
+
},
|
|
83
|
+
"max": {
|
|
84
|
+
"type": "number",
|
|
85
|
+
"mutable": false,
|
|
86
|
+
"complexType": {
|
|
87
|
+
"original": "number",
|
|
88
|
+
"resolved": "number",
|
|
89
|
+
"references": {}
|
|
90
|
+
},
|
|
91
|
+
"required": false,
|
|
92
|
+
"optional": false,
|
|
93
|
+
"docs": {
|
|
94
|
+
"tags": [],
|
|
95
|
+
"text": "Maximum opacity value"
|
|
96
|
+
},
|
|
97
|
+
"getter": false,
|
|
98
|
+
"setter": false,
|
|
99
|
+
"reflect": false,
|
|
100
|
+
"attribute": "max",
|
|
101
|
+
"defaultValue": "1"
|
|
102
|
+
},
|
|
103
|
+
"step": {
|
|
104
|
+
"type": "number",
|
|
105
|
+
"mutable": false,
|
|
106
|
+
"complexType": {
|
|
107
|
+
"original": "number",
|
|
108
|
+
"resolved": "number",
|
|
109
|
+
"references": {}
|
|
110
|
+
},
|
|
111
|
+
"required": false,
|
|
112
|
+
"optional": false,
|
|
113
|
+
"docs": {
|
|
114
|
+
"tags": [],
|
|
115
|
+
"text": "Step increment"
|
|
116
|
+
},
|
|
117
|
+
"getter": false,
|
|
118
|
+
"setter": false,
|
|
119
|
+
"reflect": false,
|
|
120
|
+
"attribute": "step",
|
|
121
|
+
"defaultValue": "0.01"
|
|
122
|
+
},
|
|
123
|
+
"previewColor": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"mutable": false,
|
|
126
|
+
"complexType": {
|
|
127
|
+
"original": "string",
|
|
128
|
+
"resolved": "string",
|
|
129
|
+
"references": {}
|
|
130
|
+
},
|
|
131
|
+
"required": false,
|
|
132
|
+
"optional": false,
|
|
133
|
+
"docs": {
|
|
134
|
+
"tags": [],
|
|
135
|
+
"text": "Color to display in the preview (optional)"
|
|
136
|
+
},
|
|
137
|
+
"getter": false,
|
|
138
|
+
"setter": false,
|
|
139
|
+
"reflect": false,
|
|
140
|
+
"attribute": "preview-color",
|
|
141
|
+
"defaultValue": "'#000000'"
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
static get events() {
|
|
146
|
+
return [{
|
|
147
|
+
"method": "valueChange",
|
|
148
|
+
"name": "valueChange",
|
|
149
|
+
"bubbles": true,
|
|
150
|
+
"cancelable": true,
|
|
151
|
+
"composed": true,
|
|
152
|
+
"docs": {
|
|
153
|
+
"tags": [],
|
|
154
|
+
"text": ""
|
|
155
|
+
},
|
|
156
|
+
"complexType": {
|
|
157
|
+
"original": "number",
|
|
158
|
+
"resolved": "number",
|
|
159
|
+
"references": {}
|
|
160
|
+
}
|
|
161
|
+
}];
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -189,7 +189,7 @@ export class KritzelPortal {
|
|
|
189
189
|
this.portal.style.left = `${left}px`;
|
|
190
190
|
}
|
|
191
191
|
render() {
|
|
192
|
-
return (h(Host, { key: '
|
|
192
|
+
return (h(Host, { key: 'c70a1f7c4b2801346fc7a711b44e951337f42f77', style: { display: this.anchor ? 'block' : 'none' } }, h("slot", { key: '654bd6dd3ec83d77984a500d505ed1f3c04a0c26' })));
|
|
193
193
|
}
|
|
194
194
|
static get is() { return "kritzel-portal"; }
|
|
195
195
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
gap: 12px;
|
|
5
|
+
padding: 0;
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.fill-row {
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: 4px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.fill-option {
|
|
16
|
+
display: flex;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
align-items: center;
|
|
19
|
+
width: 48px;
|
|
20
|
+
height: 32px;
|
|
21
|
+
border-radius: 6px;
|
|
22
|
+
cursor: var(--kritzel-pointer-cursor, pointer);
|
|
23
|
+
border: 2px solid transparent;
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
background: var(--kritzel-shape-fill-option-background, #ffffff);
|
|
26
|
+
padding: 4px;
|
|
27
|
+
transition: background-color 0.15s ease, border-color 0.15s ease;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.fill-option:hover {
|
|
31
|
+
background-color: var(--kritzel-shape-fill-hover-background-color, #ebebeb);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.fill-option.selected {
|
|
35
|
+
border-color: var(--kritzel-selection-border-color, #007AFF);
|
|
36
|
+
background-color: var(--kritzel-shape-fill-selected-background-color, #ebebeb);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.fill-option:focus {
|
|
40
|
+
outline: none;
|
|
41
|
+
box-shadow: 0 0 0 2px var(--kritzel-focus-ring-color, rgba(0, 122, 255, 0.3));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.fill-icon {
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: 100%;
|
|
47
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
export class KritzelShapeFill {
|
|
3
|
+
/** Current fill type */
|
|
4
|
+
value = 'transparent';
|
|
5
|
+
valueChange;
|
|
6
|
+
handleFillChange(type) {
|
|
7
|
+
this.value = type;
|
|
8
|
+
this.valueChange.emit(type);
|
|
9
|
+
}
|
|
10
|
+
renderFillIcon(type) {
|
|
11
|
+
const strokeColor = '#000000';
|
|
12
|
+
if (type === 'transparent') {
|
|
13
|
+
return (h("svg", { viewBox: "0 0 24 24", class: "fill-icon" }, h("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", fill: "none", stroke: strokeColor, "stroke-width": "2" })));
|
|
14
|
+
}
|
|
15
|
+
// Filled
|
|
16
|
+
return (h("svg", { viewBox: "0 0 24 24", class: "fill-icon" }, h("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", fill: strokeColor, stroke: strokeColor, "stroke-width": "2" })));
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
return (h(Host, { key: '7935296eb495557672cc96ab838ff4996953b220' }, h("div", { key: '69011629ff2dbdd38c7fb03b873fe5411b712de3', class: "fill-row" }, h("button", { key: '8a16a43b1ed8f316bc698a304d76667397a83015', class: {
|
|
20
|
+
'fill-option': true,
|
|
21
|
+
'selected': this.value === 'transparent',
|
|
22
|
+
}, onClick: () => this.handleFillChange('transparent'), title: "Transparent background" }, this.renderFillIcon('transparent')), h("button", { key: 'f51854da5ece9f18242b4b91ac9645e13efc41b3', class: {
|
|
23
|
+
'fill-option': true,
|
|
24
|
+
'selected': this.value === 'filled',
|
|
25
|
+
}, onClick: () => this.handleFillChange('filled'), title: "Filled background" }, this.renderFillIcon('filled')))));
|
|
26
|
+
}
|
|
27
|
+
static get is() { return "kritzel-shape-fill"; }
|
|
28
|
+
static get encapsulation() { return "shadow"; }
|
|
29
|
+
static get originalStyleUrls() {
|
|
30
|
+
return {
|
|
31
|
+
"$": ["kritzel-shape-fill.css"]
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
static get styleUrls() {
|
|
35
|
+
return {
|
|
36
|
+
"$": ["kritzel-shape-fill.css"]
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
static get properties() {
|
|
40
|
+
return {
|
|
41
|
+
"value": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"mutable": true,
|
|
44
|
+
"complexType": {
|
|
45
|
+
"original": "ShapeFillType",
|
|
46
|
+
"resolved": "\"filled\" | \"transparent\"",
|
|
47
|
+
"references": {
|
|
48
|
+
"ShapeFillType": {
|
|
49
|
+
"location": "local",
|
|
50
|
+
"path": "C:/Projects/kritzel/libs/kritzel-stencil/src/components/shared/kritzel-shape-fill/kritzel-shape-fill.tsx",
|
|
51
|
+
"id": "src/components/shared/kritzel-shape-fill/kritzel-shape-fill.tsx::ShapeFillType"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"required": false,
|
|
56
|
+
"optional": false,
|
|
57
|
+
"docs": {
|
|
58
|
+
"tags": [],
|
|
59
|
+
"text": "Current fill type"
|
|
60
|
+
},
|
|
61
|
+
"getter": false,
|
|
62
|
+
"setter": false,
|
|
63
|
+
"reflect": false,
|
|
64
|
+
"attribute": "value",
|
|
65
|
+
"defaultValue": "'transparent'"
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
static get events() {
|
|
70
|
+
return [{
|
|
71
|
+
"method": "valueChange",
|
|
72
|
+
"name": "valueChange",
|
|
73
|
+
"bubbles": true,
|
|
74
|
+
"cancelable": true,
|
|
75
|
+
"composed": true,
|
|
76
|
+
"docs": {
|
|
77
|
+
"tags": [],
|
|
78
|
+
"text": ""
|
|
79
|
+
},
|
|
80
|
+
"complexType": {
|
|
81
|
+
"original": "ShapeFillType",
|
|
82
|
+
"resolved": "\"filled\" | \"transparent\"",
|
|
83
|
+
"references": {
|
|
84
|
+
"ShapeFillType": {
|
|
85
|
+
"location": "local",
|
|
86
|
+
"path": "C:/Projects/kritzel/libs/kritzel-stencil/src/components/shared/kritzel-shape-fill/kritzel-shape-fill.tsx",
|
|
87
|
+
"id": "src/components/shared/kritzel-shape-fill/kritzel-shape-fill.tsx::ShapeFillType"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -80,7 +80,7 @@ export class KritzelSplitButton {
|
|
|
80
80
|
this.menuScrollTop = event.target.scrollTop;
|
|
81
81
|
};
|
|
82
82
|
render() {
|
|
83
|
-
return (h(Host, { key: '
|
|
83
|
+
return (h(Host, { key: 'cdfb795efe513061f464c76650aa226cd7d5ac81', class: { mobile: this.isTouchDevice } }, h("button", { key: '5c38c82b57f35c2e39b0dbba71b3ccfd99ebcc5c', class: "split-main-button", tabIndex: 0, onClick: this.handleButtonClick, disabled: this.mainButtonDisabled }, this.buttonIcon && h("kritzel-icon", { key: '862d96cca7ec5aef55284ac6a65ce16b07a03dda', name: this.buttonIcon })), h("div", { key: '41849e36e756af257d10baf82d2cb0c9cd1e441f', class: "split-divider" }), h("button", { key: '0c54c40c84dcf5cf1b94b024353334e4be0e3404', ref: el => (this.splitMenuButtonRef = el), class: "split-menu-button", tabIndex: 0, onClick: this.toggleMenu, disabled: this.menuButtonDisabled }, h("kritzel-icon", { key: '15b0d07c9afa584105180fb5f0701c15974f11aa', name: this.dropdownIcon })), h("kritzel-portal", { key: '23014ad95c3ee688b9348f480cc33cdb1c970244', anchor: this.anchorElement, offsetY: 4, onClose: this.closeMenu }, h("kritzel-menu", { key: '90f4f29429a80f5700d16b1e99f3dd6315464bbb', 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 }))));
|
|
84
84
|
}
|
|
85
85
|
static get is() { return "kritzel-split-button"; }
|
|
86
86
|
static get encapsulation() { return "shadow"; }
|
|
@@ -146,7 +146,8 @@ export class KritzelSplitButton {
|
|
|
146
146
|
"IKritzelMenuItem": {
|
|
147
147
|
"location": "import",
|
|
148
148
|
"path": "../../../interfaces/menu-item.interface",
|
|
149
|
-
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem"
|
|
149
|
+
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem",
|
|
150
|
+
"referenceLocation": "IKritzelMenuItem"
|
|
150
151
|
}
|
|
151
152
|
}
|
|
152
153
|
},
|
|
@@ -243,7 +244,8 @@ export class KritzelSplitButton {
|
|
|
243
244
|
"IKritzelMenuItemSelectEvent": {
|
|
244
245
|
"location": "import",
|
|
245
246
|
"path": "../../../interfaces/menu-item.interface",
|
|
246
|
-
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItemSelectEvent"
|
|
247
|
+
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItemSelectEvent",
|
|
248
|
+
"referenceLocation": "IKritzelMenuItemSelectEvent"
|
|
247
249
|
}
|
|
248
250
|
}
|
|
249
251
|
}
|
|
@@ -264,7 +266,8 @@ export class KritzelSplitButton {
|
|
|
264
266
|
"IKritzelMenuItem": {
|
|
265
267
|
"location": "import",
|
|
266
268
|
"path": "../../../interfaces/menu-item.interface",
|
|
267
|
-
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem"
|
|
269
|
+
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem",
|
|
270
|
+
"referenceLocation": "IKritzelMenuItem"
|
|
268
271
|
}
|
|
269
272
|
}
|
|
270
273
|
}
|
|
@@ -285,7 +288,8 @@ export class KritzelSplitButton {
|
|
|
285
288
|
"IKritzelMenuItem": {
|
|
286
289
|
"location": "import",
|
|
287
290
|
"path": "../../../interfaces/menu-item.interface",
|
|
288
|
-
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem"
|
|
291
|
+
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem",
|
|
292
|
+
"referenceLocation": "IKritzelMenuItem"
|
|
289
293
|
}
|
|
290
294
|
}
|
|
291
295
|
}
|
|
@@ -306,7 +310,8 @@ export class KritzelSplitButton {
|
|
|
306
310
|
"IKritzelMenuItemToggleChildMenuEvent": {
|
|
307
311
|
"location": "import",
|
|
308
312
|
"path": "../../../interfaces/menu-item.interface",
|
|
309
|
-
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItemToggleChildMenuEvent"
|
|
313
|
+
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItemToggleChildMenuEvent",
|
|
314
|
+
"referenceLocation": "IKritzelMenuItemToggleChildMenuEvent"
|
|
310
315
|
}
|
|
311
316
|
}
|
|
312
317
|
}
|
|
@@ -327,7 +332,8 @@ export class KritzelSplitButton {
|
|
|
327
332
|
"IKritzelMenuItem": {
|
|
328
333
|
"location": "import",
|
|
329
334
|
"path": "../../../interfaces/menu-item.interface",
|
|
330
|
-
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem"
|
|
335
|
+
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem",
|
|
336
|
+
"referenceLocation": "IKritzelMenuItem"
|
|
331
337
|
}
|
|
332
338
|
}
|
|
333
339
|
}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: flex-start;
|
|
4
|
-
gap:
|
|
5
|
-
padding:
|
|
4
|
+
gap: 0;
|
|
5
|
+
padding: 0;
|
|
6
|
+
width: 100%;
|
|
6
7
|
box-sizing: border-box;
|
|
7
8
|
}
|
|
8
9
|
|
|
10
|
+
.size-grid {
|
|
11
|
+
width: 100%;
|
|
12
|
+
display: grid;
|
|
13
|
+
grid-template-columns: repeat(6, 32px);
|
|
14
|
+
gap: 8px;
|
|
15
|
+
justify-items: center;
|
|
16
|
+
}
|
|
17
|
+
|
|
9
18
|
.size-container {
|
|
10
19
|
display: flex;
|
|
11
20
|
justify-content: center;
|
|
@@ -8,10 +8,10 @@ export class KritzelStrokeSize {
|
|
|
8
8
|
this.sizeChange.emit(size);
|
|
9
9
|
}
|
|
10
10
|
render() {
|
|
11
|
-
return (h(Host, { key: '
|
|
11
|
+
return (h(Host, { key: '891f899a41844bba03305e3dd7cbf428d4471ff9' }, h("div", { key: '773a756d54d0632c9ea6b3aebb743abad2274244', class: "size-grid" }, this.sizes.map(size => (h("div", { tabIndex: 0, class: {
|
|
12
12
|
'size-container': true,
|
|
13
13
|
'selected': this.selectedSize === size,
|
|
14
|
-
}, onClick: () => this.handleSizeClick(size) }, h("kritzel-color", { value: '#000000', size: size }))))));
|
|
14
|
+
}, onClick: () => this.handleSizeClick(size) }, h("kritzel-color", { value: '#000000', size: size })))))));
|
|
15
15
|
}
|
|
16
16
|
static get is() { return "kritzel-stroke-size"; }
|
|
17
17
|
static get encapsulation() { return "shadow"; }
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
width: fit-content;
|
|
10
10
|
background-color: var(--kritzel-controls-tooltip-background-color, #ffffff);
|
|
11
11
|
color: var(--kritzel-controls-tooltip-color, #000000);
|
|
12
|
-
padding: var(--kritzel-controls-tooltip-padding,
|
|
12
|
+
padding: var(--kritzel-controls-tooltip-padding, 12px);
|
|
13
13
|
border-radius: var(--kritzel-controls-tooltip-border-radius, 16px);
|
|
14
14
|
white-space: nowrap;
|
|
15
15
|
box-shadow: var(--kritzel-controls-tooltip-box-shadow, 0 1px 6px rgba(0, 0, 0, 0.12));
|
|
@@ -11,8 +11,10 @@ export class KritzelTooltip {
|
|
|
11
11
|
handleOutsideClick(event) {
|
|
12
12
|
if (!this.isVisible)
|
|
13
13
|
return;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
// Check if click is inside the tooltip host or any of its shadow DOM content
|
|
15
|
+
const path = event.composedPath();
|
|
16
|
+
const isInsideTooltip = path.some(el => el === this.host);
|
|
17
|
+
if (!isInsideTooltip) {
|
|
16
18
|
this.tooltipClosed.emit();
|
|
17
19
|
}
|
|
18
20
|
}
|
|
@@ -62,14 +64,14 @@ export class KritzelTooltip {
|
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
render() {
|
|
65
|
-
return (h(Host, { key: '
|
|
67
|
+
return (h(Host, { key: '104ad4a160e4f47454955696e5f0e7a28873c3f5', style: {
|
|
66
68
|
position: 'fixed',
|
|
67
69
|
zIndex: '9999',
|
|
68
70
|
transition: 'opacity 0.3s ease-in-out, transform 0.3s ease-in-out',
|
|
69
71
|
visibility: this.isVisible ? 'visible' : 'hidden',
|
|
70
72
|
left: `${this.positionX}px`,
|
|
71
73
|
bottom: `${this.positionY}px`,
|
|
72
|
-
} }, h("div", { key: '
|
|
74
|
+
} }, h("div", { key: '283eec8d84ea29caefdb1f0c4f129c57d30bc133', class: "tooltip-content", onClick: event => event.stopPropagation(), onPointerDown: event => event.stopPropagation(), onMouseDown: event => event.stopPropagation() }, h("slot", { key: '1c6e2d9bcb69f8deec08b6c10384b4c7593babd3' }))));
|
|
73
75
|
}
|
|
74
76
|
static get is() { return "kritzel-tooltip"; }
|
|
75
77
|
static get encapsulation() { return "shadow"; }
|
|
@@ -107,7 +107,8 @@ export class KritzelContextMenu {
|
|
|
107
107
|
"ContextMenuItem": {
|
|
108
108
|
"location": "import",
|
|
109
109
|
"path": "../../../interfaces/context-menu-item.interface",
|
|
110
|
-
"id": "src/interfaces/context-menu-item.interface.ts::ContextMenuItem"
|
|
110
|
+
"id": "src/interfaces/context-menu-item.interface.ts::ContextMenuItem",
|
|
111
|
+
"referenceLocation": "ContextMenuItem"
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
},
|
|
@@ -130,7 +131,8 @@ export class KritzelContextMenu {
|
|
|
130
131
|
"KritzelBaseObject": {
|
|
131
132
|
"location": "import",
|
|
132
133
|
"path": "../../../classes/objects/base-object.class",
|
|
133
|
-
"id": "src/classes/objects/base-object.class.ts::KritzelBaseObject"
|
|
134
|
+
"id": "src/classes/objects/base-object.class.ts::KritzelBaseObject",
|
|
135
|
+
"referenceLocation": "KritzelBaseObject"
|
|
134
136
|
}
|
|
135
137
|
}
|
|
136
138
|
},
|
|
@@ -168,7 +170,8 @@ export class KritzelContextMenu {
|
|
|
168
170
|
"ContextMenuItem": {
|
|
169
171
|
"location": "import",
|
|
170
172
|
"path": "../../../interfaces/context-menu-item.interface",
|
|
171
|
-
"id": "src/interfaces/context-menu-item.interface.ts::ContextMenuItem"
|
|
173
|
+
"id": "src/interfaces/context-menu-item.interface.ts::ContextMenuItem",
|
|
174
|
+
"referenceLocation": "ContextMenuItem"
|
|
172
175
|
}
|
|
173
176
|
}
|
|
174
177
|
}
|