@design.estate/dees-catalog 12.3.0 → 12.5.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_bundle/bundle.js +2483 -1137
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.d.ts +5 -0
- package/dist_ts_web/elements/00group-form/dees-form/dees-form.d.ts +2 -1
- package/dist_ts_web/elements/00group-form/dees-form/dees-form.js +2 -1
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.d.ts +13 -0
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.js +76 -7
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.d.ts +42 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.js +8 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +347 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.d.ts +5 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.js +45 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.d.ts +2 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.js +3 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.d.ts +16 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.d.ts +12 -2
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +11 -1
- package/dist_ts_web/elements/00group-input/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/index.js +2 -1
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +58 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.js +9 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +536 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +20 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +157 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +23 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +192 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.d.ts +24 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +211 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +35 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +269 -0
- package/dist_ts_web/elements/00group-kanban/index.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/index.js +7 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.d.ts +84 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.d.ts +7 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.js +60 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +11 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.js +18 -0
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +7 -2
- package/dist_ts_web/elements/00group-workspace/dees-workspace/dees-workspace.js +3 -3
- package/dist_ts_web/elements/00group-workspace/dees-workspace/styles.js +10 -2
- package/dist_ts_web/elements/index.d.ts +1 -0
- package/dist_ts_web/elements/index.js +2 -1
- package/dist_ts_web/services/DeesServiceLibLoader.d.ts +1 -0
- package/dist_ts_web/services/DeesServiceLibLoader.js +2 -1
- package/package.json +1 -1
- package/readme.md +154 -0
- package/scripts/check-packed-consumer.mjs +1 -1
- package/ts_web/00_commitinfo_data.ts +3 -3
- package/ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.ts +6 -0
- package/ts_web/elements/00group-form/dees-form/dees-form.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.ts +40 -5
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.ts +9 -0
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +221 -0
- package/ts_web/elements/00group-input/dees-input-reference/document.ts +38 -0
- package/ts_web/elements/00group-input/dees-input-reference/index.ts +2 -0
- package/ts_web/elements/00group-input/dees-input-reference/interfaces.ts +8 -0
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +11 -1
- package/ts_web/elements/00group-input/index.ts +1 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.ts +9 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +315 -0
- package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +58 -0
- package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +60 -0
- package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +81 -0
- package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +114 -0
- package/ts_web/elements/00group-kanban/index.ts +6 -0
- package/ts_web/elements/00group-kanban/interfaces.ts +67 -0
- package/ts_web/elements/00group-kanban/kanban.demodata.ts +56 -0
- package/ts_web/elements/00group-kanban/kanban.helpers.ts +13 -0
- package/ts_web/elements/00group-kanban/kanban.styles.ts +18 -0
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +6 -1
- package/ts_web/elements/00group-workspace/dees-workspace/dees-workspace.ts +2 -2
- package/ts_web/elements/00group-workspace/dees-workspace/styles.ts +9 -1
- package/ts_web/elements/index.ts +1 -0
- package/ts_web/services/DeesServiceLibLoader.ts +2 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { DeesElement, customElement, property, state, html, css, cssManager } from '@design.estate/dees-element';
|
|
36
|
+
import { DeesServiceLibLoader } from '../../../services/DeesServiceLibLoader.js';
|
|
37
|
+
import { themeDefaultStyles } from '../../00theme.js';
|
|
38
|
+
import { DeesInputDropdownPopup } from '../dees-input-dropdown/dees-input-dropdown-popup.js';
|
|
39
|
+
import { referenceContent, referenceDocument } from './document.js';
|
|
40
|
+
import { demoFunc } from './dees-input-reference.demo.js';
|
|
41
|
+
let DeesInputReference = (() => {
|
|
42
|
+
let _classDecorators = [customElement('dees-input-reference')];
|
|
43
|
+
let _classDescriptor;
|
|
44
|
+
let _classExtraInitializers = [];
|
|
45
|
+
let _classThis;
|
|
46
|
+
let _classSuper = DeesElement;
|
|
47
|
+
let _value_decorators;
|
|
48
|
+
let _value_initializers = [];
|
|
49
|
+
let _value_extraInitializers = [];
|
|
50
|
+
let _searchReferences_decorators;
|
|
51
|
+
let _searchReferences_initializers = [];
|
|
52
|
+
let _searchReferences_extraInitializers = [];
|
|
53
|
+
let _trigger_decorators;
|
|
54
|
+
let _trigger_initializers = [];
|
|
55
|
+
let _trigger_extraInitializers = [];
|
|
56
|
+
let _label_decorators;
|
|
57
|
+
let _label_initializers = [];
|
|
58
|
+
let _label_extraInitializers = [];
|
|
59
|
+
let _placeholder_decorators;
|
|
60
|
+
let _placeholder_initializers = [];
|
|
61
|
+
let _placeholder_extraInitializers = [];
|
|
62
|
+
let _searchLabel_decorators;
|
|
63
|
+
let _searchLabel_initializers = [];
|
|
64
|
+
let _searchLabel_extraInitializers = [];
|
|
65
|
+
let _documentKey_decorators;
|
|
66
|
+
let _documentKey_initializers = [];
|
|
67
|
+
let _documentKey_extraInitializers = [];
|
|
68
|
+
let _disabled_decorators;
|
|
69
|
+
let _disabled_initializers = [];
|
|
70
|
+
let _disabled_extraInitializers = [];
|
|
71
|
+
let _loadError_decorators;
|
|
72
|
+
let _loadError_initializers = [];
|
|
73
|
+
let _loadError_extraInitializers = [];
|
|
74
|
+
var DeesInputReference = class extends _classSuper {
|
|
75
|
+
static { _classThis = this; }
|
|
76
|
+
static {
|
|
77
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
78
|
+
_value_decorators = [property({ attribute: false })];
|
|
79
|
+
_searchReferences_decorators = [property({ attribute: false })];
|
|
80
|
+
_trigger_decorators = [property({ type: String })];
|
|
81
|
+
_label_decorators = [property({ type: String })];
|
|
82
|
+
_placeholder_decorators = [property({ type: String })];
|
|
83
|
+
_searchLabel_decorators = [property({ type: String })];
|
|
84
|
+
_documentKey_decorators = [property({ type: String })];
|
|
85
|
+
_disabled_decorators = [property({ type: Boolean })];
|
|
86
|
+
_loadError_decorators = [state()];
|
|
87
|
+
__esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
|
|
88
|
+
__esDecorate(this, null, _searchReferences_decorators, { kind: "accessor", name: "searchReferences", static: false, private: false, access: { has: obj => "searchReferences" in obj, get: obj => obj.searchReferences, set: (obj, value) => { obj.searchReferences = value; } }, metadata: _metadata }, _searchReferences_initializers, _searchReferences_extraInitializers);
|
|
89
|
+
__esDecorate(this, null, _trigger_decorators, { kind: "accessor", name: "trigger", static: false, private: false, access: { has: obj => "trigger" in obj, get: obj => obj.trigger, set: (obj, value) => { obj.trigger = value; } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);
|
|
90
|
+
__esDecorate(this, null, _label_decorators, { kind: "accessor", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
|
|
91
|
+
__esDecorate(this, null, _placeholder_decorators, { kind: "accessor", name: "placeholder", static: false, private: false, access: { has: obj => "placeholder" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);
|
|
92
|
+
__esDecorate(this, null, _searchLabel_decorators, { kind: "accessor", name: "searchLabel", static: false, private: false, access: { has: obj => "searchLabel" in obj, get: obj => obj.searchLabel, set: (obj, value) => { obj.searchLabel = value; } }, metadata: _metadata }, _searchLabel_initializers, _searchLabel_extraInitializers);
|
|
93
|
+
__esDecorate(this, null, _documentKey_decorators, { kind: "accessor", name: "documentKey", static: false, private: false, access: { has: obj => "documentKey" in obj, get: obj => obj.documentKey, set: (obj, value) => { obj.documentKey = value; } }, metadata: _metadata }, _documentKey_initializers, _documentKey_extraInitializers);
|
|
94
|
+
__esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
|
|
95
|
+
__esDecorate(this, null, _loadError_decorators, { kind: "accessor", name: "loadError", static: false, private: false, access: { has: obj => "loadError" in obj, get: obj => obj.loadError, set: (obj, value) => { obj.loadError = value; } }, metadata: _metadata }, _loadError_initializers, _loadError_extraInitializers);
|
|
96
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
97
|
+
DeesInputReference = _classThis = _classDescriptor.value;
|
|
98
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
99
|
+
}
|
|
100
|
+
static demo = demoFunc;
|
|
101
|
+
static demoGroups = ['Input', 'Kanban'];
|
|
102
|
+
#value_accessor_storage = __runInitializers(this, _value_initializers, []);
|
|
103
|
+
get value() { return this.#value_accessor_storage; }
|
|
104
|
+
set value(value) { this.#value_accessor_storage = value; }
|
|
105
|
+
#searchReferences_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _searchReferences_initializers, void 0));
|
|
106
|
+
get searchReferences() { return this.#searchReferences_accessor_storage; }
|
|
107
|
+
set searchReferences(value) { this.#searchReferences_accessor_storage = value; }
|
|
108
|
+
#trigger_accessor_storage = (__runInitializers(this, _searchReferences_extraInitializers), __runInitializers(this, _trigger_initializers, '#_'));
|
|
109
|
+
get trigger() { return this.#trigger_accessor_storage; }
|
|
110
|
+
set trigger(value) { this.#trigger_accessor_storage = value; }
|
|
111
|
+
#label_accessor_storage = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _label_initializers, 'Message'));
|
|
112
|
+
get label() { return this.#label_accessor_storage; }
|
|
113
|
+
set label(value) { this.#label_accessor_storage = value; }
|
|
114
|
+
#placeholder_accessor_storage = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _placeholder_initializers, 'Write a comment…'));
|
|
115
|
+
get placeholder() { return this.#placeholder_accessor_storage; }
|
|
116
|
+
set placeholder(value) { this.#placeholder_accessor_storage = value; }
|
|
117
|
+
#searchLabel_accessor_storage = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _searchLabel_initializers, 'Search tickets'));
|
|
118
|
+
get searchLabel() { return this.#searchLabel_accessor_storage; }
|
|
119
|
+
set searchLabel(value) { this.#searchLabel_accessor_storage = value; }
|
|
120
|
+
#documentKey_accessor_storage = (__runInitializers(this, _searchLabel_extraInitializers), __runInitializers(this, _documentKey_initializers, ''));
|
|
121
|
+
/** Changing documents resets editor history, so undo cannot cross conversation boundaries. */
|
|
122
|
+
get documentKey() { return this.#documentKey_accessor_storage; }
|
|
123
|
+
set documentKey(value) { this.#documentKey_accessor_storage = value; }
|
|
124
|
+
#disabled_accessor_storage = (__runInitializers(this, _documentKey_extraInitializers), __runInitializers(this, _disabled_initializers, false));
|
|
125
|
+
get disabled() { return this.#disabled_accessor_storage; }
|
|
126
|
+
set disabled(value) { this.#disabled_accessor_storage = value; }
|
|
127
|
+
#loadError_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _loadError_initializers, ''));
|
|
128
|
+
get loadError() { return this.#loadError_accessor_storage; }
|
|
129
|
+
set loadError(value) { this.#loadError_accessor_storage = value; }
|
|
130
|
+
editor = __runInitializers(this, _loadError_extraInitializers);
|
|
131
|
+
initializing;
|
|
132
|
+
connection = 0;
|
|
133
|
+
popup;
|
|
134
|
+
popupOpening;
|
|
135
|
+
referenceRange;
|
|
136
|
+
serializedValue = '';
|
|
137
|
+
static styles = [themeDefaultStyles, cssManager.defaultStyles, css `
|
|
138
|
+
:host { display: block; min-width: 0; color: var(--dees-color-text-primary); font-family: var(--dees-font-family); }
|
|
139
|
+
.editor { border: 1px solid var(--dees-color-border-default); border-radius: var(--dees-radius-lg); background: var(--dees-color-bg-primary); }
|
|
140
|
+
.editor:focus-within { outline: 2px solid var(--dees-color-focus-ring); outline-offset: 1px; }
|
|
141
|
+
.ProseMirror { padding: 12px; min-height: 84px; max-height: 260px; overflow: auto; outline: none; white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--dees-font-body-size); line-height: 1.6; }
|
|
142
|
+
.ProseMirror p { margin: 0; }
|
|
143
|
+
.ProseMirror p + p { margin-top: 0; }
|
|
144
|
+
.ProseMirror:has(> p:only-child > br:only-child)::before { content: attr(data-placeholder); float: left; color: var(--dees-color-text-muted); pointer-events: none; height: 0; }
|
|
145
|
+
.ProseMirror [data-reference-id] { display: inline; padding: 1px 5px; border-radius: var(--dees-radius-sm); color: var(--dees-color-link); background: var(--dees-color-badge-default-bg); cursor: pointer; font-weight: 500; }
|
|
146
|
+
.ProseMirror [data-reference-id]:focus-visible, .ProseMirror .ProseMirror-selectednode { outline: 2px solid var(--dees-color-focus-ring); }
|
|
147
|
+
.ProseMirror[contenteditable=false] { opacity: .65; }
|
|
148
|
+
.error { color: var(--dees-color-text-error); font-size: var(--dees-font-footnote-size); }
|
|
149
|
+
`];
|
|
150
|
+
render() {
|
|
151
|
+
return html `<div class="editor"></div>${this.loadError ? html `<p class="error" role="alert">${this.loadError}</p>` : ''}`;
|
|
152
|
+
}
|
|
153
|
+
async connectedCallback() {
|
|
154
|
+
const connection = super.connectedCallback();
|
|
155
|
+
this.connection++;
|
|
156
|
+
void this.initialize();
|
|
157
|
+
await connection;
|
|
158
|
+
}
|
|
159
|
+
/** Resolves after the lazy editor is mounted; also useful when focusing after opening a modal. */
|
|
160
|
+
async ready() {
|
|
161
|
+
await this.initialize();
|
|
162
|
+
if (!this.editor)
|
|
163
|
+
throw new Error(this.loadError || 'Connect the reference editor before calling ready().');
|
|
164
|
+
}
|
|
165
|
+
initialize() {
|
|
166
|
+
if (this.editor)
|
|
167
|
+
return Promise.resolve();
|
|
168
|
+
if (this.initializing)
|
|
169
|
+
return this.initializing;
|
|
170
|
+
const connection = this.connection;
|
|
171
|
+
const operation = (async () => {
|
|
172
|
+
await this.updateComplete;
|
|
173
|
+
const { Editor, Node, StarterKit } = await DeesServiceLibLoader.getInstance().loadTiptap();
|
|
174
|
+
if (!this.isConnected || connection !== this.connection)
|
|
175
|
+
return;
|
|
176
|
+
const referenceNode = Node.create({
|
|
177
|
+
name: 'catalogReference', group: 'inline', inline: true, atom: true, selectable: true,
|
|
178
|
+
addAttributes: () => ({
|
|
179
|
+
id: { default: '', parseHTML: element => element.getAttribute('data-reference-id') },
|
|
180
|
+
label: { default: '', parseHTML: element => element.textContent },
|
|
181
|
+
}),
|
|
182
|
+
parseHTML: () => [{ tag: 'span[data-reference-id]' }],
|
|
183
|
+
renderHTML: ({ node }) => ['span', { 'data-reference-id': String(node.attrs.id), contenteditable: 'false', role: 'link', tabindex: '0' }, String(node.attrs.label)],
|
|
184
|
+
renderText: ({ node }) => String(node.attrs.label),
|
|
185
|
+
});
|
|
186
|
+
this.editor = new Editor({
|
|
187
|
+
element: this.shadowRoot.querySelector('.editor'),
|
|
188
|
+
injectCSS: false,
|
|
189
|
+
editable: !this.disabled,
|
|
190
|
+
extensions: [StarterKit.configure({ blockquote: false, bold: false, bulletList: false, code: false, codeBlock: false, heading: false, horizontalRule: false, italic: false, listItem: false, orderedList: false, strike: false }), referenceNode],
|
|
191
|
+
content: referenceDocument(this.value),
|
|
192
|
+
editorProps: {
|
|
193
|
+
attributes: { role: 'textbox', 'aria-multiline': 'true', 'aria-label': this.label, 'data-placeholder': this.placeholder },
|
|
194
|
+
handleClickOn: (_view, _position, node, _nodePosition, event, direct) => {
|
|
195
|
+
if (!direct || node.type.name !== 'catalogReference')
|
|
196
|
+
return false;
|
|
197
|
+
event.preventDefault();
|
|
198
|
+
this.openReference({ id: String(node.attrs.id), label: String(node.attrs.label) });
|
|
199
|
+
return true;
|
|
200
|
+
},
|
|
201
|
+
handleDOMEvents: {
|
|
202
|
+
keydown: (_view, event) => {
|
|
203
|
+
const target = event.target;
|
|
204
|
+
if (event.key === 'Enter' && target.dataset.referenceId) {
|
|
205
|
+
event.preventDefault();
|
|
206
|
+
this.openReference({ id: target.dataset.referenceId, label: target.textContent ?? '' });
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
if ((event.ctrlKey || event.metaKey) && event.key === 'Enter' && !event.isComposing && !this.disabled) {
|
|
210
|
+
event.preventDefault();
|
|
211
|
+
this.dispatchEvent(new CustomEvent('reference-submit', { bubbles: true, composed: true }));
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
return false;
|
|
215
|
+
},
|
|
216
|
+
compositionend: () => { queueMicrotask(() => this.detectTrigger()); return false; },
|
|
217
|
+
},
|
|
218
|
+
},
|
|
219
|
+
onUpdate: ({ editor, transaction }) => {
|
|
220
|
+
this.value = referenceContent(editor.getJSON());
|
|
221
|
+
this.serializedValue = JSON.stringify(this.value);
|
|
222
|
+
this.dispatchEvent(new CustomEvent('reference-input', { detail: { value: this.value }, bubbles: true, composed: true }));
|
|
223
|
+
if (!transaction.getMeta('preventReferenceTrigger'))
|
|
224
|
+
this.detectTrigger();
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
this.serializedValue = JSON.stringify(this.value);
|
|
228
|
+
this.loadError = '';
|
|
229
|
+
})().catch(error => { this.loadError = error instanceof Error ? error.message : 'Could not load the editor.'; })
|
|
230
|
+
.finally(() => { if (this.initializing === operation)
|
|
231
|
+
this.initializing = undefined; });
|
|
232
|
+
this.initializing = operation;
|
|
233
|
+
return operation;
|
|
234
|
+
}
|
|
235
|
+
updated(changed) {
|
|
236
|
+
if (changed.has('documentKey') && changed.get('documentKey') !== undefined && this.editor) {
|
|
237
|
+
this.connection++;
|
|
238
|
+
void this.closePicker(false);
|
|
239
|
+
this.editor.destroy();
|
|
240
|
+
this.editor = undefined;
|
|
241
|
+
this.initializing = undefined;
|
|
242
|
+
void this.initialize();
|
|
243
|
+
}
|
|
244
|
+
if (changed.has('disabled')) {
|
|
245
|
+
this.editor?.setEditable(!this.disabled, false);
|
|
246
|
+
if (this.disabled)
|
|
247
|
+
void this.closePicker(false);
|
|
248
|
+
}
|
|
249
|
+
if (changed.has('value') && this.editor && JSON.stringify(this.value) !== this.serializedValue) {
|
|
250
|
+
void this.closePicker(false);
|
|
251
|
+
this.editor.commands.setContent(referenceDocument(this.value), false);
|
|
252
|
+
this.serializedValue = JSON.stringify(this.value);
|
|
253
|
+
}
|
|
254
|
+
if (changed.has('label') || changed.has('placeholder'))
|
|
255
|
+
this.editor?.setOptions({ editorProps: {
|
|
256
|
+
...this.editor.options.editorProps,
|
|
257
|
+
attributes: { role: 'textbox', 'aria-multiline': 'true', 'aria-label': this.label, 'data-placeholder': this.placeholder },
|
|
258
|
+
} });
|
|
259
|
+
}
|
|
260
|
+
focus(options) { this.editor?.view.dom.focus(options); }
|
|
261
|
+
detectTrigger() {
|
|
262
|
+
const editor = this.editor;
|
|
263
|
+
if (!editor || this.disabled || this.popup || !this.searchReferences || !this.trigger || editor.view.composing || !editor.isFocused)
|
|
264
|
+
return;
|
|
265
|
+
const { from, to, $from } = editor.state.selection;
|
|
266
|
+
if (from !== to || $from.parentOffset < this.trigger.length)
|
|
267
|
+
return;
|
|
268
|
+
if ($from.parent.textBetween($from.parentOffset - this.trigger.length, $from.parentOffset, '', '\ufffc') !== this.trigger)
|
|
269
|
+
return;
|
|
270
|
+
this.referenceRange = { from: from - this.trigger.length, to };
|
|
271
|
+
void this.openPicker();
|
|
272
|
+
}
|
|
273
|
+
positionPicker() {
|
|
274
|
+
if (!this.editor || !this.popup || !this.referenceRange)
|
|
275
|
+
return;
|
|
276
|
+
const coords = this.editor.view.coordsAtPos(this.referenceRange.to);
|
|
277
|
+
this.popup.triggerRect = new DOMRect(coords.left, coords.top, 340, coords.bottom - coords.top);
|
|
278
|
+
this.popup.opensToTop = window.innerHeight - coords.bottom < 300 && coords.top > window.innerHeight - coords.bottom;
|
|
279
|
+
}
|
|
280
|
+
async openPicker() {
|
|
281
|
+
const popup = this.popup = new DeesInputDropdownPopup();
|
|
282
|
+
popup.ownerComponent = this;
|
|
283
|
+
popup.searchLabel = this.searchLabel;
|
|
284
|
+
popup.searchOptions = async (query, signal) => (await this.searchReferences(query, signal))
|
|
285
|
+
.map(reference => ({ key: reference.id, option: reference.label, payload: reference }));
|
|
286
|
+
this.positionPicker();
|
|
287
|
+
popup.addEventListener('reposition-request', () => this.positionPicker());
|
|
288
|
+
popup.addEventListener('close-request', () => { void this.closePicker(true); });
|
|
289
|
+
popup.addEventListener('keydown', (event) => {
|
|
290
|
+
if (event.key === 'Tab') {
|
|
291
|
+
event.preventDefault();
|
|
292
|
+
void this.closePicker(true);
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
popup.addEventListener('option-selected', (event) => {
|
|
296
|
+
const reference = event.detail.payload;
|
|
297
|
+
const range = this.referenceRange;
|
|
298
|
+
if (range && this.editor && !this.disabled) {
|
|
299
|
+
this.editor.chain().setMeta('preventReferenceTrigger', true).insertContentAt(range, [
|
|
300
|
+
{ type: 'catalogReference', attrs: reference }, { type: 'text', text: ' ' },
|
|
301
|
+
]).run();
|
|
302
|
+
}
|
|
303
|
+
void this.closePicker(true);
|
|
304
|
+
});
|
|
305
|
+
this.popupOpening = popup.show();
|
|
306
|
+
try {
|
|
307
|
+
await this.popupOpening;
|
|
308
|
+
if (this.popup === popup && this.isConnected && !this.disabled)
|
|
309
|
+
await popup.focusSearchInput();
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
this.loadError = error instanceof Error ? error.message : 'Could not open search.';
|
|
313
|
+
void this.closePicker(false);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
async closePicker(restoreFocus) {
|
|
317
|
+
const popup = this.popup;
|
|
318
|
+
const editor = this.editor;
|
|
319
|
+
const opening = this.popupOpening;
|
|
320
|
+
this.popup = undefined;
|
|
321
|
+
this.referenceRange = undefined;
|
|
322
|
+
if (!popup)
|
|
323
|
+
return;
|
|
324
|
+
await opening?.catch(() => undefined);
|
|
325
|
+
await popup.hide();
|
|
326
|
+
if (restoreFocus && this.isConnected && !this.disabled && this.editor === editor)
|
|
327
|
+
editor?.commands.focus();
|
|
328
|
+
}
|
|
329
|
+
openReference(reference) {
|
|
330
|
+
this.dispatchEvent(new CustomEvent('reference-open', { detail: reference, bubbles: true, composed: true }));
|
|
331
|
+
}
|
|
332
|
+
async disconnectedCallback() {
|
|
333
|
+
this.connection++;
|
|
334
|
+
void this.closePicker(false);
|
|
335
|
+
this.editor?.destroy();
|
|
336
|
+
this.editor = undefined;
|
|
337
|
+
this.initializing = undefined;
|
|
338
|
+
await super.disconnectedCallback();
|
|
339
|
+
}
|
|
340
|
+
static {
|
|
341
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
return DeesInputReference = _classThis;
|
|
345
|
+
})();
|
|
346
|
+
export { DeesInputReference };
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC1yZWZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1pbnB1dC9kZWVzLWlucHV0LXJlZmVyZW5jZS9kZWVzLWlucHV0LXJlZmVyZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7SUFLN0Msa0JBQWtCOzRCQUQ5QixhQUFhLENBQUMsc0JBQXNCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQ0FBbkIsU0FBUSxXQUFXOzs7O2lDQUdoRCxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7NENBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzttQ0FDOUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2lDQUMxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7dUNBQzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt1Q0FDMUIs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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { JSONContent } from '@tiptap/core';
|
|
2
|
+
import type { TReferenceContent } from './interfaces.js';
|
|
3
|
+
/** The public value is editor-independent JSON: plain text (including newlines) and references. */
|
|
4
|
+
export declare const referenceDocument: (value: TReferenceContent) => JSONContent;
|
|
5
|
+
export declare const referenceContent: (document: JSONContent) => TReferenceContent;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** The public value is editor-independent JSON: plain text (including newlines) and references. */
|
|
2
|
+
export const referenceDocument = (value) => {
|
|
3
|
+
const paragraphs = [{ type: 'paragraph', content: [] }];
|
|
4
|
+
for (const part of value) {
|
|
5
|
+
if (part.type === 'reference') {
|
|
6
|
+
paragraphs.at(-1).content.push({ type: 'catalogReference', attrs: { id: part.id, label: part.label } });
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
const lines = part.text.split('\n');
|
|
10
|
+
lines.forEach((text, index) => {
|
|
11
|
+
if (index)
|
|
12
|
+
paragraphs.push({ type: 'paragraph', content: [] });
|
|
13
|
+
if (text)
|
|
14
|
+
paragraphs.at(-1).content.push({ type: 'text', text });
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return { type: 'doc', content: paragraphs };
|
|
19
|
+
};
|
|
20
|
+
export const referenceContent = (document) => {
|
|
21
|
+
const parts = [];
|
|
22
|
+
const appendText = (text) => {
|
|
23
|
+
if (!text)
|
|
24
|
+
return;
|
|
25
|
+
const last = parts.at(-1);
|
|
26
|
+
if (last?.type === 'text')
|
|
27
|
+
last.text += text;
|
|
28
|
+
else
|
|
29
|
+
parts.push({ type: 'text', text });
|
|
30
|
+
};
|
|
31
|
+
for (const [index, paragraph] of (document.content ?? []).entries()) {
|
|
32
|
+
if (index)
|
|
33
|
+
appendText('\n');
|
|
34
|
+
for (const node of paragraph.content ?? []) {
|
|
35
|
+
if (node.type === 'catalogReference')
|
|
36
|
+
parts.push({ type: 'reference', id: String(node.attrs.id), label: String(node.attrs.label) });
|
|
37
|
+
else if (node.type === 'hardBreak')
|
|
38
|
+
appendText('\n');
|
|
39
|
+
else
|
|
40
|
+
appendText(node.text ?? '');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return parts;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1pbnB1dC9kZWVzLWlucHV0LXJlZmVyZW5jZS9kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxtR0FBbUc7QUFDbkcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUF3QixFQUFlLEVBQUU7SUFDekUsTUFBTSxVQUFVLEdBQWtCLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzlCLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxLQUFLO29CQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLElBQUk7b0JBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQXFCLEVBQXFCLEVBQUU7SUFDM0UsTUFBTSxLQUFLLEdBQXNCLEVBQUUsQ0FBQztJQUNwQyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO1FBQ2xDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNsQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQzs7WUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUM7SUFDRixLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDcEUsSUFBSSxLQUFLO1lBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLEtBQUssTUFBTSxJQUFJLElBQUksU0FBUyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMzQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssa0JBQWtCO2dCQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNqSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVztnQkFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7O2dCQUNoRCxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './interfaces.js';
|
|
2
|
+
export * from './dees-input-reference.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1pbnB1dC9kZWVzLWlucHV0LXJlZmVyZW5jZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Stable reference identity; label is a human-readable snapshot, never the lookup key. */
|
|
2
|
+
export interface IInputReference {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export type TReferencePart = {
|
|
7
|
+
type: 'text';
|
|
8
|
+
text: string;
|
|
9
|
+
} | {
|
|
10
|
+
type: 'reference';
|
|
11
|
+
id: string;
|
|
12
|
+
label: string;
|
|
13
|
+
};
|
|
14
|
+
export type TReferenceContent = TReferencePart[];
|
|
15
|
+
export type TReferenceSearch = (query: string, signal: AbortSignal) => Promise<IInputReference[]>;
|
|
16
|
+
export declare const referenceText: (content: TReferenceContent) => string;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const referenceText = (content) => content.map(part => part.type === 'text' ? part.text : part.label).join('');
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWlucHV0L2RlZXMtaW5wdXQtcmVmZXJlbmNlL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBMEIsRUFBVSxFQUFFLENBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
|
|
2
2
|
import { type TemplateResult } from '@design.estate/dees-element';
|
|
3
|
-
import { type IBlock, type OutputFormat, WysiwygBlockOperations, DeesSlashMenu, DeesFormattingMenu } from './index.js';
|
|
3
|
+
import { type IBlock, type OutputFormat, WysiwygBlockOperations, WysiwygDragDropHandler, DeesSlashMenu, DeesFormattingMenu } from './index.js';
|
|
4
4
|
declare global {
|
|
5
5
|
interface HTMLElementTagNameMap {
|
|
6
6
|
'dees-input-wysiwyg': DeesInputWysiwyg;
|
|
@@ -25,7 +25,17 @@ export declare class DeesInputWysiwyg extends DeesInputBase<string> {
|
|
|
25
25
|
blockOperations: WysiwygBlockOperations;
|
|
26
26
|
private inputHandler;
|
|
27
27
|
private keyboardHandler;
|
|
28
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Block drag and drop, public alongside `blockOperations` because the drag *interaction* has
|
|
30
|
+
* no other seam: `dragState`, the drop indicator and the global drag-over listener all live in
|
|
31
|
+
* this handler, and a native HTML5 drag sequence cannot be synthesised from script, so a host
|
|
32
|
+
* or a test that exercises dragging has to drive `handleDragStart` / `handleDragEnd` itself.
|
|
33
|
+
* Reordering a block programmatically needs none of that: `blockOperations.moveBlock(blockId,
|
|
34
|
+
* targetIndex)` is the public path for that, on the public `blocks` accessor. The remaining
|
|
35
|
+
* handlers stay private because everything they own is reachable through ordinary input and
|
|
36
|
+
* keyboard events.
|
|
37
|
+
*/
|
|
38
|
+
dragDropHandler: WysiwygDragDropHandler;
|
|
29
39
|
private history;
|
|
30
40
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
31
41
|
constructor();
|