@sascha384/tic 1.19.0 → 1.20.1

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tic",
3
3
  "description": "Issue tracking skills for Claude Code",
4
- "version": "1.19.0",
4
+ "version": "1.20.1",
5
5
  "author": {
6
6
  "name": "Sascha Krug"
7
7
  },
@@ -5,6 +5,9 @@ interface AutocompleteInputProps {
5
5
  suggestions: string[];
6
6
  focus: boolean;
7
7
  }
8
- export declare function filterSuggestions(value: string, suggestions: string[]): string[];
8
+ export declare function filterSuggestions(value: string, suggestions: string[]): {
9
+ visible: string[];
10
+ totalCount: number;
11
+ };
9
12
  export declare function AutocompleteInput({ value, onChange, onSubmit, suggestions, focus, }: AutocompleteInputProps): import("react/jsx-runtime").JSX.Element;
10
13
  export {};
@@ -7,11 +7,14 @@ export function filterSuggestions(value, suggestions) {
7
7
  const filtered = value
8
8
  ? suggestions.filter((s) => s.toLowerCase().includes(value.toLowerCase()))
9
9
  : suggestions;
10
- return filtered.slice(0, MAX_VISIBLE);
10
+ return {
11
+ visible: filtered.slice(0, MAX_VISIBLE),
12
+ totalCount: filtered.length,
13
+ };
11
14
  }
12
15
  export function AutocompleteInput({ value, onChange, onSubmit, suggestions, focus, }) {
13
16
  const [highlightIndex, setHighlightIndex] = useState(-1);
14
- const visible = filterSuggestions(value, suggestions);
17
+ const { visible, totalCount } = filterSuggestions(value, suggestions);
15
18
  useInput((_input, key) => {
16
19
  if (key.downArrow) {
17
20
  setHighlightIndex((i) => (i < visible.length - 1 ? i + 1 : i));
@@ -35,6 +38,6 @@ export function AutocompleteInput({ value, onChange, onSubmit, suggestions, focu
35
38
  onChange(visible[highlightIndex]);
36
39
  }
37
40
  onSubmit();
38
- } }), visible.length > 0 && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: visible.map((suggestion, i) => (_jsxs(Text, { color: i === highlightIndex ? 'cyan' : undefined, bold: i === highlightIndex, children: [i === highlightIndex ? '> ' : ' ', suggestion] }, suggestion))) }))] }));
41
+ } }), visible.length > 0 && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: visible.map((suggestion, i) => (_jsxs(Text, { color: i === highlightIndex ? 'cyan' : undefined, bold: i === highlightIndex, children: [i === highlightIndex ? '> ' : ' ', suggestion] }, suggestion))) })), totalCount > MAX_VISIBLE && (_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["+", totalCount - MAX_VISIBLE, " more"] }) }))] }));
39
42
  }
40
43
  //# sourceMappingURL=AutocompleteInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteInput.js","sourceRoot":"","sources":["../../src/components/AutocompleteInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutocompleteInput.js","sourceRoot":"","sources":["../../src/components/AutocompleteInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,WAAW,GAAG,CAAC,CAAC;AAUtB,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,WAAqB;IAErB,MAAM,QAAQ,GAAG,KAAK;QACpB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,WAAW,CAAC;IAChB,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;QACvC,UAAU,EAAE,QAAQ,CAAC,MAAM;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,KAAK,GACkB;IACvB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEtE,QAAQ,CACN,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACd,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,cAAc,IAAI,CAAC,IAAI,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3D,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAE,CAAC,CAAC;YACrC,CAAC;YACD,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,cAAc,IAAI,CAAC,IAAI,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC3D,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAE,CAAC,CAAC;oBACrC,CAAC;oBACD,QAAQ,EAAE,CAAC;gBACb,CAAC,GACD,EACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACtC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,IAEH,KAAK,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAChD,IAAI,EAAE,CAAC,KAAK,cAAc,aAEzB,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAClC,UAAU,KALN,UAAU,CAMV,CACR,CAAC,GACE,CACP,EACA,UAAU,GAAG,WAAW,IAAI,CAC3B,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,MAAC,IAAI,IAAC,QAAQ,wBAAG,UAAU,GAAG,WAAW,aAAa,GAClD,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -9,5 +9,6 @@ interface CardLayoutProps {
9
9
  }
10
10
  export declare function formatPriority(priority: string | undefined): string;
11
11
  export declare function formatAssignee(assignee: string | undefined): string;
12
- export declare function CardLayout({ treeItems, cursor, capabilities, collapsedIds, markedIds, }: CardLayoutProps): import("react/jsx-runtime").JSX.Element | null;
12
+ declare function CardLayoutInner({ treeItems, cursor, capabilities, collapsedIds, markedIds, }: CardLayoutProps): import("react/jsx-runtime").JSX.Element | null;
13
+ export declare const CardLayout: import("react").MemoExoticComponent<typeof CardLayoutInner>;
13
14
  export {};
@@ -1,4 +1,5 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { memo } from 'react';
2
3
  import { Box, Text } from 'ink';
3
4
  export function formatPriority(priority) {
4
5
  if (!priority)
@@ -27,34 +28,73 @@ function statusColor(status) {
27
28
  return 'red';
28
29
  return 'blue';
29
30
  }
30
- export function CardLayout({ treeItems, cursor, capabilities, collapsedIds, markedIds, }) {
31
+ const CardRow = memo(function CardRow({ treeItem, selected, marked, collapseIndicator, capabilities, isLast, }) {
32
+ const { item, depth, isCrossType } = treeItem;
33
+ const indent = ' '.repeat(depth);
34
+ const marker = selected ? '>' : ' ';
35
+ const hasDeps = capabilities.fields.dependsOn && item.dependsOn.length > 0;
36
+ const depIndicator = hasDeps ? ' ⧗' : '';
37
+ const typeLabel = isCrossType ? ` (${item.type})` : '';
38
+ const dimmed = isCrossType && !selected;
39
+ // Indent for meta line: align with title start
40
+ // marker(1) + indent + collapseIndicator(2) + '#'(1) + id + ' '(1) = offset
41
+ const metaIndent = ' ' + indent + ' ' + ' '.repeat(item.id.length + 2);
42
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: isLast ? 0 : 1, ...(marked && !selected ? { backgroundColor: 'cyan' } : {}), children: [_jsx(Box, { children: _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: [marker, indent, collapseIndicator, "#", item.id, " ", item.title, typeLabel, depIndicator] }) }), _jsxs(Box, { children: [_jsx(Text, { color: selected ? 'cyan' : undefined, dimColor: dimmed, children: metaIndent }), _jsx(Text, { color: statusColor(item.status), children: "\u25CF" }), _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: [' ', item.status, capabilities.fields.priority && formatPriority(item.priority)
43
+ ? ' ' + formatPriority(item.priority)
44
+ : '', capabilities.fields.assignee && formatAssignee(item.assignee)
45
+ ? ' ' + formatAssignee(item.assignee)
46
+ : '', capabilities.fields.labels && item.labels.length > 0
47
+ ? ' ' + item.labels.join(', ')
48
+ : ''] })] })] }));
49
+ }, (prev, next) => {
50
+ if (prev.selected !== next.selected)
51
+ return false;
52
+ if (prev.marked !== next.marked)
53
+ return false;
54
+ if (prev.collapseIndicator !== next.collapseIndicator)
55
+ return false;
56
+ if (prev.capabilities !== next.capabilities)
57
+ return false;
58
+ if (prev.isLast !== next.isLast)
59
+ return false;
60
+ const prevItem = prev.treeItem.item;
61
+ const nextItem = next.treeItem.item;
62
+ if (prevItem.id !== nextItem.id)
63
+ return false;
64
+ if (prevItem.status !== nextItem.status)
65
+ return false;
66
+ if (prevItem.title !== nextItem.title)
67
+ return false;
68
+ if (prevItem.priority !== nextItem.priority)
69
+ return false;
70
+ if (prevItem.assignee !== nextItem.assignee)
71
+ return false;
72
+ if (prevItem.type !== nextItem.type)
73
+ return false;
74
+ if (prev.treeItem.depth !== next.treeItem.depth)
75
+ return false;
76
+ if (prev.treeItem.isCrossType !== next.treeItem.isCrossType)
77
+ return false;
78
+ // labels array — compare by joined string
79
+ if (prevItem.labels.join(',') !== nextItem.labels.join(','))
80
+ return false;
81
+ // dependsOn length affects the deps indicator
82
+ if (prevItem.dependsOn.length !== nextItem.dependsOn.length)
83
+ return false;
84
+ return true;
85
+ });
86
+ function CardLayoutInner({ treeItems, cursor, capabilities, collapsedIds, markedIds, }) {
31
87
  if (treeItems.length === 0)
32
88
  return null;
33
89
  return (_jsx(Box, { flexDirection: "column", children: treeItems.map((treeItem, idx) => {
34
- const { item, depth, isCrossType, hasChildren } = treeItem;
35
- const selected = idx === cursor;
36
- const marked = markedIds.has(item.id);
37
- const indent = ' '.repeat(depth);
38
- const marker = selected ? '>' : ' ';
39
- const hasDeps = capabilities.fields.dependsOn && item.dependsOn.length > 0;
40
- const depIndicator = hasDeps ? ' ⧗' : '';
90
+ const { item, hasChildren } = treeItem;
41
91
  const collapseIndicator = hasChildren
42
92
  ? collapsedIds.has(item.id)
43
93
  ? '▶ '
44
94
  : '▼ '
45
95
  : ' ';
46
- const typeLabel = isCrossType ? ` (${item.type})` : '';
47
- const dimmed = isCrossType && !selected;
48
- // Indent for meta line: align with title start
49
- // marker(1) + indent + collapseIndicator(2) + '#'(1) + id + ' '(1) = offset
50
- const metaIndent = ' ' + indent + ' ' + ' '.repeat(item.id.length + 2);
51
- return (_jsxs(Box, { flexDirection: "column", marginBottom: idx < treeItems.length - 1 ? 1 : 0, ...(marked && !selected ? { backgroundColor: 'cyan' } : {}), children: [_jsx(Box, { children: _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: [marker, indent, collapseIndicator, "#", item.id, " ", item.title, typeLabel, depIndicator] }) }), _jsxs(Box, { children: [_jsx(Text, { color: selected ? 'cyan' : undefined, dimColor: dimmed, children: metaIndent }), _jsx(Text, { color: statusColor(item.status), children: "\u25CF" }), _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: [' ', item.status, capabilities.fields.priority && formatPriority(item.priority)
52
- ? ' ' + formatPriority(item.priority)
53
- : '', capabilities.fields.assignee && formatAssignee(item.assignee)
54
- ? ' ' + formatAssignee(item.assignee)
55
- : '', capabilities.fields.labels && item.labels.length > 0
56
- ? ' ' + item.labels.join(', ')
57
- : ''] })] })] }, `${item.id}-${item.type}`));
96
+ return (_jsx(CardRow, { treeItem: treeItem, selected: idx === cursor, marked: markedIds.has(item.id), collapseIndicator: collapseIndicator, capabilities: capabilities, isLast: idx === treeItems.length - 1 }, `${item.id}-${item.type}`));
58
97
  }) }));
59
98
  }
99
+ export const CardLayout = memo(CardLayoutInner);
60
100
  //# sourceMappingURL=CardLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardLayout.js","sourceRoot":"","sources":["../../src/components/CardLayout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CardLayout.js","sourceRoot":"","sources":["../../src/components/CardLayout.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@ interface MultiAutocompleteInputProps {
5
5
  suggestions: string[];
6
6
  focus: boolean;
7
7
  }
8
- export declare function filterSuggestions(value: string, suggestions: string[]): string[];
8
+ export declare function filterSuggestions(value: string, suggestions: string[]): {
9
+ visible: string[];
10
+ totalCount: number;
11
+ };
9
12
  export declare function MultiAutocompleteInput({ value, onChange, onSubmit, suggestions, focus, }: MultiAutocompleteInputProps): import("react/jsx-runtime").JSX.Element;
10
13
  export {};
@@ -31,11 +31,14 @@ export function filterSuggestions(value, suggestions) {
31
31
  // Match if current segment is empty or contained in suggestion
32
32
  return !current || lower.includes(current.toLowerCase());
33
33
  });
34
- return filtered.slice(0, MAX_VISIBLE);
34
+ return {
35
+ visible: filtered.slice(0, MAX_VISIBLE),
36
+ totalCount: filtered.length,
37
+ };
35
38
  }
36
39
  export function MultiAutocompleteInput({ value, onChange, onSubmit, suggestions, focus, }) {
37
40
  const [highlightIndex, setHighlightIndex] = useState(-1);
38
- const visible = filterSuggestions(value, suggestions);
41
+ const { visible, totalCount } = filterSuggestions(value, suggestions);
39
42
  const { prefix } = parseSegments(value);
40
43
  useInput((_input, key) => {
41
44
  if (key.downArrow) {
@@ -61,6 +64,6 @@ export function MultiAutocompleteInput({ value, onChange, onSubmit, suggestions,
61
64
  onChange(prefix + visible[highlightIndex]);
62
65
  }
63
66
  onSubmit();
64
- } }), visible.length > 0 && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: visible.map((suggestion, i) => (_jsxs(Text, { color: i === highlightIndex ? 'cyan' : undefined, bold: i === highlightIndex, children: [i === highlightIndex ? '> ' : ' ', suggestion] }, suggestion))) }))] }));
67
+ } }), visible.length > 0 && (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: visible.map((suggestion, i) => (_jsxs(Text, { color: i === highlightIndex ? 'cyan' : undefined, bold: i === highlightIndex, children: [i === highlightIndex ? '> ' : ' ', suggestion] }, suggestion))) })), totalCount > MAX_VISIBLE && (_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["+", totalCount - MAX_VISIBLE, " more"] }) }))] }));
65
68
  }
66
69
  //# sourceMappingURL=MultiAutocompleteInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiAutocompleteInput.js","sourceRoot":"","sources":["../../src/components/MultiAutocompleteInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiAutocompleteInput.js","sourceRoot":"","sources":["../../src/components/MultiAutocompleteInput.tsx"],"names":[],"mappings":"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"}
@@ -7,4 +7,6 @@ export interface SearchOverlayProps {
7
7
  onCancel: () => void;
8
8
  }
9
9
  export declare function groupResults(results: FuzzyResult[], currentIteration: string | null, maxResults?: number): FuzzyResult[];
10
- export declare function SearchOverlay({ items, currentIteration, onSelect, onCancel, }: SearchOverlayProps): import("react/jsx-runtime").JSX.Element;
10
+ declare function SearchOverlayInner({ items, currentIteration, onSelect, onCancel, }: SearchOverlayProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare const SearchOverlay: import("react").MemoExoticComponent<typeof SearchOverlayInner>;
12
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { useState, useMemo } from 'react';
2
+ import { useState, useMemo, memo } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
4
  import TextInput from 'ink-text-input';
5
5
  import { fuzzyMatch } from './fuzzyMatch.js';
@@ -16,7 +16,7 @@ export function groupResults(results, currentIteration, maxResults = 10) {
16
16
  .sort(sortByScore);
17
17
  return [...current, ...other].slice(0, maxResults);
18
18
  }
19
- export function SearchOverlay({ items, currentIteration, onSelect, onCancel, }) {
19
+ function SearchOverlayInner({ items, currentIteration, onSelect, onCancel, }) {
20
20
  const [query, setQuery] = useState('');
21
21
  const [selectedIndex, setSelectedIndex] = useState(0);
22
22
  const results = useMemo(() => {
@@ -60,4 +60,5 @@ export function SearchOverlay({ items, currentIteration, onSelect, onCancel, })
60
60
  return (_jsxs(Box, { flexDirection: "column", children: [showCurrentHeader && _jsx(Text, { dimColor: true, children: "Current iteration:" }), showOtherHeader && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Other iterations:" }) })), _jsxs(Box, { children: [_jsx(Text, { color: index === selectedIndex ? 'cyan' : undefined, bold: index === selectedIndex, children: index === selectedIndex ? '● ' : ' ' }), _jsx(Box, { width: 8, children: _jsxs(Text, { color: index === selectedIndex ? 'cyan' : 'yellow', children: ["#", result.item.id] }) }), _jsx(Text, { color: index === selectedIndex ? 'cyan' : undefined, children: result.item.title }), result.item.labels.length > 0 && (_jsxs(Text, { dimColor: true, children: [" [", result.item.labels.join(', '), "]"] })), _jsxs(Text, { dimColor: true, children: [" (", result.item.type, ")"] })] })] }, result.item.id));
61
61
  }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "\u2191\u2193 navigate enter select esc cancel" }) })] }));
62
62
  }
63
+ export const SearchOverlay = memo(SearchOverlayInner);
63
64
  //# sourceMappingURL=SearchOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchOverlay.js","sourceRoot":"","sources":["../../src/components/SearchOverlay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAU/D,MAAM,UAAU,YAAY,CAC1B,OAAsB,EACtB,gBAA+B,EAC/B,aAAqB,EAAE;IAEvB,MAAM,WAAW,GAAG,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAE1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,OAAO,GAAG,OAAO;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,gBAAgB,CAAC;SACpD,IAAI,CAAC,WAAW,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,gBAAgB,CAAC;SACpD,IAAI,CAAC,WAAW,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,QAAQ,GACW;IACnB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAErC,gEAAgE;IAChE,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,IAAI,CAAC,gBAAgB;YAAE,OAAO,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC,MAAM,CAAC;IAC7E,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEhC,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE;QAC1C,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,MAAM,EAClB,QAAQ,EAAE,CAAC,aAEX,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,uBACd,GAAG,IACL,EACP,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,IAAI,EACX,WAAW,EAAC,mBAAmB,GAC/B,IACE,EAEL,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CACtB,KAAC,IAAI,IAAC,QAAQ,+DAAgD,CAC/D,EAEA,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAC9C,KAAC,IAAI,IAAC,QAAQ,qCAAsB,CACrC,EAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,iBAAiB,GACrB,gBAAgB,IAAI,qBAAqB,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAC/D,MAAM,eAAe,GACnB,gBAAgB;oBAChB,qBAAqB,GAAG,CAAC;oBACzB,KAAK,KAAK,qBAAqB,CAAC;gBAElC,OAAO,CACL,MAAC,GAAG,IAAsB,aAAa,EAAC,QAAQ,aAC7C,iBAAiB,IAAI,KAAC,IAAI,IAAC,QAAQ,yCAA0B,EAC7D,eAAe,IAAI,CAClB,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,QAAQ,wCAAyB,GACnC,CACP,EACD,MAAC,GAAG,eACF,KAAC,IAAI,IACH,KAAK,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACnD,IAAI,EAAE,KAAK,KAAK,aAAa,YAE5B,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GACjC,EACP,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,kBACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IACX,GACH,EACN,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YACtD,MAAM,CAAC,IAAI,CAAC,KAAK,GACb,EACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,MAAC,IAAI,IAAC,QAAQ,yBAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CACzD,EACD,MAAC,IAAI,IAAC,QAAQ,yBAAI,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,IACvC,KA1BE,MAAM,CAAC,IAAI,CAAC,EAAE,CA2BlB,CACP,CAAC;YACJ,CAAC,CAAC,EAEF,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,QAAQ,oEAA2C,GACrD,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SearchOverlay.js","sourceRoot":"","sources":["../../src/components/SearchOverlay.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ interface TableLayoutProps {
6
6
  capabilities: BackendCapabilities;
7
7
  collapsedIds: Set<string>;
8
8
  markedIds: Set<string>;
9
+ terminalWidth: number;
9
10
  }
10
- export declare function TableLayout({ treeItems, cursor, capabilities, collapsedIds, markedIds, }: TableLayoutProps): import("react/jsx-runtime").JSX.Element;
11
+ declare function TableLayoutInner({ treeItems, cursor, capabilities, collapsedIds, markedIds, terminalWidth, }: TableLayoutProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare const TableLayout: import("react").MemoExoticComponent<typeof TableLayoutInner>;
11
13
  export {};
@@ -1,29 +1,119 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useMemo } from 'react';
2
+ import { memo, useMemo } from 'react';
3
3
  import { Box, Text } from 'ink';
4
- const colStatus = 14;
5
- const colPriority = 10;
6
- const colAssignee = 12;
7
- const colLabels = 16;
8
4
  const gap = 2;
9
- export function TableLayout({ treeItems, cursor, capabilities, collapsedIds, markedIds, }) {
10
- const colId = useMemo(() => {
11
- const maxLen = treeItems.reduce((max, { item }) => Math.max(max, item.id.length), 2);
12
- return maxLen + gap;
13
- }, [treeItems]);
14
- return (_jsxs(_Fragment, { children: [_jsxs(Box, { children: [_jsx(Box, { width: 2, children: _jsx(Text, { children: " " }) }), _jsx(Box, { width: colId, children: _jsx(Text, { bold: true, underline: true, children: "ID" }) }), _jsx(Box, { flexGrow: 1, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Title" }) }), _jsx(Box, { width: colStatus, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Status" }) }), capabilities.fields.priority && (_jsx(Box, { width: colPriority, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Priority" }) })), capabilities.fields.assignee && (_jsx(Box, { width: colAssignee, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Assignee" }) })), capabilities.fields.labels && (_jsx(Box, { width: colLabels, children: _jsx(Text, { bold: true, underline: true, children: "Labels" }) }))] }), treeItems.map((treeItem, idx) => {
15
- const { item, prefix, isCrossType, hasChildren } = treeItem;
16
- const selected = idx === cursor;
17
- const marked = markedIds.has(item.id);
18
- const hasUnresolvedDeps = item.dependsOn.length > 0;
5
+ const MARKER_WIDTH = 2;
6
+ const TITLE_MIN_WIDTH = 20;
7
+ function computeColumnWidths(treeItems, capabilities, terminalWidth) {
8
+ // ID column — sized to longest visible ID
9
+ const maxIdLen = treeItems.reduce((max, { item }) => Math.max(max, item.id.length), 2);
10
+ const id = maxIdLen + gap;
11
+ // Status column always shown, sized to content
12
+ const maxStatusLen = treeItems.reduce((max, { item }) => {
13
+ const depPrefix = capabilities.fields.dependsOn && item.dependsOn.length > 0 ? 2 : 0;
14
+ return Math.max(max, item.status.length + depPrefix);
15
+ }, 6); // min 6 for "Status" header
16
+ const status = maxStatusLen;
17
+ // Available space after marker, ID, status gap, and minimum title
18
+ let available = terminalWidth - MARKER_WIDTH - id - status - gap - TITLE_MIN_WIDTH;
19
+ // Priority — try to fit
20
+ let showPriority = false;
21
+ let priority = 0;
22
+ if (capabilities.fields.priority && available > 0) {
23
+ const maxContent = treeItems.reduce((max, { item }) => Math.max(max, (item.priority || '').length), 8);
24
+ priority = maxContent;
25
+ if (available >= priority + gap) {
26
+ showPriority = true;
27
+ available -= priority + gap;
28
+ }
29
+ }
30
+ // Assignee — try to fit
31
+ let showAssignee = false;
32
+ let assignee = 0;
33
+ if (capabilities.fields.assignee && available > 0) {
34
+ const maxContent = treeItems.reduce((max, { item }) => Math.max(max, (item.assignee || '').length), 8);
35
+ assignee = Math.min(maxContent, 20); // cap at 20
36
+ if (available >= assignee + gap) {
37
+ showAssignee = true;
38
+ available -= assignee + gap;
39
+ }
40
+ }
41
+ // Labels — try to fit
42
+ let showLabels = false;
43
+ let labels = 0;
44
+ if (capabilities.fields.labels && available > 0) {
45
+ const maxContent = treeItems.reduce((max, { item }) => Math.max(max, item.labels.join(', ').length), 6);
46
+ labels = Math.min(maxContent, 24); // cap at 24
47
+ if (available >= labels) {
48
+ showLabels = true;
49
+ }
50
+ }
51
+ return {
52
+ id,
53
+ status,
54
+ priority,
55
+ assignee,
56
+ labels,
57
+ showPriority,
58
+ showAssignee,
59
+ showLabels,
60
+ };
61
+ }
62
+ const TableRow = memo(function TableRow({ treeItem, selected, marked, collapseIndicator, capabilities, columns, }) {
63
+ const { item, prefix, isCrossType } = treeItem;
64
+ const hasUnresolvedDeps = item.dependsOn.length > 0;
65
+ const typeLabel = isCrossType ? ` (${item.type})` : '';
66
+ const dimmed = isCrossType && !selected;
67
+ return (_jsxs(Box, { ...(marked && !selected ? { backgroundColor: 'cyan' } : {}), children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: "cyan", children: selected ? '>' : ' ' }) }), _jsx(Box, { width: columns.id, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: item.id }) }), _jsx(Box, { flexGrow: 1, marginRight: gap, overflowX: "hidden", children: _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, wrap: "truncate", children: [capabilities.relationships ? prefix : '', collapseIndicator, item.title, typeLabel] }) }), _jsx(Box, { width: columns.status, marginRight: gap, overflowX: "hidden", children: _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: [capabilities.fields.dependsOn && hasUnresolvedDeps ? '⧗ ' : '', item.status] }) }), columns.showPriority && (_jsx(Box, { width: columns.priority, marginRight: gap, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: item.priority }) })), columns.showAssignee && (_jsx(Box, { width: columns.assignee, marginRight: gap, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, wrap: "truncate", children: item.assignee }) })), columns.showLabels && (_jsx(Box, { width: columns.labels, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, wrap: "truncate", children: item.labels.join(', ') }) }))] }));
68
+ }, (prev, next) => {
69
+ if (prev.selected !== next.selected)
70
+ return false;
71
+ if (prev.marked !== next.marked)
72
+ return false;
73
+ if (prev.collapseIndicator !== next.collapseIndicator)
74
+ return false;
75
+ if (prev.capabilities !== next.capabilities)
76
+ return false;
77
+ if (prev.columns !== next.columns)
78
+ return false;
79
+ const prevItem = prev.treeItem.item;
80
+ const nextItem = next.treeItem.item;
81
+ if (prevItem.id !== nextItem.id)
82
+ return false;
83
+ if (prevItem.status !== nextItem.status)
84
+ return false;
85
+ if (prevItem.title !== nextItem.title)
86
+ return false;
87
+ if (prevItem.priority !== nextItem.priority)
88
+ return false;
89
+ if (prevItem.assignee !== nextItem.assignee)
90
+ return false;
91
+ if (prev.treeItem.prefix !== next.treeItem.prefix)
92
+ return false;
93
+ if (prev.treeItem.isCrossType !== next.treeItem.isCrossType)
94
+ return false;
95
+ // labels array — compare by joined string
96
+ if (prevItem.labels.join(',') !== nextItem.labels.join(','))
97
+ return false;
98
+ // dependsOn length affects the deps indicator
99
+ if (prevItem.dependsOn.length !== nextItem.dependsOn.length)
100
+ return false;
101
+ // item.type affects typeLabel for cross-type items
102
+ if (prevItem.type !== nextItem.type)
103
+ return false;
104
+ return true;
105
+ });
106
+ function TableLayoutInner({ treeItems, cursor, capabilities, collapsedIds, markedIds, terminalWidth, }) {
107
+ const columns = useMemo(() => computeColumnWidths(treeItems, capabilities, terminalWidth), [treeItems, capabilities, terminalWidth]);
108
+ return (_jsxs(_Fragment, { children: [_jsxs(Box, { children: [_jsx(Box, { width: 2, children: _jsx(Text, { children: " " }) }), _jsx(Box, { width: columns.id, children: _jsx(Text, { bold: true, underline: true, children: "ID" }) }), _jsx(Box, { flexGrow: 1, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Title" }) }), _jsx(Box, { width: columns.status, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Status" }) }), columns.showPriority && (_jsx(Box, { width: columns.priority, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Priority" }) })), columns.showAssignee && (_jsx(Box, { width: columns.assignee, marginRight: gap, children: _jsx(Text, { bold: true, underline: true, children: "Assignee" }) })), columns.showLabels && (_jsx(Box, { width: columns.labels, children: _jsx(Text, { bold: true, underline: true, children: "Labels" }) }))] }), treeItems.map((treeItem, idx) => {
109
+ const { item, hasChildren } = treeItem;
19
110
  const collapseIndicator = hasChildren
20
111
  ? collapsedIds.has(item.id)
21
112
  ? '▶ '
22
113
  : '▼ '
23
114
  : ' ';
24
- const typeLabel = isCrossType ? ` (${item.type})` : '';
25
- const dimmed = isCrossType && !selected;
26
- return (_jsxs(Box, { ...(marked && !selected ? { backgroundColor: 'cyan' } : {}), children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: "cyan", children: selected ? '>' : ' ' }) }), _jsx(Box, { width: colId, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: item.id }) }), _jsx(Box, { flexGrow: 1, marginRight: gap, overflowX: "hidden", children: _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, wrap: "truncate", children: [capabilities.relationships ? prefix : '', collapseIndicator, item.title, typeLabel] }) }), _jsx(Box, { width: colStatus, marginRight: gap, overflowX: "hidden", children: _jsxs(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: [capabilities.fields.dependsOn && hasUnresolvedDeps ? '⧗ ' : '', item.status] }) }), capabilities.fields.priority && (_jsx(Box, { width: colPriority, marginRight: gap, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, children: item.priority }) })), capabilities.fields.assignee && (_jsx(Box, { width: colAssignee, marginRight: gap, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, wrap: "truncate", children: item.assignee }) })), capabilities.fields.labels && (_jsx(Box, { width: colLabels, overflowX: "hidden", children: _jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, dimColor: dimmed, wrap: "truncate", children: item.labels.join(', ') }) }))] }, `${item.id}-${item.type}`));
115
+ return (_jsx(TableRow, { treeItem: treeItem, selected: idx === cursor, marked: markedIds.has(item.id), collapseIndicator: collapseIndicator, capabilities: capabilities, columns: columns }, `${item.id}-${item.type}`));
27
116
  })] }));
28
117
  }
118
+ export const TableLayout = memo(TableLayoutInner);
29
119
  //# sourceMappingURL=TableLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableLayout.js","sourceRoot":"","sources":["../../src/components/TableLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAYhC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,GAAG,GAAG,CAAC,CAAC;AAEd,MAAM,UAAU,WAAW,CAAC,EAC1B,SAAS,EACT,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,GACQ;IACjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAChD,CAAC,CACF,CAAC;QACF,OAAO,MAAM,GAAG,GAAG,CAAC;IACtB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CACL,8BACE,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,oBAAS,GACV,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,YACf,KAAC,IAAI,IAAC,IAAI,QAAC,SAAS,yBAEb,GACH,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,YAChC,KAAC,IAAI,IAAC,IAAI,QAAC,SAAS,4BAEb,GACH,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,YACrC,KAAC,IAAI,IAAC,IAAI,QAAC,SAAS,6BAEb,GACH,EACL,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,CAC/B,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,YACvC,KAAC,IAAI,IAAC,IAAI,QAAC,SAAS,+BAEb,GACH,CACP,EACA,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,CAC/B,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,YACvC,KAAC,IAAI,IAAC,IAAI,QAAC,SAAS,+BAEb,GACH,CACP,EACA,YAAY,CAAC,MAAM,CAAC,MAAM,IAAI,CAC7B,KAAC,GAAG,IAAC,KAAK,EAAE,SAAS,YACnB,KAAC,IAAI,IAAC,IAAI,QAAC,SAAS,6BAEb,GACH,CACP,IACG,EAEL,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;gBAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;gBAC5D,MAAM,QAAQ,GAAG,GAAG,KAAK,MAAM,CAAC;gBAChC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpD,MAAM,iBAAiB,GAAG,WAAW;oBACnC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,IAAI;oBACR,CAAC,CAAC,IAAI,CAAC;gBACT,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,QAAQ,CAAC;gBACxC,OAAO,CACL,MAAC,GAAG,OAEE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAE5D,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,YACX,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,GAC5C,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,QAAQ,YACnC,KAAC,IAAI,IACH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,YAEf,IAAI,CAAC,EAAE,GACH,GACH,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAC,QAAQ,YACpD,MAAC,IAAI,IACH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAC,UAAU,aAEd,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACxC,iBAAiB,EACjB,IAAI,CAAC,KAAK,EACV,SAAS,IACL,GACH,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAC,QAAQ,YACzD,MAAC,IAAI,IACH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,aAEf,YAAY,CAAC,MAAM,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAC9D,IAAI,CAAC,MAAM,IACP,GACH,EACL,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,CAC/B,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAC,QAAQ,YAC3D,KAAC,IAAI,IACH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,YAEf,IAAI,CAAC,QAAQ,GACT,GACH,CACP,EACA,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,CAC/B,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAC,QAAQ,YAC3D,KAAC,IAAI,IACH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAC,UAAU,YAEd,IAAI,CAAC,QAAQ,GACT,GACH,CACP,EACA,YAAY,CAAC,MAAM,CAAC,MAAM,IAAI,CAC7B,KAAC,GAAG,IAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAC,QAAQ,YACvC,KAAC,IAAI,IACH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACpC,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAC,UAAU,YAEd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAClB,GACH,CACP,KAxEI,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAyE1B,CACP,CAAC;YACJ,CAAC,CAAC,IACD,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"TableLayout.js","sourceRoot":"","sources":["../../src/components/TableLayout.tsx"],"names":[],"mappings":"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"}