@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.
Files changed (67) hide show
  1. package/dist/board/Board.d.ts.map +1 -1
  2. package/dist/board/Board.js +79 -66
  3. package/dist/board/Board.js.map +1 -1
  4. package/dist/board/Cell.d.ts.map +1 -1
  5. package/dist/board/Cell.js +11 -6
  6. package/dist/board/Cell.js.map +1 -1
  7. package/dist/board/HomelessItemCard.d.ts.map +1 -1
  8. package/dist/board/HomelessItemCard.js +2 -1
  9. package/dist/board/HomelessItemCard.js.map +1 -1
  10. package/dist/board/ItemCard.d.ts.map +1 -1
  11. package/dist/board/ItemCard.js +9 -16
  12. package/dist/board/ItemCard.js.map +1 -1
  13. package/dist/board/dnd/mutateDragDrop.d.ts +3 -5
  14. package/dist/board/dnd/mutateDragDrop.d.ts.map +1 -1
  15. package/dist/board/dnd/mutateDragDrop.js +36 -55
  16. package/dist/board/dnd/mutateDragDrop.js.map +1 -1
  17. package/dist/board/layout/AxisBehavior.d.ts +2 -1
  18. package/dist/board/layout/AxisBehavior.d.ts.map +1 -1
  19. package/dist/board/layout/AxisBehavior.js +9 -5
  20. package/dist/board/layout/AxisBehavior.js.map +1 -1
  21. package/dist/board/layout/AxisDrawer.d.ts.map +1 -1
  22. package/dist/board/layout/AxisDrawer.js +1 -1
  23. package/dist/board/layout/AxisDrawer.js.map +1 -1
  24. package/dist/board/layout/filter-draft.d.ts.map +1 -1
  25. package/dist/board/layout/filter-draft.js +3 -1
  26. package/dist/board/layout/filter-draft.js.map +1 -1
  27. package/dist/components/ItemRecovery.d.ts +9 -0
  28. package/dist/components/ItemRecovery.d.ts.map +1 -0
  29. package/dist/components/ItemRecovery.js +48 -0
  30. package/dist/components/ItemRecovery.js.map +1 -0
  31. package/dist/components/PropertyTree.d.ts +18 -0
  32. package/dist/components/PropertyTree.d.ts.map +1 -0
  33. package/dist/components/PropertyTree.js +109 -0
  34. package/dist/components/PropertyTree.js.map +1 -0
  35. package/dist/lib/item-board.d.ts +0 -3
  36. package/dist/lib/item-board.d.ts.map +1 -1
  37. package/dist/lib/item-board.js +0 -7
  38. package/dist/lib/item-board.js.map +1 -1
  39. package/dist/lib/patch-visible-item.d.ts +4 -0
  40. package/dist/lib/patch-visible-item.d.ts.map +1 -0
  41. package/dist/lib/patch-visible-item.js +10 -0
  42. package/dist/lib/patch-visible-item.js.map +1 -0
  43. package/dist/lib/property-display.d.ts +2 -3
  44. package/dist/lib/property-display.d.ts.map +1 -1
  45. package/dist/lib/property-display.js +15 -10
  46. package/dist/lib/property-display.js.map +1 -1
  47. package/dist/lib/property-tree.d.ts +23 -0
  48. package/dist/lib/property-tree.d.ts.map +1 -0
  49. package/dist/lib/property-tree.js +109 -0
  50. package/dist/lib/property-tree.js.map +1 -0
  51. package/dist/pages/ItemEditorPage.d.ts.map +1 -1
  52. package/dist/pages/ItemEditorPage.js +185 -204
  53. package/dist/pages/ItemEditorPage.js.map +1 -1
  54. package/package.json +6 -5
  55. package/styles.css +766 -146
  56. package/dist/components/BoardAssigneeField.d.ts +0 -10
  57. package/dist/components/BoardAssigneeField.d.ts.map +0 -1
  58. package/dist/components/BoardAssigneeField.js +0 -37
  59. package/dist/components/BoardAssigneeField.js.map +0 -1
  60. package/dist/components/DeleteItemConfirmDialog.d.ts +0 -14
  61. package/dist/components/DeleteItemConfirmDialog.d.ts.map +0 -1
  62. package/dist/components/DeleteItemConfirmDialog.js +0 -46
  63. package/dist/components/DeleteItemConfirmDialog.js.map +0 -1
  64. package/dist/components/ItemEditorActions.d.ts +0 -15
  65. package/dist/components/ItemEditorActions.d.ts.map +0 -1
  66. package/dist/components/ItemEditorActions.js +0 -48
  67. package/dist/components/ItemEditorActions.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { deriveMutations, keyBetween } from '@awesome-markdown/filter-engine';
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
- const rules = [board.filter, col.filter, sl.filter].filter((f) => f !== undefined);
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 = exactly one PATCH. The returned mutation list includes:
81
- * 1. Cell-placement mutations derived from the destination cell's filter.
82
- * 2. One `set boards.<boardSlug>.order = <fractional-key>` mutation for ordering.
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 filter = buildCellFilter(board, colAxis, slAxis);
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 prevOrder = prevItem !== null ? getItemBoardOrder(prevItem, board.slug) : undefined;
102
- const nextOrder = nextItem !== null ? getItemBoardOrder(nextItem, board.slug) : undefined;
103
- const newOrderKey = keyBetween(prevOrder, nextOrder);
104
- const orderMutation = {
105
- op: 'set',
106
- path: `boards.${board.slug}.order`,
107
- value: newOrderKey,
108
- };
109
- const isReorder = srcCell.columnSlug === dstCell.columnSlug &&
110
- srcCell.swimlaneSlug === dstCell.swimlaneSlug;
111
- return {
112
- mutations: [...result, orderMutation],
113
- type: isReorder ? 'reorder' : 'move',
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":"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"}
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,CAW9D;AAMD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,SAAS,EACT,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CAClC,GAAG,KAAK,CAAC,YAAY,CAgHrB"}
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
- : { op: w.op, path: w.path.trim(), value: w.value });
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":"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"}
@@ -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,CAkItC"}
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":"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"}
@@ -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;AAmCD,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"}
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":"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"}
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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"}
@@ -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,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAEhG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG5F;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhF"}
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"}
@@ -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}`;