@design.estate/dees-catalog 13.0.0 → 13.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist_bundle/bundle.js +823 -170
  2. package/dist_bundle/bundle.js.map +1 -1
  3. package/dist_ts_web/00_commitinfo_data.js +1 -1
  4. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +4 -4
  5. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +3 -1
  6. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +75 -46
  7. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +4 -0
  8. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +72 -27
  9. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +7 -2
  10. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +87 -45
  11. package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +26 -15
  12. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +2 -0
  13. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +73 -40
  14. package/dist_ts_web/elements/00group-kanban/kanban.dragcontroller.d.ts +67 -0
  15. package/dist_ts_web/elements/00group-kanban/kanban.dragcontroller.js +548 -0
  16. package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +3 -1
  17. package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +3 -1
  18. package/dist_ts_web/elements/00group-kanban/kanban.styles.js +11 -3
  19. package/package.json +1 -1
  20. package/readme.md +19 -4
  21. package/scripts/check-packed-consumer.mjs +1 -1
  22. package/ts_web/00_commitinfo_data.ts +1 -1
  23. package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +3 -3
  24. package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +61 -34
  25. package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +47 -24
  26. package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +47 -27
  27. package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +25 -14
  28. package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +64 -38
  29. package/ts_web/elements/00group-kanban/kanban.dragcontroller.ts +481 -0
  30. package/ts_web/elements/00group-kanban/kanban.helpers.ts +5 -1
  31. package/ts_web/elements/00group-kanban/kanban.styles.ts +10 -2
@@ -25,6 +25,8 @@ export declare class DeesKanbanTicketDetail extends DeesElement {
25
25
  accessor error: string;
26
26
  accessor saving: boolean;
27
27
  accessor canGoBack: boolean;
28
+ /** Keep the identifier visible unless the containing surface already labels the ticket. */
29
+ accessor showTicketKey: boolean;
28
30
  private accessor editing;
29
31
  static styles: import("@design.estate/dees-element").CSSResult[];
30
32
  updated(changed: Map<string, unknown>): void;
@@ -34,7 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
34
34
  };
35
35
  import { DeesElement, customElement, property, state, html, css } from '@design.estate/dees-element';
36
36
  import { kanbanStyles } from '../kanban.styles.js';
37
- import { kanbanEvent, sortKanbanTickets, ticketDraft, ticketLabel } from '../kanban.helpers.js';
37
+ import { kanbanEvent, kanbanInitials, kanbanPriorityIcon, sortKanbanTickets, ticketDraft, ticketLabel } from '../kanban.helpers.js';
38
38
  import '../../00group-input/dees-input-text/dees-input-text.js';
39
39
  import '../../00group-input/dees-input-textarea/dees-input-textarea.js';
40
40
  import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
@@ -87,6 +87,9 @@ let DeesKanbanTicketDetail = (() => {
87
87
  let _canGoBack_decorators;
88
88
  let _canGoBack_initializers = [];
89
89
  let _canGoBack_extraInitializers = [];
90
+ let _showTicketKey_decorators;
91
+ let _showTicketKey_initializers = [];
92
+ let _showTicketKey_extraInitializers = [];
90
93
  let _editing_decorators;
91
94
  let _editing_initializers = [];
92
95
  let _editing_extraInitializers = [];
@@ -108,6 +111,7 @@ let DeesKanbanTicketDetail = (() => {
108
111
  _error_decorators = [property({ type: String })];
109
112
  _saving_decorators = [property({ type: Boolean })];
110
113
  _canGoBack_decorators = [property({ type: Boolean })];
114
+ _showTicketKey_decorators = [property({ type: Boolean })];
111
115
  _editing_decorators = [state()];
112
116
  __esDecorate(this, null, _ticket_decorators, { kind: "accessor", name: "ticket", static: false, private: false, access: { has: obj => "ticket" in obj, get: obj => obj.ticket, set: (obj, value) => { obj.ticket = value; } }, metadata: _metadata }, _ticket_initializers, _ticket_extraInitializers);
113
117
  __esDecorate(this, null, _tickets_decorators, { kind: "accessor", name: "tickets", static: false, private: false, access: { has: obj => "tickets" in obj, get: obj => obj.tickets, set: (obj, value) => { obj.tickets = value; } }, metadata: _metadata }, _tickets_initializers, _tickets_extraInitializers);
@@ -123,6 +127,7 @@ let DeesKanbanTicketDetail = (() => {
123
127
  __esDecorate(this, null, _error_decorators, { kind: "accessor", name: "error", static: false, private: false, access: { has: obj => "error" in obj, get: obj => obj.error, set: (obj, value) => { obj.error = value; } }, metadata: _metadata }, _error_initializers, _error_extraInitializers);
124
128
  __esDecorate(this, null, _saving_decorators, { kind: "accessor", name: "saving", static: false, private: false, access: { has: obj => "saving" in obj, get: obj => obj.saving, set: (obj, value) => { obj.saving = value; } }, metadata: _metadata }, _saving_initializers, _saving_extraInitializers);
125
129
  __esDecorate(this, null, _canGoBack_decorators, { kind: "accessor", name: "canGoBack", static: false, private: false, access: { has: obj => "canGoBack" in obj, get: obj => obj.canGoBack, set: (obj, value) => { obj.canGoBack = value; } }, metadata: _metadata }, _canGoBack_initializers, _canGoBack_extraInitializers);
130
+ __esDecorate(this, null, _showTicketKey_decorators, { kind: "accessor", name: "showTicketKey", static: false, private: false, access: { has: obj => "showTicketKey" in obj, get: obj => obj.showTicketKey, set: (obj, value) => { obj.showTicketKey = value; } }, metadata: _metadata }, _showTicketKey_initializers, _showTicketKey_extraInitializers);
126
131
  __esDecorate(this, null, _editing_decorators, { kind: "accessor", name: "editing", static: false, private: false, access: { has: obj => "editing" in obj, get: obj => obj.editing, set: (obj, value) => { obj.editing = value; } }, metadata: _metadata }, _editing_initializers, _editing_extraInitializers);
127
132
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
128
133
  DeesKanbanTicketDetail = _classThis = _classDescriptor.value;
@@ -170,24 +175,48 @@ let DeesKanbanTicketDetail = (() => {
170
175
  #canGoBack_accessor_storage = (__runInitializers(this, _saving_extraInitializers), __runInitializers(this, _canGoBack_initializers, false));
171
176
  get canGoBack() { return this.#canGoBack_accessor_storage; }
172
177
  set canGoBack(value) { this.#canGoBack_accessor_storage = value; }
173
- #editing_accessor_storage = (__runInitializers(this, _canGoBack_extraInitializers), __runInitializers(this, _editing_initializers, false));
178
+ #showTicketKey_accessor_storage = (__runInitializers(this, _canGoBack_extraInitializers), __runInitializers(this, _showTicketKey_initializers, true));
179
+ /** Keep the identifier visible unless the containing surface already labels the ticket. */
180
+ get showTicketKey() { return this.#showTicketKey_accessor_storage; }
181
+ set showTicketKey(value) { this.#showTicketKey_accessor_storage = value; }
182
+ #editing_accessor_storage = (__runInitializers(this, _showTicketKey_extraInitializers), __runInitializers(this, _editing_initializers, false));
174
183
  get editing() { return this.#editing_accessor_storage; }
175
184
  set editing(value) { this.#editing_accessor_storage = value; }
176
185
  static styles = [...kanbanStyles, css `
177
- .layout { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 28px; }
178
- .main { min-width: 0; }
179
- .toolbar { margin-bottom: 16px; }
180
- h2 { font-size: var(--dees-font-title2-size); line-height: 1.3; font-weight: 600; margin-bottom: 18px; overflow-wrap: anywhere; }
181
- .description { white-space: pre-wrap; line-height: 1.65; overflow-wrap: anywhere; margin-bottom: 24px; }
182
- aside { border-left: 1px solid var(--dees-color-border-subtle); padding-left: 22px; }
183
- .fields { display: grid; gap: 16px; }
184
- .fields label { display: block; margin-bottom: 6px; }
185
- h3 { font-size: var(--dees-font-body-size); margin-bottom: 12px; }
186
+ :host { padding: 24px; }
187
+ .layout { display: grid; grid-template-columns: minmax(0, 1fr) 248px; grid-template-areas: 'lead props' 'body props'; gap: 24px; align-items: start; }
188
+ .lead { grid-area: lead; min-width: 0; }
189
+ .body { grid-area: body; min-width: 0; }
190
+ .toolbar { margin-bottom: 20px; flex-wrap: nowrap; min-width: 0; }
191
+ .toolbar .badge { text-transform: capitalize; flex-shrink: 0; }
192
+ .ticket-key { flex-shrink: 0; font-variant-numeric: tabular-nums; }
193
+ .link.parent { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--dees-font-footnote-size); }
194
+ .toolbar dees-button { flex-shrink: 0; }
195
+ h2 { font-size: var(--dees-font-title2-size); line-height: 1.3; font-weight: 600; margin-bottom: 12px; letter-spacing: -.015em; overflow-wrap: anywhere; }
196
+ .description { white-space: pre-wrap; font-size: var(--dees-font-subhead-size); line-height: 22px; overflow-wrap: anywhere; max-width: 64ch; }
197
+ aside { grid-area: props; min-width: 0; padding: 14px 16px; border-radius: var(--dees-radius-xl); corner-shape: var(--dees-corner-shape); background: var(--dees-color-settings-group); }
198
+ .fields { display: grid; gap: 14px; font-size: var(--dees-font-footnote-size); font-weight: 500; }
199
+ .fields label { display: block; margin-bottom: 5px; font-size: var(--dees-font-caption1-size); font-weight: 400; }
200
+ .value { min-height: var(--dees-control-height-lg); display: flex; align-items: center; }
201
+ .person { display: flex; align-items: center; gap: 7px; }
186
202
  .children { margin-bottom: 24px; }
187
- .child { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--dees-color-border-subtle); }
188
- .discussion { border-top: 1px solid var(--dees-color-border-subtle); padding-top: 22px; }
189
- .edit { display: grid; gap: 14px; margin-bottom: 22px; }
190
- @media (max-width: 700px) { .layout { grid-template-columns: minmax(0, 1fr); gap: 24px; } aside { grid-row: 1; border-left: 0; padding-left: 0; } .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
203
+ .child-list { border-radius: var(--dees-radius-xl); corner-shape: var(--dees-corner-shape); background: var(--dees-color-settings-group); overflow: hidden; }
204
+ .child { display: flex; width: 100%; align-items: center; gap: 10px; min-height: 44px; padding: 10px 12px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
205
+ .child + .child { border-top: 1px solid var(--dees-color-border-subtle); }
206
+ .child:hover { background: var(--dees-color-row-hover); }
207
+ .child:focus-visible { outline-offset: -3px; }
208
+ .child-key { font-size: var(--dees-font-caption1-size); color: var(--dees-color-text-secondary); font-variant-numeric: tabular-nums; flex-shrink: 0; }
209
+ .child-title { flex: 1; min-width: 0; font-size: var(--dees-font-footnote-size); font-weight: 500; overflow-wrap: anywhere; }
210
+ .child .badge { flex-shrink: 0; }
211
+ .discussion { border-top: 1px solid var(--dees-color-border-subtle); padding-top: 20px; }
212
+ .edit { display: grid; gap: 14px; }
213
+ @media (max-width: 700px) {
214
+ :host { padding: 16px; }
215
+ .layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'lead' 'props' 'body'; gap: 20px; }
216
+ .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
217
+ .toolbar { gap: 6px; margin-bottom: 16px; }
218
+ .child { gap: 7px; }
219
+ }
191
220
  `];
192
221
  updated(changed) {
193
222
  const previous = changed.get('ticket');
@@ -211,12 +240,13 @@ let DeesKanbanTicketDetail = (() => {
211
240
  const parents = this.tickets.filter(item => item.kind === (ticket.kind === 'subtask' ? 'task' : 'epic'));
212
241
  return html `<div class="toolbar row">
213
242
  ${this.canGoBack ? html `<dees-button size="sm" type="ghost" icon="lucide:ArrowLeft" text="Back" @clicked=${() => kanbanEvent(this, 'kanban-detail-back', {})}></dees-button>` : ''}
214
- <span class="badge">${ticket.kind}</span><span class="caption">${ticket.key}</span>
215
- ${parent ? html `<span class="caption">/</span><button class="link caption" @click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: parent.id })}>${parent.title}</button>` : ''}
243
+ <span class="badge">${ticket.kind}</span>
244
+ ${this.showTicketKey ? html `<span class="caption ticket-key">${ticket.key}</span>` : ''}
245
+ ${parent ? html `<span class="caption" aria-hidden="true">/</span><button class="link parent" title=${parent.title} @click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: parent.id })}>${parent.title}</button>` : ''}
216
246
  <span class="spacer"></span>${editable && !this.editing ? html `<dees-button size="sm" type="ghost" text="Edit ticket" icon="lucide:Pencil" @clicked=${() => { this.editing = true; this.changeDraft({}); }}></dees-button>` : ''}
217
247
  </div>
218
248
  ${this.error ? html `<p class="error" role="alert">${this.error}</p>` : ''}
219
- <div class="layout"><div class="main">
249
+ <div class="layout"><section class="lead">
220
250
  ${this.editing && editable ? html `<div class="edit">
221
251
  <dees-input-text label="Title" .value=${draft.title} .disabled=${this.saving}
222
252
  @input=${(event) => this.changeDraft({ title: String(event.currentTarget.value ?? '') })}></dees-input-text>
@@ -230,33 +260,36 @@ let DeesKanbanTicketDetail = (() => {
230
260
  kanbanEvent(this, 'kanban-ticket-draft', { ticketId: ticket.id, draft: undefined });
231
261
  }}></dees-button></div>
232
262
  </div>` : html `<h2>${ticket.title}</h2><div class="description ${ticket.description ? '' : 'muted'}">${ticket.description || 'No description yet.'}</div>`}
233
- ${ticket.kind !== 'subtask' ? html `<section class="children"><div class="row"><h3>${ticket.kind === 'epic' ? 'Tasks' : 'Subtasks'}</h3><span class="spacer"></span>
234
- ${this.provider.createTicket && ticket.permissions?.createChild !== false ? html `<dees-button size="sm" type="ghost" icon="lucide:Plus" text=${ticket.kind === 'epic' ? 'Add task' : 'Add subtask'}
235
- @clicked=${() => kanbanEvent(this, 'kanban-ticket-create', { kind: ticket.kind === 'epic' ? 'task' : 'subtask', parentId: ticket.id, columnId: this.columns[0]?.id ?? ticket.columnId })}></dees-button>` : ''}</div>
236
- ${children.map(child => html `<div class="child"><button class="link" @click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: child.id })}>${ticketLabel(child)}</button>
237
- <span class="badge">${this.columns.find(column => column.id === child.columnId)?.title ?? child.columnId}</span></div>`)}
238
- ${!children.length ? html `<p class="caption">No ${ticket.kind === 'epic' ? 'tasks' : 'subtasks'} yet.</p>` : ''}</section>` : ''}
239
- <dees-kanban-discussion class="discussion" .ticketId=${ticket.id} .comments=${this.comments} .draft=${this.commentDraft}
240
- .loading=${this.loadingComments} .error=${this.commentsError} .readOnly=${ticket.permissions?.comment === false}
241
- .searchTickets=${this.searchTickets} .addComment=${this.provider.addComment ? this.addComment : undefined}></dees-kanban-discussion>
242
- </div><aside><div class="fields">
243
- <dees-input-dropdown label="Status" .options=${this.columns.map(column => ({ key: column.id, option: column.title }))}
263
+ </section><aside><div class="fields">
264
+ <div><label class="caption">Status</label><dees-input-dropdown label="Status" .labelPosition=${'none'} .options=${this.columns.map(column => ({ key: column.id, option: column.title }))}
244
265
  .value=${{ key: ticket.columnId, option: this.columns.find(column => column.id === ticket.columnId)?.title ?? ticket.columnId }}
245
- .disabled=${!movable || this.saving} @selectedOption=${(event) => kanbanEvent(this, 'kanban-ticket-move', { ticketId: ticket.id, columnId: event.detail.key })}></dees-input-dropdown>
266
+ .disabled=${!movable || this.saving} @selectedOption=${(event) => kanbanEvent(this, 'kanban-ticket-move', { ticketId: ticket.id, columnId: event.detail.key })}></dees-input-dropdown></div>
246
267
  ${this.editing && editable ? html `
247
- <dees-input-dropdown label="Priority" .disabled=${this.saving} .value=${{ key: draft.priority, option: draft.priority }}
268
+ <div><label class="caption">Priority</label><dees-input-dropdown label="Priority" .labelPosition=${'none'} .disabled=${this.saving} .value=${{ key: draft.priority, option: draft.priority }}
248
269
  .options=${['none', 'low', 'normal', 'high', 'urgent'].map(key => ({ key, option: key }))}
249
- @selectedOption=${(event) => this.changeDraft({ priority: event.detail.key })}></dees-input-dropdown>
250
- <dees-input-dropdown label="Assignee" .disabled=${this.saving} .value=${{ key: draft.assigneeId, option: this.people.find(person => person.id === draft.assigneeId)?.name ?? ticket.assignee?.name ?? 'Unassigned' }}
270
+ @selectedOption=${(event) => this.changeDraft({ priority: event.detail.key })}></dees-input-dropdown></div>
271
+ <div><label class="caption">Assignee</label><dees-input-dropdown label="Assignee" .labelPosition=${'none'} .disabled=${this.saving} .value=${{ key: draft.assigneeId, option: this.people.find(person => person.id === draft.assigneeId)?.name ?? ticket.assignee?.name ?? 'Unassigned' }}
251
272
  .options=${[{ key: '', option: 'Unassigned' }, ...this.people.map(person => ({ key: person.id, option: person.name }))]}
252
- @selectedOption=${(event) => this.changeDraft({ assigneeId: event.detail.key })}></dees-input-dropdown>
253
- ${ticket.kind !== 'epic' ? html `<dees-input-dropdown label=${ticket.kind === 'task' ? 'Epic' : 'Parent task'} .disabled=${this.saving}
273
+ @selectedOption=${(event) => this.changeDraft({ assigneeId: event.detail.key })}></dees-input-dropdown></div>
274
+ ${ticket.kind !== 'epic' ? html `<div><label class="caption">${ticket.kind === 'task' ? 'Epic' : 'Parent task'}</label><dees-input-dropdown label=${ticket.kind === 'task' ? 'Epic' : 'Parent task'} .labelPosition=${'none'} .disabled=${this.saving}
254
275
  .value=${{ key: draft.parentId, option: parents.find(item => item.id === draft.parentId)?.title ?? 'None' }}
255
276
  .options=${[...(ticket.kind === 'task' ? [{ key: '', option: 'None' }] : []), ...parents.map(item => ({ key: item.id, option: ticketLabel(item) }))]}
256
- @selectedOption=${(event) => this.changeDraft({ parentId: event.detail.key })}></dees-input-dropdown>` : ''}
257
- ` : html `<div><label class="caption">Priority</label>${ticket.priority ?? 'none'}</div><div><label class="caption">Assignee</label>${ticket.assignee?.name ?? 'Unassigned'}</div>`}
258
- ${ticket.labels?.length ? html `<div><label class="caption">Labels</label><div class="row">${ticket.labels.map(label => html `<span class="badge">${label}</span>`)}</div></div>` : ''}
259
- </div></aside></div>`;
277
+ @selectedOption=${(event) => this.changeDraft({ parentId: event.detail.key })}></dees-input-dropdown></div>` : ''}
278
+ ` : html `<div><label class="caption">Priority</label><span class="priority value" data-priority=${ticket.priority ?? 'none'}><dees-icon .icon=${kanbanPriorityIcon(ticket.priority)} iconSize="13" aria-hidden="true"></dees-icon>${ticket.priority ?? 'none'}</span></div>
279
+ <div><label class="caption">Assignee</label><span class="person value"><span class="avatar" aria-hidden="true">${ticket.assignee ? kanbanInitials(ticket.assignee.name) : '–'}</span>${ticket.assignee?.name ?? 'Unassigned'}</span></div>`}
280
+ ${ticket.labels?.length ? html `<div><label class="caption">Labels</label><div class="row value">${ticket.labels.map(label => html `<span class="badge">${label}</span>`)}</div></div>` : ''}
281
+ </div></aside><div class="body">
282
+ ${ticket.kind !== 'subtask' ? html `<section class="children"><div class="section-title"><h3>${ticket.kind === 'epic' ? 'Tasks' : 'Subtasks'}</h3><span class="count">${children.length}</span><span class="spacer"></span>
283
+ ${this.provider.createTicket && ticket.permissions?.createChild !== false ? html `<dees-button size="sm" type="ghost" icon="lucide:Plus" text=${ticket.kind === 'epic' ? 'Add task' : 'Add subtask'}
284
+ @clicked=${() => kanbanEvent(this, 'kanban-ticket-create', { kind: ticket.kind === 'epic' ? 'task' : 'subtask', parentId: ticket.id, columnId: this.columns[0]?.id ?? ticket.columnId })}></dees-button>` : ''}</div>
285
+ <div class="child-list">${children.map(child => html `<button class="child" @click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: child.id })}>
286
+ <span class="child-key">${child.key}</span><span class="child-title">${child.title}</span>
287
+ <span class="badge">${this.columns.find(column => column.id === child.columnId)?.title ?? child.columnId}</span></button>`)}</div>
288
+ ${!children.length ? html `<p class="caption">No ${ticket.kind === 'epic' ? 'tasks' : 'subtasks'} yet.</p>` : ''}</section>` : ''}
289
+ <dees-kanban-discussion class="discussion" .ticketId=${ticket.id} .comments=${this.comments} .draft=${this.commentDraft}
290
+ .loading=${this.loadingComments} .error=${this.commentsError} .readOnly=${ticket.permissions?.comment === false}
291
+ .searchTickets=${this.searchTickets} .addComment=${this.provider.addComment ? this.addComment : undefined}></dees-kanban-discussion>
292
+ </div></div>`;
260
293
  }
261
294
  finishEditing() { this.editing = false; }
262
295
  static {
@@ -266,4 +299,4 @@ let DeesKanbanTicketDetail = (() => {
266
299
  return DeesKanbanTicketDetail = _classThis;
267
300
  })();
268
301
  export { DeesKanbanTicketDetail };
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1rYW5iYW4tdGlja2V0LWRldGFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWthbmJhbi9kZWVzLWthbmJhbi10aWNrZXQtZGV0YWlsL2RlZXMta2FuYmFuLXRpY2tldC1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRyxPQUFPLHdEQUF3RCxDQUFDO0FBQ2hFLE9BQU8sZ0VBQWdFLENBQUM7QUFDeEUsT0FBTyxnRUFBZ0UsQ0FBQztBQUN4RSxPQUFPLHFEQUFxRCxDQUFDO0lBS2hELHNCQUFzQjs0QkFEbEMsYUFBYSxDQUFDLDJCQUEyQixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBQW5CLFNBQVEsV0FBVzs7OztrQ0FDcEQsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7bUNBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztrQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO29DQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7aUNBQzlC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NEJBQ3ZFLENBQUMsS0FBNEMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDOzBEQUNwRSxJQUFJLENBQUMsTUFBTSxXQUFXLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLFlBQVksRUFBRTtxQkFDdk0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ3JHLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1VBQzdHLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsOEJBQThCLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsY0FBYyxJQUFJLENBQUMsTUFBTTttQkFDMUgsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUU7cUJBQ2hHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ2xJLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO09BQzVJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSwrQ0FBK0MsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLHFEQUFxRCxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxZQUFZLFFBQVE7UUFDaEwsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSw4REFBOEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUEsdUJBQXVCLEtBQUssU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTt5QkFDakssQ0FBQztRQUN4QixDQUFDO1FBQ00sYUFBYSxLQUFXLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzs7WUFqRzNDLHVEQUFzQjs7Ozs7U0FBdEIsc0JBQXNCIn0=
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1rYW5iYW4tdGlja2V0LWRldGFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWthbmJhbi9kZWVzLWthbmJhbi10aWNrZXQtZGV0YWlsL2RlZXMta2FuYmFuLXRpY2tldC1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHcEksT0FBTyx3REFBd0QsQ0FBQztBQUNoRSxPQUFPLGdFQUFnRSxDQUFDO0FBQ3hFLE9BQU8sZ0VBQWdFLENBQUM7QUFDeEUsT0FBTyxxREFBcUQsQ0FBQztJQUtoRCxzQkFBc0I7NEJBRGxDLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQzs7OztzQkFDQyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NDQUFuQixTQUFRLFdBQVc7Ozs7a0NBQ3BELFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzttQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7a0NBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztvQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO2lDQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7d0NBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztvQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO3lDQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7MkNBQzlCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzt5Q0FDM0IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2lDQUMxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7a0NBQzFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztxQ0FDM0IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO3lDQUUzQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7bUNBQzNCLEtBQUssRUFBRTtZQWhCd0IsdUtBQVMsTUFBTSw2QkFBTixNQUFNLHVGQUE0QjtZQUMzQywwS0FBUyxPQUFPLDZCQUFQLE9BQU8seUZBQXVCO1lBQ3ZDLDBLQUFTLE9BQU8sNkJBQVAsT0FBTyx5RkFBdUI7WUFDdkMsdUtBQVMsTUFBTSw2QkFBTixNQUFNLHVGQUF1QjtZQUN0Qyw2S0FBUyxRQUFRLDZCQUFSLFFBQVEsMkZBQXVCO1lBQ3hDLG9LQUFTLEtBQUssNkJBQUwsS0FBSyxxRkFBaUM7WUFDL0MseUxBQVMsWUFBWSw2QkFBWixZQUFZLG1HQUF5QjtZQUM5Qyw2S0FBUyxRQUFRLDZCQUFSLFFBQVEsMkZBQXdCO1lBQ3pDLDRMQUFTLGFBQWEsNkJBQWIsYUFBYSxxR0FBK0I7WUFDeEQsa01BQVMsZUFBZSw2QkFBZixlQUFlLHlHQUFTO1lBQ2xDLDRMQUFTLGFBQWEsNkJBQWIsYUFBYSxxR0FBTTtZQUM1QixvS0FBUyxLQUFLLDZCQUFMLEtBQUsscUZBQU07WUFDbkIsdUtBQVMsTUFBTSw2QkFBTixNQUFNLHVGQUFTO1lBQ3hCLGdMQUFTLFNBQVMsNkJBQVQsU0FBUyw2RkFBUztZQUUzQiw0TEFBUyxhQUFhLDZCQUFiLGFBQWEscUdBQVE7WUFDbEQsMEtBQWlCLE9BQU8sNkJBQVAsT0FBTyx5RkFBUztZQWpCNUMsNktBNEhDOzs7O1FBM0hpQyxpRkFBMkM7UUFBM0MsSUFBUyxNQUFNLDRDQUE0QjtRQUEzQyxJQUFTLE1BQU0sa0RBQTRCO1FBQzNDLGdJQUFvQyxFQUFFLEdBQUM7UUFBdkMsSUFBUyxPQUFPLDZDQUF1QjtRQUF2QyxJQUFTLE9BQU8sbURBQXVCO1FBQ3ZDLGlJQUFvQyxFQUFFLEdBQUM7UUFBdkMsSUFBUyxPQUFPLDZDQUF1QjtRQUF2QyxJQUFTLE9BQU8sbURBQXVCO1FBQ3ZDLCtIQUFtQyxFQUFFLEdBQUM7UUFBdEMsSUFBUyxNQUFNLDRDQUF1QjtRQUF0QyxJQUFTLE1BQU0sa0RBQXVCO1FBQ3RDLGtJQUFxQyxFQUFFLEdBQUM7UUFBeEMsSUFBUyxRQUFRLDhDQUF1QjtRQUF4QyxJQUFTLFFBQVEsb0RBQXVCO1FBQ3hDLHVJQUErQztRQUEvQyxJQUFTLEtBQUssMkNBQWlDO1FBQS9DLElBQVMsS0FBSyxpREFBaUM7UUFDL0MseUlBQTJDLEVBQUUsR0FBQztRQUE5QyxJQUFTLFlBQVksa0RBQXlCO1FBQTlDLElBQVMsWUFBWSx3REFBeUI7UUFDOUMsd0lBQXNDLEVBQUUsR0FBQztRQUF6QyxJQUFTLFFBQVEsOENBQXdCO1FBQXpDLElBQVMsUUFBUSxvREFBd0I7UUFDekMsdUpBQXFEO1FBQXJELElBQVMsYUFBYSxtREFBK0I7UUFBckQsSUFBUyxhQUFhLHlEQUErQjtRQUN4RCx1SkFBMkIsS0FBSyxHQUFDO1FBQWpDLElBQVMsZUFBZSxxREFBUztRQUFqQyxJQUFTLGVBQWUsMkRBQVM7UUFDbEMscUpBQXlCLEVBQUUsR0FBQztRQUE1QixJQUFTLGFBQWEsbURBQU07UUFBNUIsSUFBUyxhQUFhLHlEQUFNO1FBQzVCLG1JQUFpQixFQUFFLEdBQUM7UUFBcEIsSUFBUyxLQUFLLDJDQUFNO1FBQXBCLElBQVMsS0FBSyxpREFBTTtRQUNuQiw2SEFBa0IsS0FBSyxHQUFDO1FBQXhCLElBQVMsTUFBTSw0Q0FBUztRQUF4QixJQUFTLE1BQU0sa0RBQVM7UUFDeEIsb0lBQXFCLEtBQUssR0FBQztRQUEzQixJQUFTLFNBQVMsK0NBQVM7UUFBM0IsSUFBUyxTQUFTLHFEQUFTO1FBRTNCLCtJQUF5QixJQUFJLEdBQUM7UUFEM0QsMkZBQTJGO1FBQzlELElBQVMsYUFBYSxtREFBUTtRQUE5QixJQUFTLGFBQWEseURBQVE7UUFDbEQsdUlBQTJCLEtBQUssR0FBQztRQUFqQyxJQUFpQixPQUFPLDZDQUFTO1FBQWpDLElBQWlCLE9BQU8sbURBQVM7UUFDbkMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQzNDLENBQUMsQ0FBQztRQUNJLE9BQU8sQ0FBQyxPQUE2QjtZQUMxQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBOEIsQ0FBQztZQUNwRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDTyxXQUFXLENBQUMsTUFBbUM7WUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTyxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ3pFLFdBQVcsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLENBQUM7UUFDTyxVQUFVLHlEQUFHLENBQUMsS0FBZ0UsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFXLENBQUMsS0FBSyxDQUFDLEVBQUM7UUFDckgsTUFBTTtZQUNYLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDM0IsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxJQUFJLENBQUEsRUFBRSxDQUFDO1lBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdEUsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxLQUFLLEtBQUssQ0FBQztZQUMzRixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksS0FBSyxLQUFLLENBQUM7WUFDeEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN6RyxPQUFPLElBQUksQ0FBQTtRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxvRkFBb0YsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQzVKLE1BQU0sQ0FBQyxJQUFJO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxvQ0FBb0MsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3JGLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLHNGQUFzRixNQUFNLENBQUMsS0FBSyxXQUFXLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO29DQUNwTSxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsd0ZBQXdGLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7O01BRWhPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxpQ0FBaUMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFOztRQUVyRSxJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO2dEQUNTLEtBQUssQ0FBQyxLQUFLLGNBQWMsSUFBSSxDQUFDLE1BQU07bUJBQ2pFLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBRSxLQUFLLENBQUMsYUFBK0IsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQzswREFDbEUsS0FBSyxDQUFDLFdBQVcsVUFBVSxDQUFDLGNBQWMsSUFBSSxDQUFDLE1BQU07bUJBQzVGLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxFQUFHLEtBQUssQ0FBQyxhQUFtQyxDQUFDLEtBQUssRUFBRSxDQUFDOzhGQUMxQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7cUJBQ3pKLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQzt3RUFDMUIsSUFBSSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUU7Z0JBQ3pGLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO2dCQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUNwSSxDQUFDO2FBQ0UsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLE9BQU8sTUFBTSxDQUFDLEtBQUssZ0NBQWdDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxXQUFXLElBQUkscUJBQXFCLFFBQVE7O3FHQUUzRCxNQUFNLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUM3SyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO29CQUNuSCxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxvQkFBb0IsQ0FBQyxLQUFtQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDNUwsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTsyR0FDb0UsTUFBTSxjQUFjLElBQUksQ0FBQyxNQUFNLFdBQVcsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtxQkFDL0ssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDdkUsQ0FBQyxLQUE0QyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7MkdBQ25CLE1BQU0sY0FBYyxJQUFJLENBQUMsTUFBTSxXQUFXLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLFlBQVksRUFBRTtxQkFDNVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ3JHLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1VBQzdHLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsK0JBQStCLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsc0NBQXNDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsbUJBQW1CLE1BQU0sY0FBYyxJQUFJLENBQUMsTUFBTTttQkFDek8sRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUU7cUJBQ2hHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ2xJLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxFQUFFO09BQ2xKLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSwwRkFBMEYsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLHFCQUFxQixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGlEQUFpRCxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU07eUhBQzFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksWUFBWSxlQUFlO1FBQzNPLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsb0VBQW9FLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFBLHVCQUF1QixLQUFLLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7O1FBRXhMLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsNERBQTRELE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsNEJBQTRCLFFBQVEsQ0FBQyxNQUFNO1VBQ2xMLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsV0FBVyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLCtEQUErRCxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFhO3FCQUNyTCxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFO2tDQUN0TCxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFBLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQ0FDN0gsS0FBSyxDQUFDLEdBQUcsb0NBQW9DLEtBQUssQ0FBQyxLQUFLO2dDQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxrQkFBa0IsQ0FBQztVQUMzSCxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSx5QkFBeUIsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFOzZEQUMzRSxNQUFNLENBQUMsRUFBRSxjQUFjLElBQUksQ0FBQyxRQUFRLFdBQVcsSUFBSSxDQUFDLFlBQVk7bUJBQzFHLElBQUksQ0FBQyxlQUFlLFdBQVcsSUFBSSxDQUFDLGFBQWEsY0FBYyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sS0FBSyxLQUFLO3lCQUM5RixJQUFJLENBQUMsYUFBYSxnQkFBZ0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQ2hHLENBQUM7UUFDaEIsQ0FBQztRQUNNLGFBQWEsS0FBVyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7O1lBM0gzQyx1REFBc0I7Ozs7O1NBQXRCLHNCQUFzQiJ9
@@ -0,0 +1,67 @@
1
+ import type { DeesKanban } from './dees-kanban/dees-kanban.js';
2
+ import type { IKanbanMove, IKanbanTicket } from './interfaces.js';
3
+ export interface IKanbanMotion {
4
+ move: IKanbanMove;
5
+ ticket: IKanbanTicket;
6
+ height: number;
7
+ placeholder: boolean;
8
+ dimmed: boolean;
9
+ saving: boolean;
10
+ }
11
+ /** Owns pointer motion and a render-only placement. The board/provider still owns saved data. */
12
+ export declare class KanbanDragController {
13
+ private readonly board;
14
+ private readonly commit;
15
+ private readonly canMove;
16
+ private gesture?;
17
+ private listeners?;
18
+ private frame;
19
+ private previousFrame;
20
+ private rendering;
21
+ private scrollParents;
22
+ private scrollSnap;
23
+ private animations;
24
+ private timers;
25
+ private suppressClick?;
26
+ private clickTimer?;
27
+ private resizeObserver?;
28
+ private readonly reducedMotion;
29
+ constructor(board: DeesKanban, commit: (move: IKanbanMove) => Promise<boolean>, canMove: () => boolean);
30
+ get busy(): boolean;
31
+ private easing;
32
+ private get columns();
33
+ connect(): void;
34
+ /** Host updates can remove/filter the source or revoke its move permission during a gesture. */
35
+ sync(): void;
36
+ private down;
37
+ private move;
38
+ private lift;
39
+ private positionPreview;
40
+ private tick;
41
+ private targetAt;
42
+ private up;
43
+ private pointerCancel;
44
+ private key;
45
+ private blur;
46
+ private cancel;
47
+ private authoritativeMove;
48
+ private land;
49
+ private settle;
50
+ private targets;
51
+ private allTargets;
52
+ capture(): Map<string, DOMRect>;
53
+ animateFrom(before: Map<string, DOMRect>, duration?: number): Promise<void>;
54
+ private renderMotion;
55
+ private restoreExpansion;
56
+ private clearMotion;
57
+ private collectScrollParents;
58
+ private visibleRect;
59
+ private autoScroll;
60
+ private endPointer;
61
+ private blockClick;
62
+ private delay;
63
+ private removeOverlay;
64
+ private fadeAndClear;
65
+ private clear;
66
+ disconnect(): void;
67
+ }