@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.
Files changed (81) hide show
  1. package/dist_bundle/bundle.js +2483 -1137
  2. package/dist_bundle/bundle.js.map +1 -1
  3. package/dist_ts_web/00_commitinfo_data.js +3 -3
  4. package/dist_ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.d.ts +5 -0
  5. package/dist_ts_web/elements/00group-form/dees-form/dees-form.d.ts +2 -1
  6. package/dist_ts_web/elements/00group-form/dees-form/dees-form.js +2 -1
  7. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.d.ts +13 -0
  8. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.js +76 -7
  9. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.d.ts +42 -0
  10. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.d.ts +1 -0
  11. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.js +8 -0
  12. package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +347 -0
  13. package/dist_ts_web/elements/00group-input/dees-input-reference/document.d.ts +5 -0
  14. package/dist_ts_web/elements/00group-input/dees-input-reference/document.js +45 -0
  15. package/dist_ts_web/elements/00group-input/dees-input-reference/index.d.ts +2 -0
  16. package/dist_ts_web/elements/00group-input/dees-input-reference/index.js +3 -0
  17. package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.d.ts +16 -0
  18. package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.js +2 -0
  19. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.d.ts +12 -2
  20. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +11 -1
  21. package/dist_ts_web/elements/00group-input/index.d.ts +1 -0
  22. package/dist_ts_web/elements/00group-input/index.js +2 -1
  23. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +58 -0
  24. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.d.ts +1 -0
  25. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.js +9 -0
  26. package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +536 -0
  27. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +20 -0
  28. package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +157 -0
  29. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +23 -0
  30. package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +192 -0
  31. package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.d.ts +24 -0
  32. package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +211 -0
  33. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +35 -0
  34. package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +269 -0
  35. package/dist_ts_web/elements/00group-kanban/index.d.ts +6 -0
  36. package/dist_ts_web/elements/00group-kanban/index.js +7 -0
  37. package/dist_ts_web/elements/00group-kanban/interfaces.d.ts +84 -0
  38. package/dist_ts_web/elements/00group-kanban/interfaces.js +2 -0
  39. package/dist_ts_web/elements/00group-kanban/kanban.demodata.d.ts +7 -0
  40. package/dist_ts_web/elements/00group-kanban/kanban.demodata.js +60 -0
  41. package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +6 -0
  42. package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +11 -0
  43. package/dist_ts_web/elements/00group-kanban/kanban.styles.d.ts +1 -0
  44. package/dist_ts_web/elements/00group-kanban/kanban.styles.js +18 -0
  45. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +7 -2
  46. package/dist_ts_web/elements/00group-workspace/dees-workspace/dees-workspace.js +3 -3
  47. package/dist_ts_web/elements/00group-workspace/dees-workspace/styles.js +10 -2
  48. package/dist_ts_web/elements/index.d.ts +1 -0
  49. package/dist_ts_web/elements/index.js +2 -1
  50. package/dist_ts_web/services/DeesServiceLibLoader.d.ts +1 -0
  51. package/dist_ts_web/services/DeesServiceLibLoader.js +2 -1
  52. package/package.json +1 -1
  53. package/readme.md +154 -0
  54. package/scripts/check-packed-consumer.mjs +1 -1
  55. package/ts_web/00_commitinfo_data.ts +3 -3
  56. package/ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.ts +6 -0
  57. package/ts_web/elements/00group-form/dees-form/dees-form.ts +2 -1
  58. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.ts +40 -5
  59. package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.ts +9 -0
  60. package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +221 -0
  61. package/ts_web/elements/00group-input/dees-input-reference/document.ts +38 -0
  62. package/ts_web/elements/00group-input/dees-input-reference/index.ts +2 -0
  63. package/ts_web/elements/00group-input/dees-input-reference/interfaces.ts +8 -0
  64. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +11 -1
  65. package/ts_web/elements/00group-input/index.ts +1 -0
  66. package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.ts +9 -0
  67. package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +315 -0
  68. package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +58 -0
  69. package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +60 -0
  70. package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +81 -0
  71. package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +114 -0
  72. package/ts_web/elements/00group-kanban/index.ts +6 -0
  73. package/ts_web/elements/00group-kanban/interfaces.ts +67 -0
  74. package/ts_web/elements/00group-kanban/kanban.demodata.ts +56 -0
  75. package/ts_web/elements/00group-kanban/kanban.helpers.ts +13 -0
  76. package/ts_web/elements/00group-kanban/kanban.styles.ts +18 -0
  77. package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +6 -1
  78. package/ts_web/elements/00group-workspace/dees-workspace/dees-workspace.ts +2 -2
  79. package/ts_web/elements/00group-workspace/dees-workspace/styles.ts +9 -1
  80. package/ts_web/elements/index.ts +1 -0
  81. package/ts_web/services/DeesServiceLibLoader.ts +2 -0
@@ -0,0 +1,211 @@
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 } from '@design.estate/dees-element';
36
+ import { kanbanStyles } from '../kanban.styles.js';
37
+ import { kanbanError, kanbanEvent } from '../kanban.helpers.js';
38
+ import { referenceText } from '../../00group-input/dees-input-reference/index.js';
39
+ import '../../00group-button/dees-button/dees-button.js';
40
+ let DeesKanbanDiscussion = (() => {
41
+ let _classDecorators = [customElement('dees-kanban-discussion')];
42
+ let _classDescriptor;
43
+ let _classExtraInitializers = [];
44
+ let _classThis;
45
+ let _classSuper = DeesElement;
46
+ let _ticketId_decorators;
47
+ let _ticketId_initializers = [];
48
+ let _ticketId_extraInitializers = [];
49
+ let _comments_decorators;
50
+ let _comments_initializers = [];
51
+ let _comments_extraInitializers = [];
52
+ let _draft_decorators;
53
+ let _draft_initializers = [];
54
+ let _draft_extraInitializers = [];
55
+ let _searchTickets_decorators;
56
+ let _searchTickets_initializers = [];
57
+ let _searchTickets_extraInitializers = [];
58
+ let _addComment_decorators;
59
+ let _addComment_initializers = [];
60
+ let _addComment_extraInitializers = [];
61
+ let _loading_decorators;
62
+ let _loading_initializers = [];
63
+ let _loading_extraInitializers = [];
64
+ let _readOnly_decorators;
65
+ let _readOnly_initializers = [];
66
+ let _readOnly_extraInitializers = [];
67
+ let _error_decorators;
68
+ let _error_initializers = [];
69
+ let _error_extraInitializers = [];
70
+ let _pending_decorators;
71
+ let _pending_initializers = [];
72
+ let _pending_extraInitializers = [];
73
+ let _failures_decorators;
74
+ let _failures_initializers = [];
75
+ let _failures_extraInitializers = [];
76
+ var DeesKanbanDiscussion = class extends _classSuper {
77
+ static { _classThis = this; }
78
+ static {
79
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
80
+ _ticketId_decorators = [property({ type: String })];
81
+ _comments_decorators = [property({ attribute: false })];
82
+ _draft_decorators = [property({ attribute: false })];
83
+ _searchTickets_decorators = [property({ attribute: false })];
84
+ _addComment_decorators = [property({ attribute: false })];
85
+ _loading_decorators = [property({ type: Boolean })];
86
+ _readOnly_decorators = [property({ type: Boolean })];
87
+ _error_decorators = [property({ type: String })];
88
+ _pending_decorators = [state()];
89
+ _failures_decorators = [state()];
90
+ __esDecorate(this, null, _ticketId_decorators, { kind: "accessor", name: "ticketId", static: false, private: false, access: { has: obj => "ticketId" in obj, get: obj => obj.ticketId, set: (obj, value) => { obj.ticketId = value; } }, metadata: _metadata }, _ticketId_initializers, _ticketId_extraInitializers);
91
+ __esDecorate(this, null, _comments_decorators, { kind: "accessor", name: "comments", static: false, private: false, access: { has: obj => "comments" in obj, get: obj => obj.comments, set: (obj, value) => { obj.comments = value; } }, metadata: _metadata }, _comments_initializers, _comments_extraInitializers);
92
+ __esDecorate(this, null, _draft_decorators, { kind: "accessor", name: "draft", static: false, private: false, access: { has: obj => "draft" in obj, get: obj => obj.draft, set: (obj, value) => { obj.draft = value; } }, metadata: _metadata }, _draft_initializers, _draft_extraInitializers);
93
+ __esDecorate(this, null, _searchTickets_decorators, { kind: "accessor", name: "searchTickets", static: false, private: false, access: { has: obj => "searchTickets" in obj, get: obj => obj.searchTickets, set: (obj, value) => { obj.searchTickets = value; } }, metadata: _metadata }, _searchTickets_initializers, _searchTickets_extraInitializers);
94
+ __esDecorate(this, null, _addComment_decorators, { kind: "accessor", name: "addComment", static: false, private: false, access: { has: obj => "addComment" in obj, get: obj => obj.addComment, set: (obj, value) => { obj.addComment = value; } }, metadata: _metadata }, _addComment_initializers, _addComment_extraInitializers);
95
+ __esDecorate(this, null, _loading_decorators, { kind: "accessor", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
96
+ __esDecorate(this, null, _readOnly_decorators, { kind: "accessor", name: "readOnly", static: false, private: false, access: { has: obj => "readOnly" in obj, get: obj => obj.readOnly, set: (obj, value) => { obj.readOnly = value; } }, metadata: _metadata }, _readOnly_initializers, _readOnly_extraInitializers);
97
+ __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);
98
+ __esDecorate(this, null, _pending_decorators, { kind: "accessor", name: "pending", static: false, private: false, access: { has: obj => "pending" in obj, get: obj => obj.pending, set: (obj, value) => { obj.pending = value; } }, metadata: _metadata }, _pending_initializers, _pending_extraInitializers);
99
+ __esDecorate(this, null, _failures_decorators, { kind: "accessor", name: "failures", static: false, private: false, access: { has: obj => "failures" in obj, get: obj => obj.failures, set: (obj, value) => { obj.failures = value; } }, metadata: _metadata }, _failures_initializers, _failures_extraInitializers);
100
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
101
+ DeesKanbanDiscussion = _classThis = _classDescriptor.value;
102
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
103
+ }
104
+ #ticketId_accessor_storage = __runInitializers(this, _ticketId_initializers, '');
105
+ get ticketId() { return this.#ticketId_accessor_storage; }
106
+ set ticketId(value) { this.#ticketId_accessor_storage = value; }
107
+ #comments_accessor_storage = (__runInitializers(this, _ticketId_extraInitializers), __runInitializers(this, _comments_initializers, []));
108
+ get comments() { return this.#comments_accessor_storage; }
109
+ set comments(value) { this.#comments_accessor_storage = value; }
110
+ #draft_accessor_storage = (__runInitializers(this, _comments_extraInitializers), __runInitializers(this, _draft_initializers, []));
111
+ get draft() { return this.#draft_accessor_storage; }
112
+ set draft(value) { this.#draft_accessor_storage = value; }
113
+ #searchTickets_accessor_storage = (__runInitializers(this, _draft_extraInitializers), __runInitializers(this, _searchTickets_initializers, void 0));
114
+ get searchTickets() { return this.#searchTickets_accessor_storage; }
115
+ set searchTickets(value) { this.#searchTickets_accessor_storage = value; }
116
+ #addComment_accessor_storage = (__runInitializers(this, _searchTickets_extraInitializers), __runInitializers(this, _addComment_initializers, void 0));
117
+ get addComment() { return this.#addComment_accessor_storage; }
118
+ set addComment(value) { this.#addComment_accessor_storage = value; }
119
+ #loading_accessor_storage = (__runInitializers(this, _addComment_extraInitializers), __runInitializers(this, _loading_initializers, false));
120
+ get loading() { return this.#loading_accessor_storage; }
121
+ set loading(value) { this.#loading_accessor_storage = value; }
122
+ #readOnly_accessor_storage = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _readOnly_initializers, false));
123
+ get readOnly() { return this.#readOnly_accessor_storage; }
124
+ set readOnly(value) { this.#readOnly_accessor_storage = value; }
125
+ #error_accessor_storage = (__runInitializers(this, _readOnly_extraInitializers), __runInitializers(this, _error_initializers, ''));
126
+ get error() { return this.#error_accessor_storage; }
127
+ set error(value) { this.#error_accessor_storage = value; }
128
+ #pending_accessor_storage = (__runInitializers(this, _error_extraInitializers), __runInitializers(this, _pending_initializers, new Set()));
129
+ get pending() { return this.#pending_accessor_storage; }
130
+ set pending(value) { this.#pending_accessor_storage = value; }
131
+ #failures_accessor_storage = (__runInitializers(this, _pending_extraInitializers), __runInitializers(this, _failures_initializers, new Map()));
132
+ get failures() { return this.#failures_accessor_storage; }
133
+ set failures(value) { this.#failures_accessor_storage = value; }
134
+ static styles = [...kanbanStyles, css `
135
+ header { display: flex; align-items: center; margin-bottom: 16px; }
136
+ h3 { font-size: var(--dees-font-body-size); font-weight: 600; }
137
+ ol { list-style: none; padding: 0; margin: 0; }
138
+ li { padding: 0 0 20px; }
139
+ .author { font-weight: 550; font-size: var(--dees-font-footnote-size); }
140
+ time { font-size: var(--dees-font-caption1-size); color: var(--dees-color-text-secondary); }
141
+ .message { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; margin-top: 6px; }
142
+ .reference { display: inline; border: 0; border-radius: var(--dees-radius-sm); padding: 1px 4px; color: var(--dees-color-link); background: var(--dees-color-badge-default-bg); font: inherit; cursor: pointer; }
143
+ .compose { padding-top: 4px; }
144
+ .compose .row { padding-top: 8px; }
145
+ `];
146
+ render() {
147
+ const pending = this.pending.has(this.ticketId);
148
+ const comments = this.comments.filter(comment => comment.ticketId === this.ticketId)
149
+ .slice().sort((a, b) => Date.parse(a.createdAt) - Date.parse(b.createdAt));
150
+ return html `<header><h3>Discussion <span class="caption">${comments.length}</span></h3><span class="spacer"></span>
151
+ <dees-button size="sm" type="ghost" icon="lucide:RefreshCw" text="Refresh" .disabled=${this.loading}
152
+ @clicked=${() => kanbanEvent(this, 'kanban-comments-refresh', { ticketId: this.ticketId })}></dees-button></header>
153
+ ${this.loading ? html `<p class="caption" role="status">Loading comments…</p>` : ''}
154
+ ${this.error ? html `<p class="error" role="alert">${this.error}</p>` : ''}
155
+ <ol aria-label="Comments">${comments.map(comment => html `<li>
156
+ <div class="row"><span class="author">${comment.author.name}</span><time datetime=${comment.createdAt}>${new Date(comment.createdAt).toLocaleString()}</time></div>
157
+ <div class="message">${comment.body.map(part => part.type === 'text' ? part.text : html `<button class="reference"
158
+ @click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: part.id })}>${part.label}</button>`)}</div>
159
+ </li>`)}</ol>
160
+ ${!comments.length && !this.loading && !this.error ? html `<p class="empty">Start the conversation.</p>` : ''}
161
+ ${this.addComment && !this.readOnly ? html `<div class="compose">
162
+ <dees-input-reference label="Comment" placeholder="Write a comment…" .documentKey=${this.ticketId} .value=${this.draft} .disabled=${pending}
163
+ .searchReferences=${this.searchTickets}
164
+ @reference-input=${(event) => {
165
+ this.draft = event.detail.value;
166
+ kanbanEvent(this, 'kanban-comment-draft', { ticketId: this.ticketId, body: this.draft });
167
+ }}
168
+ @reference-open=${(event) => kanbanEvent(this, 'kanban-ticket-open', { ticketId: event.detail.id })}
169
+ @reference-submit=${() => { void this.submit(); }}></dees-input-reference>
170
+ <div class="row"><span class="caption">Type #_ to link a ticket · Ctrl/⌘ Enter to send</span><span class="spacer"></span>
171
+ <dees-button type="accent" size="sm" text="Comment" .disabled=${pending || !referenceText(this.draft).trim()}
172
+ .status=${pending ? 'pending' : 'normal'} @clicked=${() => { void this.submit(); }}></dees-button></div>
173
+ ${this.failures.get(this.ticketId) ? html `<p class="error" role="alert">${this.failures.get(this.ticketId)}</p>` : ''}
174
+ </div>` : html `<p class="caption">Comments are read-only.</p>`}`;
175
+ }
176
+ async submit() {
177
+ const ticketId = this.ticketId;
178
+ if (!ticketId || !this.addComment || this.readOnly || this.pending.has(ticketId) || !referenceText(this.draft).trim())
179
+ return;
180
+ const body = this.draft.map(part => ({ ...part }));
181
+ this.pending = new Set(this.pending).add(ticketId);
182
+ this.failures = new Map(this.failures);
183
+ this.failures.delete(ticketId);
184
+ try {
185
+ const comment = await this.addComment({ ticketId, body });
186
+ if (comment.ticketId !== ticketId)
187
+ throw new Error('The saved comment belongs to a different ticket.');
188
+ if (this.ticketId === ticketId && JSON.stringify(this.draft) === JSON.stringify(body))
189
+ this.draft = [];
190
+ kanbanEvent(this, 'kanban-comment-added', { comment, submittedBody: body });
191
+ }
192
+ catch (error) {
193
+ this.failures = new Map(this.failures).set(ticketId, kanbanError(error));
194
+ }
195
+ finally {
196
+ this.pending = new Set(this.pending);
197
+ this.pending.delete(ticketId);
198
+ }
199
+ }
200
+ constructor() {
201
+ super(...arguments);
202
+ __runInitializers(this, _failures_extraInitializers);
203
+ }
204
+ static {
205
+ __runInitializers(_classThis, _classExtraInitializers);
206
+ }
207
+ };
208
+ return DeesKanbanDiscussion = _classThis;
209
+ })();
210
+ export { DeesKanbanDiscussion };
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1rYW5iYW4tZGlzY3Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWthbmJhbi9kZWVzLWthbmJhbi1kaXNjdXNzaW9uL2RlZXMta2FuYmFuLWRpc2N1c3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQWlELE1BQU0sbURBQW1ELENBQUM7QUFDakksT0FBTyxpREFBaUQsQ0FBQztJQUs1QyxvQkFBb0I7NEJBRGhDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29DQUFuQixTQUFRLFdBQVc7Ozs7b0NBQ2xELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztvQ0FDMUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO2lDQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7eUNBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztzQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUM5QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7b0NBQzNCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFB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
@@ -0,0 +1,35 @@
1
+ import { DeesElement } from '@design.estate/dees-element';
2
+ import type { IKanbanColumn, IKanbanComment, IKanbanPerson, IKanbanProvider, IKanbanTicket, IKanbanTicketDraft } from '../interfaces.js';
3
+ import type { TReferenceContent, TReferenceSearch } from '../../00group-input/dees-input-reference/interfaces.js';
4
+ import '../../00group-input/dees-input-text/dees-input-text.js';
5
+ import '../../00group-input/dees-input-textarea/dees-input-textarea.js';
6
+ import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
7
+ import '../dees-kanban-discussion/dees-kanban-discussion.js';
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ 'dees-kanban-ticket-detail': DeesKanbanTicketDetail;
11
+ }
12
+ }
13
+ export declare class DeesKanbanTicketDetail extends DeesElement {
14
+ accessor ticket: IKanbanTicket | undefined;
15
+ accessor tickets: IKanbanTicket[];
16
+ accessor columns: IKanbanColumn[];
17
+ accessor people: IKanbanPerson[];
18
+ accessor provider: IKanbanProvider;
19
+ accessor draft: IKanbanTicketDraft | undefined;
20
+ accessor commentDraft: TReferenceContent;
21
+ accessor comments: IKanbanComment[];
22
+ accessor searchTickets: TReferenceSearch | undefined;
23
+ accessor loadingComments: boolean;
24
+ accessor commentsError: string;
25
+ accessor error: string;
26
+ accessor saving: boolean;
27
+ accessor canGoBack: boolean;
28
+ private accessor editing;
29
+ static styles: import("@design.estate/dees-element").CSSResult[];
30
+ updated(changed: Map<string, unknown>): void;
31
+ private changeDraft;
32
+ private addComment;
33
+ render(): import("@design.estate/dees-element").TemplateResult<1>;
34
+ finishEditing(): void;
35
+ }
@@ -0,0 +1,269 @@
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 } from '@design.estate/dees-element';
36
+ import { kanbanStyles } from '../kanban.styles.js';
37
+ import { kanbanEvent, sortKanbanTickets, ticketDraft, ticketLabel } from '../kanban.helpers.js';
38
+ import '../../00group-input/dees-input-text/dees-input-text.js';
39
+ import '../../00group-input/dees-input-textarea/dees-input-textarea.js';
40
+ import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
41
+ import '../dees-kanban-discussion/dees-kanban-discussion.js';
42
+ let DeesKanbanTicketDetail = (() => {
43
+ let _classDecorators = [customElement('dees-kanban-ticket-detail')];
44
+ let _classDescriptor;
45
+ let _classExtraInitializers = [];
46
+ let _classThis;
47
+ let _classSuper = DeesElement;
48
+ let _ticket_decorators;
49
+ let _ticket_initializers = [];
50
+ let _ticket_extraInitializers = [];
51
+ let _tickets_decorators;
52
+ let _tickets_initializers = [];
53
+ let _tickets_extraInitializers = [];
54
+ let _columns_decorators;
55
+ let _columns_initializers = [];
56
+ let _columns_extraInitializers = [];
57
+ let _people_decorators;
58
+ let _people_initializers = [];
59
+ let _people_extraInitializers = [];
60
+ let _provider_decorators;
61
+ let _provider_initializers = [];
62
+ let _provider_extraInitializers = [];
63
+ let _draft_decorators;
64
+ let _draft_initializers = [];
65
+ let _draft_extraInitializers = [];
66
+ let _commentDraft_decorators;
67
+ let _commentDraft_initializers = [];
68
+ let _commentDraft_extraInitializers = [];
69
+ let _comments_decorators;
70
+ let _comments_initializers = [];
71
+ let _comments_extraInitializers = [];
72
+ let _searchTickets_decorators;
73
+ let _searchTickets_initializers = [];
74
+ let _searchTickets_extraInitializers = [];
75
+ let _loadingComments_decorators;
76
+ let _loadingComments_initializers = [];
77
+ let _loadingComments_extraInitializers = [];
78
+ let _commentsError_decorators;
79
+ let _commentsError_initializers = [];
80
+ let _commentsError_extraInitializers = [];
81
+ let _error_decorators;
82
+ let _error_initializers = [];
83
+ let _error_extraInitializers = [];
84
+ let _saving_decorators;
85
+ let _saving_initializers = [];
86
+ let _saving_extraInitializers = [];
87
+ let _canGoBack_decorators;
88
+ let _canGoBack_initializers = [];
89
+ let _canGoBack_extraInitializers = [];
90
+ let _editing_decorators;
91
+ let _editing_initializers = [];
92
+ let _editing_extraInitializers = [];
93
+ var DeesKanbanTicketDetail = class extends _classSuper {
94
+ static { _classThis = this; }
95
+ static {
96
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
97
+ _ticket_decorators = [property({ attribute: false })];
98
+ _tickets_decorators = [property({ attribute: false })];
99
+ _columns_decorators = [property({ attribute: false })];
100
+ _people_decorators = [property({ attribute: false })];
101
+ _provider_decorators = [property({ attribute: false })];
102
+ _draft_decorators = [property({ attribute: false })];
103
+ _commentDraft_decorators = [property({ attribute: false })];
104
+ _comments_decorators = [property({ attribute: false })];
105
+ _searchTickets_decorators = [property({ attribute: false })];
106
+ _loadingComments_decorators = [property({ type: Boolean })];
107
+ _commentsError_decorators = [property({ type: String })];
108
+ _error_decorators = [property({ type: String })];
109
+ _saving_decorators = [property({ type: Boolean })];
110
+ _canGoBack_decorators = [property({ type: Boolean })];
111
+ _editing_decorators = [state()];
112
+ __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
+ __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);
114
+ __esDecorate(this, null, _columns_decorators, { kind: "accessor", name: "columns", static: false, private: false, access: { has: obj => "columns" in obj, get: obj => obj.columns, set: (obj, value) => { obj.columns = value; } }, metadata: _metadata }, _columns_initializers, _columns_extraInitializers);
115
+ __esDecorate(this, null, _people_decorators, { kind: "accessor", name: "people", static: false, private: false, access: { has: obj => "people" in obj, get: obj => obj.people, set: (obj, value) => { obj.people = value; } }, metadata: _metadata }, _people_initializers, _people_extraInitializers);
116
+ __esDecorate(this, null, _provider_decorators, { kind: "accessor", name: "provider", static: false, private: false, access: { has: obj => "provider" in obj, get: obj => obj.provider, set: (obj, value) => { obj.provider = value; } }, metadata: _metadata }, _provider_initializers, _provider_extraInitializers);
117
+ __esDecorate(this, null, _draft_decorators, { kind: "accessor", name: "draft", static: false, private: false, access: { has: obj => "draft" in obj, get: obj => obj.draft, set: (obj, value) => { obj.draft = value; } }, metadata: _metadata }, _draft_initializers, _draft_extraInitializers);
118
+ __esDecorate(this, null, _commentDraft_decorators, { kind: "accessor", name: "commentDraft", static: false, private: false, access: { has: obj => "commentDraft" in obj, get: obj => obj.commentDraft, set: (obj, value) => { obj.commentDraft = value; } }, metadata: _metadata }, _commentDraft_initializers, _commentDraft_extraInitializers);
119
+ __esDecorate(this, null, _comments_decorators, { kind: "accessor", name: "comments", static: false, private: false, access: { has: obj => "comments" in obj, get: obj => obj.comments, set: (obj, value) => { obj.comments = value; } }, metadata: _metadata }, _comments_initializers, _comments_extraInitializers);
120
+ __esDecorate(this, null, _searchTickets_decorators, { kind: "accessor", name: "searchTickets", static: false, private: false, access: { has: obj => "searchTickets" in obj, get: obj => obj.searchTickets, set: (obj, value) => { obj.searchTickets = value; } }, metadata: _metadata }, _searchTickets_initializers, _searchTickets_extraInitializers);
121
+ __esDecorate(this, null, _loadingComments_decorators, { kind: "accessor", name: "loadingComments", static: false, private: false, access: { has: obj => "loadingComments" in obj, get: obj => obj.loadingComments, set: (obj, value) => { obj.loadingComments = value; } }, metadata: _metadata }, _loadingComments_initializers, _loadingComments_extraInitializers);
122
+ __esDecorate(this, null, _commentsError_decorators, { kind: "accessor", name: "commentsError", static: false, private: false, access: { has: obj => "commentsError" in obj, get: obj => obj.commentsError, set: (obj, value) => { obj.commentsError = value; } }, metadata: _metadata }, _commentsError_initializers, _commentsError_extraInitializers);
123
+ __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
+ __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
+ __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);
126
+ __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
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
128
+ DeesKanbanTicketDetail = _classThis = _classDescriptor.value;
129
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
130
+ }
131
+ #ticket_accessor_storage = __runInitializers(this, _ticket_initializers, void 0);
132
+ get ticket() { return this.#ticket_accessor_storage; }
133
+ set ticket(value) { this.#ticket_accessor_storage = value; }
134
+ #tickets_accessor_storage = (__runInitializers(this, _ticket_extraInitializers), __runInitializers(this, _tickets_initializers, []));
135
+ get tickets() { return this.#tickets_accessor_storage; }
136
+ set tickets(value) { this.#tickets_accessor_storage = value; }
137
+ #columns_accessor_storage = (__runInitializers(this, _tickets_extraInitializers), __runInitializers(this, _columns_initializers, []));
138
+ get columns() { return this.#columns_accessor_storage; }
139
+ set columns(value) { this.#columns_accessor_storage = value; }
140
+ #people_accessor_storage = (__runInitializers(this, _columns_extraInitializers), __runInitializers(this, _people_initializers, []));
141
+ get people() { return this.#people_accessor_storage; }
142
+ set people(value) { this.#people_accessor_storage = value; }
143
+ #provider_accessor_storage = (__runInitializers(this, _people_extraInitializers), __runInitializers(this, _provider_initializers, {}));
144
+ get provider() { return this.#provider_accessor_storage; }
145
+ set provider(value) { this.#provider_accessor_storage = value; }
146
+ #draft_accessor_storage = (__runInitializers(this, _provider_extraInitializers), __runInitializers(this, _draft_initializers, void 0));
147
+ get draft() { return this.#draft_accessor_storage; }
148
+ set draft(value) { this.#draft_accessor_storage = value; }
149
+ #commentDraft_accessor_storage = (__runInitializers(this, _draft_extraInitializers), __runInitializers(this, _commentDraft_initializers, []));
150
+ get commentDraft() { return this.#commentDraft_accessor_storage; }
151
+ set commentDraft(value) { this.#commentDraft_accessor_storage = value; }
152
+ #comments_accessor_storage = (__runInitializers(this, _commentDraft_extraInitializers), __runInitializers(this, _comments_initializers, []));
153
+ get comments() { return this.#comments_accessor_storage; }
154
+ set comments(value) { this.#comments_accessor_storage = value; }
155
+ #searchTickets_accessor_storage = (__runInitializers(this, _comments_extraInitializers), __runInitializers(this, _searchTickets_initializers, void 0));
156
+ get searchTickets() { return this.#searchTickets_accessor_storage; }
157
+ set searchTickets(value) { this.#searchTickets_accessor_storage = value; }
158
+ #loadingComments_accessor_storage = (__runInitializers(this, _searchTickets_extraInitializers), __runInitializers(this, _loadingComments_initializers, false));
159
+ get loadingComments() { return this.#loadingComments_accessor_storage; }
160
+ set loadingComments(value) { this.#loadingComments_accessor_storage = value; }
161
+ #commentsError_accessor_storage = (__runInitializers(this, _loadingComments_extraInitializers), __runInitializers(this, _commentsError_initializers, ''));
162
+ get commentsError() { return this.#commentsError_accessor_storage; }
163
+ set commentsError(value) { this.#commentsError_accessor_storage = value; }
164
+ #error_accessor_storage = (__runInitializers(this, _commentsError_extraInitializers), __runInitializers(this, _error_initializers, ''));
165
+ get error() { return this.#error_accessor_storage; }
166
+ set error(value) { this.#error_accessor_storage = value; }
167
+ #saving_accessor_storage = (__runInitializers(this, _error_extraInitializers), __runInitializers(this, _saving_initializers, false));
168
+ get saving() { return this.#saving_accessor_storage; }
169
+ set saving(value) { this.#saving_accessor_storage = value; }
170
+ #canGoBack_accessor_storage = (__runInitializers(this, _saving_extraInitializers), __runInitializers(this, _canGoBack_initializers, false));
171
+ get canGoBack() { return this.#canGoBack_accessor_storage; }
172
+ set canGoBack(value) { this.#canGoBack_accessor_storage = value; }
173
+ #editing_accessor_storage = (__runInitializers(this, _canGoBack_extraInitializers), __runInitializers(this, _editing_initializers, false));
174
+ get editing() { return this.#editing_accessor_storage; }
175
+ set editing(value) { this.#editing_accessor_storage = value; }
176
+ 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
+ .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)); } }
191
+ `];
192
+ updated(changed) {
193
+ const previous = changed.get('ticket');
194
+ if (changed.has('ticket') && previous?.id !== this.ticket?.id)
195
+ this.editing = Boolean(this.draft);
196
+ }
197
+ changeDraft(change) {
198
+ this.draft = { ...(this.draft ?? ticketDraft(this.ticket)), ...change };
199
+ kanbanEvent(this, 'kanban-ticket-draft', { ticketId: this.ticket.id, draft: this.draft });
200
+ }
201
+ addComment = (__runInitializers(this, _editing_extraInitializers), (input) => this.provider.addComment(input));
202
+ render() {
203
+ const ticket = this.ticket;
204
+ if (!ticket)
205
+ return html ``;
206
+ const draft = this.draft ?? ticketDraft(ticket);
207
+ const parent = this.tickets.find(item => item.id === ticket.parentId);
208
+ const children = sortKanbanTickets(this.tickets.filter(item => item.parentId === ticket.id));
209
+ const editable = Boolean(this.provider.updateTicket) && ticket.permissions?.edit !== false;
210
+ const movable = Boolean(this.provider.moveTicket) && ticket.permissions?.move !== false;
211
+ const parents = this.tickets.filter(item => item.kind === (ticket.kind === 'subtask' ? 'task' : 'epic'));
212
+ return html `<div class="toolbar row">
213
+ ${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>` : ''}
216
+ <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
+ </div>
218
+ ${this.error ? html `<p class="error" role="alert">${this.error}</p>` : ''}
219
+ <div class="layout"><div class="main">
220
+ ${this.editing && editable ? html `<div class="edit">
221
+ <dees-input-text label="Title" .value=${draft.title} .disabled=${this.saving}
222
+ @input=${(event) => this.changeDraft({ title: String(event.currentTarget.value ?? '') })}></dees-input-text>
223
+ <dees-input-textarea label="Description" .value=${draft.description} .rows=${5} .disabled=${this.saving}
224
+ @input=${(event) => this.changeDraft({ description: event.currentTarget.value })}></dees-input-textarea>
225
+ <div class="row"><dees-button size="sm" type="accent" text="Save changes" .disabled=${this.saving || !draft.title.trim()} .status=${this.saving ? 'pending' : 'normal'}
226
+ @clicked=${() => kanbanEvent(this, 'kanban-ticket-save', { ticketId: ticket.id, draft })}></dees-button>
227
+ <dees-button size="sm" type="ghost" text="Cancel" .disabled=${this.saving} @clicked=${() => {
228
+ this.editing = false;
229
+ this.draft = undefined;
230
+ kanbanEvent(this, 'kanban-ticket-draft', { ticketId: ticket.id, draft: undefined });
231
+ }}></dees-button></div>
232
+ </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 }))}
244
+ .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>
246
+ ${this.editing && editable ? html `
247
+ <dees-input-dropdown label="Priority" .disabled=${this.saving} .value=${{ key: draft.priority, option: draft.priority }}
248
+ .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' }}
251
+ .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}
254
+ .value=${{ key: draft.parentId, option: parents.find(item => item.id === draft.parentId)?.title ?? 'None' }}
255
+ .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>`;
260
+ }
261
+ finishEditing() { this.editing = false; }
262
+ static {
263
+ __runInitializers(_classThis, _classExtraInitializers);
264
+ }
265
+ };
266
+ return DeesKanbanTicketDetail = _classThis;
267
+ })();
268
+ export { DeesKanbanTicketDetail };
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1rYW5iYW4tdGlja2V0LWRldGFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWthbmJhbi9kZWVzLWthbmJhbi10aWNrZXQtZGV0YWlsL2RlZXMta2FuYmFuLXRpY2tldC1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRyxPQUFPLHdEQUF3RCxDQUFDO0FBQ2hFLE9BQU8sZ0VBQWdFLENBQUM7QUFDeEUsT0FBTyxnRUFBZ0UsQ0FBQztBQUN4RSxPQUFPLHFEQUFxRCxDQUFDO0lBS2hELHNCQUFzQjs0QkFEbEMsYUFBYSxDQUFDLDJCQUEyQixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBQW5CLFNBQVEsV0FBVzs7OztrQ0FDcEQsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7bUNBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztrQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO29DQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7aUNBQzlC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NEJBQ3ZFLENBQUMsS0FBNEMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDOzBEQUNwRSxJQUFJLENBQUMsTUFBTSxXQUFXLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLFlBQVksRUFBRTtxQkFDdk0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ3JHLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1VBQzdHLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsOEJBQThCLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsY0FBYyxJQUFJLENBQUMsTUFBTTttQkFDMUgsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUU7cUJBQ2hHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ2xJLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO09BQzVJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSwrQ0FBK0MsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLHFEQUFxRCxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxZQUFZLFFBQVE7UUFDaEwsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSw4REFBOEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUEsdUJBQXVCLEtBQUssU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTt5QkFDakssQ0FBQztRQUN4QixDQUFDO1FBQ00sYUFBYSxLQUFXLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzs7WUFqRzNDLHVEQUFzQjs7Ozs7U0FBdEIsc0JBQXNCIn0=
@@ -0,0 +1,6 @@
1
+ export * from './interfaces.js';
2
+ export * from './dees-kanban/dees-kanban.js';
3
+ export * from './dees-kanban-card/dees-kanban-card.js';
4
+ export * from './dees-kanban-column/dees-kanban-column.js';
5
+ export * from './dees-kanban-ticket-detail/dees-kanban-ticket-detail.js';
6
+ export * from './dees-kanban-discussion/dees-kanban-discussion.js';
@@ -0,0 +1,7 @@
1
+ export * from './interfaces.js';
2
+ export * from './dees-kanban/dees-kanban.js';
3
+ export * from './dees-kanban-card/dees-kanban-card.js';
4
+ export * from './dees-kanban-column/dees-kanban-column.js';
5
+ export * from './dees-kanban-ticket-detail/dees-kanban-ticket-detail.js';
6
+ export * from './dees-kanban-discussion/dees-kanban-discussion.js';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1rYW5iYW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0RBQW9ELENBQUMifQ==