@zeyos/zx 4.3.4 → 5.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/CHANGELOG.md +438 -0
- package/README.md +49 -10
- package/dist/types/components/activity-item/activity-item.d.ts +351 -0
- package/dist/types/components/activity-list/activity-list.d.ts +217 -0
- package/dist/types/components/app-sidebar/app-sidebar.d.ts +33 -3
- package/dist/types/components/avatar/avatar.d.ts +46 -7
- package/dist/types/components/badge/badge.d.ts +21 -1
- package/dist/types/components/button/button.d.ts +23 -0
- package/dist/types/components/calendar/calendar.d.ts +19 -0
- package/dist/types/components/card/card.d.ts +7 -0
- package/dist/types/components/card-view/card-view.d.ts +11 -3
- package/dist/types/components/card-view/record-card.d.ts +7 -1
- package/dist/types/components/chart/chart.d.ts +10 -0
- package/dist/types/components/checklist/checklist.d.ts +9 -0
- package/dist/types/components/code-editor/code-editor.d.ts +149 -0
- package/dist/types/components/code-editor/field-adapter.d.ts +5 -0
- package/dist/types/components/context-menu/context-menu.d.ts +18 -2
- package/dist/types/components/date-picker/date-picker.d.ts +8 -0
- package/dist/types/components/date-picker/time-picker.d.ts +7 -0
- package/dist/types/components/datebox/date-range-box.d.ts +5 -1
- package/dist/types/components/datebox/datebox.d.ts +7 -2
- package/dist/types/components/dialog/dialog.d.ts +75 -6
- package/dist/types/components/dropdown/dropdown.d.ts +2 -2
- package/dist/types/components/entity-ref/entity-ref.d.ts +331 -0
- package/dist/types/components/field/field.d.ts +24 -2
- package/dist/types/components/fieldset/fieldset.d.ts +19 -1
- package/dist/types/components/file-item/file-item.d.ts +262 -0
- package/dist/types/components/file-list/file-list.d.ts +171 -0
- package/dist/types/components/filter/filter.d.ts +91 -36
- package/dist/types/components/filter-panel/filter-panel.d.ts +449 -0
- package/dist/types/components/form/form.d.ts +12 -1
- package/dist/types/components/kanban-view/kanban-card.d.ts +146 -0
- package/dist/types/components/kanban-view/kanban-view.d.ts +170 -4
- package/dist/types/components/launcher/launcher.d.ts +278 -26
- package/dist/types/components/list-toolbar/list-toolbar.d.ts +599 -0
- package/dist/types/components/menu-button/menu-button.d.ts +37 -42
- package/dist/types/components/message/message.d.ts +126 -17
- package/dist/types/components/modal/modal.d.ts +61 -2
- package/dist/types/components/navigation-bar/navigation-bar.d.ts +105 -21
- package/dist/types/components/panel/panel.d.ts +7 -0
- package/dist/types/components/search/search.d.ts +7 -0
- package/dist/types/components/select/color.d.ts +12 -0
- package/dist/types/components/select/glyphs.d.ts +124 -0
- package/dist/types/components/select/select.d.ts +15 -3
- package/dist/types/components/sort-control/sort-control.d.ts +105 -0
- package/dist/types/components/stat-tile/stat-tile.d.ts +288 -0
- package/dist/types/components/tabbox/tabbox.d.ts +16 -0
- package/dist/types/components/table/table.d.ts +190 -1
- package/dist/types/components/table-view/table-view.d.ts +11 -5
- package/dist/types/components/tag-picker/tag-picker.d.ts +21 -4
- package/dist/types/components/timebox/timebox.d.ts +7 -0
- package/dist/types/components/tree/tree.d.ts +13 -0
- package/dist/types/components/value-list/value-list.d.ts +8 -0
- package/dist/types/components/view/record-view.d.ts +96 -5
- package/dist/types/core/breakpoint.d.ts +1 -1
- package/dist/types/core/icons.d.ts +37 -22
- package/dist/types/core/motion.d.ts +59 -0
- package/dist/types/core/overlay-host.d.ts +15 -1
- package/dist/types/index.d.ts +16 -3
- package/dist/types/internal/app-rail.d.ts +10 -0
- package/dist/types/internal/menu-items.d.ts +134 -0
- package/dist/types/zeyos/connect.d.ts +6 -0
- package/dist/types/zeyos/form.d.ts +50 -9
- package/dist/types/zeyos/index.d.ts +1 -1
- package/dist/types/zeyos/query.d.ts +79 -0
- package/dist/types/zeyos/schema.d.ts +24 -1
- package/dist/types/zeyos/table.d.ts +100 -14
- package/dist/types/zeyos/view.d.ts +10 -0
- package/dist/zx-zeyos.esm.js +2206 -489
- package/dist/zx-zeyos.esm.min.js +56 -1
- package/dist/zx.css +3322 -724
- package/dist/zx.esm.js +12244 -5809
- package/dist/zx.esm.min.js +58 -3
- package/dist/zx.global.js +12246 -5811
- package/dist/zx.global.min.js +58 -3
- package/dist/zx.min.css +1 -1
- package/docs/api.json +1683 -146
- package/docs/llms.md +777 -110
- package/docs/llms.txt +14 -8
- package/package.json +1 -1
- package/src/components/account-menu/account-menu.css +35 -10
- package/src/components/activity-item/activity-item.css +137 -0
- package/src/components/activity-item/activity-item.js +602 -0
- package/src/components/activity-list/activity-list.css +99 -0
- package/src/components/activity-list/activity-list.js +409 -0
- package/src/components/app-icon/app-icon.css +1 -1
- package/src/components/app-rail/app-rail.css +191 -22
- package/src/components/app-sidebar/app-sidebar.css +349 -24
- package/src/components/app-sidebar/app-sidebar.js +86 -11
- package/src/components/aurora/aurora.css +5 -3
- package/src/components/avatar/avatar.css +32 -7
- package/src/components/avatar/avatar.js +72 -8
- package/src/components/badge/badge.css +54 -2
- package/src/components/badge/badge.js +29 -2
- package/src/components/button/button.css +74 -8
- package/src/components/button/button.js +44 -1
- package/src/components/calendar/calendar.css +46 -46
- package/src/components/calendar/calendar.js +33 -3
- package/src/components/card/card.css +2 -2
- package/src/components/card/card.js +12 -1
- package/src/components/card-view/card-view.css +10 -7
- package/src/components/card-view/card-view.js +25 -9
- package/src/components/card-view/record-card.js +7 -3
- package/src/components/chart/chart.css +4 -1
- package/src/components/chart/chart.js +12 -0
- package/src/components/check-button/check-button.css +10 -2
- package/src/components/checklist/checklist.css +9 -2
- package/src/components/checklist/checklist.js +11 -5
- package/src/components/checklist/field-adapter.js +3 -1
- package/src/components/code-editor/code-editor.css +68 -0
- package/src/components/code-editor/code-editor.js +306 -0
- package/src/components/code-editor/field-adapter.js +34 -0
- package/src/components/context-menu/context-menu.css +87 -5
- package/src/components/context-menu/context-menu.js +22 -30
- package/src/components/copy/copy-button.css +6 -0
- package/src/components/copy/copy-input.css +8 -3
- package/src/components/data-filter/data-filter.css +5 -4
- package/src/components/date-picker/date-picker.css +6 -6
- package/src/components/date-picker/date-picker.js +22 -8
- package/src/components/date-picker/date-range-picker.css +3 -3
- package/src/components/date-picker/month-picker.js +3 -3
- package/src/components/date-picker/time-picker.css +1 -1
- package/src/components/date-picker/time-picker.js +20 -8
- package/src/components/datebox/date-range-box.css +79 -2
- package/src/components/datebox/date-range-box.js +13 -2
- package/src/components/datebox/datebox.css +79 -2
- package/src/components/datebox/datebox.js +13 -2
- package/src/components/dialog/dialog.css +26 -0
- package/src/components/dialog/dialog.js +174 -70
- package/src/components/dropdown/dropdown.css +1 -1
- package/src/components/dropdown/dropdown.js +7 -5
- package/src/components/empty-state/empty-state.css +2 -2
- package/src/components/entity-ref/entity-ref.css +182 -0
- package/src/components/entity-ref/entity-ref.js +496 -0
- package/src/components/field/field.css +28 -9
- package/src/components/field/field.js +68 -26
- package/src/components/field-upload/field-upload.css +1 -1
- package/src/components/fieldset/fieldset.css +5 -3
- package/src/components/fieldset/fieldset.js +28 -5
- package/src/components/file-item/file-item.css +88 -0
- package/src/components/file-item/file-item.js +505 -0
- package/src/components/file-list/file-list.css +51 -0
- package/src/components/file-list/file-list.js +320 -0
- package/src/components/filter/filter.css +27 -1
- package/src/components/filter/filter.js +205 -47
- package/src/components/filter-panel/filter-panel.css +104 -0
- package/src/components/filter-panel/filter-panel.js +964 -0
- package/src/components/finder/finder.css +15 -13
- package/src/components/form/form.css +5 -4
- package/src/components/form/form.js +11 -2
- package/src/components/grid/grid.css +1 -1
- package/src/components/groupbox/groupbox.css +1 -1
- package/src/components/kanban-view/kanban-card.js +247 -0
- package/src/components/kanban-view/kanban-view.css +226 -8
- package/src/components/kanban-view/kanban-view.js +255 -12
- package/src/components/launcher/launcher.css +107 -25
- package/src/components/launcher/launcher.js +557 -63
- package/src/components/list-toolbar/list-toolbar.css +194 -0
- package/src/components/list-toolbar/list-toolbar.js +851 -0
- package/src/components/master-panel/master-panel.css +2 -0
- package/src/components/menu-button/menu-button.css +87 -5
- package/src/components/menu-button/menu-button.js +86 -46
- package/src/components/message/message.css +38 -5
- package/src/components/message/message.js +230 -17
- package/src/components/modal/modal.css +15 -0
- package/src/components/modal/modal.js +159 -3
- package/src/components/navigation-bar/navigation-bar.css +95 -11
- package/src/components/navigation-bar/navigation-bar.js +171 -4
- package/src/components/number-field/field-adapter.js +1 -0
- package/src/components/number-field/number-field.css +70 -0
- package/src/components/number-field/number-field.js +2 -0
- package/src/components/pagination/pagination.css +8 -6
- package/src/components/panel/panel.css +1 -1
- package/src/components/panel/panel.js +13 -2
- package/src/components/rating/rating.css +7 -0
- package/src/components/search/search.js +17 -5
- package/src/components/select/color.js +22 -0
- package/src/components/select/field-adapter.js +6 -1
- package/src/components/select/glyphs.js +165 -0
- package/src/components/select/select.css +138 -45
- package/src/components/select/select.js +86 -47
- package/src/components/sheet/sheet.css +11 -8
- package/src/components/slider/slider.css +16 -2
- package/src/components/slider/slider.js +1 -1
- package/src/components/sort-control/sort-control.css +20 -0
- package/src/components/sort-control/sort-control.js +140 -0
- package/src/components/stat-tile/stat-tile.css +208 -0
- package/src/components/stat-tile/stat-tile.js +601 -0
- package/src/components/tabbox/tabbox.css +32 -27
- package/src/components/tabbox/tabbox.js +17 -2
- package/src/components/table/table.css +155 -31
- package/src/components/table/table.js +386 -33
- package/src/components/table-view/table-view.css +8 -2
- package/src/components/table-view/table-view.js +21 -6
- package/src/components/tag-picker/tag-picker.css +86 -6
- package/src/components/tag-picker/tag-picker.js +25 -8
- package/src/components/timebox/timebox.css +22 -2
- package/src/components/timebox/timebox.js +18 -5
- package/src/components/toggle/toggle.css +12 -1
- package/src/components/toolbar/toolbar.js +2 -2
- package/src/components/tooltip/tooltip.css +4 -0
- package/src/components/tooltip/tooltip.js +10 -3
- package/src/components/tree/tree.css +25 -16
- package/src/components/tree/tree.js +31 -0
- package/src/components/value-list/value-list.css +3 -3
- package/src/components/value-list/value-list.js +22 -6
- package/src/components/view/record-view.css +5 -0
- package/src/components/view/record-view.js +100 -7
- package/src/core/breakpoint.js +1 -1
- package/src/core/icons.js +259 -57
- package/src/core/motion.js +147 -0
- package/src/core/overlay-host.js +21 -2
- package/src/index.js +30 -3
- package/src/internal/app-rail.js +18 -1
- package/src/internal/menu-items.js +142 -0
- package/src/zeyos/connect.js +6 -2
- package/src/zeyos/form.js +67 -27
- package/src/zeyos/index.js +1 -1
- package/src/zeyos/query.js +153 -0
- package/src/zeyos/schema.js +144 -27
- package/src/zeyos/table.js +68 -5
- package/src/zeyos/view.js +6 -0
- package/styles/base.css +56 -0
- package/styles/icons.css +11 -1
- package/styles/print.css +192 -0
- package/styles/tokens/dark.css +113 -37
- package/styles/tokens/global.css +121 -27
- package/styles/tokens/semantic.css +100 -31
- package/styles/tokens/themes.css +7 -6
- package/styles/zx.css +11 -1
- package/styles/tokens/density.css +0 -9
|
@@ -7,6 +7,9 @@ export type RecordCardLink = import('../card-view/record-card.js').RecordCardLin
|
|
|
7
7
|
export type RecordCardAction = import('../card-view/record-card.js').RecordCardAction;
|
|
8
8
|
export type MenuItem = import('../menu-button/menu-button.js').MenuItem;
|
|
9
9
|
export type KanbanRule = import('./kanban-policy.js').KanbanRule;
|
|
10
|
+
export type KanbanIndicator = import('./kanban-card.js').KanbanIndicator;
|
|
11
|
+
export type KanbanIndicatorSource = string | KanbanIndicator | ((record: KanbanRecord, index: number) => KanbanIndicator | Node | unknown) | null;
|
|
12
|
+
export type KanbanAssignee = import('./kanban-card.js').KanbanAssignee;
|
|
10
13
|
export type KanbanRejectReason = import('./kanban-policy.js').KanbanRejectReason;
|
|
11
14
|
export type KanbanMoveEvaluation = import('./kanban-policy.js').KanbanMoveEvaluation;
|
|
12
15
|
export type KanbanAccessor = string | ((record: KanbanRecord, index: number) => unknown) | null;
|
|
@@ -253,6 +256,10 @@ export type KanbanViewOptions = {
|
|
|
253
256
|
* Shared selection mode.
|
|
254
257
|
*/
|
|
255
258
|
selectable?: false | 'single' | 'multi';
|
|
259
|
+
/**
|
|
260
|
+
* Select through a checkbox or the non-interactive card surface.
|
|
261
|
+
*/
|
|
262
|
+
selectionTrigger?: 'checkbox' | 'card';
|
|
256
263
|
/**
|
|
257
264
|
* Initial record ids.
|
|
258
265
|
*/
|
|
@@ -266,9 +273,10 @@ export type KanbanViewOptions = {
|
|
|
266
273
|
*/
|
|
267
274
|
hiddenFields?: string[];
|
|
268
275
|
/**
|
|
269
|
-
* Show shared field controls.
|
|
276
|
+
* Show shared field controls. Redeclared narrower than `RecordViewOptions` it fails declaration
|
|
277
|
+
* emit, because the two option types are intersected.
|
|
270
278
|
*/
|
|
271
|
-
fieldControls?: boolean;
|
|
279
|
+
fieldControls?: boolean | import('../view/record-view.js').ViewFieldControlsConfig;
|
|
272
280
|
/**
|
|
273
281
|
* Empty-board content.
|
|
274
282
|
*/
|
|
@@ -322,6 +330,54 @@ export type KanbanViewOptions = {
|
|
|
322
330
|
* pointer drag. Touch drags from the card body require a long press so the board still scrolls.
|
|
323
331
|
*/
|
|
324
332
|
dragFrom?: 'card' | 'handle';
|
|
333
|
+
/**
|
|
334
|
+
* Move-handle presentation. `keyboard`
|
|
335
|
+
* keeps it announced and tabbable but out of sight until it takes focus, because the card itself
|
|
336
|
+
* is already the pointer drag source; `always` shows it alongside the card's other controls.
|
|
337
|
+
* `dragFrom:'handle'` overrides this — a drag source a pointer user cannot see is not a control.
|
|
338
|
+
*/
|
|
339
|
+
moveHandle?: 'keyboard' | 'always';
|
|
340
|
+
/**
|
|
341
|
+
* Icon
|
|
342
|
+
* naming what the record is, drawn before the identifier.
|
|
343
|
+
*/
|
|
344
|
+
entityIcon?: string | ((record: KanbanRecord, index: number) => string | null) | null;
|
|
345
|
+
/**
|
|
346
|
+
* Stable record key shown on the card head.
|
|
347
|
+
*/
|
|
348
|
+
identifier?: KanbanCardField;
|
|
349
|
+
/**
|
|
350
|
+
* Status indicator source.
|
|
351
|
+
*/
|
|
352
|
+
status?: KanbanIndicatorSource;
|
|
353
|
+
/**
|
|
354
|
+
* Maps a status value to a semantic tone.
|
|
355
|
+
*/
|
|
356
|
+
statusTones?: Record<string, string>;
|
|
357
|
+
/**
|
|
358
|
+
* Priority indicator source.
|
|
359
|
+
*/
|
|
360
|
+
priority?: KanbanIndicatorSource;
|
|
361
|
+
/**
|
|
362
|
+
* Maps a priority value to a semantic tone.
|
|
363
|
+
*/
|
|
364
|
+
priorityTones?: Record<string, string>;
|
|
365
|
+
/**
|
|
366
|
+
* Completion source; a number or `{value,max,label}`.
|
|
367
|
+
*/
|
|
368
|
+
progress?: KanbanCardField;
|
|
369
|
+
/**
|
|
370
|
+
* Amount that counts as finished.
|
|
371
|
+
*/
|
|
372
|
+
progressMax?: number;
|
|
373
|
+
/**
|
|
374
|
+
* Responsible people; a name, a list, or descriptors.
|
|
375
|
+
*/
|
|
376
|
+
assignees?: KanbanCardField;
|
|
377
|
+
/**
|
|
378
|
+
* Faces drawn before the overflow chip.
|
|
379
|
+
*/
|
|
380
|
+
maxAvatars?: number;
|
|
325
381
|
/**
|
|
326
382
|
* Move the whole selection when a selected card is picked up.
|
|
327
383
|
*/
|
|
@@ -380,7 +436,10 @@ export type KanbanViewOptions = {
|
|
|
380
436
|
*/
|
|
381
437
|
contextMenu?: boolean | MenuItem[] | ((context: KanbanCardContext) => MenuItem[]);
|
|
382
438
|
/**
|
|
383
|
-
* Replaces
|
|
439
|
+
* Replaces the
|
|
440
|
+
* shared record-card content — eyebrow, titles, and metadata. The preview, selection control,
|
|
441
|
+
* action group, move handle, rule badges, and any configured card head and footer still render,
|
|
442
|
+
* because each of those answers to its own option; clear those options to remove them.
|
|
384
443
|
*/
|
|
385
444
|
renderCard?: ((context: KanbanCardContext) => Node | null | undefined) | null;
|
|
386
445
|
/**
|
|
@@ -472,6 +531,41 @@ export type KanbanKeyboardMove = {
|
|
|
472
531
|
from: KanbanMovePoint;
|
|
473
532
|
to: KanbanMovePoint;
|
|
474
533
|
};
|
|
534
|
+
export type KanbanCardReader = ((record: KanbanRecord, index: number) => unknown) | null;
|
|
535
|
+
export type KanbanCardSources = {
|
|
536
|
+
/**
|
|
537
|
+
* Record-key reader.
|
|
538
|
+
*/
|
|
539
|
+
identifier: KanbanCardReader;
|
|
540
|
+
/**
|
|
541
|
+
* Status reader.
|
|
542
|
+
*/
|
|
543
|
+
status: KanbanCardReader;
|
|
544
|
+
/**
|
|
545
|
+
* Priority reader.
|
|
546
|
+
*/
|
|
547
|
+
priority: KanbanCardReader;
|
|
548
|
+
/**
|
|
549
|
+
* Completion reader.
|
|
550
|
+
*/
|
|
551
|
+
progress: KanbanCardReader;
|
|
552
|
+
/**
|
|
553
|
+
* Responsible-people reader.
|
|
554
|
+
*/
|
|
555
|
+
assignees: KanbanCardReader;
|
|
556
|
+
/**
|
|
557
|
+
* Entity-icon reader.
|
|
558
|
+
*/
|
|
559
|
+
entityIcon: KanbanCardReader;
|
|
560
|
+
/**
|
|
561
|
+
* Field ids the anatomy consumes.
|
|
562
|
+
*/
|
|
563
|
+
fieldIds: Set<string>;
|
|
564
|
+
/**
|
|
565
|
+
* Whether any source is configured.
|
|
566
|
+
*/
|
|
567
|
+
any: boolean;
|
|
568
|
+
};
|
|
475
569
|
/**
|
|
476
570
|
* Every user-visible and announced string, so a host can translate the board without patching it.
|
|
477
571
|
* Values run through `printf`, so named placeholders may be reordered or dropped by a translation.
|
|
@@ -497,7 +591,14 @@ declare const DEFAULT_LABELS: Readonly<{
|
|
|
497
591
|
countLimit: "%count% records, work-in-progress limit %limit%";
|
|
498
592
|
countLimitInLane: "%count% records in this lane, %total% of work-in-progress limit %limit% in the column";
|
|
499
593
|
empty: "No records";
|
|
500
|
-
columnEmpty: "";
|
|
594
|
+
columnEmpty: "Drop a card here";
|
|
595
|
+
identifier: "Record";
|
|
596
|
+
priorityLabel: "Priority";
|
|
597
|
+
statusLabel: "Status";
|
|
598
|
+
progress: "Progress";
|
|
599
|
+
progressValue: "%percent%%";
|
|
600
|
+
assignees: "Assigned to %names%";
|
|
601
|
+
assigneeOverflow: "+%count%";
|
|
501
602
|
selected: "Selected";
|
|
502
603
|
notSelected: "Not selected";
|
|
503
604
|
noMatches: "No cards match the current search.";
|
|
@@ -526,6 +627,11 @@ declare const DEFAULT_LABELS: Readonly<{
|
|
|
526
627
|
dragPreview: "%count% cards";
|
|
527
628
|
}>;
|
|
528
629
|
/**
|
|
630
|
+
* A field consumed by the card head or footer — the `identifier`, `status`, `priority`,
|
|
631
|
+
* `progress`, or `assignees` source — is dropped from the shared metadata list so the same value
|
|
632
|
+
* is never shown twice. `field.duplicate === true` opts it back in, extending the rule the shared
|
|
633
|
+
* record card already applies to title and subtitle fields.
|
|
634
|
+
*
|
|
529
635
|
* Configurable record board with semantic columns, optional swim lanes, and equivalent pointer,
|
|
530
636
|
* touch, keyboard, context-menu, and programmatic movement. Local moves clone records; callback
|
|
531
637
|
* grouping remains fully usable for display and external moves but cannot be written safely by
|
|
@@ -611,6 +717,15 @@ export declare class KanbanView extends RecordView {
|
|
|
611
717
|
_sectionMeta: WeakMap<object, any>;
|
|
612
718
|
_cardsById: Map<any, any>;
|
|
613
719
|
_visibleIds: Set<any>;
|
|
720
|
+
_cardSources: KanbanCardSources;
|
|
721
|
+
_fieldIndex: Map<string, any> | Map<string, import("../view/record-view.js").ViewField>;
|
|
722
|
+
_cardFields: {
|
|
723
|
+
all: any[];
|
|
724
|
+
metadata: any[];
|
|
725
|
+
} | {
|
|
726
|
+
all: import("../view/record-view.js").ViewField[];
|
|
727
|
+
metadata: import("../view/record-view.js").ViewField[];
|
|
728
|
+
};
|
|
614
729
|
_kanbanMenu: ContextMenu;
|
|
615
730
|
_searchInput: HTMLInputElement;
|
|
616
731
|
_undoButton: HTMLButtonElement;
|
|
@@ -820,6 +935,49 @@ export declare class KanbanView extends RecordView {
|
|
|
820
935
|
}[], hasLanes: boolean): HTMLElement;
|
|
821
936
|
/** @param {KanbanRecord} record @param {number} index @param {string} column @param {string|null} lane @param {boolean} hasLanes @returns {HTMLLIElement} */
|
|
822
937
|
_renderCard(record: KanbanRecord, index: number, column: string, lane: string | null, hasLanes: boolean): HTMLLIElement;
|
|
938
|
+
/**
|
|
939
|
+
* Builds the two field arrays every card needs, once per refresh.
|
|
940
|
+
* @returns {{all:import('../view/record-view.js').ViewField[],metadata:import('../view/record-view.js').ViewField[]}}
|
|
941
|
+
*/
|
|
942
|
+
_resolvedCardFields(): {
|
|
943
|
+
all: import('../view/record-view.js').ViewField[];
|
|
944
|
+
metadata: import('../view/record-view.js').ViewField[];
|
|
945
|
+
};
|
|
946
|
+
/**
|
|
947
|
+
* Returns the fields the shared metadata list may show. A field the card head or footer already
|
|
948
|
+
* projects is dropped, because repeating it as a labelled row is the same value twice; a field
|
|
949
|
+
* marked `duplicate` opts back in, matching how title and subtitle already behave.
|
|
950
|
+
* @returns {import('../view/record-view.js').ViewField[]} Metadata fields.
|
|
951
|
+
*/
|
|
952
|
+
_cardMetadataFields(): import('../view/record-view.js').ViewField[];
|
|
953
|
+
/**
|
|
954
|
+
* Resolves the card-anatomy readers once per refresh. A field id would otherwise be looked up
|
|
955
|
+
* through `getFields()` — which clones every descriptor — once per source per card, so a board
|
|
956
|
+
* with six anatomy sources rebuilt the whole field array six times for every card it drew.
|
|
957
|
+
* @returns {void}
|
|
958
|
+
*/
|
|
959
|
+
_resolveCardSources(): void;
|
|
960
|
+
/**
|
|
961
|
+
* Adds the two Kanban-owned regions that bracket the shared record-card anatomy: a head naming
|
|
962
|
+
* what the record is and how urgent it is, and a footer carrying completion and the people
|
|
963
|
+
* responsible. Each part is omitted when its option is unset, so a board that configures none of
|
|
964
|
+
* them renders exactly the card it rendered before.
|
|
965
|
+
* @param {HTMLElement} card Card element.
|
|
966
|
+
* @param {KanbanRecord} record Record.
|
|
967
|
+
* @param {number} index Display index.
|
|
968
|
+
* @returns {void}
|
|
969
|
+
*/
|
|
970
|
+
_applyCardAnatomy(card: HTMLElement, record: KanbanRecord, index: number): void;
|
|
971
|
+
/**
|
|
972
|
+
* Resolves one indicator from an already-resolved reader. A reader may return a ready-made
|
|
973
|
+
* `Node`, which is adopted rather than described, so an application keeps full control.
|
|
974
|
+
* @param {((record:KanbanRecord,index:number)=>unknown)|null} source Resolved reader.
|
|
975
|
+
* @param {unknown} tones Value-to-tone map.
|
|
976
|
+
* @param {KanbanRecord} record Record.
|
|
977
|
+
* @param {number} index Display index.
|
|
978
|
+
* @returns {KanbanIndicator|Node|null} Indicator, node, or null.
|
|
979
|
+
*/
|
|
980
|
+
_cardIndicator(source: ((record: KanbanRecord, index: number) => unknown) | null, tones: unknown, record: KanbanRecord, index: number): KanbanIndicator | Node | null;
|
|
823
981
|
/**
|
|
824
982
|
* Hands card content to `renderCard` while keeping the managed shell: the list item, its
|
|
825
983
|
* selection control, the action group, and the move handle are never given away, because they
|
|
@@ -876,6 +1034,14 @@ export declare class KanbanView extends RecordView {
|
|
|
876
1034
|
_resolvedSwimlanes(): KanbanSwimlane[];
|
|
877
1035
|
/** @param {KanbanAccessor} accessor @param {KanbanRecord} record @param {number} index @returns {unknown} */
|
|
878
1036
|
_readAxis(accessor: KanbanAccessor, record: KanbanRecord, index: number): unknown;
|
|
1037
|
+
/**
|
|
1038
|
+
* Resolves one field descriptor by id through a per-refresh index. `getFields()` rebuilds a Map
|
|
1039
|
+
* and clones every descriptor on each call, and a string column or lane accessor is read once
|
|
1040
|
+
* per record per column per lane — which made this the most expensive line in a board render.
|
|
1041
|
+
* @param {string} id Field id.
|
|
1042
|
+
* @returns {import('../view/record-view.js').ViewField|undefined} Descriptor, if any.
|
|
1043
|
+
*/
|
|
1044
|
+
_axisField(id: string): import('../view/record-view.js').ViewField | undefined;
|
|
879
1045
|
/** @param {string} column @param {string|null} lane @returns {{record:KanbanRecord,index:number}[]} */
|
|
880
1046
|
_recordsIn(column: string, lane: string | null): {
|
|
881
1047
|
record: KanbanRecord;
|