@design.estate/dees-catalog 12.4.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +2603 -1201
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +26 -16
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +161 -72
- package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.d.ts +2 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.js +3 -2
- package/dist_ts_web/elements/00group-chart/dees-chart-area/template.js +4 -3
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.d.ts +13 -0
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.js +76 -7
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.d.ts +42 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.js +8 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +347 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.d.ts +5 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.js +45 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.d.ts +2 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.js +3 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.d.ts +16 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-input/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/index.js +2 -1
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +58 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.js +9 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +536 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +20 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +157 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +23 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +192 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.d.ts +24 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +211 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +35 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +269 -0
- package/dist_ts_web/elements/00group-kanban/index.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/index.js +7 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.d.ts +84 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.d.ts +7 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.js +60 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +11 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.js +18 -0
- package/dist_ts_web/elements/index.d.ts +1 -0
- package/dist_ts_web/elements/index.js +2 -1
- package/dist_ts_web/services/DeesServiceLibLoader.d.ts +1 -0
- package/dist_ts_web/services/DeesServiceLibLoader.js +2 -1
- package/package.json +1 -1
- package/readme.md +165 -1
- package/scripts/check-packed-consumer.mjs +1 -1
- package/ts_web/00_commitinfo_data.ts +3 -3
- package/ts_web/elements/00group-chart/dees-chart-area/component.ts +195 -79
- package/ts_web/elements/00group-chart/dees-chart-area/realtime-updates.ts +4 -2
- package/ts_web/elements/00group-chart/dees-chart-area/template.ts +3 -2
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.ts +40 -5
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.ts +9 -0
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +221 -0
- package/ts_web/elements/00group-input/dees-input-reference/document.ts +38 -0
- package/ts_web/elements/00group-input/dees-input-reference/index.ts +2 -0
- package/ts_web/elements/00group-input/dees-input-reference/interfaces.ts +8 -0
- package/ts_web/elements/00group-input/index.ts +1 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.ts +9 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +315 -0
- package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +58 -0
- package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +60 -0
- package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +81 -0
- package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +114 -0
- package/ts_web/elements/00group-kanban/index.ts +6 -0
- package/ts_web/elements/00group-kanban/interfaces.ts +67 -0
- package/ts_web/elements/00group-kanban/kanban.demodata.ts +56 -0
- package/ts_web/elements/00group-kanban/kanban.helpers.ts +13 -0
- package/ts_web/elements/00group-kanban/kanban.styles.ts +18 -0
- package/ts_web/elements/index.ts +1 -0
- package/ts_web/services/DeesServiceLibLoader.ts +2 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { TReferenceContent } from '../00group-input/dees-input-reference/interfaces.js';
|
|
2
|
+
export type TKanbanTicketKind = 'epic' | 'task' | 'subtask';
|
|
3
|
+
export type TKanbanPriority = 'none' | 'low' | 'normal' | 'high' | 'urgent';
|
|
4
|
+
export interface IKanbanPerson {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
export interface IKanbanColumn {
|
|
9
|
+
id: string;
|
|
10
|
+
title: string; /** Marks completed subtasks. */
|
|
11
|
+
done?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface IKanbanTicket {
|
|
14
|
+
id: string;
|
|
15
|
+
key: string;
|
|
16
|
+
kind: TKanbanTicketKind;
|
|
17
|
+
title: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
/** Task -> epic, subtask -> task. Epics have no parent. */
|
|
20
|
+
parentId?: string;
|
|
21
|
+
columnId: string;
|
|
22
|
+
order: number;
|
|
23
|
+
priority?: TKanbanPriority;
|
|
24
|
+
assignee?: IKanbanPerson;
|
|
25
|
+
labels?: string[];
|
|
26
|
+
/** UI capabilities; the provider must enforce authorization independently. */
|
|
27
|
+
permissions?: {
|
|
28
|
+
edit?: boolean;
|
|
29
|
+
move?: boolean;
|
|
30
|
+
comment?: boolean;
|
|
31
|
+
createChild?: boolean;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface IKanbanComment {
|
|
35
|
+
id: string;
|
|
36
|
+
ticketId: string;
|
|
37
|
+
author: IKanbanPerson;
|
|
38
|
+
/** ISO 8601 timestamp. */
|
|
39
|
+
createdAt: string;
|
|
40
|
+
body: TReferenceContent;
|
|
41
|
+
}
|
|
42
|
+
export interface IKanbanTicketChanges {
|
|
43
|
+
title?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
priority?: TKanbanPriority;
|
|
46
|
+
assignee?: IKanbanPerson | null;
|
|
47
|
+
parentId?: string | null;
|
|
48
|
+
}
|
|
49
|
+
export interface IKanbanTicketDraft {
|
|
50
|
+
title: string;
|
|
51
|
+
description: string;
|
|
52
|
+
priority: TKanbanPriority;
|
|
53
|
+
assigneeId: string;
|
|
54
|
+
parentId: string;
|
|
55
|
+
}
|
|
56
|
+
export interface IKanbanMove {
|
|
57
|
+
ticketId: string;
|
|
58
|
+
columnId: string;
|
|
59
|
+
/** Omitted means append. Provider assigns ordering atomically with the move. */
|
|
60
|
+
beforeTicketId?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface IKanbanCreate {
|
|
63
|
+
kind: TKanbanTicketKind;
|
|
64
|
+
title: string;
|
|
65
|
+
columnId: string;
|
|
66
|
+
parentId?: string;
|
|
67
|
+
}
|
|
68
|
+
/** Missing mutation callbacks make the corresponding controls read-only. AbortSignals cancel obsolete reads. */
|
|
69
|
+
export interface IKanbanProvider {
|
|
70
|
+
getTicket?: (id: string, signal: AbortSignal) => Promise<IKanbanTicket>;
|
|
71
|
+
searchTickets?: (query: string, signal: AbortSignal) => Promise<IKanbanTicket[]>;
|
|
72
|
+
loadComments?: (ticketId: string, signal: AbortSignal) => Promise<IKanbanComment[]>;
|
|
73
|
+
addComment?: (input: {
|
|
74
|
+
ticketId: string;
|
|
75
|
+
body: TReferenceContent;
|
|
76
|
+
}) => Promise<IKanbanComment>;
|
|
77
|
+
updateTicket?: (input: {
|
|
78
|
+
ticketId: string;
|
|
79
|
+
changes: IKanbanTicketChanges;
|
|
80
|
+
}) => Promise<IKanbanTicket>;
|
|
81
|
+
/** Return all records whose order or column changed. */
|
|
82
|
+
moveTicket?: (input: IKanbanMove) => Promise<IKanbanTicket[]>;
|
|
83
|
+
createTicket?: (input: IKanbanCreate) => Promise<IKanbanTicket>;
|
|
84
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IKanbanColumn, IKanbanPerson, IKanbanProvider, IKanbanTicket } from './interfaces.js';
|
|
2
|
+
export declare const kanbanDemoPeople: IKanbanPerson[];
|
|
3
|
+
export declare const kanbanDemoColumns: IKanbanColumn[];
|
|
4
|
+
export declare const createKanbanDemo: () => {
|
|
5
|
+
tickets: IKanbanTicket[];
|
|
6
|
+
provider: IKanbanProvider;
|
|
7
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export const kanbanDemoPeople = [{ id: 'mara', name: 'Mara Chen' }, { id: 'jonas', name: 'Jonas Berg' }, { id: 'alex', name: 'Alex Rivera' }];
|
|
2
|
+
export const kanbanDemoColumns = [{ id: 'backlog', title: 'Backlog' }, { id: 'progress', title: 'In progress' }, { id: 'review', title: 'In review' }, { id: 'done', title: 'Done', done: true }];
|
|
3
|
+
export const createKanbanDemo = () => {
|
|
4
|
+
let tickets = [
|
|
5
|
+
{ id: 'epic-1', key: 'CAT-100', kind: 'epic', title: 'A calmer workspace', description: 'Make daily work feel focused, connected and easy to navigate.', columnId: 'progress', order: 0 },
|
|
6
|
+
{ id: 'epic-2', key: 'CAT-200', kind: 'epic', title: 'Built for teams', description: 'Keep everyone close to the work and the decisions behind it.', columnId: 'progress', order: 1 },
|
|
7
|
+
{ id: 'task-1', key: 'CAT-101', kind: 'task', title: 'Design the project overview', description: 'Give each project a clear home. Surface the next action, recent activity and open questions.', parentId: 'epic-1', columnId: 'backlog', order: 0, priority: 'normal', assignee: kanbanDemoPeople[0], labels: ['Design'] },
|
|
8
|
+
{ id: 'task-2', key: 'CAT-102', kind: 'task', title: 'Connect related tickets', description: 'Type #_ in a comment to search for another ticket. Keep the reference connected when its title changes.', parentId: 'epic-2', columnId: 'progress', order: 0, priority: 'high', assignee: kanbanDemoPeople[1], labels: ['Collaboration'] },
|
|
9
|
+
{ id: 'task-3', key: 'CAT-103', kind: 'task', title: 'Make every action keyboard accessible', description: 'Support focus, selection, navigation and moving tickets without a mouse.', parentId: 'epic-1', columnId: 'progress', order: 1, priority: 'normal', assignee: kanbanDemoPeople[2], labels: ['Accessibility'] },
|
|
10
|
+
{ id: 'task-4', key: 'CAT-104', kind: 'task', title: 'Review the ticket detail experience', description: 'Check hierarchy navigation, discussion drafts and small-screen layouts.', parentId: 'epic-2', columnId: 'review', order: 0, priority: 'low', assignee: kanbanDemoPeople[0] },
|
|
11
|
+
{ id: 'task-5', key: 'CAT-105', kind: 'task', title: 'Unify status and priority styles', description: 'Use shared catalog tokens in light and dark themes.', parentId: 'epic-1', columnId: 'done', order: 0, assignee: kanbanDemoPeople[2], labels: ['Foundations'] },
|
|
12
|
+
{ id: 'sub-1', key: 'CAT-106', kind: 'subtask', title: 'Anchor search to the cursor', parentId: 'task-2', columnId: 'done', order: 0, assignee: kanbanDemoPeople[1] },
|
|
13
|
+
{ id: 'sub-2', key: 'CAT-107', kind: 'subtask', title: 'Restore focus after selection', parentId: 'task-2', columnId: 'progress', order: 1, assignee: kanbanDemoPeople[1] },
|
|
14
|
+
{ id: 'sub-3', key: 'CAT-108', kind: 'subtask', title: 'Check arrow-key navigation', parentId: 'task-3', columnId: 'done', order: 0, assignee: kanbanDemoPeople[2] },
|
|
15
|
+
];
|
|
16
|
+
let comments = [
|
|
17
|
+
{ id: 'comment-1', ticketId: 'task-2', author: kanbanDemoPeople[0], createdAt: '2026-09-18T09:30:00Z', body: [{ type: 'text', text: 'The picker should feel like part of the conversation. Can we check this together with ' }, { type: 'reference', id: 'task-3', label: '#CAT-103 Keyboard accessibility' }, { type: 'text', text: '?' }] },
|
|
18
|
+
{ id: 'comment-2', ticketId: 'task-2', author: kanbanDemoPeople[1], createdAt: '2026-09-18T09:42:00Z', body: [{ type: 'text', text: 'Yes. Search receives focus immediately, and choosing a ticket returns you to exactly where you were writing.' }] },
|
|
19
|
+
];
|
|
20
|
+
let nextKey = 300;
|
|
21
|
+
// Demo-only in-memory provider. Applications persist through their own authorized APIs.
|
|
22
|
+
const provider = {
|
|
23
|
+
getTicket: async (id) => {
|
|
24
|
+
const ticket = tickets.find(item => item.id === id);
|
|
25
|
+
if (!ticket)
|
|
26
|
+
throw new Error('Ticket not found.');
|
|
27
|
+
return ticket;
|
|
28
|
+
},
|
|
29
|
+
searchTickets: async (query) => tickets.filter(ticket => `${ticket.key} ${ticket.title}`.toLowerCase().includes(query.toLowerCase())),
|
|
30
|
+
loadComments: async (id) => comments.filter(comment => comment.ticketId === id),
|
|
31
|
+
addComment: async (input) => {
|
|
32
|
+
const comment = { ...input, id: crypto.randomUUID(), author: kanbanDemoPeople[0], createdAt: new Date().toISOString() };
|
|
33
|
+
comments = [...comments, comment];
|
|
34
|
+
return comment;
|
|
35
|
+
},
|
|
36
|
+
updateTicket: async ({ ticketId, changes }) => {
|
|
37
|
+
const previous = tickets.find(ticket => ticket.id === ticketId);
|
|
38
|
+
const ticket = { ...previous, ...changes, assignee: changes.assignee === null ? undefined : changes.assignee ?? previous.assignee,
|
|
39
|
+
parentId: changes.parentId === null ? undefined : changes.parentId ?? previous.parentId };
|
|
40
|
+
tickets = tickets.map(item => item.id === ticketId ? ticket : item);
|
|
41
|
+
return ticket;
|
|
42
|
+
},
|
|
43
|
+
moveTicket: async ({ ticketId, columnId, beforeTicketId }) => {
|
|
44
|
+
const ticket = tickets.find(item => item.id === ticketId);
|
|
45
|
+
const destination = tickets.filter(item => item.id !== ticketId && item.columnId === columnId && item.kind === ticket.kind).sort((a, b) => a.order - b.order);
|
|
46
|
+
const index = beforeTicketId ? destination.findIndex(item => item.id === beforeTicketId) : destination.length;
|
|
47
|
+
destination.splice(index < 0 ? destination.length : index, 0, { ...ticket, columnId });
|
|
48
|
+
const changed = destination.map((item, order) => ({ ...item, order }));
|
|
49
|
+
tickets = tickets.map(item => changed.find(record => record.id === item.id) ?? item);
|
|
50
|
+
return changed;
|
|
51
|
+
},
|
|
52
|
+
createTicket: async (input) => {
|
|
53
|
+
const ticket = { ...input, id: crypto.randomUUID(), key: `CAT-${nextKey++}`, order: tickets.length };
|
|
54
|
+
tickets = [...tickets, ticket];
|
|
55
|
+
return ticket;
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
return { tickets, provider };
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLmRlbW9kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAta2FuYmFuL2thbmJhbi5kZW1vZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBb0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQy9KLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFvQixDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ25OLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQTRELEVBQUU7SUFDNUYsSUFBSSxPQUFPLEdBQW9CO1FBQzdCLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSwrREFBK0QsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7UUFDekwsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFB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QUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVE7Z0JBQzlJLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RixPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQUMsT0FBTyxNQUFNLENBQUM7UUFDckYsQ0FBQztRQUNELFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDM0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFFLENBQUM7WUFDM0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlKLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDOUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN2RixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUFDLE9BQU8sT0FBTyxDQUFDO1FBQ3ZHLENBQUM7UUFDRCxZQUFZLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQyxFQUFFO1lBQzFCLE1BQU0sTUFBTSxHQUFrQixFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BILE9BQU8sR0FBRyxDQUFDLEdBQUcsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQUMsT0FBTyxNQUFNLENBQUM7UUFDaEQsQ0FBQztLQUNGLENBQUM7SUFDRixPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQy9CLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IKanbanTicket, IKanbanTicketDraft } from './interfaces.js';
|
|
2
|
+
export declare const sortKanbanTickets: (tickets: readonly IKanbanTicket[]) => IKanbanTicket[];
|
|
3
|
+
export declare const ticketLabel: (ticket: IKanbanTicket) => string;
|
|
4
|
+
export declare const ticketDraft: (ticket: IKanbanTicket) => IKanbanTicketDraft;
|
|
5
|
+
export declare const kanbanEvent: <T>(owner: HTMLElement, name: string, detail: T) => void;
|
|
6
|
+
export declare const kanbanError: (error: unknown) => string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const sortKanbanTickets = (tickets) => [...tickets].sort((a, b) => a.order - b.order || a.id.localeCompare(b.id));
|
|
2
|
+
export const ticketLabel = (ticket) => `#${ticket.key} ${ticket.title}`;
|
|
3
|
+
export const ticketDraft = (ticket) => ({
|
|
4
|
+
title: ticket.title, description: ticket.description ?? '', priority: ticket.priority ?? 'none',
|
|
5
|
+
assigneeId: ticket.assignee?.id ?? '', parentId: ticket.parentId ?? '',
|
|
6
|
+
});
|
|
7
|
+
export const kanbanEvent = (owner, name, detail) => {
|
|
8
|
+
owner.dispatchEvent(new CustomEvent(name, { detail, bubbles: true, composed: true }));
|
|
9
|
+
};
|
|
10
|
+
export const kanbanError = (error) => error instanceof Error ? error.message : String(error);
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1rYW5iYW4va2FuYmFuLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFpQyxFQUFtQixFQUFFLENBQ3RGLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBcUIsRUFBVSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMvRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFxQixFQUFzQixFQUFFLENBQUMsQ0FBQztJQUN6RSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTTtJQUMvRixVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUU7Q0FDdkUsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUksS0FBa0IsRUFBRSxJQUFZLEVBQUUsTUFBUyxFQUFRLEVBQUU7SUFDbEYsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hGLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWMsRUFBVSxFQUFFLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const kanbanStyles: import("@design.estate/dees-element").CSSResult[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { css, cssManager } from '@design.estate/dees-element';
|
|
2
|
+
import { themeDefaultStyles } from '../00theme.js';
|
|
3
|
+
export const kanbanStyles = [themeDefaultStyles, cssManager.defaultStyles, css `
|
|
4
|
+
:host { display: block; min-width: 0; font-family: var(--dees-font-family); color: var(--dees-color-text-primary); font-size: var(--dees-font-body-size); }
|
|
5
|
+
* { box-sizing: border-box; }
|
|
6
|
+
h2, h3, p { margin: 0; }
|
|
7
|
+
.muted { color: var(--dees-color-text-secondary); }
|
|
8
|
+
.caption { font-size: var(--dees-font-footnote-size); color: var(--dees-color-text-secondary); }
|
|
9
|
+
.error { color: var(--dees-color-text-error); padding: 10px 0; font-size: var(--dees-font-footnote-size); }
|
|
10
|
+
.empty { padding: 24px 12px; text-align: center; color: var(--dees-color-text-secondary); font-size: var(--dees-font-footnote-size); }
|
|
11
|
+
.row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
|
|
12
|
+
.spacer { flex: 1; }
|
|
13
|
+
button.link { border: 0; background: transparent; font: inherit; color: var(--dees-color-link); padding: 2px 0; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
|
|
14
|
+
button:focus-visible, summary:focus-visible { outline: 2px solid var(--dees-color-focus-ring); outline-offset: 3px; border-radius: var(--dees-radius-sm); }
|
|
15
|
+
dees-icon { font-size: 16px; }
|
|
16
|
+
.badge { display: inline-flex; align-items: center; gap: 4px; background: var(--dees-color-badge-default-bg); padding: 3px 7px; border-radius: var(--dees-radius-sm); font-size: var(--dees-font-caption1-size); color: var(--dees-color-text-secondary); }
|
|
17
|
+
`];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FuYmFuLnN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWthbmJhbi9rYW5iYW4uc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWM3RSxDQUFDLENBQUMifQ==
|
|
@@ -8,6 +8,7 @@ export * from './00group-dataview/index.js';
|
|
|
8
8
|
export * from './00group-feedback/index.js';
|
|
9
9
|
export * from './00group-form/index.js';
|
|
10
10
|
export * from './00group-harness/index.js';
|
|
11
|
+
export * from './00group-kanban/index.js';
|
|
11
12
|
export * from './00group-input/index.js';
|
|
12
13
|
export * from './00group-layout/index.js';
|
|
13
14
|
export * from './00group-media/index.js';
|
|
@@ -9,6 +9,7 @@ export * from './00group-dataview/index.js';
|
|
|
9
9
|
export * from './00group-feedback/index.js';
|
|
10
10
|
export * from './00group-form/index.js';
|
|
11
11
|
export * from './00group-harness/index.js';
|
|
12
|
+
export * from './00group-kanban/index.js';
|
|
12
13
|
export * from './00group-input/index.js';
|
|
13
14
|
export * from './00group-layout/index.js';
|
|
14
15
|
export * from './00group-media/index.js';
|
|
@@ -17,4 +18,4 @@ export * from './00group-runtime/index.js';
|
|
|
17
18
|
export * from './00group-simple/index.js';
|
|
18
19
|
export * from './00group-utility/index.js';
|
|
19
20
|
export * from './00group-workspace/index.js';
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUU3QixtQkFBbUI7QUFDbkIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQyJ9
|
|
@@ -283,6 +283,7 @@ export class DeesServiceLibLoader {
|
|
|
283
283
|
]);
|
|
284
284
|
this.tiptapLib = {
|
|
285
285
|
Editor: coreModule.Editor,
|
|
286
|
+
Node: coreModule.Node,
|
|
286
287
|
StarterKit: starterKitModule.default || starterKitModule.StarterKit,
|
|
287
288
|
Underline: underlineModule.default || underlineModule.Underline,
|
|
288
289
|
TextAlign: textAlignModule.default || textAlignModule.TextAlign,
|
|
@@ -333,4 +334,4 @@ export class DeesServiceLibLoader {
|
|
|
333
334
|
}
|
|
334
335
|
}
|
|
335
336
|
}
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVlc1NlcnZpY2VMaWJMb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvc2VydmljZXMvRGVlc1NlcnZpY2VMaWJMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUE4R3ZEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHVFQUF1RTtBQUN2RSxzRUFBc0U7QUFDdEUsOEVBQThFO0FBQzlFLE1BQU0sc0JBQXNCLEdBQUc7Ozs7O0NBSzlCLENBQUM7QUFFRixNQUFNLE9BQU8sb0JBQW9CO0lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRTlDLDRCQUE0QjtJQUNwQixRQUFRLEdBQXdCLElBQUksQ0FBQztJQUNyQyxnQkFBZ0IsR0FBZ0MsSUFBSSxDQUFDO0lBQ3JELG1CQUFtQixHQUFtQyxJQUFJLENBQUM7SUFDM0QsY0FBYyxHQUFtQixJQUFJLENBQUM7SUFDdEMsb0JBQW9CLEdBQW9DLElBQUksQ0FBQztJQUM3RCxVQUFVLEdBQTBCLElBQUksQ0FBQztJQUN6QyxTQUFTLEdBQXlCLElBQUksQ0FBQztJQUUvQyx5REFBeUQ7SUFDakQsbUJBQW1CLEdBQWlDLElBQUksQ0FBQztJQUN6RCwyQkFBMkIsR0FBeUMsSUFBSSxDQUFDO0lBQ3pFLDhCQUE4QixHQUE0QyxJQUFJLENBQUM7SUFDL0UseUJBQXlCLEdBQTRCLElBQUksQ0FBQztJQUMxRCwrQkFBK0IsR0FBNkMsSUFBSSxDQUFDO0lBQ2pGLHFCQUFxQixHQUFtQyxJQUFJLENBQUM7SUFDN0Qsb0JBQW9CLEdBQWtDLElBQUksQ0FBQztJQUVuRSxnQkFBdUIsQ0FBQztJQUV4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxvQkFBb0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBb0Is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
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVlc1NlcnZpY2VMaWJMb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvc2VydmljZXMvRGVlc1NlcnZpY2VMaWJMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUErR3ZEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHVFQUF1RTtBQUN2RSxzRUFBc0U7QUFDdEUsOEVBQThFO0FBQzlFLE1BQU0sc0JBQXNCLEdBQUc7Ozs7O0NBSzlCLENBQUM7QUFFRixNQUFNLE9BQU8sb0JBQW9CO0lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLENBQXVCO0lBRTlDLDRCQUE0QjtJQUNwQixRQUFRLEdBQXdCLElBQUksQ0FBQztJQUNyQyxnQkFBZ0IsR0FBZ0MsSUFBSSxDQUFDO0lBQ3JELG1CQUFtQixHQUFtQyxJQUFJLENBQUM7SUFDM0QsY0FBYyxHQUFtQixJQUFJLENBQUM7SUFDdEMsb0JBQW9CLEdBQW9DLElBQUksQ0FBQztJQUM3RCxVQUFVLEdBQTBCLElBQUksQ0FBQztJQUN6QyxTQUFTLEdBQXlCLElBQUksQ0FBQztJQUUvQyx5REFBeUQ7SUFDakQsbUJBQW1CLEdBQWlDLElBQUksQ0FBQztJQUN6RCwyQkFBMkIsR0FBeUMsSUFBSSxDQUFDO0lBQ3pFLDhCQUE4QixHQUE0QyxJQUFJLENBQUM7SUFDL0UseUJBQXlCLEdBQTRCLElBQUksQ0FBQztJQUMxRCwrQkFBK0IsR0FBNkMsSUFBSSxDQUFDO0lBQ2pGLHFCQUFxQixHQUFtQyxJQUFJLENBQUM7SUFDN0Qsb0JBQW9CLEdBQWtDLElBQUksQ0FBQztJQUVuRSxnQkFBdUIsQ0FBQztJQUV4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxvQkFBb0IsQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBb0Is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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
package/readme.md
CHANGED
|
@@ -32,6 +32,8 @@ switcher**, **view-toggle**, and **single-selection toggle** all lead to
|
|
|
32
32
|
| See components composed into one working application | [Integrated App UI demo](#integrated-app-ui-demo) | Shared state, layout presets, navigation, service tabs, charts, files, settings and activity. Start here before assembling a shell. |
|
|
33
33
|
| Collect and submit form values | [`dees-form`](#deesform), [`dees-form-submit`](#deesformsubmit) | Give each input a stable `key`; use the form's collection and validation flow. |
|
|
34
34
|
| Edit multiline plain text | [`dees-input-textarea`](#deesinputtextarea) | Notes and descriptions as strings, with validation and form reset; no rich-text editor. |
|
|
35
|
+
| Track epics, tasks and subtasks across workflow columns | [`dees-kanban`](#deeskanban) | Board, ordering, ticket detail, discussion and stable ticket references. |
|
|
36
|
+
| Compose comments with searchable inline references | [`dees-input-reference`](#deesinputreference) | Typing `#_` opens a searchable picker at the caret; the value contains text and stable reference IDs. |
|
|
35
37
|
| Search, filter, sort, edit and act on records | [`dees-table`](#deestable) | Use its columns, selection and data actions before building a table toolbar or row-action layer. |
|
|
36
38
|
| Show metrics, health and operational context | [`dees-statsgrid`](#deesstatsgrid), [`dees-dataview-statusobject`](#deesdataviewstatusobject) | Metric tiles versus structured status details and actions. |
|
|
37
39
|
| Plot a time series, compare categories, show proportions, capacity or profiles | [Chart components](#visualization-components) | Area, bar, donut, gauge and radar have distinct data contracts. |
|
|
@@ -198,6 +200,7 @@ task guide and examples deliberately; the generated table does not replace them.
|
|
|
198
200
|
| `dees-input-profilepicture` | input | [DeesInputProfilePicture](#deesinputprofilepicture) | [Source](ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.ts) |
|
|
199
201
|
| `dees-input-quantityselector` | input | [DeesInputQuantitySelector](#deesinputquantityselector) | [Source](ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.ts) |
|
|
200
202
|
| `dees-input-radiogroup` | input | [DeesInputRadiogroup](#deesinputradiogroup) | [Source](ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.ts) |
|
|
203
|
+
| `dees-input-reference` | input | [DeesInputReference](#deesinputreference) | [Source](ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts) |
|
|
201
204
|
| `dees-input-richtext` | input | [DeesInputRichtext](#deesinputrichtext) | [Source](ts_web/elements/00group-input/dees-input-richtext/component.ts) |
|
|
202
205
|
| `dees-input-tags` | input | [DeesInputTags](#deesinputtags) | [Source](ts_web/elements/00group-input/dees-input-tags/dees-input-tags.ts) |
|
|
203
206
|
| `dees-input-text` | input | [DeesInputText](#deesinputtext) | [Source](ts_web/elements/00group-input/dees-input-text/dees-input-text.ts) |
|
|
@@ -205,6 +208,11 @@ task guide and examples deliberately; the generated table does not replace them.
|
|
|
205
208
|
| `dees-input-toggle` | input | [DeesInputToggle](#deesinputtoggle) | [Source](ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.ts) |
|
|
206
209
|
| `dees-input-typelist` | input | [DeesInputTypelist](#deesinputtypelist) | [Source](ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.ts) |
|
|
207
210
|
| `dees-input-wysiwyg` | input | [DeesInputWysiwyg](#deesinputwysiwyg) | [Source](ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts) |
|
|
211
|
+
| `dees-kanban` | kanban | [DeesKanban](#deeskanban) | [Source](ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts) |
|
|
212
|
+
| `dees-kanban-card` | kanban | [DeesKanbanCard](#deeskanbancard) | [Source](ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts) |
|
|
213
|
+
| `dees-kanban-column` | kanban | [DeesKanbanColumn](#deeskanbancolumn) | [Source](ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts) |
|
|
214
|
+
| `dees-kanban-discussion` | kanban | [DeesKanbanDiscussion](#deeskanbandiscussion) | [Source](ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts) |
|
|
215
|
+
| `dees-kanban-ticket-detail` | kanban | [DeesKanbanTicketDetail](#deeskanbanticketdetail) | [Source](ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts) |
|
|
208
216
|
| `dees-label` | layout | [DeesLabel](#deeslabel) | [Source](ts_web/elements/00group-layout/dees-label/dees-label.ts) |
|
|
209
217
|
| `dees-mobilenavigation` | appui | — | [Source](ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.ts) |
|
|
210
218
|
| `dees-modal` | overlay | [DeesModal](#deesmodal) | [Source](ts_web/elements/00group-overlay/dees-modal/dees-modal.ts) |
|
|
@@ -2144,6 +2152,16 @@ bubbling `range-change` event carries `{ from, to }` as Unix epoch
|
|
|
2144
2152
|
milliseconds. Apply that range back through `selectedRange` to keep the
|
|
2145
2153
|
selection visible; set it to `null` to clear the overlay.
|
|
2146
2154
|
|
|
2155
|
+
Use `y: null` for an unavailable reading. Its timestamp remains on the time
|
|
2156
|
+
axis, and the area line visibly stops until the next numeric reading. Supply
|
|
2157
|
+
one null point for each missing sampling interval when the width of an outage
|
|
2158
|
+
should reflect its duration. The chart keeps one legend entry per named input
|
|
2159
|
+
series. Legend statistics omit null readings; `latest` is unavailable when the
|
|
2160
|
+
newest reading is null, while `min`, `max`, and `avg` describe available
|
|
2161
|
+
readings in the selected window. An unavailable statistic is displayed as `—`.
|
|
2162
|
+
With `realtimeMode=true` and `rollingWindow=3_600_000`, the time axis follows
|
|
2163
|
+
the last hour even while the latest reading is unavailable.
|
|
2164
|
+
|
|
2147
2165
|
```typescript
|
|
2148
2166
|
<dees-chart-area
|
|
2149
2167
|
label="System Usage"
|
|
@@ -2154,7 +2172,7 @@ selection visible; set it to `null` to clear the overlay.
|
|
|
2154
2172
|
name: 'CPU',
|
|
2155
2173
|
data: [
|
|
2156
2174
|
{ x: '2025-01-15T03:00:00', y: 25 },
|
|
2157
|
-
{ x: '2025-01-15T07:00:00', y:
|
|
2175
|
+
{ x: '2025-01-15T07:00:00', y: null }, // unavailable
|
|
2158
2176
|
{ x: '2025-01-15T11:00:00', y: 20 }
|
|
2159
2177
|
]
|
|
2160
2178
|
}
|
|
@@ -2578,6 +2596,152 @@ IDE-style bottom status bar for the workspace.
|
|
|
2578
2596
|
|
|
2579
2597
|
---
|
|
2580
2598
|
|
|
2599
|
+
### Kanban Components
|
|
2600
|
+
|
|
2601
|
+
#### DeesKanban
|
|
2602
|
+
|
|
2603
|
+
`dees-kanban` assembles the Kanban family: configurable workflow columns, task
|
|
2604
|
+
cards, epic filtering, search, expandable subtask progress, and ticket detail in
|
|
2605
|
+
`dees-modal`. The **Kanban** catalog demo includes a working in-memory provider.
|
|
2606
|
+
|
|
2607
|
+
```typescript
|
|
2608
|
+
import '@design.estate/dees-catalog';
|
|
2609
|
+
import type { IKanbanProvider, IKanbanTicket } from '@design.estate/dees-catalog';
|
|
2610
|
+
|
|
2611
|
+
const board = document.createElement('dees-kanban');
|
|
2612
|
+
board.heading = 'Product workspace';
|
|
2613
|
+
board.columns = [
|
|
2614
|
+
{ id: 'todo', title: 'To do' },
|
|
2615
|
+
{ id: 'doing', title: 'In progress' },
|
|
2616
|
+
{ id: 'done', title: 'Done', done: true },
|
|
2617
|
+
];
|
|
2618
|
+
board.tickets = [
|
|
2619
|
+
{ id: 'epic-1', key: 'APP-1', kind: 'epic', title: 'Team workspace', columnId: 'doing', order: 0 },
|
|
2620
|
+
{ id: 'task-1', key: 'APP-2', kind: 'task', title: 'Ticket search', parentId: 'epic-1', columnId: 'todo', order: 0 },
|
|
2621
|
+
{ id: 'subtask-1', key: 'APP-3', kind: 'subtask', title: 'Keyboard selection', parentId: 'task-1', columnId: 'todo', order: 0 },
|
|
2622
|
+
] satisfies IKanbanTicket[];
|
|
2623
|
+
document.body.append(board);
|
|
2624
|
+
```
|
|
2625
|
+
|
|
2626
|
+
Set `.provider` to an `IKanbanProvider` backed by the application's authorized
|
|
2627
|
+
API. Omitted mutation callbacks make those actions read-only. The catalog does
|
|
2628
|
+
not store application data or implement authorization. Ticket `permissions`
|
|
2629
|
+
can disable individual edit, move, comment and create-child actions; the server
|
|
2630
|
+
must enforce the same permissions.
|
|
2631
|
+
|
|
2632
|
+
| Provider callback | Input | Result |
|
|
2633
|
+
| --- | --- | --- |
|
|
2634
|
+
| `getTicket` | `(id, signal)` | Full `IKanbanTicket`, including tickets outside the current board |
|
|
2635
|
+
| `searchTickets` | `(query, signal)` | Tickets matching key or title; omitted uses the supplied board tickets |
|
|
2636
|
+
| `loadComments` | `(ticketId, signal)` | `IKanbanComment[]` for that ticket |
|
|
2637
|
+
| `addComment` | `{ ticketId, body }` | Saved `IKanbanComment` with stable ID, author and ISO timestamp |
|
|
2638
|
+
| `updateTicket` | `{ ticketId, changes }` | Saved `IKanbanTicket`; nullable assignee/parent clears that field |
|
|
2639
|
+
| `moveTicket` | `{ ticketId, columnId, beforeTicketId? }` | All `IKanbanTicket` records whose order/column changed |
|
|
2640
|
+
| `createTicket` | `{ kind, title, columnId, parentId? }` | Created `IKanbanTicket` |
|
|
2641
|
+
|
|
2642
|
+
Provider reads receive an `AbortSignal`; obsolete reads cannot overwrite a newer
|
|
2643
|
+
selection. Reject mutations with an `Error` to show the failure and preserve the
|
|
2644
|
+
draft. Successful callbacks supply authoritative records to the component.
|
|
2645
|
+
Moves are awaited before changing the board; the provider must assign ordering
|
|
2646
|
+
atomically. Omitting `beforeTicketId` appends. Cards support drag-and-drop and a
|
|
2647
|
+
keyboard-accessible Move menu with within-column ordering and column selection.
|
|
2648
|
+
|
|
2649
|
+
Hierarchy is independent of workflow: tasks optionally belong to epics, and
|
|
2650
|
+
subtasks belong to tasks. Each ticket has its own `columnId`; moving a parent
|
|
2651
|
+
does not move its children. Column array order controls board order, and `done`
|
|
2652
|
+
identifies completed subtasks. Configure columns by supplying a new `.columns`
|
|
2653
|
+
array. Supply `.people` for the assignee picker, `.loading` for loading feedback,
|
|
2654
|
+
and `.error` for a host-side board loading failure. Supply new `.tickets` arrays
|
|
2655
|
+
for external updates.
|
|
2656
|
+
|
|
2657
|
+
Public methods and events:
|
|
2658
|
+
|
|
2659
|
+
- `openTicket(id)` opens a ticket. Linked-ticket navigation has Back history and
|
|
2660
|
+
preserves comment and field drafts per ticket for the board instance's lifetime.
|
|
2661
|
+
- `moveTicket(input)` invokes the same permission-aware move path as the UI.
|
|
2662
|
+
- `refreshComments(ticketId?)` reloads discussion; `setComments(ticketId, comments)`
|
|
2663
|
+
accepts authoritative realtime snapshots without introducing transport coupling.
|
|
2664
|
+
- `kanban-change`: `detail.tickets` contains saved/created/moved records to merge
|
|
2665
|
+
into the host's state.
|
|
2666
|
+
- `kanban-ticket-opened`: `detail.ticketId` identifies the selected ticket.
|
|
2667
|
+
- `kanban-comment-saved`: `detail.comment` contains the saved comment.
|
|
2668
|
+
- `kanban-error`: `detail.error` and `detail.message` report failed operations.
|
|
2669
|
+
|
|
2670
|
+
#### DeesKanbanColumn
|
|
2671
|
+
|
|
2672
|
+
`dees-kanban-column` accepts `.column`, `.tickets`, `.allTickets`, `.columns`,
|
|
2673
|
+
`.movable`, `.canCreate`, `.pendingTicketId` and `.draggingTicketId`. It composes
|
|
2674
|
+
cards and emits `kanban-ticket-move` with the destination and insertion target.
|
|
2675
|
+
Use it through `dees-kanban` for provider handling and board-local drag ownership.
|
|
2676
|
+
|
|
2677
|
+
#### DeesKanbanCard
|
|
2678
|
+
|
|
2679
|
+
`dees-kanban-card` accepts `.ticket`, `.epic`, `.subtasks`, `.columns`, `.movable`
|
|
2680
|
+
and `.pending`. It displays priority, assignee, labels and completion counts.
|
|
2681
|
+
`kanban-ticket-open` identifies a requested ticket, and `kanban-move-menu` carries
|
|
2682
|
+
the ticket ID and anchor element. Secondary cards remain usable independently.
|
|
2683
|
+
|
|
2684
|
+
#### DeesKanbanTicketDetail
|
|
2685
|
+
|
|
2686
|
+
`dees-kanban-ticket-detail` is the reusable detail content, composed into the
|
|
2687
|
+
board's modal. It displays the parent, child tickets, description, fields and
|
|
2688
|
+
discussion. It accepts `.ticket`, `.tickets`, `.columns`, `.people`, `.provider`,
|
|
2689
|
+
`.draft`, `.comments` and `.commentDraft`. It emits `kanban-ticket-save` and
|
|
2690
|
+
`kanban-ticket-draft` intents; `dees-kanban` owns persistence, navigation and draft
|
|
2691
|
+
caching. `finishEditing()` returns to the saved view after a successful update.
|
|
2692
|
+
|
|
2693
|
+
#### DeesKanbanDiscussion
|
|
2694
|
+
|
|
2695
|
+
`dees-kanban-discussion` renders chronological comments and a reference composer.
|
|
2696
|
+
Provide `.ticketId`, `.comments`, `.draft`, `.searchTickets`, `.addComment`,
|
|
2697
|
+
`.loading`, `.error` and `.readOnly`. `submit()` awaits the save callback; errors
|
|
2698
|
+
leave the draft intact. Ctrl/⌘ Enter submits; Enter inserts a newline.
|
|
2699
|
+
Standalone consumers handle `kanban-comment-draft` (`ticketId`, `body`),
|
|
2700
|
+
`kanban-comment-added` (`comment`, `submittedBody`), `kanban-ticket-open` and
|
|
2701
|
+
`kanban-comments-refresh`. The assembled board handles these events itself.
|
|
2702
|
+
|
|
2703
|
+
#### DeesInputReference
|
|
2704
|
+
|
|
2705
|
+
`dees-input-reference` is a reusable editor for chat and discussion. `.value` is
|
|
2706
|
+
`TReferenceContent`, an array of `{ type: 'text', text }` and
|
|
2707
|
+
`{ type: 'reference', id, label }`. Labels are display snapshots; IDs remain the
|
|
2708
|
+
lookup keys when a ticket is renamed. Newlines are preserved as text. Content is
|
|
2709
|
+
rendered safely as text and reference nodes, without accepting arbitrary HTML.
|
|
2710
|
+
|
|
2711
|
+
```typescript
|
|
2712
|
+
const composer = document.createElement('dees-input-reference');
|
|
2713
|
+
composer.documentKey = 'ticket-42';
|
|
2714
|
+
composer.value = [
|
|
2715
|
+
{ type: 'text', text: 'Related to ' },
|
|
2716
|
+
{ type: 'reference', id: 'ticket-17', label: '#APP-17 Keyboard navigation' },
|
|
2717
|
+
];
|
|
2718
|
+
composer.searchReferences = async (query, signal) => {
|
|
2719
|
+
// Replace with your authorized search API; honor signal when making requests.
|
|
2720
|
+
return [{ id: 'ticket-17', label: '#APP-17 Keyboard navigation' }]
|
|
2721
|
+
.filter(item => item.label.toLowerCase().includes(query.toLowerCase()));
|
|
2722
|
+
};
|
|
2723
|
+
document.body.append(composer);
|
|
2724
|
+
await composer.ready();
|
|
2725
|
+
composer.focus();
|
|
2726
|
+
```
|
|
2727
|
+
|
|
2728
|
+
Typing `#_` opens a dropdown at the caret and immediately focuses its search.
|
|
2729
|
+
Arrow keys navigate, Enter inserts the selected atomic reference plus a space,
|
|
2730
|
+
and Escape dismisses while preserving typed text. Selection returns focus to
|
|
2731
|
+
the editor. The picker belongs to its containing modal, handles viewport edges,
|
|
2732
|
+
and cancels obsolete searches. References participate in editor undo and clipboard
|
|
2733
|
+
operations. Changing `.documentKey` resets history so undo cannot cross tickets.
|
|
2734
|
+
|
|
2735
|
+
Set `.trigger`, `.label`, `.placeholder`, `.searchLabel` and `.disabled` as needed.
|
|
2736
|
+
`reference-input` emits `{ value }`, `reference-open` emits `{ id, label }`, and
|
|
2737
|
+
`reference-submit` requests submission on Ctrl/⌘ Enter. `referenceText(value)`
|
|
2738
|
+
returns a plain-text representation. No callback means no reference picker.
|
|
2739
|
+
|
|
2740
|
+
The shared `DeesInputDropdownPopup` also accepts `.searchOptions(query, signal)`
|
|
2741
|
+
for asynchronous searches and `.searchLabel` for accessible search labeling.
|
|
2742
|
+
Remote results are authoritative; failures and loading states replace stale
|
|
2743
|
+
options. Existing local dropdown filtering is unchanged.
|
|
2744
|
+
|
|
2581
2745
|
### Agentic Chat Components 🤖
|
|
2582
2746
|
|
|
2583
2747
|
The `00group-harness` family renders what an agent harness produces — streaming messages, reasoning, tool calls, MCP content, permission prompts — behind one normalized data contract (`IHarnessMessage`, `IHarnessToolCall`, `IHarnessPermissionRequest`, `IHarnessSessionMeta`, `IHarnessStatus`). Consumers adapt their wire format to these interfaces and feed the components; all events are `harness-*` CustomEvents (bubbles + composed).
|
|
@@ -30,7 +30,7 @@ writeFileSync(join(consumer, 'package.json'), JSON.stringify({
|
|
|
30
30
|
}, null, 2));
|
|
31
31
|
writeFileSync(join(consumer, 'pnpm-workspace.yaml'), 'packages:\n - "."\n');
|
|
32
32
|
// Run the same regressions against installed JavaScript, not sources.
|
|
33
|
-
const browserTests = ['table-construction', 'datepicker-validation', 'textarea', 'composer-attachments'];
|
|
33
|
+
const browserTests = ['table-construction', 'datepicker-validation', 'textarea', 'composer-attachments', 'kanban'];
|
|
34
34
|
for (const name of browserTests) {
|
|
35
35
|
const browserTest = readFileSync(join(root, `test/test.${name}.browser.ts`), 'utf8')
|
|
36
36
|
.replaceAll('../ts_web/', '@design.estate/dees-catalog/dist_ts_web/');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
|
-
name:
|
|
6
|
-
version:
|
|
7
|
-
description:
|
|
5
|
+
name: '@design.estate/dees-catalog',
|
|
6
|
+
version: '13.0.0',
|
|
7
|
+
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|