@design.estate/dees-catalog 12.3.0 → 12.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_bundle/bundle.js +2483 -1137
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.d.ts +5 -0
- package/dist_ts_web/elements/00group-form/dees-form/dees-form.d.ts +2 -1
- package/dist_ts_web/elements/00group-form/dees-form/dees-form.js +2 -1
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.d.ts +13 -0
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.js +76 -7
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.d.ts +42 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.js +8 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +347 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.d.ts +5 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.js +45 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.d.ts +2 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.js +3 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.d.ts +16 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.d.ts +12 -2
- package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +11 -1
- package/dist_ts_web/elements/00group-input/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/index.js +2 -1
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +58 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.js +9 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +536 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +20 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +157 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +23 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +192 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.d.ts +24 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +211 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +35 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +269 -0
- package/dist_ts_web/elements/00group-kanban/index.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/index.js +7 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.d.ts +84 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.d.ts +7 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.js +60 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +11 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.js +18 -0
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +7 -2
- package/dist_ts_web/elements/00group-workspace/dees-workspace/dees-workspace.js +3 -3
- package/dist_ts_web/elements/00group-workspace/dees-workspace/styles.js +10 -2
- package/dist_ts_web/elements/index.d.ts +1 -0
- package/dist_ts_web/elements/index.js +2 -1
- package/dist_ts_web/services/DeesServiceLibLoader.d.ts +1 -0
- package/dist_ts_web/services/DeesServiceLibLoader.js +2 -1
- package/package.json +1 -1
- package/readme.md +154 -0
- package/scripts/check-packed-consumer.mjs +1 -1
- package/ts_web/00_commitinfo_data.ts +3 -3
- package/ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.ts +6 -0
- package/ts_web/elements/00group-form/dees-form/dees-form.ts +2 -1
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.ts +40 -5
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.ts +9 -0
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +221 -0
- package/ts_web/elements/00group-input/dees-input-reference/document.ts +38 -0
- package/ts_web/elements/00group-input/dees-input-reference/index.ts +2 -0
- package/ts_web/elements/00group-input/dees-input-reference/interfaces.ts +8 -0
- package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +11 -1
- package/ts_web/elements/00group-input/index.ts +1 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.ts +9 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +315 -0
- package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +58 -0
- package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +60 -0
- package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +81 -0
- package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +114 -0
- package/ts_web/elements/00group-kanban/index.ts +6 -0
- package/ts_web/elements/00group-kanban/interfaces.ts +67 -0
- package/ts_web/elements/00group-kanban/kanban.demodata.ts +56 -0
- package/ts_web/elements/00group-kanban/kanban.helpers.ts +13 -0
- package/ts_web/elements/00group-kanban/kanban.styles.ts +18 -0
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +6 -1
- package/ts_web/elements/00group-workspace/dees-workspace/dees-workspace.ts +2 -2
- package/ts_web/elements/00group-workspace/dees-workspace/styles.ts +9 -1
- package/ts_web/elements/index.ts +1 -0
- package/ts_web/services/DeesServiceLibLoader.ts +2 -0
|
@@ -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": "12.
|
|
3
|
+
"version": "12.5.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) |
|
|
@@ -2578,6 +2586,152 @@ IDE-style bottom status bar for the workspace.
|
|
|
2578
2586
|
|
|
2579
2587
|
---
|
|
2580
2588
|
|
|
2589
|
+
### Kanban Components
|
|
2590
|
+
|
|
2591
|
+
#### DeesKanban
|
|
2592
|
+
|
|
2593
|
+
`dees-kanban` assembles the Kanban family: configurable workflow columns, task
|
|
2594
|
+
cards, epic filtering, search, expandable subtask progress, and ticket detail in
|
|
2595
|
+
`dees-modal`. The **Kanban** catalog demo includes a working in-memory provider.
|
|
2596
|
+
|
|
2597
|
+
```typescript
|
|
2598
|
+
import '@design.estate/dees-catalog';
|
|
2599
|
+
import type { IKanbanProvider, IKanbanTicket } from '@design.estate/dees-catalog';
|
|
2600
|
+
|
|
2601
|
+
const board = document.createElement('dees-kanban');
|
|
2602
|
+
board.heading = 'Product workspace';
|
|
2603
|
+
board.columns = [
|
|
2604
|
+
{ id: 'todo', title: 'To do' },
|
|
2605
|
+
{ id: 'doing', title: 'In progress' },
|
|
2606
|
+
{ id: 'done', title: 'Done', done: true },
|
|
2607
|
+
];
|
|
2608
|
+
board.tickets = [
|
|
2609
|
+
{ id: 'epic-1', key: 'APP-1', kind: 'epic', title: 'Team workspace', columnId: 'doing', order: 0 },
|
|
2610
|
+
{ id: 'task-1', key: 'APP-2', kind: 'task', title: 'Ticket search', parentId: 'epic-1', columnId: 'todo', order: 0 },
|
|
2611
|
+
{ id: 'subtask-1', key: 'APP-3', kind: 'subtask', title: 'Keyboard selection', parentId: 'task-1', columnId: 'todo', order: 0 },
|
|
2612
|
+
] satisfies IKanbanTicket[];
|
|
2613
|
+
document.body.append(board);
|
|
2614
|
+
```
|
|
2615
|
+
|
|
2616
|
+
Set `.provider` to an `IKanbanProvider` backed by the application's authorized
|
|
2617
|
+
API. Omitted mutation callbacks make those actions read-only. The catalog does
|
|
2618
|
+
not store application data or implement authorization. Ticket `permissions`
|
|
2619
|
+
can disable individual edit, move, comment and create-child actions; the server
|
|
2620
|
+
must enforce the same permissions.
|
|
2621
|
+
|
|
2622
|
+
| Provider callback | Input | Result |
|
|
2623
|
+
| --- | --- | --- |
|
|
2624
|
+
| `getTicket` | `(id, signal)` | Full `IKanbanTicket`, including tickets outside the current board |
|
|
2625
|
+
| `searchTickets` | `(query, signal)` | Tickets matching key or title; omitted uses the supplied board tickets |
|
|
2626
|
+
| `loadComments` | `(ticketId, signal)` | `IKanbanComment[]` for that ticket |
|
|
2627
|
+
| `addComment` | `{ ticketId, body }` | Saved `IKanbanComment` with stable ID, author and ISO timestamp |
|
|
2628
|
+
| `updateTicket` | `{ ticketId, changes }` | Saved `IKanbanTicket`; nullable assignee/parent clears that field |
|
|
2629
|
+
| `moveTicket` | `{ ticketId, columnId, beforeTicketId? }` | All `IKanbanTicket` records whose order/column changed |
|
|
2630
|
+
| `createTicket` | `{ kind, title, columnId, parentId? }` | Created `IKanbanTicket` |
|
|
2631
|
+
|
|
2632
|
+
Provider reads receive an `AbortSignal`; obsolete reads cannot overwrite a newer
|
|
2633
|
+
selection. Reject mutations with an `Error` to show the failure and preserve the
|
|
2634
|
+
draft. Successful callbacks supply authoritative records to the component.
|
|
2635
|
+
Moves are awaited before changing the board; the provider must assign ordering
|
|
2636
|
+
atomically. Omitting `beforeTicketId` appends. Cards support drag-and-drop and a
|
|
2637
|
+
keyboard-accessible Move menu with within-column ordering and column selection.
|
|
2638
|
+
|
|
2639
|
+
Hierarchy is independent of workflow: tasks optionally belong to epics, and
|
|
2640
|
+
subtasks belong to tasks. Each ticket has its own `columnId`; moving a parent
|
|
2641
|
+
does not move its children. Column array order controls board order, and `done`
|
|
2642
|
+
identifies completed subtasks. Configure columns by supplying a new `.columns`
|
|
2643
|
+
array. Supply `.people` for the assignee picker, `.loading` for loading feedback,
|
|
2644
|
+
and `.error` for a host-side board loading failure. Supply new `.tickets` arrays
|
|
2645
|
+
for external updates.
|
|
2646
|
+
|
|
2647
|
+
Public methods and events:
|
|
2648
|
+
|
|
2649
|
+
- `openTicket(id)` opens a ticket. Linked-ticket navigation has Back history and
|
|
2650
|
+
preserves comment and field drafts per ticket for the board instance's lifetime.
|
|
2651
|
+
- `moveTicket(input)` invokes the same permission-aware move path as the UI.
|
|
2652
|
+
- `refreshComments(ticketId?)` reloads discussion; `setComments(ticketId, comments)`
|
|
2653
|
+
accepts authoritative realtime snapshots without introducing transport coupling.
|
|
2654
|
+
- `kanban-change`: `detail.tickets` contains saved/created/moved records to merge
|
|
2655
|
+
into the host's state.
|
|
2656
|
+
- `kanban-ticket-opened`: `detail.ticketId` identifies the selected ticket.
|
|
2657
|
+
- `kanban-comment-saved`: `detail.comment` contains the saved comment.
|
|
2658
|
+
- `kanban-error`: `detail.error` and `detail.message` report failed operations.
|
|
2659
|
+
|
|
2660
|
+
#### DeesKanbanColumn
|
|
2661
|
+
|
|
2662
|
+
`dees-kanban-column` accepts `.column`, `.tickets`, `.allTickets`, `.columns`,
|
|
2663
|
+
`.movable`, `.canCreate`, `.pendingTicketId` and `.draggingTicketId`. It composes
|
|
2664
|
+
cards and emits `kanban-ticket-move` with the destination and insertion target.
|
|
2665
|
+
Use it through `dees-kanban` for provider handling and board-local drag ownership.
|
|
2666
|
+
|
|
2667
|
+
#### DeesKanbanCard
|
|
2668
|
+
|
|
2669
|
+
`dees-kanban-card` accepts `.ticket`, `.epic`, `.subtasks`, `.columns`, `.movable`
|
|
2670
|
+
and `.pending`. It displays priority, assignee, labels and completion counts.
|
|
2671
|
+
`kanban-ticket-open` identifies a requested ticket, and `kanban-move-menu` carries
|
|
2672
|
+
the ticket ID and anchor element. Secondary cards remain usable independently.
|
|
2673
|
+
|
|
2674
|
+
#### DeesKanbanTicketDetail
|
|
2675
|
+
|
|
2676
|
+
`dees-kanban-ticket-detail` is the reusable detail content, composed into the
|
|
2677
|
+
board's modal. It displays the parent, child tickets, description, fields and
|
|
2678
|
+
discussion. It accepts `.ticket`, `.tickets`, `.columns`, `.people`, `.provider`,
|
|
2679
|
+
`.draft`, `.comments` and `.commentDraft`. It emits `kanban-ticket-save` and
|
|
2680
|
+
`kanban-ticket-draft` intents; `dees-kanban` owns persistence, navigation and draft
|
|
2681
|
+
caching. `finishEditing()` returns to the saved view after a successful update.
|
|
2682
|
+
|
|
2683
|
+
#### DeesKanbanDiscussion
|
|
2684
|
+
|
|
2685
|
+
`dees-kanban-discussion` renders chronological comments and a reference composer.
|
|
2686
|
+
Provide `.ticketId`, `.comments`, `.draft`, `.searchTickets`, `.addComment`,
|
|
2687
|
+
`.loading`, `.error` and `.readOnly`. `submit()` awaits the save callback; errors
|
|
2688
|
+
leave the draft intact. Ctrl/⌘ Enter submits; Enter inserts a newline.
|
|
2689
|
+
Standalone consumers handle `kanban-comment-draft` (`ticketId`, `body`),
|
|
2690
|
+
`kanban-comment-added` (`comment`, `submittedBody`), `kanban-ticket-open` and
|
|
2691
|
+
`kanban-comments-refresh`. The assembled board handles these events itself.
|
|
2692
|
+
|
|
2693
|
+
#### DeesInputReference
|
|
2694
|
+
|
|
2695
|
+
`dees-input-reference` is a reusable editor for chat and discussion. `.value` is
|
|
2696
|
+
`TReferenceContent`, an array of `{ type: 'text', text }` and
|
|
2697
|
+
`{ type: 'reference', id, label }`. Labels are display snapshots; IDs remain the
|
|
2698
|
+
lookup keys when a ticket is renamed. Newlines are preserved as text. Content is
|
|
2699
|
+
rendered safely as text and reference nodes, without accepting arbitrary HTML.
|
|
2700
|
+
|
|
2701
|
+
```typescript
|
|
2702
|
+
const composer = document.createElement('dees-input-reference');
|
|
2703
|
+
composer.documentKey = 'ticket-42';
|
|
2704
|
+
composer.value = [
|
|
2705
|
+
{ type: 'text', text: 'Related to ' },
|
|
2706
|
+
{ type: 'reference', id: 'ticket-17', label: '#APP-17 Keyboard navigation' },
|
|
2707
|
+
];
|
|
2708
|
+
composer.searchReferences = async (query, signal) => {
|
|
2709
|
+
// Replace with your authorized search API; honor signal when making requests.
|
|
2710
|
+
return [{ id: 'ticket-17', label: '#APP-17 Keyboard navigation' }]
|
|
2711
|
+
.filter(item => item.label.toLowerCase().includes(query.toLowerCase()));
|
|
2712
|
+
};
|
|
2713
|
+
document.body.append(composer);
|
|
2714
|
+
await composer.ready();
|
|
2715
|
+
composer.focus();
|
|
2716
|
+
```
|
|
2717
|
+
|
|
2718
|
+
Typing `#_` opens a dropdown at the caret and immediately focuses its search.
|
|
2719
|
+
Arrow keys navigate, Enter inserts the selected atomic reference plus a space,
|
|
2720
|
+
and Escape dismisses while preserving typed text. Selection returns focus to
|
|
2721
|
+
the editor. The picker belongs to its containing modal, handles viewport edges,
|
|
2722
|
+
and cancels obsolete searches. References participate in editor undo and clipboard
|
|
2723
|
+
operations. Changing `.documentKey` resets history so undo cannot cross tickets.
|
|
2724
|
+
|
|
2725
|
+
Set `.trigger`, `.label`, `.placeholder`, `.searchLabel` and `.disabled` as needed.
|
|
2726
|
+
`reference-input` emits `{ value }`, `reference-open` emits `{ id, label }`, and
|
|
2727
|
+
`reference-submit` requests submission on Ctrl/⌘ Enter. `referenceText(value)`
|
|
2728
|
+
returns a plain-text representation. No callback means no reference picker.
|
|
2729
|
+
|
|
2730
|
+
The shared `DeesInputDropdownPopup` also accepts `.searchOptions(query, signal)`
|
|
2731
|
+
for asynchronous searches and `.searchLabel` for accessible search labeling.
|
|
2732
|
+
Remote results are authoritative; failures and loading states replace stale
|
|
2733
|
+
options. Existing local dropdown filtering is unchanged.
|
|
2734
|
+
|
|
2581
2735
|
### Agentic Chat Components 🤖
|
|
2582
2736
|
|
|
2583
2737
|
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: '12.5.0',
|
|
7
|
+
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|
|
@@ -157,7 +157,8 @@ export class DeesForm extends DeesElement {
|
|
|
157
157
|
public static demoGroups = ['Form'];
|
|
158
158
|
|
|
159
159
|
public name: string = 'myform';
|
|
160
|
-
|
|
160
|
+
/** emits the collected form data on every child change; the only producer is `collectFormData()` */
|
|
161
|
+
public changeSubject = new domtools.plugins.smartrx.rxjs.Subject<TFormData>();
|
|
161
162
|
public readyDeferred = domtools.plugins.smartpromise.defer();
|
|
162
163
|
|
|
163
164
|
/**
|
|
@@ -19,6 +19,9 @@ declare global {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
export interface IDropdownSearchOption { key: string; option: string; payload?: unknown; }
|
|
23
|
+
export type TDropdownSearch = (query: string, signal: AbortSignal) => Promise<IDropdownSearchOption[]>;
|
|
24
|
+
|
|
22
25
|
@customElement('dees-input-dropdown-popup')
|
|
23
26
|
export class DeesInputDropdownPopup extends DeesElement {
|
|
24
27
|
@property({ type: Array })
|
|
@@ -39,6 +42,13 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
39
42
|
@property({ type: String })
|
|
40
43
|
accessor selectedKey = '';
|
|
41
44
|
|
|
45
|
+
/** Optional remote search. Results are authoritative and are not filtered again locally. */
|
|
46
|
+
@property({ attribute: false }) accessor searchOptions: TDropdownSearch | undefined;
|
|
47
|
+
@property({ type: String }) accessor searchLabel = 'Search options';
|
|
48
|
+
@state() accessor loading = false;
|
|
49
|
+
@state() accessor searchError = '';
|
|
50
|
+
private searchAbort?: AbortController;
|
|
51
|
+
|
|
42
52
|
@state()
|
|
43
53
|
accessor filteredOptions: { option: string; key: string; payload?: any }[] = [];
|
|
44
54
|
|
|
@@ -212,9 +222,9 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
212
222
|
<div class="search">
|
|
213
223
|
<input
|
|
214
224
|
type="text"
|
|
215
|
-
placeholder
|
|
225
|
+
placeholder=${this.searchLabel}
|
|
216
226
|
role="combobox"
|
|
217
|
-
aria-label
|
|
227
|
+
aria-label=${this.searchLabel}
|
|
218
228
|
aria-expanded="true"
|
|
219
229
|
aria-controls="dropdown-options"
|
|
220
230
|
aria-activedescendant=${this.filteredOptions.length ? `dropdown-option-${this.highlightedIndex}` : ''}
|
|
@@ -227,8 +237,8 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
227
237
|
: null}
|
|
228
238
|
<div class="options-container" id="dropdown-options" role="listbox" aria-label=${this.ownerComponent?.getAttribute('label') || 'Options'}
|
|
229
239
|
tabindex=${this.enableSearch ? '-1' : '0'} aria-activedescendant=${this.filteredOptions.length ? `dropdown-option-${this.highlightedIndex}` : ''}>
|
|
230
|
-
${this.filteredOptions.length === 0
|
|
231
|
-
? html`<div class="no-options"
|
|
240
|
+
${this.loading || this.searchError || this.filteredOptions.length === 0
|
|
241
|
+
? html`<div class="no-options" role="status">${this.loading ? 'Searching…' : this.searchError || 'No options found'}</div>`
|
|
232
242
|
: this.filteredOptions.map((option, index) => {
|
|
233
243
|
const isHighlighted = this.highlightedIndex === index;
|
|
234
244
|
return html`
|
|
@@ -263,6 +273,8 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
263
273
|
}
|
|
264
274
|
|
|
265
275
|
public async show(): Promise<void> {
|
|
276
|
+
this.loading = false;
|
|
277
|
+
this.searchError = '';
|
|
266
278
|
this.filteredOptions = this.options;
|
|
267
279
|
this.highlightedIndex = Math.max(0, this.options.findIndex((option) => option.key === this.selectedKey));
|
|
268
280
|
this.searchValue = '';
|
|
@@ -287,6 +299,7 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
287
299
|
// Add scroll/resize listeners for repositioning
|
|
288
300
|
window.addEventListener('scroll', this.handleScrollOrResize, { capture: true, passive: true });
|
|
289
301
|
window.addEventListener('resize', this.handleScrollOrResize, { passive: true });
|
|
302
|
+
if (this.searchOptions) void this.searchRemote();
|
|
290
303
|
}
|
|
291
304
|
|
|
292
305
|
public async hide(): Promise<void> {
|
|
@@ -295,6 +308,7 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
295
308
|
return;
|
|
296
309
|
}
|
|
297
310
|
this.isDestroying = true;
|
|
311
|
+
this.searchAbort?.abort();
|
|
298
312
|
|
|
299
313
|
// Remove scroll/resize listeners
|
|
300
314
|
window.removeEventListener('scroll', this.handleScrollOrResize, { capture: true } as EventListenerOptions);
|
|
@@ -331,6 +345,7 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
331
345
|
|
|
332
346
|
public updateOptions(options: { option: string; key: string; payload?: any }[]): void {
|
|
333
347
|
this.options = options;
|
|
348
|
+
if (this.searchOptions) return;
|
|
334
349
|
// Re-filter with current search value
|
|
335
350
|
if (this.searchValue) {
|
|
336
351
|
const searchLower = this.searchValue.toLowerCase();
|
|
@@ -354,6 +369,7 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
354
369
|
private handleSearch = (event: Event): void => {
|
|
355
370
|
const searchTerm = (event.target as HTMLInputElement).value;
|
|
356
371
|
this.searchValue = searchTerm;
|
|
372
|
+
if (this.searchOptions) { void this.searchRemote(); return; }
|
|
357
373
|
const searchLower = searchTerm.toLowerCase();
|
|
358
374
|
this.filteredOptions = this.options.filter((option) =>
|
|
359
375
|
option.option.toLowerCase().includes(searchLower)
|
|
@@ -361,7 +377,25 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
361
377
|
this.highlightedIndex = 0;
|
|
362
378
|
};
|
|
363
379
|
|
|
380
|
+
private async searchRemote(): Promise<void> {
|
|
381
|
+
this.searchAbort?.abort();
|
|
382
|
+
const controller = this.searchAbort = new AbortController();
|
|
383
|
+
this.loading = true;
|
|
384
|
+
this.searchError = '';
|
|
385
|
+
this.filteredOptions = [];
|
|
386
|
+
this.highlightedIndex = 0;
|
|
387
|
+
try {
|
|
388
|
+
const options = await this.searchOptions!(this.searchValue, controller.signal);
|
|
389
|
+
if (!controller.signal.aborted) this.filteredOptions = options;
|
|
390
|
+
} catch (error) {
|
|
391
|
+
if (!controller.signal.aborted) this.searchError = error instanceof Error ? error.message : 'Search failed. Try again.';
|
|
392
|
+
} finally {
|
|
393
|
+
if (!controller.signal.aborted) this.loading = false;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
364
397
|
private handleSearchKeydown = (event: KeyboardEvent): void => {
|
|
398
|
+
if (event.isComposing) return;
|
|
365
399
|
const key = event.key;
|
|
366
400
|
const maxIndex = this.filteredOptions.length - 1;
|
|
367
401
|
|
|
@@ -370,7 +404,7 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
370
404
|
this.highlightedIndex = this.highlightedIndex + 1 > maxIndex ? 0 : this.highlightedIndex + 1;
|
|
371
405
|
} else if (key === 'ArrowUp') {
|
|
372
406
|
event.preventDefault();
|
|
373
|
-
this.highlightedIndex = this.highlightedIndex - 1 < 0 ? maxIndex : this.highlightedIndex - 1;
|
|
407
|
+
this.highlightedIndex = Math.max(0, this.highlightedIndex - 1 < 0 ? maxIndex : this.highlightedIndex - 1);
|
|
374
408
|
} else if (key === 'Enter') {
|
|
375
409
|
event.preventDefault();
|
|
376
410
|
if (this.filteredOptions[this.highlightedIndex]) {
|
|
@@ -391,6 +425,7 @@ export class DeesInputDropdownPopup extends DeesElement {
|
|
|
391
425
|
};
|
|
392
426
|
|
|
393
427
|
async disconnectedCallback() {
|
|
428
|
+
this.searchAbort?.abort();
|
|
394
429
|
window.removeEventListener('scroll', this.handleScrollOrResize, { capture: true } as EventListenerOptions);
|
|
395
430
|
window.removeEventListener('resize', this.handleScrollOrResize);
|
|
396
431
|
zIndexRegistry.unregister(this);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { html } from '@design.estate/dees-element';
|
|
2
|
+
import { demoPage, demoSection } from '../../../demos/templates.js';
|
|
3
|
+
|
|
4
|
+
export const demoFunc = () => demoPage('Reference composer', 'Type #_ to search at the cursor. Choose a ticket and continue writing.',
|
|
5
|
+
demoSection('Ticket references', 'References preserve IDs through editing, undo and copy/paste.', html`
|
|
6
|
+
<dees-input-reference .searchReferences=${async (query: string) => [
|
|
7
|
+
{ id: 'ticket-1', label: '#CAT-101 Keyboard navigation' }, { id: 'ticket-2', label: '#CAT-102 Ticket detail' },
|
|
8
|
+
].filter(item => item.label.toLowerCase().includes(query.toLowerCase()))}></dees-input-reference>
|
|
9
|
+
`));
|