@syntrologie/adapt-content 2.13.0 → 2.15.0
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/content-editor-ui.d.ts.map +1 -1
- package/dist/content-editor-ui.js +3 -3
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +22 -4
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPicker.d.ts.map +1 -1
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPicker.js +6 -3
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPickerLit.d.ts +84 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPickerLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/AnchorPickerLit.js +323 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/BeforeAfterToggleLit.d.ts +25 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/BeforeAfterToggleLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/BeforeAfterToggleLit.js +55 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/ConditionStatusLineLit.d.ts +33 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/ConditionStatusLineLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/ConditionStatusLineLit.js +118 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/DetectionBadgeLit.d.ts +32 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/DetectionBadgeLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/DetectionBadgeLit.js +68 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/DismissedSectionLit.d.ts +34 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/DismissedSectionLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/DismissedSectionLit.js +57 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditBackButtonLit.d.ts +13 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditBackButtonLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditBackButtonLit.js +31 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorBodyLit.d.ts +7 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorBodyLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorBodyLit.js +15 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorCardLit.d.ts +36 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorCardLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorCardLit.js +102 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorFooterLit.d.ts +20 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorFooterLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorFooterLit.js +48 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorHeaderLit.d.ts +16 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorHeaderLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorHeaderLit.js +25 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorInputLit.d.ts +66 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorInputLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorInputLit.js +87 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorLayoutLit.d.ts +7 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorLayoutLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorLayoutLit.js +15 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShell.d.ts.map +1 -1
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShell.js +28 -17
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShellLit.d.ts +66 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShellLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShellLit.js +528 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorSelectLit.d.ts +41 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorSelectLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorSelectLit.js +63 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorTextareaLit.d.ts +55 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorTextareaLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorTextareaLit.js +92 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/ElementHighlightLit.d.ts +90 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/ElementHighlightLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/ElementHighlightLit.js +242 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EmptyStateLit.d.ts +12 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EmptyStateLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/EmptyStateLit.js +21 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/GroupHeaderLit.d.ts +21 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/GroupHeaderLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/GroupHeaderLit.js +33 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/TriggerJourneyLit.d.ts +28 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/TriggerJourneyLit.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/components/TriggerJourneyLit.js +121 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/controllers/PanelShellController.d.ts +110 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/controllers/PanelShellController.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/controllers/PanelShellController.js +476 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/index.d.ts +2 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/index.d.ts.map +1 -1
- package/node_modules/@syntrologie/shared-editor-ui/dist/index.js +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/lit-elements.d.ts +15 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/lit-elements.d.ts.map +1 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/lit-elements.js +14 -0
- package/node_modules/@syntrologie/shared-editor-ui/dist/utils/elementChainRecommender.d.ts +0 -4
- package/node_modules/@syntrologie/shared-editor-ui/dist/utils/elementChainRecommender.d.ts.map +1 -1
- package/node_modules/@syntrologie/shared-editor-ui/dist/utils/elementChainRecommender.js +17 -1
- package/node_modules/@syntrologie/shared-editor-ui/package.json +9 -1
- package/package.json +1 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class EditorInputLit extends LitElement {
|
|
3
|
+
static properties: {
|
|
4
|
+
label: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
inputClass: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
attribute: string;
|
|
10
|
+
};
|
|
11
|
+
inputId: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
attribute: string;
|
|
14
|
+
};
|
|
15
|
+
name: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
};
|
|
18
|
+
type: {
|
|
19
|
+
type: StringConstructor;
|
|
20
|
+
};
|
|
21
|
+
value: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
};
|
|
24
|
+
placeholder: {
|
|
25
|
+
type: StringConstructor;
|
|
26
|
+
};
|
|
27
|
+
disabled: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
};
|
|
30
|
+
required: {
|
|
31
|
+
type: BooleanConstructor;
|
|
32
|
+
};
|
|
33
|
+
readonly: {
|
|
34
|
+
type: BooleanConstructor;
|
|
35
|
+
};
|
|
36
|
+
min: {
|
|
37
|
+
type: StringConstructor;
|
|
38
|
+
};
|
|
39
|
+
max: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
};
|
|
42
|
+
step: {
|
|
43
|
+
type: StringConstructor;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
label: string | undefined;
|
|
47
|
+
inputClass: string | undefined;
|
|
48
|
+
inputId: string | undefined;
|
|
49
|
+
name: string | undefined;
|
|
50
|
+
type: string;
|
|
51
|
+
value: string | undefined;
|
|
52
|
+
placeholder: string | undefined;
|
|
53
|
+
disabled: boolean;
|
|
54
|
+
required: boolean;
|
|
55
|
+
readonly: boolean;
|
|
56
|
+
min: string | undefined;
|
|
57
|
+
max: string | undefined;
|
|
58
|
+
step: string | undefined;
|
|
59
|
+
private _generatedId;
|
|
60
|
+
constructor();
|
|
61
|
+
createRenderRoot(): this;
|
|
62
|
+
private _handleChange;
|
|
63
|
+
private _handleInput;
|
|
64
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=EditorInputLit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditorInputLit.d.ts","sourceRoot":"","sources":["../../src/components/EditorInputLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAIvC,qBAAa,cAAe,SAAQ,UAAU;IAC5C,OAAgB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcxB;IAEF,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,SAAU;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzB,OAAO,CAAC,YAAY,CAAS;;IAOpB,gBAAgB;IAIzB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,YAAY;IAYX,MAAM;CAyChB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
|
+
let _inputIdCounter = 0;
|
|
3
|
+
export class EditorInputLit extends LitElement {
|
|
4
|
+
constructor() {
|
|
5
|
+
super();
|
|
6
|
+
this.type = 'text';
|
|
7
|
+
this.disabled = false;
|
|
8
|
+
this.required = false;
|
|
9
|
+
this.readonly = false;
|
|
10
|
+
this._generatedId = `se-input-${++_inputIdCounter}`;
|
|
11
|
+
}
|
|
12
|
+
createRenderRoot() {
|
|
13
|
+
return this;
|
|
14
|
+
}
|
|
15
|
+
_handleChange(e) {
|
|
16
|
+
const target = e.target;
|
|
17
|
+
this.value = target.value;
|
|
18
|
+
this.dispatchEvent(new CustomEvent('change', {
|
|
19
|
+
detail: { value: target.value },
|
|
20
|
+
bubbles: true,
|
|
21
|
+
composed: true,
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
_handleInput(e) {
|
|
25
|
+
const target = e.target;
|
|
26
|
+
this.value = target.value;
|
|
27
|
+
this.dispatchEvent(new CustomEvent('input', {
|
|
28
|
+
detail: { value: target.value },
|
|
29
|
+
bubbles: true,
|
|
30
|
+
composed: true,
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
const id = this.inputId || this._generatedId;
|
|
35
|
+
const classes = [
|
|
36
|
+
'se-w-full se-py-2 se-px-3 se-rounded-lg se-border se-border-input-field-border se-bg-slate-grey-3 se-text-text-primary se-text-sm se-font-[inherit] se-mb-2 se-box-border',
|
|
37
|
+
'placeholder:se-text-input-field-text-placeholder',
|
|
38
|
+
'focus:se-border-input-field-border-selected focus:se-outline-none focus:se-shadow-focus-primary',
|
|
39
|
+
'disabled:se-bg-input-field-bg-disabled disabled:se-cursor-not-allowed disabled:se-opacity-50',
|
|
40
|
+
this.inputClass || '',
|
|
41
|
+
]
|
|
42
|
+
.filter(Boolean)
|
|
43
|
+
.join(' ');
|
|
44
|
+
return html `
|
|
45
|
+
<div>
|
|
46
|
+
${this.label
|
|
47
|
+
? html `<label
|
|
48
|
+
for=${id}
|
|
49
|
+
class="se-text-sm se-font-medium se-text-input-field-text-label se-mb-1 se-block"
|
|
50
|
+
>${this.label}</label>`
|
|
51
|
+
: ''}
|
|
52
|
+
<input
|
|
53
|
+
id=${id}
|
|
54
|
+
class=${classes}
|
|
55
|
+
type=${this.type}
|
|
56
|
+
name=${this.name ?? ''}
|
|
57
|
+
.value=${this.value ?? ''}
|
|
58
|
+
placeholder=${this.placeholder ?? ''}
|
|
59
|
+
?disabled=${this.disabled}
|
|
60
|
+
?required=${this.required}
|
|
61
|
+
?readonly=${this.readonly}
|
|
62
|
+
min=${this.min ?? ''}
|
|
63
|
+
max=${this.max ?? ''}
|
|
64
|
+
step=${this.step ?? ''}
|
|
65
|
+
@change=${this._handleChange}
|
|
66
|
+
@input=${this._handleInput}
|
|
67
|
+
/>
|
|
68
|
+
</div>
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
EditorInputLit.properties = {
|
|
73
|
+
label: { type: String },
|
|
74
|
+
inputClass: { type: String, attribute: 'input-class' },
|
|
75
|
+
inputId: { type: String, attribute: 'input-id' },
|
|
76
|
+
name: { type: String },
|
|
77
|
+
type: { type: String },
|
|
78
|
+
value: { type: String },
|
|
79
|
+
placeholder: { type: String },
|
|
80
|
+
disabled: { type: Boolean },
|
|
81
|
+
required: { type: Boolean },
|
|
82
|
+
readonly: { type: Boolean },
|
|
83
|
+
min: { type: String },
|
|
84
|
+
max: { type: String },
|
|
85
|
+
step: { type: String },
|
|
86
|
+
};
|
|
87
|
+
customElements.define('se-editor-input', EditorInputLit);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditorLayoutLit.d.ts","sourceRoot":"","sources":["../../src/components/EditorLayoutLit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,UAAU,KAAM;IAEvB,gBAAgB;IAIhB,MAAM;CAOhB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
|
+
export class EditorLayoutLit extends LitElement {
|
|
3
|
+
createRenderRoot() {
|
|
4
|
+
return this;
|
|
5
|
+
}
|
|
6
|
+
render() {
|
|
7
|
+
return html `
|
|
8
|
+
<div class="se-flex se-flex-col se-h-full se-font-sans">
|
|
9
|
+
<slot></slot>
|
|
10
|
+
</div>
|
|
11
|
+
`;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
EditorLayoutLit.properties = {};
|
|
15
|
+
customElements.define('se-editor-layout', EditorLayoutLit);
|
package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShell.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorPanelShell.d.ts","sourceRoot":"","sources":["../../src/components/EditorPanelShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"EditorPanelShell.d.ts","sourceRoot":"","sources":["../../src/components/EditorPanelShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AA8MD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAmB,EACnB,QAAQ,GACT,EAAE,qBAAqB,2CAwSvB"}
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* EditorPanelShell — moveable, resizable wrapper for editor sidebars.
|
|
4
|
+
*
|
|
5
|
+
* Renders:
|
|
6
|
+
* 1. A fixed FAB button (Syntrologie logo) at the panel's bottom-left corner.
|
|
7
|
+
* Click toggles open/minimized. Drag moves the entire panel.
|
|
8
|
+
* 2. A resizable panel container with semi-transparent background and backdrop blur.
|
|
9
|
+
* Supports docked (left/right edge, full height) and free-floating modes.
|
|
10
|
+
* Position, size, and dock state persist in localStorage.
|
|
11
|
+
*/
|
|
12
|
+
import { panelShell } from '@syntro/design-system';
|
|
2
13
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
14
|
import { cn } from '../cn';
|
|
4
15
|
// =============================================================================
|
|
5
16
|
// Constants
|
|
6
17
|
// =============================================================================
|
|
7
18
|
const STORAGE_KEY = 'syntro:editor-panel';
|
|
8
|
-
const MIN_WIDTH =
|
|
9
|
-
const MIN_HEIGHT =
|
|
10
|
-
const FAB_SIZE =
|
|
11
|
-
const FAB_INSET =
|
|
12
|
-
const SNAP_THRESHOLD =
|
|
13
|
-
const DRAG_THRESHOLD =
|
|
14
|
-
const HANDLE_SIZE =
|
|
19
|
+
const MIN_WIDTH = panelShell.behavior.minWidth;
|
|
20
|
+
const MIN_HEIGHT = panelShell.behavior.minHeight;
|
|
21
|
+
const FAB_SIZE = panelShell.fab.size;
|
|
22
|
+
const FAB_INSET = panelShell.fab.inset;
|
|
23
|
+
const SNAP_THRESHOLD = panelShell.behavior.snapThreshold;
|
|
24
|
+
const DRAG_THRESHOLD = panelShell.behavior.dragThreshold;
|
|
25
|
+
const HANDLE_SIZE = panelShell.behavior.handleSize;
|
|
15
26
|
// =============================================================================
|
|
16
27
|
// Logo
|
|
17
28
|
// =============================================================================
|
|
@@ -313,12 +324,14 @@ export function EditorPanelShell({ isOpen, onToggle, panelId, zIndex = 214748364
|
|
|
313
324
|
const panelStyle = {
|
|
314
325
|
position: 'fixed',
|
|
315
326
|
zIndex,
|
|
316
|
-
background:
|
|
327
|
+
background: panelShell.background,
|
|
328
|
+
backdropFilter: `blur(${panelShell.backdropBlur})`,
|
|
329
|
+
WebkitBackdropFilter: `blur(${panelShell.backdropBlur})`,
|
|
317
330
|
boxShadow: isDocked
|
|
318
331
|
? geometry.docked === 'right'
|
|
319
|
-
?
|
|
320
|
-
:
|
|
321
|
-
:
|
|
332
|
+
? panelShell.shadows.dockedRight
|
|
333
|
+
: panelShell.shadows.dockedLeft
|
|
334
|
+
: panelShell.shadows.floating,
|
|
322
335
|
// Prevent wheel scroll from chaining to the page behind the panel.
|
|
323
336
|
// overflow-y: auto makes this a scroll container so overscroll-behavior applies.
|
|
324
337
|
overflowY: 'auto',
|
|
@@ -350,16 +363,14 @@ export function EditorPanelShell({ isOpen, onToggle, panelId, zIndex = 214748364
|
|
|
350
363
|
width: FAB_SIZE,
|
|
351
364
|
height: FAB_SIZE,
|
|
352
365
|
borderRadius: '50%',
|
|
353
|
-
border:
|
|
366
|
+
border: panelShell.fab.border,
|
|
354
367
|
cursor: 'grab',
|
|
355
368
|
display: 'flex',
|
|
356
369
|
alignItems: 'center',
|
|
357
370
|
justifyContent: 'center',
|
|
358
|
-
background:
|
|
359
|
-
color:
|
|
360
|
-
boxShadow: isOpen
|
|
361
|
-
? '0 4px 24px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.08)'
|
|
362
|
-
: '0 4px 24px rgba(0,0,0,0.6)',
|
|
371
|
+
background: panelShell.fab.background,
|
|
372
|
+
color: panelShell.fab.color,
|
|
373
|
+
boxShadow: isOpen ? panelShell.fab.shadowOpen : panelShell.fab.shadowClosed,
|
|
363
374
|
transition: 'box-shadow 150ms ease',
|
|
364
375
|
touchAction: 'none',
|
|
365
376
|
userSelect: 'none',
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EditorPanelShellLit — moveable, resizable wrapper for editor sidebars (Lit web component).
|
|
3
|
+
*
|
|
4
|
+
* Renders:
|
|
5
|
+
* 1. A fixed FAB button (Syntrologie logo) at the panel's bottom-left corner.
|
|
6
|
+
* Click toggles open/minimized. Drag moves the entire panel.
|
|
7
|
+
* 2. A resizable panel container with semi-transparent background and backdrop blur.
|
|
8
|
+
* Supports docked (left/right edge, full height) and free-floating modes.
|
|
9
|
+
* Position, size, and dock state persist in localStorage.
|
|
10
|
+
*
|
|
11
|
+
* Lit port of EditorPanelShell.tsx — preserves all behavior including:
|
|
12
|
+
* - FAB drag with pointer capture and edge snapping
|
|
13
|
+
* - 8-direction resize handles with direct DOM manipulation for performance
|
|
14
|
+
* - localStorage persistence of geometry
|
|
15
|
+
* - Viewport clamping on window resize
|
|
16
|
+
*/
|
|
17
|
+
import { LitElement } from 'lit';
|
|
18
|
+
export declare class EditorPanelShellLit extends LitElement {
|
|
19
|
+
static properties: {
|
|
20
|
+
isOpen: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
attribute: string;
|
|
23
|
+
};
|
|
24
|
+
panelId: {
|
|
25
|
+
type: StringConstructor;
|
|
26
|
+
attribute: string;
|
|
27
|
+
};
|
|
28
|
+
zIndex: {
|
|
29
|
+
type: NumberConstructor;
|
|
30
|
+
attribute: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
isOpen: boolean;
|
|
34
|
+
panelId: string | undefined;
|
|
35
|
+
zIndex: number;
|
|
36
|
+
private _geometry;
|
|
37
|
+
private _panelEl;
|
|
38
|
+
private _fabEl;
|
|
39
|
+
private _isDragging;
|
|
40
|
+
private _hasMoved;
|
|
41
|
+
private _dragOffset;
|
|
42
|
+
private _startPanelPos;
|
|
43
|
+
private _pendingGeo;
|
|
44
|
+
private _activeResize;
|
|
45
|
+
private _resizeStartMouse;
|
|
46
|
+
private _resizeStartGeo;
|
|
47
|
+
private get _storageKey();
|
|
48
|
+
createRenderRoot(): this;
|
|
49
|
+
connectedCallback(): void;
|
|
50
|
+
disconnectedCallback(): void;
|
|
51
|
+
updated(): void;
|
|
52
|
+
private _updateGeometry;
|
|
53
|
+
private _handleWindowResize;
|
|
54
|
+
private _emitToggle;
|
|
55
|
+
private _handleFabPointerDown;
|
|
56
|
+
private _handleFabPointerMove;
|
|
57
|
+
private _handleFabPointerUp;
|
|
58
|
+
private _handleResizePointerDown;
|
|
59
|
+
private _handleResizePointerMove;
|
|
60
|
+
private _handleResizePointerUp;
|
|
61
|
+
private _getPanelClasses;
|
|
62
|
+
private _getPanelStyles;
|
|
63
|
+
private _getFabStyles;
|
|
64
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=EditorPanelShellLit.d.ts.map
|
package/node_modules/@syntrologie/shared-editor-ui/dist/components/EditorPanelShellLit.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditorPanelShellLit.d.ts","sourceRoot":"","sources":["../../src/components/EditorPanelShellLit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AA8OhD,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,OAAgB,UAAU;;;;;;;;;;;;;MAIxB;IAEF,MAAM,UAAS;IACf,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,SAAc;IAGpB,OAAO,CAAC,SAAS,CAAuC;IAGxD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,MAAM,CAAkC;IAGhD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAA8B;IAGjD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAAuC;IAI9D,OAAO,KAAK,WAAW,GAEtB;IAEQ,gBAAgB;IAIhB,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAK5B,OAAO,IAAI,IAAI;IAQxB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,wBAAwB;IAqChC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,eAAe;IAyCvB,OAAO,CAAC,aAAa;IA6BZ,MAAM;CAsDhB"}
|