@awesome-markdown/board-ui 1.6.0 → 2.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/board/Board.d.ts.map +1 -1
- package/dist/board/Board.js +79 -66
- package/dist/board/Board.js.map +1 -1
- package/dist/board/Cell.d.ts.map +1 -1
- package/dist/board/Cell.js +11 -6
- package/dist/board/Cell.js.map +1 -1
- package/dist/board/HomelessItemCard.d.ts.map +1 -1
- package/dist/board/HomelessItemCard.js +2 -1
- package/dist/board/HomelessItemCard.js.map +1 -1
- package/dist/board/ItemCard.d.ts.map +1 -1
- package/dist/board/ItemCard.js +9 -16
- package/dist/board/ItemCard.js.map +1 -1
- package/dist/board/dnd/mutateDragDrop.d.ts +3 -5
- package/dist/board/dnd/mutateDragDrop.d.ts.map +1 -1
- package/dist/board/dnd/mutateDragDrop.js +36 -55
- package/dist/board/dnd/mutateDragDrop.js.map +1 -1
- package/dist/board/layout/AxisBehavior.d.ts +2 -1
- package/dist/board/layout/AxisBehavior.d.ts.map +1 -1
- package/dist/board/layout/AxisBehavior.js +9 -5
- package/dist/board/layout/AxisBehavior.js.map +1 -1
- package/dist/board/layout/AxisDrawer.d.ts.map +1 -1
- package/dist/board/layout/AxisDrawer.js +1 -1
- package/dist/board/layout/AxisDrawer.js.map +1 -1
- package/dist/board/layout/filter-draft.d.ts.map +1 -1
- package/dist/board/layout/filter-draft.js +3 -1
- package/dist/board/layout/filter-draft.js.map +1 -1
- package/dist/components/ItemRecovery.d.ts +9 -0
- package/dist/components/ItemRecovery.d.ts.map +1 -0
- package/dist/components/ItemRecovery.js +48 -0
- package/dist/components/ItemRecovery.js.map +1 -0
- package/dist/components/PropertyTree.d.ts +18 -0
- package/dist/components/PropertyTree.d.ts.map +1 -0
- package/dist/components/PropertyTree.js +109 -0
- package/dist/components/PropertyTree.js.map +1 -0
- package/dist/lib/item-board.d.ts +0 -3
- package/dist/lib/item-board.d.ts.map +1 -1
- package/dist/lib/item-board.js +0 -7
- package/dist/lib/item-board.js.map +1 -1
- package/dist/lib/patch-visible-item.d.ts +4 -0
- package/dist/lib/patch-visible-item.d.ts.map +1 -0
- package/dist/lib/patch-visible-item.js +10 -0
- package/dist/lib/patch-visible-item.js.map +1 -0
- package/dist/lib/property-display.d.ts +2 -3
- package/dist/lib/property-display.d.ts.map +1 -1
- package/dist/lib/property-display.js +15 -10
- package/dist/lib/property-display.js.map +1 -1
- package/dist/lib/property-tree.d.ts +23 -0
- package/dist/lib/property-tree.d.ts.map +1 -0
- package/dist/lib/property-tree.js +109 -0
- package/dist/lib/property-tree.js.map +1 -0
- package/dist/pages/ItemEditorPage.d.ts.map +1 -1
- package/dist/pages/ItemEditorPage.js +185 -204
- package/dist/pages/ItemEditorPage.js.map +1 -1
- package/package.json +6 -5
- package/styles.css +766 -146
- package/dist/components/BoardAssigneeField.d.ts +0 -10
- package/dist/components/BoardAssigneeField.d.ts.map +0 -1
- package/dist/components/BoardAssigneeField.js +0 -37
- package/dist/components/BoardAssigneeField.js.map +0 -1
- package/dist/components/DeleteItemConfirmDialog.d.ts +0 -14
- package/dist/components/DeleteItemConfirmDialog.d.ts.map +0 -1
- package/dist/components/DeleteItemConfirmDialog.js +0 -46
- package/dist/components/DeleteItemConfirmDialog.js.map +0 -1
- package/dist/components/ItemEditorActions.d.ts +0 -15
- package/dist/components/ItemEditorActions.d.ts.map +0 -1
- package/dist/components/ItemEditorActions.js +0 -48
- package/dist/components/ItemEditorActions.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cellFilter, cellMutations, keyBetween, resolvePath, substitutePath, } from '@awesome-markdown/filter-engine';
|
|
2
2
|
// ---------------------------------------------------------------------------
|
|
3
3
|
// Filter composition
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
@@ -7,35 +7,7 @@ import { deriveMutations, keyBetween } from '@awesome-markdown/filter-engine';
|
|
|
7
7
|
* Returns undefined when all three are absent (match-all).
|
|
8
8
|
*/
|
|
9
9
|
export function buildCellFilter(board, col, sl) {
|
|
10
|
-
|
|
11
|
-
if (rules.length === 0)
|
|
12
|
-
return undefined;
|
|
13
|
-
if (rules.length === 1)
|
|
14
|
-
return rules[0];
|
|
15
|
-
return { all: rules };
|
|
16
|
-
}
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
// writeOnDrop resolution
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
/**
|
|
21
|
-
* Column writeOnDrop takes precedence over swimlane writeOnDrop.
|
|
22
|
-
*/
|
|
23
|
-
function getWriteOnDropOverride(col, sl) {
|
|
24
|
-
if (col.writeOnDrop !== undefined)
|
|
25
|
-
return col.writeOnDrop;
|
|
26
|
-
return sl.writeOnDrop;
|
|
27
|
-
}
|
|
28
|
-
// ---------------------------------------------------------------------------
|
|
29
|
-
// Per-board order key helper
|
|
30
|
-
// ---------------------------------------------------------------------------
|
|
31
|
-
/** Read the per-board `order` string for an item, if present. */
|
|
32
|
-
export function getItemBoardOrder(item, boardSlug) {
|
|
33
|
-
const boards = item.boards;
|
|
34
|
-
if (!Array.isArray(boards))
|
|
35
|
-
return undefined;
|
|
36
|
-
const entry = boards.find((e) => e['board'] === boardSlug);
|
|
37
|
-
const o = entry?.['order'];
|
|
38
|
-
return typeof o === 'string' ? o : undefined;
|
|
10
|
+
return cellFilter(board, col, sl);
|
|
39
11
|
}
|
|
40
12
|
// ---------------------------------------------------------------------------
|
|
41
13
|
// Optimistic cell reordering helper
|
|
@@ -60,11 +32,7 @@ export function applyOptimisticMove(cells, item, srcColumnSlug, srcSwimlaneSlug,
|
|
|
60
32
|
const insertAt = idx >= 0 ? idx : withoutItem.length;
|
|
61
33
|
return {
|
|
62
34
|
...cell,
|
|
63
|
-
items: [
|
|
64
|
-
...withoutItem.slice(0, insertAt),
|
|
65
|
-
item,
|
|
66
|
-
...withoutItem.slice(insertAt),
|
|
67
|
-
],
|
|
35
|
+
items: [...withoutItem.slice(0, insertAt), item, ...withoutItem.slice(insertAt)],
|
|
68
36
|
};
|
|
69
37
|
}
|
|
70
38
|
// isSrc only (cross-cell move source cleanup)
|
|
@@ -77,17 +45,15 @@ export function applyOptimisticMove(cells, item, srcColumnSlug, srcSwimlaneSlug,
|
|
|
77
45
|
* Returns null when the destination cell is read-only or when
|
|
78
46
|
* deriveMutations returns `{ readonly: true }` as a belt-and-suspenders check.
|
|
79
47
|
*
|
|
80
|
-
* One drop =
|
|
81
|
-
*
|
|
82
|
-
*
|
|
48
|
+
* One drop = one PATCH. Cross-cell placement uses the bound destination
|
|
49
|
+
* rules. Reordering writes only the selected configured ascending string
|
|
50
|
+
* sort target; no implicit membership or per-board order field is invented.
|
|
83
51
|
*/
|
|
84
52
|
export function computeDropMutations(params) {
|
|
85
53
|
const { itemSlug, srcCell, dstCell, colAxis, slAxis, board, insertBeforeSlug } = params;
|
|
86
54
|
if (dstCell.readOnly)
|
|
87
55
|
return null;
|
|
88
|
-
const
|
|
89
|
-
const override = getWriteOnDropOverride(colAxis, slAxis);
|
|
90
|
-
const result = deriveMutations(filter, { board: board.slug }, override);
|
|
56
|
+
const result = cellMutations(board, colAxis, slAxis);
|
|
91
57
|
if (!Array.isArray(result))
|
|
92
58
|
return null; // ReadOnly from deriveMutations
|
|
93
59
|
// Determine insert position in the destination cell (excluding the moved item)
|
|
@@ -98,19 +64,34 @@ export function computeDropMutations(params) {
|
|
|
98
64
|
const insertAt = rawIdx >= 0 ? rawIdx : dstItemsWithoutMoved.length;
|
|
99
65
|
const prevItem = dstItemsWithoutMoved[insertAt - 1] ?? null;
|
|
100
66
|
const nextItem = dstItemsWithoutMoved[insertAt] ?? null;
|
|
101
|
-
const
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
67
|
+
const isReorder = srcCell.columnSlug === dstCell.columnSlug && srcCell.swimlaneSlug === dstCell.swimlaneSlug;
|
|
68
|
+
const order = colAxis.order ?? slAxis.order;
|
|
69
|
+
const ctx = { board: board.slug, axis: colAxis.order ? colAxis.slug : slAxis.slug };
|
|
70
|
+
const prevOrder = prevItem && order ? resolvePath(order.by, prevItem, ctx) : undefined;
|
|
71
|
+
const nextOrder = nextItem && order ? resolvePath(order.by, nextItem, ctx) : undefined;
|
|
72
|
+
const moving = srcCell.items.find((item) => item.slug === itemSlug);
|
|
73
|
+
const currentOrder = moving && order ? resolvePath(order.by, moving, ctx) : undefined;
|
|
74
|
+
const fractional = (value) => typeof value === 'string' && /^[0-9A-Za-z]+$/.test(value);
|
|
75
|
+
const compatible = order?.direction === 'asc' &&
|
|
76
|
+
(currentOrder === undefined || fractional(currentOrder)) &&
|
|
77
|
+
(!prevItem || fractional(prevOrder)) &&
|
|
78
|
+
(!nextItem || fractional(nextOrder));
|
|
79
|
+
let orderWrites = [];
|
|
80
|
+
if (compatible && order) {
|
|
81
|
+
try {
|
|
82
|
+
const key = keyBetween(prevOrder, nextOrder);
|
|
83
|
+
if ((typeof prevOrder !== 'string' || prevOrder < key) &&
|
|
84
|
+
(typeof nextOrder !== 'string' || key < nextOrder)) {
|
|
85
|
+
orderWrites = [{ op: 'set', path: substitutePath(order.by, ctx), value: key }];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
/* Invalid fractional neighbors disable manual ordering, not cross-cell placement. */
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (isReorder && orderWrites.length === 0)
|
|
93
|
+
return null;
|
|
94
|
+
const mutations = isReorder ? orderWrites : [...result, ...orderWrites];
|
|
95
|
+
return mutations.length ? { mutations, type: isReorder ? 'reorder' : 'move' } : null;
|
|
115
96
|
}
|
|
116
97
|
//# sourceMappingURL=mutateDragDrop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutateDragDrop.js","sourceRoot":"","sources":["../../../src/board/dnd/mutateDragDrop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mutateDragDrop.js","sourceRoot":"","sources":["../../../src/board/dnd/mutateDragDrop.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,11 @@ export interface DropDraft {
|
|
|
24
24
|
}
|
|
25
25
|
export declare function toDropDraft(wod: WriteOnDrop | undefined): DropDraft;
|
|
26
26
|
export declare function fromDropDraft(d: DropDraft): WriteOnDrop | null;
|
|
27
|
-
export declare function DropEditor({ draft, filter, boardSlug, noun, onChange, }: {
|
|
27
|
+
export declare function DropEditor({ draft, filter, boardSlug, axisSlug, noun, onChange, }: {
|
|
28
28
|
draft: DropDraft;
|
|
29
29
|
filter: FilterRule | undefined;
|
|
30
30
|
boardSlug: string;
|
|
31
|
+
axisSlug: string;
|
|
31
32
|
noun: string;
|
|
32
33
|
onChange: (d: DropDraft) => void;
|
|
33
34
|
}): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxisBehavior.d.ts","sourceRoot":"","sources":["../../../src/board/layout/AxisBehavior.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAShG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAIrE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAK9D;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACnC,GAAG,KAAK,CAAC,YAAY,CA6CrB;AAMD,KAAK,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrC,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAWnE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"AxisBehavior.d.ts","sourceRoot":"","sources":["../../../src/board/layout/AxisBehavior.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAShG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAIrE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAK9D;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACnC,GAAG,KAAK,CAAC,YAAY,CA6CrB;AAMD,KAAK,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrC,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAWnE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,IAAI,CAe9D;AAMD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CAClC,GAAG,KAAK,CAAC,YAAY,CAgHrB"}
|
|
@@ -36,7 +36,7 @@ export function toDropDraft(wod) {
|
|
|
36
36
|
mode: 'custom',
|
|
37
37
|
writes: wod.map((m) => ({
|
|
38
38
|
op: m.op,
|
|
39
|
-
path: m.path,
|
|
39
|
+
path: typeof m.path === 'string' ? m.path : JSON.stringify(m.path),
|
|
40
40
|
value: 'value' in m ? String(m.value ?? '') : '',
|
|
41
41
|
})),
|
|
42
42
|
};
|
|
@@ -49,15 +49,19 @@ export function fromDropDraft(d) {
|
|
|
49
49
|
const writes = d.writes
|
|
50
50
|
.filter((w) => w.path.trim() !== '')
|
|
51
51
|
.map((w) => w.op === 'delete'
|
|
52
|
-
? { op: 'delete', path: w.path.trim() }
|
|
53
|
-
: {
|
|
52
|
+
? { op: 'delete', path: w.path.trim().startsWith('[') ? JSON.parse(w.path) : w.path.trim() }
|
|
53
|
+
: {
|
|
54
|
+
op: w.op,
|
|
55
|
+
path: w.path.trim().startsWith('[') ? JSON.parse(w.path) : w.path.trim(),
|
|
56
|
+
value: w.value,
|
|
57
|
+
});
|
|
54
58
|
return writes.length > 0 ? writes : null;
|
|
55
59
|
}
|
|
56
60
|
function describe(m) {
|
|
57
61
|
return m.op === 'delete' ? `delete ${m.path}` : `${m.op} ${m.path}: ${String(m.value)}`;
|
|
58
62
|
}
|
|
59
|
-
export function DropEditor({ draft, filter, boardSlug, noun, onChange, }) {
|
|
60
|
-
const derived = deriveMutations(filter, { board: boardSlug });
|
|
63
|
+
export function DropEditor({ draft, filter, boardSlug, axisSlug, noun, onChange, }) {
|
|
64
|
+
const derived = deriveMutations(filter, { board: boardSlug, axis: axisSlug });
|
|
61
65
|
const setWrite = (i, patch) => onChange({ ...draft, writes: draft.writes.map((w, j) => (j === i ? { ...w, ...patch } : w)) });
|
|
62
66
|
const switchMode = (mode) => {
|
|
63
67
|
const seeded = Array.isArray(derived)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxisBehavior.js","sourceRoot":"","sources":["../../../src/board/layout/AxisBehavior.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AxisBehavior.js","sourceRoot":"","sources":["../../../src/board/layout/AxisBehavior.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAYxC,MAAM,UAAU,YAAY,CAAC,KAA4B;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjE,IAAI,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACtF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAa;IAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE;QAC7C,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,QAAQ,GAKT;IACC,OAAO,CACL,8BACE,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,MAAM,EAAC,iBAAiB,EACxB,OAAO,EAAE;oBACP,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACpB,CAAC,UAAU,EAAE,aAAa,CAAC;oBAC3B,CAAC,SAAS,EAAE,kBAAkB,CAAC;iBAChC,EACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC,GAC5E,EACD,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAC1B,aAAG,SAAS,EAAC,MAAM,kFACiD,GAAG,EACrE,sCAAc,SAAS,cAAc,SACnC,CACL,EACA,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAC5B,8BACE,eAAK,SAAS,EAAC,yBAAyB,aACtC,gBACE,SAAS,EAAC,cAAc,gBACb,eAAe,EAC1B,KAAK,EAAE,KAAK,CAAC,EAAE,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAC3D,EACF,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,OAAO,EAAE;oCACP,CAAC,KAAK,EAAE,OAAO,CAAC;oCAChB,CAAC,MAAM,EAAE,QAAQ,CAAC;iCACnB,EACD,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,GAC1D,IACE,EACN,YAAG,SAAS,EAAC,MAAM,mGAEf,IACH,CACJ,EACA,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,YAAG,SAAS,EAAC,MAAM,mDAAuC,IACtF,CACJ,CAAC;AACJ,CAAC;AAmBD,MAAM,UAAU,WAAW,CAAC,GAA4B;IACtD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACjE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SACjD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAY;IACxC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,MAAM,GAAe,CAAC,CAAC,MAAM;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,EAAE,KAAK,QAAQ;QACf,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;QAC5F,CAAC,CAAC;YACE,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YACxE,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CACN,CAAC;IACJ,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAW;IAC3B,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,QAAQ,GAQT;IACC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,KAA0B,EAAQ,EAAE,CAC/D,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjG,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAQ,EAAE;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,QAAQ,CAAC;YACP,IAAI;YACJ,MAAM,EACJ,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;SAC3F,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,MAAM,EAAC,gBAAgB,EACvB,OAAO,EAAE;oBACP,CAAC,MAAM,EAAE,WAAW,CAAC;oBACrB,CAAC,QAAQ,EAAE,eAAe,CAAC;oBAC3B,CAAC,UAAU,EAAE,WAAW,CAAC;iBAC1B,EACD,QAAQ,EAAE,UAAU,GACpB,EACD,KAAK,CAAC,IAAI,KAAK,MAAM;gBACpB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACxB,aAAG,SAAS,EAAC,MAAM,4CACW,GAAG,EAC/B,yBAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,GAAQ,IAC5D,CACL,CAAC,CAAC,CAAC,CACF,aAAG,SAAS,EAAC,MAAM,+CAEhB,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,wCAC7C,IAAI,wCACnB,CACL,CAAC,EACH,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAC1B,8BACG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,eAAa,SAAS,EAAC,WAAW,aAChC,iBACE,SAAS,EAAC,OAAO,gBACN,WAAW,EACtB,KAAK,EAAE,CAAC,CAAC,EAAE,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAgB,EAAE,CAAC,YAE7D,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAC5D,iBAAiB,KAAK,EAAE,EAAE,YACvB,EAAE,IADQ,EAAE,CAEN,CACV,CAAC,GACK,EACT,gBACE,SAAS,EAAC,OAAO,EACjB,WAAW,EAAC,UAAU,gBACX,gBAAgB,EAC3B,KAAK,EAAE,CAAC,CAAC,IAAI,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GACtD,EACD,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnB,gBAAQ,CACT,CAAC,CAAC,CAAC,CACF,gBACE,SAAS,EAAC,OAAO,EACjB,WAAW,EAAC,OAAO,gBACR,aAAa,EACxB,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GACvD,CACH,EACD,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,UAAU,gBACT,cAAc,EACzB,OAAO,EAAE,GAAG,EAAE,CACZ,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,uBAIjE,KAxCD,CAAC,CAyCL,CACP,CAAC,EACF,wBACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,UAAU,EACpB,OAAO,EAAE,GAAG,EAAE,CACZ,QAAQ,CAAC;gCACP,GAAG,KAAK;gCACR,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;6BAC9D,CAAC,wBAIG,GACL,EACN,YAAG,SAAS,EAAC,MAAM,iGAEf,IACH,CACJ,EACA,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAC5B,aAAG,SAAS,EAAC,MAAM,kDAAwC,IAAI,SAAM,CACtE,IACA,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxisDrawer.d.ts","sourceRoot":"","sources":["../../../src/board/layout/AxisDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAa1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"AxisDrawer.d.ts","sourceRoot":"","sources":["../../../src/board/layout/AxisDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAa1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,GACR,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAmItC"}
|
|
@@ -35,6 +35,6 @@ export function AxisDrawer({ axis, dim, boardSlug, usage, onSave, onRemove, onCl
|
|
|
35
35
|
else
|
|
36
36
|
setBusy(false);
|
|
37
37
|
};
|
|
38
|
-
return (_jsxs(Drawer, { kind: noun, title: axis.title, testId: "axis-drawer", onClose: onClose, children: [axis.synthetic ? (_jsxs("p", { className: "warn", children: ["No axis file exists for ", _jsx("code", { children: axis.slug }), ", so there is nothing to configure. Remove it from the board or add ", _jsxs("code", { children: [axis.slug, ".md"] }), " to the content folder."] })) : (_jsxs(_Fragment, { children: [usage.length > 0 && (_jsxs("p", { className: "notice", "data-testid": "axis-shared-notice", children: ["Shared: also used on", ' ', usage.map((u, i) => (_jsxs(React.Fragment, { children: [i > 0 && ', ', _jsx("code", { children: u.board }), " as a ", u.dim === 'columns' ? 'column' : 'swimlane'] }, `${u.board}-${u.dim}`))), ". Changes here apply there too."] })), _jsxs("label", { className: "field", children: [_jsxs("span", { className: "field-label", children: ["title \u00B7 content/", axis.slug, ".md"] }), _jsx("input", { className: "input input-sans", value: title, onChange: (e) => setTitle(e.target.value), "data-testid": "axis-title-input" })] }), _jsxs("section", { className: "drawer-section", children: [_jsx("h4", { children: "Filter" }), _jsxs("p", { className: "help", children: ["A card appears in this ", noun, " when it matches:"] }), filter ? (_jsx(FilterEditor, { draft: filter, onChange: setFilter, emptyText: `No conditions — every card on the board appears in this ${noun}.`, testId: "axis-filter-editor" })) : (_jsxs("p", { className: "warn", children: ["This filter uses nested groups (", _jsx("code", { children: filterSummary(axis.filter) }), "). Edit it in ", _jsxs("code", { children: [axis.slug, ".md"] }), "."] }))] }), _jsxs("section", { className: "drawer-section", children: [_jsx("h4", { children: "Card order" }), dim === 'columns' ? (_jsx(OrderEditor, { draft: order, boardSlug: boardSlug, onChange: setOrder })) : (_jsx("p", { className: "help", children: "Swimlanes don't sort cards \u2014 each cell uses its column's order." }))] }), _jsxs("section", { className: "drawer-section", children: [_jsx("h4", { children: "When a card is dropped here" }), _jsx(DropEditor, { draft: drop, filter: rule, boardSlug: boardSlug, noun: noun, onChange: setDrop })] })] })), _jsxs("div", { className: "drawer-footer", children: [_jsx("button", { type: "button", className: "link-btn", disabled: busy, onClick: () => void remove(), "data-testid": "axis-remove", children: "Remove from board" }), _jsx("span", { className: "help", style: { fontSize: '11px' }, children: "the axis file is kept" }), !axis.synthetic && (_jsx("button", { type: "button", className: "btn btn-primary", style: { marginLeft: 'auto' }, disabled: busy, onClick: () => void save(), "data-testid": "axis-save", children: busy ? 'saving…' : 'Save' }))] })] }));
|
|
38
|
+
return (_jsxs(Drawer, { kind: noun, title: axis.title, testId: "axis-drawer", onClose: onClose, children: [axis.synthetic ? (_jsxs("p", { className: "warn", children: ["No axis file exists for ", _jsx("code", { children: axis.slug }), ", so there is nothing to configure. Remove it from the board or add ", _jsxs("code", { children: [axis.slug, ".md"] }), " to the content folder."] })) : (_jsxs(_Fragment, { children: [usage.length > 0 && (_jsxs("p", { className: "notice", "data-testid": "axis-shared-notice", children: ["Shared: also used on", ' ', usage.map((u, i) => (_jsxs(React.Fragment, { children: [i > 0 && ', ', _jsx("code", { children: u.board }), " as a ", u.dim === 'columns' ? 'column' : 'swimlane'] }, `${u.board}-${u.dim}`))), ". Changes here apply there too."] })), _jsxs("label", { className: "field", children: [_jsxs("span", { className: "field-label", children: ["title \u00B7 content/", axis.slug, ".md"] }), _jsx("input", { className: "input input-sans", value: title, onChange: (e) => setTitle(e.target.value), "data-testid": "axis-title-input" })] }), _jsxs("section", { className: "drawer-section", children: [_jsx("h4", { children: "Filter" }), _jsxs("p", { className: "help", children: ["A card appears in this ", noun, " when it matches:"] }), filter ? (_jsx(FilterEditor, { draft: filter, onChange: setFilter, emptyText: `No conditions — every card on the board appears in this ${noun}.`, testId: "axis-filter-editor" })) : (_jsxs("p", { className: "warn", children: ["This filter uses nested groups (", _jsx("code", { children: filterSummary(axis.filter) }), "). Edit it in ", _jsxs("code", { children: [axis.slug, ".md"] }), "."] }))] }), _jsxs("section", { className: "drawer-section", children: [_jsx("h4", { children: "Card order" }), dim === 'columns' ? (_jsx(OrderEditor, { draft: order, boardSlug: boardSlug, onChange: setOrder })) : (_jsx("p", { className: "help", children: "Swimlanes don't sort cards \u2014 each cell uses its column's order." }))] }), _jsxs("section", { className: "drawer-section", children: [_jsx("h4", { children: "When a card is dropped here" }), _jsx(DropEditor, { axisSlug: axis.slug, draft: drop, filter: rule, boardSlug: boardSlug, noun: noun, onChange: setDrop })] })] })), _jsxs("div", { className: "drawer-footer", children: [_jsx("button", { type: "button", className: "link-btn", disabled: busy, onClick: () => void remove(), "data-testid": "axis-remove", children: "Remove from board" }), _jsx("span", { className: "help", style: { fontSize: '11px' }, children: "the axis file is kept" }), !axis.synthetic && (_jsx("button", { type: "button", className: "btn btn-primary", style: { marginLeft: 'auto' }, disabled: busy, onClick: () => void save(), "data-testid": "axis-save", children: busy ? 'saving…' : 'Save' }))] })] }));
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=AxisDrawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxisDrawer.js","sourceRoot":"","sources":["../../../src/board/layout/AxisDrawer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AxisDrawer.js","sourceRoot":"","sources":["../../../src/board/layout/AxisDrawer.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,mBAAmB,CAAC;AAc3B,iGAAiG;AACjG,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,GAAG,EACH,SAAS,EACT,KAAK,EACL,MAAM,EACN,QAAQ,EACR,OAAO,GACS;IAChB,MAAM,IAAI,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAEtD,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,MAAM,KAAK,GAAqB;YAC9B,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK;YACjC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC;SACjC,CAAC;QACF,IAAI,MAAM;YAAE,KAAK,CAAC,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC;QACxC,IAAI,GAAG,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,MAAM,QAAQ,EAAE;YAAE,OAAO,EAAE,CAAC;;YAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAC,aAAa,EAAC,OAAO,EAAE,OAAO,aACzE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAChB,aAAG,SAAS,EAAC,MAAM,yCACO,yBAAO,IAAI,CAAC,IAAI,GAAQ,0EACvB,2BAAO,IAAI,CAAC,IAAI,WAAW,+BAClD,CACL,CAAC,CAAC,CAAC,CACF,8BACG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,aAAG,SAAS,EAAC,QAAQ,iBAAa,oBAAoB,qCAC/B,GAAG,EACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACnB,MAAC,KAAK,CAAC,QAAQ,eACZ,CAAC,GAAG,CAAC,IAAI,IAAI,EACd,yBAAO,CAAC,CAAC,KAAK,GAAQ,YAAO,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,KAFrD,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,CAGzB,CAClB,CAAC,uCAEA,CACL,EACD,iBAAO,SAAS,EAAC,OAAO,aACtB,gBAAM,SAAS,EAAC,aAAa,sCAAkB,IAAI,CAAC,IAAI,WAAW,EACnE,gBACE,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,iBAC7B,kBAAkB,GAC9B,IACI,EAER,mBAAS,SAAS,EAAC,gBAAgB,aACjC,kCAAe,EACf,aAAG,SAAS,EAAC,MAAM,wCAAyB,IAAI,yBAAsB,EACrE,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,YAAY,IACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,2DAA2D,IAAI,GAAG,EAC7E,MAAM,EAAC,oBAAoB,GAC3B,CACH,CAAC,CAAC,CAAC,CACF,aAAG,SAAS,EAAC,MAAM,iDACe,yBAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAQ,oBACtE,2BAAO,IAAI,CAAC,IAAI,WAAW,SAC5B,CACL,IACO,EAEV,mBAAS,SAAS,EAAC,gBAAgB,aACjC,sCAAmB,EAClB,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CACnB,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACxE,CAAC,CAAC,CAAC,CACF,YAAG,SAAS,EAAC,MAAM,qFAEf,CACL,IACO,EAEV,mBAAS,SAAS,EAAC,gBAAgB,aACjC,uDAAoC,EACpC,KAAC,UAAU,IACT,QAAQ,EAAE,IAAI,CAAC,IAAI,EACnB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,OAAO,GACjB,IACM,IACT,CACJ,EAED,eAAK,SAAS,EAAC,eAAe,aAC5B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,UAAU,EACpB,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,EAAE,iBAChB,aAAa,kCAGlB,EACT,eAAM,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,sCAE3C,EACN,CAAC,IAAI,CAAC,SAAS,IAAI,CAClB,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iBAAiB,EAC3B,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAC7B,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,iBACd,WAAW,YAEtB,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GACnB,CACV,IACG,IACC,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-draft.d.ts","sourceRoot":"","sources":["../../../src/board/layout/filter-draft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,MAAM,MAAM,GACd,QAAQ,GACR,IAAI,GACJ,KAAK,GACL,OAAO,GACP,QAAQ,GACR,SAAS,GACT,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,SAAS,CAAC;AAEd,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAYpD,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"filter-draft.d.ts","sourceRoot":"","sources":["../../../src/board/layout/filter-draft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,MAAM,MAAM,GACd,QAAQ,GACR,IAAI,GACJ,KAAK,GACL,OAAO,GACP,QAAQ,GACR,SAAS,GACT,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,SAAS,CAAC;AAEd,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAYpD,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAqCD,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAQxE;AAkCD,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAKpE;AASD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,SAAc,GAAG,MAAM,CAKtF"}
|
|
@@ -24,6 +24,8 @@ const LEAF_KEYS = [
|
|
|
24
24
|
'matches',
|
|
25
25
|
];
|
|
26
26
|
function leafToCond(leaf) {
|
|
27
|
+
if (typeof leaf.property !== 'string')
|
|
28
|
+
throw new Error('Structural paths require the advanced filter editor');
|
|
27
29
|
const rec = leaf;
|
|
28
30
|
const key = LEAF_KEYS.find((k) => k in rec) ?? 'equals';
|
|
29
31
|
const raw = rec[key];
|
|
@@ -39,7 +41,7 @@ function leafToCond(leaf) {
|
|
|
39
41
|
return { property: leaf.property, op: key, value: String(raw), original: raw };
|
|
40
42
|
}
|
|
41
43
|
function isLeaf(rule) {
|
|
42
|
-
return 'property' in rule;
|
|
44
|
+
return 'property' in rule && typeof rule.property === 'string';
|
|
43
45
|
}
|
|
44
46
|
/** Flat draft for the builder, or `null` when the rule nests groups / `not`. */
|
|
45
47
|
export function toDraft(rule) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-draft.js","sourceRoot":"","sources":["../../../src/board/layout/filter-draft.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,QAAQ,GAAoC;IACvD,CAAC,QAAQ,EAAE,IAAI,CAAC;IAChB,CAAC,IAAI,EAAE,WAAW,CAAC;IACnB,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAC5B,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,SAAS,EAAE,YAAY,CAAC;IACzB,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,IAAI,EAAE,GAAG,CAAC;IACX,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,SAAS,EAAE,eAAe,CAAC;CAC7B,CAAC;AAeF,MAAM,SAAS,GAAG;IAChB,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,SAAS;CACD,CAAC;AAEX,SAAS,UAAU,CAAC,IAAgB;IAClC,MAAM,GAAG,GAAG,IAA0C,CAAC;IACvD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,GAAG,KAAK,QAAQ;QAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC1F,IAAI,GAAG,KAAK,IAAI;QACd,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,EAAE,EAAE,IAAI;YACR,KAAK,EAAG,GAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,MAAM,CAAC,IAAgB;IAC9B,OAAO,UAAU,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"filter-draft.js","sourceRoot":"","sources":["../../../src/board/layout/filter-draft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Item } from '@awesome-markdown/contracts';
|
|
3
|
+
export declare function recoveryFilename(slug: string, extension: string): string;
|
|
4
|
+
export declare function ItemRecovery({ item, invalid, announce, }: {
|
|
5
|
+
item: Item | null;
|
|
6
|
+
invalid: string;
|
|
7
|
+
announce: (message: string) => void;
|
|
8
|
+
}): React.ReactElement;
|
|
9
|
+
//# sourceMappingURL=ItemRecovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemRecovery.d.ts","sourceRoot":"","sources":["../../src/components/ItemRecovery.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxE;AACD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,GAAG,KAAK,CAAC,YAAY,CAmErB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { itemYaml, itemMarkdown } from '@awesome-markdown/contracts';
|
|
4
|
+
export function recoveryFilename(slug, extension) {
|
|
5
|
+
const safe = slug.replace(/[^A-Za-z0-9_-]/g, '-').replace(/^-+|-+$/g, '');
|
|
6
|
+
return `${safe || 'item'}.${extension}`;
|
|
7
|
+
}
|
|
8
|
+
export function ItemRecovery({ item, invalid, announce, }) {
|
|
9
|
+
const [error, setError] = useState('');
|
|
10
|
+
const yaml = item && !invalid ? itemYaml(item) : '';
|
|
11
|
+
const download = (extension) => {
|
|
12
|
+
if (!item || invalid)
|
|
13
|
+
return;
|
|
14
|
+
let url = '';
|
|
15
|
+
try {
|
|
16
|
+
url = URL.createObjectURL(new Blob([extension === 'yaml' ? yaml : itemMarkdown(item)], {
|
|
17
|
+
type: 'text/plain;charset=utf-8',
|
|
18
|
+
}));
|
|
19
|
+
const link = document.createElement('a');
|
|
20
|
+
link.href = url;
|
|
21
|
+
link.download = recoveryFilename(item.slug, extension);
|
|
22
|
+
document.body.append(link);
|
|
23
|
+
link.click();
|
|
24
|
+
link.remove();
|
|
25
|
+
announce(`Downloaded ${extension === 'yaml' ? 'YAML properties' : 'full Markdown draft'}. This does not save the item.`);
|
|
26
|
+
}
|
|
27
|
+
catch (reason) {
|
|
28
|
+
setError(`Download failed: ${reason instanceof Error ? reason.message : String(reason)}`);
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
if (url)
|
|
32
|
+
setTimeout(() => URL.revokeObjectURL(url), 1000);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
return (_jsxs("details", { className: "item-recovery", children: [_jsx("summary", { children: "YAML preview and recovery" }), invalid ? (_jsxs("p", { role: "status", children: [invalid, " Complete or remove invalid input before previewing or exporting."] })) : (_jsx("pre", { "data-testid": "yaml-preview", "aria-label": "YAML properties", children: _jsx("code", { className: "language-yaml", children: yaml }) })), _jsxs("div", { className: "item-actions", children: [_jsx("button", { type: "button", disabled: Boolean(invalid) || !item, onClick: () => {
|
|
36
|
+
setError('');
|
|
37
|
+
void (async () => {
|
|
38
|
+
try {
|
|
39
|
+
await navigator.clipboard.writeText(yaml);
|
|
40
|
+
announce('Copied YAML properties. Document text is excluded.');
|
|
41
|
+
}
|
|
42
|
+
catch (reason) {
|
|
43
|
+
setError(`Copy failed: ${String(reason)}`);
|
|
44
|
+
}
|
|
45
|
+
})();
|
|
46
|
+
}, children: "Copy YAML" }), _jsx("button", { type: "button", disabled: Boolean(invalid) || !item, onClick: () => download('yaml'), children: "Download YAML" }), _jsx("button", { type: "button", disabled: Boolean(invalid) || !item, onClick: () => download('md'), children: "Download Markdown" })] }), error && _jsx("p", { role: "alert", children: error })] }));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=ItemRecovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemRecovery.js","sourceRoot":"","sources":["../../src/components/ItemRecovery.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PropertyValue } from '@awesome-markdown/contracts';
|
|
3
|
+
import type { ValueNode } from '../lib/property-tree.js';
|
|
4
|
+
export declare function PropertyRead({ value, label, }: {
|
|
5
|
+
value: PropertyValue;
|
|
6
|
+
label: string;
|
|
7
|
+
}): React.ReactElement;
|
|
8
|
+
interface TreeProps {
|
|
9
|
+
node: ValueNode;
|
|
10
|
+
label: string;
|
|
11
|
+
root?: boolean;
|
|
12
|
+
change: (id: string, change: (value: ValueNode) => ValueNode) => void;
|
|
13
|
+
pending: (id: string, value: boolean) => void;
|
|
14
|
+
announce: (message: string) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare function PropertyEdit(props: TreeProps): React.ReactElement;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=PropertyTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyTree.d.ts","sourceRoot":"","sources":["../../src/components/PropertyTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,yBAAyB,CAAC;AAYpE,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,KAAK,CAAC,YAAY,CA+BrB;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AA8FD,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,YAAY,CAuJjE"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import React, { useId, useRef, useState } from 'react';
|
|
3
|
+
import { defaultNode, numericValue, validName } from '../lib/property-tree.js';
|
|
4
|
+
const types = ['text', 'number', 'boolean', 'group', 'list', 'null'];
|
|
5
|
+
const typeOf = (value) => value === null
|
|
6
|
+
? 'null'
|
|
7
|
+
: Array.isArray(value)
|
|
8
|
+
? 'list'
|
|
9
|
+
: typeof value === 'object'
|
|
10
|
+
? 'group'
|
|
11
|
+
: typeof value;
|
|
12
|
+
export function PropertyRead({ value, label, }) {
|
|
13
|
+
const type = typeOf(value);
|
|
14
|
+
if (value !== null && typeof value === 'object') {
|
|
15
|
+
const entries = Object.entries(value);
|
|
16
|
+
return (_jsxs("details", { className: "property-container", open: true, children: [_jsxs("summary", { children: [_jsx("strong", { children: label }), ' ', _jsxs("span", { className: "property-type", children: [type, " \u00B7 ", entries.length, " ", entries.length === 1 ? 'entry' : 'entries'] })] }), _jsx("div", { className: "property-children", children: entries.map(([key, child], index) => (_jsx(PropertyRead, { label: Array.isArray(value) ? `Entry ${index + 1}` : key, value: child }, key))) })] }));
|
|
17
|
+
}
|
|
18
|
+
return (_jsxs("div", { className: "property-scalar", children: [_jsx("strong", { children: label }), _jsx("span", { className: "property-type", children: type }), _jsx("code", { children: typeof value === 'string' ? JSON.stringify(value) : String(value) })] }));
|
|
19
|
+
}
|
|
20
|
+
function AddValue({ node, label, root, change, pending, announce }) {
|
|
21
|
+
const [adding, setAdding] = useState(false);
|
|
22
|
+
const [name, setName] = useState('');
|
|
23
|
+
const [type, setType] = useState('text');
|
|
24
|
+
const [error, setError] = useState('');
|
|
25
|
+
const trigger = useRef(null);
|
|
26
|
+
const id = useId();
|
|
27
|
+
const close = () => {
|
|
28
|
+
setAdding(false);
|
|
29
|
+
setName('');
|
|
30
|
+
setError('');
|
|
31
|
+
pending(node.id, false);
|
|
32
|
+
requestAnimationFrame(() => trigger.current?.focus());
|
|
33
|
+
};
|
|
34
|
+
return (_jsx("div", { className: "property-add", children: !adding ? (_jsxs("button", { ref: trigger, type: "button", onClick: () => {
|
|
35
|
+
setAdding(true);
|
|
36
|
+
pending(node.id, true);
|
|
37
|
+
}, children: ["Add ", node.type === 'list' ? 'entry' : 'property', " to ", label] })) : (_jsxs("div", { role: "group", "aria-label": `Add to ${label}`, className: "property-add-form", children: [_jsxs("span", { children: ["Adding to ", label] }), node.type !== 'list' && (_jsxs("label", { htmlFor: `${id}-name`, children: ["Name", _jsx("input", { id: `${id}-name`, autoFocus: true, value: name, "aria-invalid": Boolean(error), "aria-describedby": error ? `${id}-error` : undefined, onChange: (event) => {
|
|
38
|
+
setName(event.target.value);
|
|
39
|
+
setError('');
|
|
40
|
+
} })] })), _jsxs("label", { htmlFor: `${id}-type`, children: ["Type", _jsx("select", { id: `${id}-type`, autoFocus: node.type === 'list', value: type, onChange: (event) => setType(event.target.value), children: types.map((t) => (_jsx("option", { children: t }, t))) })] }), _jsx("button", { type: "button", onClick: () => {
|
|
41
|
+
try {
|
|
42
|
+
const key = node.type === 'list' ? '' : validName(name, node, Boolean(root));
|
|
43
|
+
change(node.id, (current) => ({
|
|
44
|
+
...current,
|
|
45
|
+
entries: [...current.entries, { key, node: defaultNode(type) }],
|
|
46
|
+
}));
|
|
47
|
+
announce(`Added ${node.type === 'list' ? 'entry' : key} to ${label}.`);
|
|
48
|
+
close();
|
|
49
|
+
}
|
|
50
|
+
catch (reason) {
|
|
51
|
+
setError(reason instanceof Error ? reason.message : String(reason));
|
|
52
|
+
document.getElementById(`${id}-name`)?.focus();
|
|
53
|
+
}
|
|
54
|
+
}, children: "Confirm addition" }), _jsx("button", { type: "button", onClick: close, children: "Cancel addition" }), error && (_jsx("span", { id: `${id}-error`, role: "alert", children: error }))] })) }));
|
|
55
|
+
}
|
|
56
|
+
export function PropertyEdit(props) {
|
|
57
|
+
const { node, label, root, change, pending, announce } = props;
|
|
58
|
+
const id = useId();
|
|
59
|
+
const containerRef = useRef(null);
|
|
60
|
+
if (node.type === 'group' || node.type === 'list') {
|
|
61
|
+
const content = (_jsxs(_Fragment, { children: [_jsx("div", { className: "property-children", children: node.entries.map((entry, index) => {
|
|
62
|
+
const childLabel = node.type === 'list' ? `Entry ${index + 1}` : entry.key;
|
|
63
|
+
return (_jsxs("div", { className: "property-edit-entry", children: [_jsx(PropertyEdit, { ...props, root: false, node: entry.node, label: childLabel }), _jsx("button", { type: "button", "aria-label": `Remove ${childLabel}`, onClick: (event) => {
|
|
64
|
+
if (entry.node.entries.length &&
|
|
65
|
+
!window.confirm(`Remove ${childLabel} and all its contents?`))
|
|
66
|
+
return;
|
|
67
|
+
const group = event.currentTarget.closest('.property-children');
|
|
68
|
+
change(node.id, (current) => ({
|
|
69
|
+
...current,
|
|
70
|
+
entries: current.entries.filter((child) => child.node.id !== entry.node.id),
|
|
71
|
+
}));
|
|
72
|
+
const clearPending = (child) => {
|
|
73
|
+
pending(child.id, false);
|
|
74
|
+
child.entries.forEach((e) => clearPending(e.node));
|
|
75
|
+
};
|
|
76
|
+
clearPending(entry.node);
|
|
77
|
+
announce(`Removed ${childLabel}. Save to persist this change.`);
|
|
78
|
+
requestAnimationFrame(() => group?.parentElement?.querySelector('.property-add button')?.focus());
|
|
79
|
+
}, children: "Remove" })] }, entry.node.id));
|
|
80
|
+
}) }), _jsx(AddValue, { ...props })] }));
|
|
81
|
+
if (root)
|
|
82
|
+
return _jsx("div", { className: "property-root", children: content });
|
|
83
|
+
return (_jsxs("details", { ref: containerRef, className: "property-container", open: true, onInvalidCapture: () => {
|
|
84
|
+
if (containerRef.current)
|
|
85
|
+
containerRef.current.open = true;
|
|
86
|
+
}, children: [_jsxs("summary", { children: [_jsx("strong", { children: label }), ' ', _jsxs("span", { className: "property-type", children: [node.type, " \u00B7 ", node.entries.length, " entries"] })] }), content] }));
|
|
87
|
+
}
|
|
88
|
+
let numericError = '';
|
|
89
|
+
if (node.type === 'number') {
|
|
90
|
+
try {
|
|
91
|
+
numericValue(node.text);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
numericError = error instanceof Error ? error.message : String(error);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return (_jsxs("div", { className: "property-field", children: [node.type === 'null' ? (_jsxs("div", { children: [label, " ", _jsx("span", { className: "property-type", children: "null" })] })) : (_jsxs("label", { htmlFor: id, children: [label, " ", _jsx("span", { className: "property-type", children: node.type })] })), node.type === 'text' && (_jsx("textarea", { id: id, rows: Math.min(6, Math.max(1, node.text.split('\n').length)), value: node.text, onChange: (event) => change(node.id, (n) => ({ ...n, text: event.target.value })) })), node.type === 'number' && (_jsxs(_Fragment, { children: [_jsx("input", { id: id, inputMode: "decimal", value: node.text, "aria-invalid": Boolean(numericError), "aria-describedby": numericError ? `${id}-error` : undefined, onChange: (event) => change(node.id, (n) => ({ ...n, text: event.target.value })) }), numericError && (_jsx("span", { id: `${id}-error`, role: "alert", children: numericError }))] })), node.type === 'boolean' && (_jsx("input", { id: id, type: "checkbox", checked: node.checked, onChange: (event) => change(node.id, (n) => ({ ...n, checked: event.target.checked })) })), node.type === 'null' && (_jsxs(_Fragment, { children: [_jsx("span", { id: id, children: "null" }), _jsxs("label", { children: ["Replace ", label, " (null) with", _jsxs("select", { defaultValue: "", onChange: (event) => {
|
|
98
|
+
if (!event.target.value)
|
|
99
|
+
return;
|
|
100
|
+
change(node.id, (n) => ({
|
|
101
|
+
...defaultNode(event.target.value),
|
|
102
|
+
id: n.id,
|
|
103
|
+
}));
|
|
104
|
+
announce(`Replaced null in ${label}.`);
|
|
105
|
+
}, children: [_jsx("option", { value: "", children: "Choose type" }), types
|
|
106
|
+
.filter((t) => t !== 'null')
|
|
107
|
+
.map((t) => (_jsx("option", { children: t }, t)))] })] })] }))] }));
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=PropertyTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyTree.js","sourceRoot":"","sources":["../../src/components/PropertyTree.tsx"],"names":[],"mappings":"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"}
|
package/dist/lib/item-board.d.ts
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import type { Item } from '@awesome-markdown/contracts';
|
|
2
|
-
export declare function getBoardEntry(item: Item, boardSlug: string): Record<string, unknown> | undefined;
|
|
3
|
-
export declare function getBoardScopedString(item: Item, boardSlug: string, property: string): string;
|
|
4
1
|
export declare function buildItemEditorHref(itemSlug: string, boardSlug?: string): string;
|
|
5
2
|
//# sourceMappingURL=item-board.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-board.d.ts","sourceRoot":"","sources":["../../src/lib/item-board.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"item-board.d.ts","sourceRoot":"","sources":["../../src/lib/item-board.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhF"}
|
package/dist/lib/item-board.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
export function getBoardEntry(item, boardSlug) {
|
|
2
|
-
return item.boards?.find((entry) => entry.board === boardSlug);
|
|
3
|
-
}
|
|
4
|
-
export function getBoardScopedString(item, boardSlug, property) {
|
|
5
|
-
const value = getBoardEntry(item, boardSlug)?.[property];
|
|
6
|
-
return typeof value === 'string' ? value : '';
|
|
7
|
-
}
|
|
8
1
|
export function buildItemEditorHref(itemSlug, boardSlug) {
|
|
9
2
|
if (!boardSlug)
|
|
10
3
|
return `/items/${itemSlug}`;
|