kritzel-stencil 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/kritzel-active-users_47.cjs.entry.js +79 -13
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/core/viewport.class.js +14 -1
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +48 -8
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +84 -3
- package/dist/collection/constants/version.js +1 -1
- package/dist/components/index.js +1226 -1
- package/dist/components/kritzel-active-users.js +6 -1
- package/dist/components/kritzel-avatar.js +6 -1
- package/dist/components/kritzel-awareness-cursors.js +6 -1
- package/dist/components/kritzel-back-to-content.js +6 -1
- package/dist/components/kritzel-brush-style.js +64 -1
- package/dist/components/kritzel-button.js +6 -1
- package/dist/components/kritzel-color-palette.js +6 -1
- package/dist/components/kritzel-color.js +6 -1
- package/dist/components/kritzel-context-menu.js +6 -1
- package/dist/components/kritzel-controls.js +6 -1
- package/dist/components/kritzel-current-user-dialog.js +6 -1
- package/dist/components/kritzel-current-user.js +6 -1
- package/dist/components/kritzel-cursor-trail.js +6 -1
- package/dist/components/kritzel-dialog.js +6 -1
- package/dist/components/kritzel-dropdown.js +6 -1
- package/dist/components/kritzel-editor.js +4404 -1
- package/dist/components/kritzel-engine.js +6 -1
- package/dist/components/kritzel-export.js +6 -1
- package/dist/components/kritzel-font-family.js +6 -1
- package/dist/components/kritzel-font-size.js +6 -1
- package/dist/components/kritzel-font.js +6 -1
- package/dist/components/kritzel-icon.js +6 -1
- package/dist/components/kritzel-input.js +6 -1
- package/dist/components/kritzel-line-endings.js +6 -1
- package/dist/components/kritzel-loading-overlay.js +6 -1
- package/dist/components/kritzel-login-dialog.js +6 -1
- package/dist/components/kritzel-master-detail.js +6 -1
- package/dist/components/kritzel-menu-item.js +6 -1
- package/dist/components/kritzel-menu.js +6 -1
- package/dist/components/kritzel-more-menu.js +6 -1
- package/dist/components/kritzel-notification-card.js +6 -1
- package/dist/components/kritzel-numeric-input.js +6 -1
- package/dist/components/kritzel-opacity-slider.js +6 -1
- package/dist/components/kritzel-pill-tabs.js +6 -1
- package/dist/components/kritzel-portal.js +6 -1
- package/dist/components/kritzel-settings.js +6 -1
- package/dist/components/kritzel-shape-fill.js +6 -1
- package/dist/components/kritzel-share-dialog.js +6 -1
- package/dist/components/kritzel-slide-toggle.js +6 -1
- package/dist/components/kritzel-split-button.js +6 -1
- package/dist/components/kritzel-stroke-size.js +6 -1
- package/dist/components/kritzel-sync-indicator.js +6 -1
- package/dist/components/kritzel-tool-config.js +6 -1
- package/dist/components/kritzel-tooltip.js +6 -1
- package/dist/components/kritzel-utility-panel.js +6 -1
- package/dist/components/kritzel-watermark.js +6 -1
- package/dist/components/kritzel-workspace-manager.js +6 -1
- package/dist/components/kritzel-zoom-panel.js +6 -1
- package/dist/components/p-894OnDQV.js +39 -1
- package/dist/components/p-B43upypT.js +1500 -1
- package/dist/components/p-B5oHmPJb.js +97 -1
- package/dist/components/p-B6t5q-V4.js +63 -1
- package/dist/components/p-B8Xi4Clg.js +43 -1
- package/dist/components/p-BBmP8lVY.js +51726 -0
- package/dist/components/p-BDzlx2hB.js +135 -1
- package/dist/components/p-BFTU3MAI.js +7 -1
- package/dist/components/p-BFYtCsZu.js +56 -1
- package/dist/components/p-BI2ng9I_.js +62 -1
- package/dist/components/p-BTzlrIxe.js +194 -1
- package/dist/components/p-BmyTdQGy.js +1090 -1
- package/dist/components/p-BsANVili.js +150 -1
- package/dist/components/p-BxpKq94F.js +290 -1
- package/dist/components/p-C38P-Vd0.js +446 -1
- package/dist/components/p-C4NrrUfN.js +77 -1
- package/dist/components/p-CW-VyJgK.js +6 -1
- package/dist/components/p-CWRSGYOE.js +57 -1
- package/dist/components/p-CXpv9Rxe.js +106 -1
- package/dist/components/p-Ca-igU1f.js +320 -1
- package/dist/components/p-CdR76C4L.js +165 -1
- package/dist/components/p-Ch42cOeY.js +320 -0
- package/dist/components/p-ClFprFvz.js +209 -1
- package/dist/components/p-Cm33td2O.js +122 -1
- package/dist/components/p-CqLgB8JK.js +91 -1
- package/dist/components/p-Cr682JI_.js +156 -1
- package/dist/components/p-CsvMgk_f.js +62 -1
- package/dist/components/p-CwJwsRR3.js +277 -1
- package/dist/components/p-Cymum41a.js +88 -1
- package/dist/components/p-D09kgc5Q.js +94 -1
- package/dist/components/p-D30zs0kA.js +121 -1
- package/dist/components/p-D3y_Hauo.js +85 -1
- package/dist/components/p-D5jf8wAu.js +142 -1
- package/dist/components/p-D82VaHce.js +53 -1
- package/dist/components/p-DAwPPDMS.js +101 -1
- package/dist/components/p-DEBwmRTC.js +55 -1
- package/dist/components/p-DIazmg6w.js +52 -1
- package/dist/components/p-DJ88BrIW.js +70 -1
- package/dist/components/p-DJkKlUyZ.js +182 -1
- package/dist/components/p-DUYmwrWV.js +3267 -1
- package/dist/components/p-DX2nriaq.js +486 -1
- package/dist/components/p-Dd-pMvlr.js +20 -1
- package/dist/components/p-Df3BwVGy.js +299 -1
- package/dist/components/p-DgJ0ufzr.js +43 -1
- package/dist/components/p-DkUb2czk.js +70 -1
- package/dist/components/p-Dlp84thc.js +57 -1
- package/dist/components/p-JYj3Facr.js +431 -1
- package/dist/components/p-Ka7OWbnk.js +2304 -1
- package/dist/components/p-PSFAfAyd.js +49 -1
- package/dist/components/p-WUdQqYnu.js +118 -1
- package/dist/components/p-djJSnjAX.js +84 -1
- package/dist/components/p-e6Zpc9Vp.js +143 -1
- package/dist/components/p-jGOpkGDl.js +30 -1
- package/dist/components/p-pagW8YF7.js +99 -1
- package/dist/esm/kritzel-active-users_47.entry.js +79 -13
- package/dist/esm/loader.js +1 -1
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +1172 -1
- package/dist/stencil/p-5b969a42.entry.js +36109 -0
- package/dist/stencil/p-DQuL1Twl.js +3 -1
- package/dist/stencil/p-Dhio9uis.js +1717 -2
- package/dist/stencil/p-fb32cd8f.entry.js +29 -1
- package/dist/stencil/p-uC7_X6yr.js +30737 -1
- package/dist/stencil/stencil.esm.js +21 -1
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +2 -0
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +7 -0
- package/dist/types/components.d.ts +10 -0
- package/dist/types/constants/version.d.ts +1 -1
- package/package.json +1 -1
- package/dist/components/p--Oazz-BP.js +0 -9
- package/dist/components/p-Xsiz1D5Q.js +0 -1
- package/dist/stencil/p-9abc21b9.entry.js +0 -9
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
|
|
2
|
+
import { a as CURRENT_WORKSPACE_SCHEMA_VERSION, C as CURRENT_APP_STATE_SCHEMA_VERSION } from './p-CW-VyJgK.js';
|
|
3
|
+
import { d as defineCustomElement$6 } from './p-DX2nriaq.js';
|
|
4
|
+
import { d as defineCustomElement$5 } from './p-Df3BwVGy.js';
|
|
5
|
+
import { d as defineCustomElement$4 } from './p-CdR76C4L.js';
|
|
6
|
+
import { d as defineCustomElement$3 } from './p-BsANVili.js';
|
|
7
|
+
import { d as defineCustomElement$2 } from './p-BDzlx2hB.js';
|
|
8
|
+
import { d as defineCustomElement$1 } from './p-CWRSGYOE.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The current version of the Kritzel library.
|
|
12
|
+
* This file is auto-generated by the version bump scripts.
|
|
13
|
+
* Do not modify manually.
|
|
14
|
+
*/
|
|
15
|
+
const KRITZEL_VERSION = '0.4.6';
|
|
16
|
+
|
|
17
|
+
const kritzelSettingsCss = () => `:host{display:contents}kritzel-dialog{--kritzel-dialog-body-padding:0;--kritzel-dialog-width-large:800px;--kritzel-dialog-height-large:500px}.footer-button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.cancel-button{border:1px solid #ebebeb;background:#fff;color:inherit}.cancel-button:hover{background:#f5f5f5}.settings-content{padding:0}.settings-content h3{margin:0 0 16px 0;font-size:18px;font-weight:600;color:var(--kritzel-settings-content-heading-color, #333333)}.settings-content p{margin:0;font-size:14px;color:var(--kritzel-settings-content-text-color, #666666);line-height:1.5}.settings-group{display:flex;flex-direction:column;gap:24px}.settings-item{display:flex;flex-direction:column;gap:8px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-label{font-size:14px;font-weight:600;color:var(--kritzel-settings-label-color, #333333);margin:0 0 4px 0}.settings-description{font-size:12px;color:var(--kritzel-settings-description-color, #888888);margin:0;line-height:1.4}.shortcuts-list{display:flex;flex-direction:column;gap:24px}.shortcuts-category{display:flex;flex-direction:column;gap:8px}.shortcuts-category-title{font-size:14px;font-weight:600;color:var(--kritzel-settings-label-color, #333333);margin:0 0 4px 0}.shortcuts-group{display:flex;flex-direction:column;gap:4px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;background:var(--kritzel-settings-shortcut-item-bg, rgba(0, 0, 0, 0.02))}.shortcut-label{font-size:14px;color:var(--kritzel-settings-content-text-color, #666666)}.shortcut-key{font-family:monospace;font-size:12px;padding:2px 8px;border-radius:4px;background:var(--kritzel-settings-shortcut-key-bg, #f0f0f0);color:var(--kritzel-settings-shortcut-key-color, #333333);border:1px solid var(--kritzel-settings-shortcut-key-border, #ddd)}`;
|
|
18
|
+
|
|
19
|
+
const DEFAULT_SCALE_MIN = 0.0001;
|
|
20
|
+
const DEFAULT_SCALE_MAX = 1000;
|
|
21
|
+
const DEFAULT_LOCK_DRAWING_SCALE = true;
|
|
22
|
+
const DEFAULT_VIEWPORT_BOUNDARY_LEFT = -Infinity;
|
|
23
|
+
const DEFAULT_VIEWPORT_BOUNDARY_RIGHT = Infinity;
|
|
24
|
+
const DEFAULT_VIEWPORT_BOUNDARY_TOP = -Infinity;
|
|
25
|
+
const DEFAULT_VIEWPORT_BOUNDARY_BOTTOM = Infinity;
|
|
26
|
+
const DEFAULT_DEBUG_INFO = {
|
|
27
|
+
showViewportInfo: false,
|
|
28
|
+
showObjectInfo: false,
|
|
29
|
+
showSyncProviderInfo: true,
|
|
30
|
+
showMigrationInfo: true,
|
|
31
|
+
showAssetResolverInfo: false,
|
|
32
|
+
};
|
|
33
|
+
const SETTINGS_CATEGORY_IDS = ['general', 'viewport', 'shortcuts', 'developer', 'about'];
|
|
34
|
+
const KritzelSettings = /*@__PURE__*/ proxyCustomElement(class KritzelSettings extends H {
|
|
35
|
+
constructor(registerHost) {
|
|
36
|
+
super();
|
|
37
|
+
if (registerHost !== false) {
|
|
38
|
+
this.__registerHost();
|
|
39
|
+
}
|
|
40
|
+
this.__attachShadow();
|
|
41
|
+
this.settingsChange = createEvent(this, "settingsChange");
|
|
42
|
+
}
|
|
43
|
+
get host() { return this; }
|
|
44
|
+
/** Keyboard shortcuts to display in the settings dialog */
|
|
45
|
+
availableThemes = ['light', 'dark'];
|
|
46
|
+
/** Available locales as `{ code, label }` options for the language selector. */
|
|
47
|
+
availableLocales = [];
|
|
48
|
+
shortcuts = [];
|
|
49
|
+
/** Resolved localized strings keyed by term key, supplied by the editor. */
|
|
50
|
+
terms = {};
|
|
51
|
+
/** Current settings values. Used to initialize and sync the component's internal state. */
|
|
52
|
+
settings;
|
|
53
|
+
onSettingsPropChange(newSettings) {
|
|
54
|
+
if (newSettings) {
|
|
55
|
+
this.applySettings(newSettings);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
isDialogOpen = false;
|
|
59
|
+
selectedCategoryId = SETTINGS_CATEGORY_IDS[0];
|
|
60
|
+
scaleMin = DEFAULT_SCALE_MIN;
|
|
61
|
+
scaleMax = DEFAULT_SCALE_MAX;
|
|
62
|
+
lockDrawingScale = DEFAULT_LOCK_DRAWING_SCALE;
|
|
63
|
+
theme = 'light';
|
|
64
|
+
locale = 'en';
|
|
65
|
+
viewportBoundaryLeft = DEFAULT_VIEWPORT_BOUNDARY_LEFT;
|
|
66
|
+
viewportBoundaryRight = DEFAULT_VIEWPORT_BOUNDARY_RIGHT;
|
|
67
|
+
viewportBoundaryTop = DEFAULT_VIEWPORT_BOUNDARY_TOP;
|
|
68
|
+
viewportBoundaryBottom = DEFAULT_VIEWPORT_BOUNDARY_BOTTOM;
|
|
69
|
+
debugInfo = { ...DEFAULT_DEBUG_INFO };
|
|
70
|
+
/** Emitted when settings change */
|
|
71
|
+
settingsChange;
|
|
72
|
+
componentWillLoad() {
|
|
73
|
+
if (this.settings) {
|
|
74
|
+
this.applySettings(this.settings);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
applySettings(settings) {
|
|
78
|
+
if (typeof settings.scaleMin === 'number') {
|
|
79
|
+
this.scaleMin = settings.scaleMin;
|
|
80
|
+
}
|
|
81
|
+
if (typeof settings.scaleMax === 'number') {
|
|
82
|
+
this.scaleMax = settings.scaleMax;
|
|
83
|
+
}
|
|
84
|
+
if (typeof settings.lockDrawingScale === 'boolean') {
|
|
85
|
+
this.lockDrawingScale = settings.lockDrawingScale;
|
|
86
|
+
}
|
|
87
|
+
if (typeof settings.theme === 'string') {
|
|
88
|
+
this.theme = settings.theme;
|
|
89
|
+
}
|
|
90
|
+
if (typeof settings.locale === 'string') {
|
|
91
|
+
this.locale = settings.locale;
|
|
92
|
+
}
|
|
93
|
+
if (typeof settings.viewportBoundaryLeft === 'number') {
|
|
94
|
+
this.viewportBoundaryLeft = settings.viewportBoundaryLeft;
|
|
95
|
+
}
|
|
96
|
+
if (typeof settings.viewportBoundaryRight === 'number') {
|
|
97
|
+
this.viewportBoundaryRight = settings.viewportBoundaryRight;
|
|
98
|
+
}
|
|
99
|
+
if (typeof settings.viewportBoundaryTop === 'number') {
|
|
100
|
+
this.viewportBoundaryTop = settings.viewportBoundaryTop;
|
|
101
|
+
}
|
|
102
|
+
if (typeof settings.viewportBoundaryBottom === 'number') {
|
|
103
|
+
this.viewportBoundaryBottom = settings.viewportBoundaryBottom;
|
|
104
|
+
}
|
|
105
|
+
if (settings.debugInfo) {
|
|
106
|
+
this.debugInfo = { ...DEFAULT_DEBUG_INFO, ...settings.debugInfo };
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
emitSettings() {
|
|
110
|
+
const settings = {
|
|
111
|
+
scaleMin: this.scaleMin,
|
|
112
|
+
scaleMax: this.scaleMax,
|
|
113
|
+
lockDrawingScale: this.lockDrawingScale,
|
|
114
|
+
theme: this.theme,
|
|
115
|
+
locale: this.locale,
|
|
116
|
+
viewportBoundaryLeft: this.viewportBoundaryLeft,
|
|
117
|
+
viewportBoundaryRight: this.viewportBoundaryRight,
|
|
118
|
+
viewportBoundaryTop: this.viewportBoundaryTop,
|
|
119
|
+
viewportBoundaryBottom: this.viewportBoundaryBottom,
|
|
120
|
+
debugInfo: this.debugInfo,
|
|
121
|
+
};
|
|
122
|
+
this.settingsChange.emit(settings);
|
|
123
|
+
}
|
|
124
|
+
handleScaleMinChange = (event) => {
|
|
125
|
+
this.scaleMin = event.detail;
|
|
126
|
+
this.emitSettings();
|
|
127
|
+
};
|
|
128
|
+
handleScaleMaxChange = (event) => {
|
|
129
|
+
this.scaleMax = event.detail;
|
|
130
|
+
this.emitSettings();
|
|
131
|
+
};
|
|
132
|
+
handleLockDrawingScaleChange = (event) => {
|
|
133
|
+
this.lockDrawingScale = event.detail;
|
|
134
|
+
this.emitSettings();
|
|
135
|
+
};
|
|
136
|
+
handleThemeChange = (event) => {
|
|
137
|
+
this.theme = event.detail;
|
|
138
|
+
this.emitSettings();
|
|
139
|
+
};
|
|
140
|
+
handleLocaleChange = (event) => {
|
|
141
|
+
this.locale = event.detail;
|
|
142
|
+
this.emitSettings();
|
|
143
|
+
};
|
|
144
|
+
handleViewportBoundaryLeftChange = (event) => {
|
|
145
|
+
this.viewportBoundaryLeft = event.detail ?? DEFAULT_VIEWPORT_BOUNDARY_LEFT;
|
|
146
|
+
this.emitSettings();
|
|
147
|
+
};
|
|
148
|
+
handleViewportBoundaryRightChange = (event) => {
|
|
149
|
+
this.viewportBoundaryRight = event.detail ?? DEFAULT_VIEWPORT_BOUNDARY_RIGHT;
|
|
150
|
+
this.emitSettings();
|
|
151
|
+
};
|
|
152
|
+
handleViewportBoundaryTopChange = (event) => {
|
|
153
|
+
this.viewportBoundaryTop = event.detail ?? DEFAULT_VIEWPORT_BOUNDARY_TOP;
|
|
154
|
+
this.emitSettings();
|
|
155
|
+
};
|
|
156
|
+
handleViewportBoundaryBottomChange = (event) => {
|
|
157
|
+
this.viewportBoundaryBottom = event.detail ?? DEFAULT_VIEWPORT_BOUNDARY_BOTTOM;
|
|
158
|
+
this.emitSettings();
|
|
159
|
+
};
|
|
160
|
+
handleDebugInfoChange = (key) => (event) => {
|
|
161
|
+
this.debugInfo = { ...this.debugInfo, [key]: event.detail };
|
|
162
|
+
this.emitSettings();
|
|
163
|
+
};
|
|
164
|
+
async open() {
|
|
165
|
+
this.isDialogOpen = true;
|
|
166
|
+
}
|
|
167
|
+
closeDialog = () => {
|
|
168
|
+
this.isDialogOpen = false;
|
|
169
|
+
};
|
|
170
|
+
handleCategorySelect = (event) => {
|
|
171
|
+
this.selectedCategoryId = event.detail.item.id;
|
|
172
|
+
};
|
|
173
|
+
formatKeyCombo(shortcut) {
|
|
174
|
+
const parts = [];
|
|
175
|
+
if (shortcut.ctrl)
|
|
176
|
+
parts.push('Ctrl');
|
|
177
|
+
if (shortcut.shift)
|
|
178
|
+
parts.push('Shift');
|
|
179
|
+
parts.push(this.formatKey(shortcut.key));
|
|
180
|
+
return parts.join('+');
|
|
181
|
+
}
|
|
182
|
+
formatKey(key) {
|
|
183
|
+
const keyMap = {
|
|
184
|
+
'Escape': 'Esc',
|
|
185
|
+
'Delete': 'Del',
|
|
186
|
+
' ': 'Space',
|
|
187
|
+
};
|
|
188
|
+
return keyMap[key] ?? key.toUpperCase();
|
|
189
|
+
}
|
|
190
|
+
groupShortcutsByCategory() {
|
|
191
|
+
const grouped = new Map();
|
|
192
|
+
for (const shortcut of this.shortcuts) {
|
|
193
|
+
const existing = grouped.get(shortcut.category) || [];
|
|
194
|
+
existing.push(shortcut);
|
|
195
|
+
grouped.set(shortcut.category, existing);
|
|
196
|
+
}
|
|
197
|
+
return grouped;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Resolves a localized string from the supplied {@link terms} map, falling
|
|
201
|
+
* back to the provided English default when the key is missing.
|
|
202
|
+
*/
|
|
203
|
+
t(key, fallback) {
|
|
204
|
+
return this.terms[key] ?? fallback;
|
|
205
|
+
}
|
|
206
|
+
get categories() {
|
|
207
|
+
const icons = {
|
|
208
|
+
general: 'settings',
|
|
209
|
+
viewport: 'viewport',
|
|
210
|
+
shortcuts: 'command',
|
|
211
|
+
developer: 'braces',
|
|
212
|
+
about: 'info',
|
|
213
|
+
};
|
|
214
|
+
const labels = {
|
|
215
|
+
general: { key: 'settings.categories.general', fallback: 'General' },
|
|
216
|
+
viewport: { key: 'settings.categories.viewport', fallback: 'Viewport' },
|
|
217
|
+
shortcuts: { key: 'settings.categories.shortcuts', fallback: 'Keyboard Shortcuts' },
|
|
218
|
+
developer: { key: 'settings.categories.developer', fallback: 'Developer Options' },
|
|
219
|
+
about: { key: 'settings.categories.about', fallback: 'About' },
|
|
220
|
+
};
|
|
221
|
+
return SETTINGS_CATEGORY_IDS.map(id => ({
|
|
222
|
+
id,
|
|
223
|
+
label: this.t(labels[id].key, labels[id].fallback),
|
|
224
|
+
icon: icons[id],
|
|
225
|
+
}));
|
|
226
|
+
}
|
|
227
|
+
renderCategoryContent() {
|
|
228
|
+
switch (this.selectedCategoryId) {
|
|
229
|
+
case 'general':
|
|
230
|
+
return (h("div", { class: "settings-content" }, h("h3", null, this.t('settings.general.title', 'General Settings')), h("div", { class: "settings-group" }, h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.general.theme.label', 'Theme')), h("p", { class: "settings-description" }, this.t('settings.general.theme.description', 'Select a registered color theme for the editor interface.')), h("kritzel-dropdown", { options: this.availableThemes.map(t => ({ value: t, label: t })), value: this.theme, onValueChanged: this.handleThemeChange })), this.availableLocales.length > 0 && (h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.general.language.label', 'Language')), h("p", { class: "settings-description" }, this.t('settings.general.language.description', 'Select the display language for the editor interface.')), h("kritzel-dropdown", { options: this.availableLocales.map(l => ({ value: l.code, label: l.label })), value: this.locale, onValueChanged: this.handleLocaleChange }))), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.general.lockDrawingScale.label', 'Lock Drawing Scale')), h("p", { class: "settings-description" }, this.t('settings.general.lockDrawingScale.description', 'When enabled, drawn objects maintain a fixed visual size regardless of the current zoom level.')), h("kritzel-slide-toggle", { checked: this.lockDrawingScale, label: this.t('settings.general.lockDrawingScale.label', 'Lock Drawing Scale'), onCheckedChange: this.handleLockDrawingScaleChange })))));
|
|
231
|
+
case 'viewport':
|
|
232
|
+
return (h("div", { class: "settings-content" }, h("h3", null, this.t('settings.viewport.title', 'Viewport Settings')), h("div", { class: "settings-group" }, h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.viewport.minZoom.label', 'Minimum Zoom Level')), h("p", { class: "settings-description" }, this.t('settings.viewport.minZoom.description', 'Sets the minimum zoom level. Lower values allow zooming out further to see more of the canvas.')), h("kritzel-numeric-input", { value: this.scaleMin, min: 0.0001, max: 1, step: 0.0001, onValueChange: this.handleScaleMinChange })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.viewport.maxZoom.label', 'Maximum Zoom Level')), h("p", { class: "settings-description" }, this.t('settings.viewport.maxZoom.description', 'Sets the maximum zoom level. Higher values allow zooming in closer for detailed work.')), h("kritzel-numeric-input", { value: this.scaleMax, min: 1, max: 1000, step: 1, onValueChange: this.handleScaleMaxChange })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.viewport.boundaryLeft.label', 'Viewport Boundary Left')), h("p", { class: "settings-description" }, this.t('settings.viewport.boundaryLeft.description', 'Left boundary in world coordinates. Set to limit how far left the viewport can pan.')), h("kritzel-numeric-input", { value: this.viewportBoundaryLeft, step: 100, placeholder: this.t('settings.viewport.boundaryPlaceholder', 'Infinite'), onValueChange: this.handleViewportBoundaryLeftChange })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.viewport.boundaryRight.label', 'Viewport Boundary Right')), h("p", { class: "settings-description" }, this.t('settings.viewport.boundaryRight.description', 'Right boundary in world coordinates. Set to limit how far right the viewport can pan.')), h("kritzel-numeric-input", { value: this.viewportBoundaryRight, step: 100, placeholder: this.t('settings.viewport.boundaryPlaceholder', 'Infinite'), onValueChange: this.handleViewportBoundaryRightChange })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.viewport.boundaryTop.label', 'Viewport Boundary Top')), h("p", { class: "settings-description" }, this.t('settings.viewport.boundaryTop.description', 'Top boundary in world coordinates. Set to limit how far up the viewport can pan.')), h("kritzel-numeric-input", { value: this.viewportBoundaryTop, step: 100, placeholder: this.t('settings.viewport.boundaryPlaceholder', 'Infinite'), onValueChange: this.handleViewportBoundaryTopChange })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.viewport.boundaryBottom.label', 'Viewport Boundary Bottom')), h("p", { class: "settings-description" }, this.t('settings.viewport.boundaryBottom.description', 'Bottom boundary in world coordinates. Set to limit how far down the viewport can pan.')), h("kritzel-numeric-input", { value: this.viewportBoundaryBottom, step: 100, placeholder: this.t('settings.viewport.boundaryPlaceholder', 'Infinite'), onValueChange: this.handleViewportBoundaryBottomChange })))));
|
|
233
|
+
case 'shortcuts':
|
|
234
|
+
return (h("div", { class: "settings-content" }, h("h3", null, this.t('settings.shortcuts.title', 'Keyboard Shortcuts')), h("div", { class: "shortcuts-list" }, Array.from(this.groupShortcutsByCategory()).map(([category, shortcuts]) => (h("div", { class: "shortcuts-category", key: category }, h("h4", { class: "shortcuts-category-title" }, category), h("div", { class: "shortcuts-group" }, shortcuts.map(shortcut => (h("div", { class: "shortcut-item", key: shortcut.key + shortcut.label }, h("span", { class: "shortcut-label" }, shortcut.label), h("kbd", { class: "shortcut-key" }, this.formatKeyCombo(shortcut))))))))))));
|
|
235
|
+
case 'developer':
|
|
236
|
+
return (h("div", { class: "settings-content" }, h("h3", null, this.t('settings.developer.title', 'Developer Options')), h("div", { class: "settings-group" }, h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.developer.showViewportInfo.label', 'Show Viewport Info')), h("p", { class: "settings-description" }, this.t('settings.developer.showViewportInfo.description', 'Display viewport debug information such as position, zoom level, and boundaries.')), h("kritzel-slide-toggle", { checked: this.debugInfo.showViewportInfo, label: this.t('settings.developer.showViewportInfo.label', 'Show Viewport Info'), onCheckedChange: this.handleDebugInfoChange('showViewportInfo') })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.developer.showObjectInfo.label', 'Show Object Info')), h("p", { class: "settings-description" }, this.t('settings.developer.showObjectInfo.description', 'Display debug information about objects on the canvas.')), h("kritzel-slide-toggle", { checked: this.debugInfo.showObjectInfo, label: this.t('settings.developer.showObjectInfo.label', 'Show Object Info'), onCheckedChange: this.handleDebugInfoChange('showObjectInfo') })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.developer.showSyncProviderInfo.label', 'Show Sync Provider Info')), h("p", { class: "settings-description" }, this.t('settings.developer.showSyncProviderInfo.description', 'Display debug information about the sync provider connection status.')), h("kritzel-slide-toggle", { checked: this.debugInfo.showSyncProviderInfo, label: this.t('settings.developer.showSyncProviderInfo.label', 'Show Sync Provider Info'), onCheckedChange: this.handleDebugInfoChange('showSyncProviderInfo') })), h("div", { class: "settings-item" }, h("label", { class: "settings-label" }, this.t('settings.developer.showMigrationInfo.label', 'Show Migration Info')), h("p", { class: "settings-description" }, this.t('settings.developer.showMigrationInfo.description', 'Display debug information about data migrations.')), h("kritzel-slide-toggle", { checked: this.debugInfo.showMigrationInfo, label: this.t('settings.developer.showMigrationInfo.label', 'Show Migration Info'), onCheckedChange: this.handleDebugInfoChange('showMigrationInfo') })))));
|
|
237
|
+
case 'about':
|
|
238
|
+
return (h("div", { class: "settings-content" }, h("h3", null, this.t('settings.about.title', 'About')), h("p", null, this.t('settings.about.description', 'Kritzel - A drawing application')), h("p", { class: "version-info" }, "Version ", KRITZEL_VERSION), h("p", { class: "version-info" }, "App-State Schema v", CURRENT_APP_STATE_SCHEMA_VERSION), h("p", { class: "version-info" }, "Workspace Schema v", CURRENT_WORKSPACE_SCHEMA_VERSION)));
|
|
239
|
+
default:
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
render() {
|
|
244
|
+
return (h(Host, { key: '1fb0bca35cb20633f017a927d39e2a66ebfb403b' }, h("kritzel-dialog", { key: '6366a8d8e7f65ef3f715248db3dc7c7e36dd3f4a', isOpen: this.isDialogOpen, dialogTitle: this.t('settings.dialogTitle', 'Settings'), size: "large", contained: true, onDialogClose: this.closeDialog }, h("kritzel-master-detail", { key: '2f4891d1ef0b3f130c591790b2e53e7264a61145', items: this.categories, selectedItemId: this.selectedCategoryId, onItemSelect: this.handleCategorySelect }, this.renderCategoryContent()))));
|
|
245
|
+
}
|
|
246
|
+
static get watchers() { return {
|
|
247
|
+
"settings": [{
|
|
248
|
+
"onSettingsPropChange": 0
|
|
249
|
+
}]
|
|
250
|
+
}; }
|
|
251
|
+
static get style() { return kritzelSettingsCss(); }
|
|
252
|
+
}, [513, "kritzel-settings", {
|
|
253
|
+
"availableThemes": [16],
|
|
254
|
+
"availableLocales": [16],
|
|
255
|
+
"shortcuts": [16],
|
|
256
|
+
"terms": [16],
|
|
257
|
+
"settings": [16],
|
|
258
|
+
"isDialogOpen": [32],
|
|
259
|
+
"selectedCategoryId": [32],
|
|
260
|
+
"scaleMin": [32],
|
|
261
|
+
"scaleMax": [32],
|
|
262
|
+
"lockDrawingScale": [32],
|
|
263
|
+
"theme": [32],
|
|
264
|
+
"locale": [32],
|
|
265
|
+
"viewportBoundaryLeft": [32],
|
|
266
|
+
"viewportBoundaryRight": [32],
|
|
267
|
+
"viewportBoundaryTop": [32],
|
|
268
|
+
"viewportBoundaryBottom": [32],
|
|
269
|
+
"debugInfo": [32],
|
|
270
|
+
"open": [64]
|
|
271
|
+
}, undefined, {
|
|
272
|
+
"settings": [{
|
|
273
|
+
"onSettingsPropChange": 0
|
|
274
|
+
}]
|
|
275
|
+
}]);
|
|
276
|
+
function defineCustomElement() {
|
|
277
|
+
if (typeof customElements === "undefined") {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
const components = ["kritzel-settings", "kritzel-dialog", "kritzel-dropdown", "kritzel-icon", "kritzel-master-detail", "kritzel-numeric-input", "kritzel-slide-toggle"];
|
|
281
|
+
components.forEach(tagName => { switch (tagName) {
|
|
282
|
+
case "kritzel-settings":
|
|
283
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
284
|
+
customElements.define(transformTag(tagName), KritzelSettings);
|
|
285
|
+
}
|
|
286
|
+
break;
|
|
287
|
+
case "kritzel-dialog":
|
|
288
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
289
|
+
defineCustomElement$6();
|
|
290
|
+
}
|
|
291
|
+
break;
|
|
292
|
+
case "kritzel-dropdown":
|
|
293
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
294
|
+
defineCustomElement$5();
|
|
295
|
+
}
|
|
296
|
+
break;
|
|
297
|
+
case "kritzel-icon":
|
|
298
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
299
|
+
defineCustomElement$4();
|
|
300
|
+
}
|
|
301
|
+
break;
|
|
302
|
+
case "kritzel-master-detail":
|
|
303
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
304
|
+
defineCustomElement$3();
|
|
305
|
+
}
|
|
306
|
+
break;
|
|
307
|
+
case "kritzel-numeric-input":
|
|
308
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
309
|
+
defineCustomElement$2();
|
|
310
|
+
}
|
|
311
|
+
break;
|
|
312
|
+
case "kritzel-slide-toggle":
|
|
313
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
314
|
+
defineCustomElement$1();
|
|
315
|
+
}
|
|
316
|
+
break;
|
|
317
|
+
} });
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
export { KritzelSettings as K, defineCustomElement as d };
|
|
@@ -1 +1,209 @@
|
|
|
1
|
-
import{p as
|
|
1
|
+
import { p as proxyCustomElement, H, c as createEvent, h, d as Host, t as transformTag } from './p-B43upypT.js';
|
|
2
|
+
import { K as KritzelWorkspace } from './p-DAwPPDMS.js';
|
|
3
|
+
import { O as ObjectHelper } from './p-Dd-pMvlr.js';
|
|
4
|
+
import { d as defineCustomElement$5 } from './p-CdR76C4L.js';
|
|
5
|
+
import { d as defineCustomElement$3, a as defineCustomElement$4 } from './p-CwJwsRR3.js';
|
|
6
|
+
import { d as defineCustomElement$2 } from './p-Ca-igU1f.js';
|
|
7
|
+
import { d as defineCustomElement$1 } from './p-Cr682JI_.js';
|
|
8
|
+
|
|
9
|
+
const kritzelWorkspaceManagerCss = () => `:host{display:flex;flex-direction:column;z-index:1}.manager{opacity:0;pointer-events:none;transition:opacity 0.2s ease-out}.manager.visible{opacity:1;pointer-events:auto}`;
|
|
10
|
+
|
|
11
|
+
const KritzelWorkspaceManager = /*@__PURE__*/ proxyCustomElement(class KritzelWorkspaceManager extends H {
|
|
12
|
+
constructor(registerHost) {
|
|
13
|
+
super();
|
|
14
|
+
if (registerHost !== false) {
|
|
15
|
+
this.__registerHost();
|
|
16
|
+
}
|
|
17
|
+
this.__attachShadow();
|
|
18
|
+
this.isWorkspaceManagerReady = createEvent(this, "isWorkspaceManagerReady");
|
|
19
|
+
this.workspaceChange = createEvent(this, "workspaceChange");
|
|
20
|
+
}
|
|
21
|
+
get host() { return this; }
|
|
22
|
+
/**
|
|
23
|
+
* Whether the workspace manager is visible
|
|
24
|
+
*/
|
|
25
|
+
visible = false;
|
|
26
|
+
activeWorkspace;
|
|
27
|
+
workspaces = [];
|
|
28
|
+
/** Resolved localized strings keyed by term key, supplied by the editor. */
|
|
29
|
+
terms = {};
|
|
30
|
+
isWorkspaceManagerReady;
|
|
31
|
+
workspaceChange;
|
|
32
|
+
childMenuAnchor = null;
|
|
33
|
+
openChildMenuItem = null;
|
|
34
|
+
newWorkspace = null;
|
|
35
|
+
editingItemId = null;
|
|
36
|
+
handleWheel(event) {
|
|
37
|
+
if (event.ctrlKey) {
|
|
38
|
+
event.preventDefault();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
kritzelEngineRef = null;
|
|
42
|
+
splitButtonRef;
|
|
43
|
+
get sortedWorkspaces() {
|
|
44
|
+
return [this.newWorkspace, ...this.workspaces].filter(ws => ws != null).sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());
|
|
45
|
+
}
|
|
46
|
+
async componentWillLoad() {
|
|
47
|
+
await this.initializeEngine();
|
|
48
|
+
this.isWorkspaceManagerReady.emit();
|
|
49
|
+
}
|
|
50
|
+
async initializeEngine() {
|
|
51
|
+
await customElements.whenDefined('kritzel-engine');
|
|
52
|
+
// Search for kritzel-engine in the closest kritzel-editor ancestor
|
|
53
|
+
const editor = this.host.closest('kritzel-editor');
|
|
54
|
+
this.kritzelEngineRef = editor?.querySelector('kritzel-engine') ?? null;
|
|
55
|
+
if (!this.kritzelEngineRef) {
|
|
56
|
+
console.warn('kritzel-engine not found in kritzel-editor.');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async select(item, parent) {
|
|
60
|
+
if (this.editingItemId) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (item.action) {
|
|
64
|
+
item.action(item, parent);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.workspaceChange.emit(item.value);
|
|
68
|
+
}
|
|
69
|
+
async add() {
|
|
70
|
+
await this.splitButtonRef.open();
|
|
71
|
+
this.newWorkspace = new KritzelWorkspace(ObjectHelper.generateUUID(), 'New Workspace');
|
|
72
|
+
this.editingItemId = this.newWorkspace.id;
|
|
73
|
+
}
|
|
74
|
+
edit(item) {
|
|
75
|
+
this.openChildMenuItem = null;
|
|
76
|
+
this.childMenuAnchor = null;
|
|
77
|
+
requestAnimationFrame(() => {
|
|
78
|
+
this.editingItemId = item.id;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async save(item) {
|
|
82
|
+
if (this.newWorkspace) {
|
|
83
|
+
this.newWorkspace.name = item.label;
|
|
84
|
+
await this.kritzelEngineRef?.createWorkspace(this.newWorkspace);
|
|
85
|
+
this.workspaceChange.emit(this.newWorkspace);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const workspace = item.value;
|
|
89
|
+
workspace.name = item.label;
|
|
90
|
+
await this.kritzelEngineRef?.updateWorkspace(workspace);
|
|
91
|
+
}
|
|
92
|
+
this.editingItemId = null;
|
|
93
|
+
this.newWorkspace = null;
|
|
94
|
+
}
|
|
95
|
+
cancel() {
|
|
96
|
+
this.newWorkspace = null;
|
|
97
|
+
this.editingItemId = null;
|
|
98
|
+
}
|
|
99
|
+
async delete(item) {
|
|
100
|
+
this.openChildMenuItem = null;
|
|
101
|
+
this.childMenuAnchor = null;
|
|
102
|
+
await this.kritzelEngineRef?.deleteWorkspace(item.value);
|
|
103
|
+
if (item.value.id === this.activeWorkspace?.id) {
|
|
104
|
+
this.activeWorkspace = this.sortedWorkspaces.find(ws => ws.id !== item.value.id) || null;
|
|
105
|
+
this.workspaceChange.emit(this.activeWorkspace);
|
|
106
|
+
}
|
|
107
|
+
await this.splitButtonRef.focusMenu();
|
|
108
|
+
}
|
|
109
|
+
toggleChildMenu(item, anchor) {
|
|
110
|
+
this.openChildMenuItem = item;
|
|
111
|
+
this.childMenuAnchor = anchor;
|
|
112
|
+
}
|
|
113
|
+
closeChildMenu() {
|
|
114
|
+
this.openChildMenuItem = null;
|
|
115
|
+
this.childMenuAnchor = null;
|
|
116
|
+
}
|
|
117
|
+
handleMenuOpen() {
|
|
118
|
+
// Menu open - engine remains interactive
|
|
119
|
+
}
|
|
120
|
+
handleMenuClose() {
|
|
121
|
+
this.cancel();
|
|
122
|
+
this.closeChildMenu();
|
|
123
|
+
}
|
|
124
|
+
render() {
|
|
125
|
+
const menuItems = this.sortedWorkspaces
|
|
126
|
+
.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())
|
|
127
|
+
.filter(ws => ws !== null)
|
|
128
|
+
.map(ws => {
|
|
129
|
+
return {
|
|
130
|
+
id: ws.id,
|
|
131
|
+
label: ws.name,
|
|
132
|
+
icon: ws.isPublic ? 'users-round' : undefined,
|
|
133
|
+
iconTooltip: ws.isPublic ? (this.terms['workspace.sharedTooltip'] ?? 'Shared workspace') : undefined,
|
|
134
|
+
value: ws,
|
|
135
|
+
isEditing: this.editingItemId === ws.id,
|
|
136
|
+
isSelected: this.activeWorkspace?.id === ws.id,
|
|
137
|
+
isNewItem: this.newWorkspace?.id === ws.id,
|
|
138
|
+
isChildMenuOpen: this.openChildMenuItem?.id === ws.id,
|
|
139
|
+
childMenuAnchor: this.openChildMenuItem?.id === ws.id ? this.childMenuAnchor : null,
|
|
140
|
+
children: [
|
|
141
|
+
{
|
|
142
|
+
id: `${ws.id}-rename`,
|
|
143
|
+
label: this.terms['workspace.rename'] ?? 'Rename',
|
|
144
|
+
value: 'rename',
|
|
145
|
+
action: (_item, parent) => this.edit(parent),
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
id: `${ws.id}-delete`,
|
|
149
|
+
label: this.terms['workspace.delete'] ?? 'Delete',
|
|
150
|
+
value: 'delete',
|
|
151
|
+
isDisabled: this.sortedWorkspaces.length <= 1,
|
|
152
|
+
action: (_item, parent) => this.delete(parent),
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
};
|
|
156
|
+
});
|
|
157
|
+
return (h(Host, { style: { display: this.visible ? '' : 'none' } }, h("div", { class: { manager: true, visible: this.visible } }, h("kritzel-split-button", { ref: el => (this.splitButtonRef = el), items: menuItems, mainButtonDisabled: this.editingItemId != null, onMainButtonClick: () => this.add(), onItemSelect: event => this.select(event.detail.item, event.detail.parent), onItemToggleChildMenu: event => this.toggleChildMenu(event.detail.item, event.detail.childMenuAnchor), onItemSave: event => this.save(event.detail), onItemCancel: () => this.cancel(), onItemCloseChildMenu: () => this.closeChildMenu(), onMenuOpen: () => this.handleMenuOpen(), onMenuClose: () => this.handleMenuClose() }))));
|
|
158
|
+
}
|
|
159
|
+
static get style() { return kritzelWorkspaceManagerCss(); }
|
|
160
|
+
}, [513, "kritzel-workspace-manager", {
|
|
161
|
+
"visible": [4],
|
|
162
|
+
"activeWorkspace": [1040],
|
|
163
|
+
"workspaces": [16],
|
|
164
|
+
"terms": [16],
|
|
165
|
+
"childMenuAnchor": [32],
|
|
166
|
+
"openChildMenuItem": [32],
|
|
167
|
+
"newWorkspace": [32],
|
|
168
|
+
"editingItemId": [32]
|
|
169
|
+
}, [[8, "wheel", "handleWheel"]]]);
|
|
170
|
+
function defineCustomElement() {
|
|
171
|
+
if (typeof customElements === "undefined") {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
const components = ["kritzel-workspace-manager", "kritzel-icon", "kritzel-menu", "kritzel-menu-item", "kritzel-portal", "kritzel-split-button"];
|
|
175
|
+
components.forEach(tagName => { switch (tagName) {
|
|
176
|
+
case "kritzel-workspace-manager":
|
|
177
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
178
|
+
customElements.define(transformTag(tagName), KritzelWorkspaceManager);
|
|
179
|
+
}
|
|
180
|
+
break;
|
|
181
|
+
case "kritzel-icon":
|
|
182
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
183
|
+
defineCustomElement$5();
|
|
184
|
+
}
|
|
185
|
+
break;
|
|
186
|
+
case "kritzel-menu":
|
|
187
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
188
|
+
defineCustomElement$4();
|
|
189
|
+
}
|
|
190
|
+
break;
|
|
191
|
+
case "kritzel-menu-item":
|
|
192
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
193
|
+
defineCustomElement$3();
|
|
194
|
+
}
|
|
195
|
+
break;
|
|
196
|
+
case "kritzel-portal":
|
|
197
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
198
|
+
defineCustomElement$2();
|
|
199
|
+
}
|
|
200
|
+
break;
|
|
201
|
+
case "kritzel-split-button":
|
|
202
|
+
if (!customElements.get(transformTag(tagName))) {
|
|
203
|
+
defineCustomElement$1();
|
|
204
|
+
}
|
|
205
|
+
break;
|
|
206
|
+
} });
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export { KritzelWorkspaceManager as K, defineCustomElement as d };
|