@brainfile/cli 0.9.2 → 0.10.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +31 -4
  3. package/dist/commands/tui.d.ts +1 -1
  4. package/dist/commands/tui.d.ts.map +1 -1
  5. package/dist/commands/tui.js +8 -2
  6. package/dist/commands/tui.js.map +1 -1
  7. package/dist/tui/BrainfileTUI.d.ts.map +1 -1
  8. package/dist/tui/BrainfileTUI.js +47 -14
  9. package/dist/tui/BrainfileTUI.js.map +1 -1
  10. package/dist/tui/actions.d.ts +32 -2
  11. package/dist/tui/actions.d.ts.map +1 -1
  12. package/dist/tui/actions.js +274 -2
  13. package/dist/tui/actions.js.map +1 -1
  14. package/dist/tui/components/ArchivePanel.d.ts +15 -0
  15. package/dist/tui/components/ArchivePanel.d.ts.map +1 -0
  16. package/dist/tui/components/ArchivePanel.js +114 -0
  17. package/dist/tui/components/ArchivePanel.js.map +1 -0
  18. package/dist/tui/components/HelpOverlay.d.ts.map +1 -1
  19. package/dist/tui/components/HelpOverlay.js +43 -27
  20. package/dist/tui/components/HelpOverlay.js.map +1 -1
  21. package/dist/tui/components/MainPanelTabs.d.ts +9 -0
  22. package/dist/tui/components/MainPanelTabs.d.ts.map +1 -0
  23. package/dist/tui/components/MainPanelTabs.js +37 -0
  24. package/dist/tui/components/MainPanelTabs.js.map +1 -0
  25. package/dist/tui/components/RulesPanel.d.ts +24 -0
  26. package/dist/tui/components/RulesPanel.d.ts.map +1 -0
  27. package/dist/tui/components/RulesPanel.js +125 -0
  28. package/dist/tui/components/RulesPanel.js.map +1 -0
  29. package/dist/tui/components/StatusBar.d.ts +3 -2
  30. package/dist/tui/components/StatusBar.d.ts.map +1 -1
  31. package/dist/tui/components/StatusBar.js +6 -3
  32. package/dist/tui/components/StatusBar.js.map +1 -1
  33. package/dist/tui/components/index.d.ts +6 -0
  34. package/dist/tui/components/index.d.ts.map +1 -1
  35. package/dist/tui/components/index.js +7 -1
  36. package/dist/tui/components/index.js.map +1 -1
  37. package/dist/tui/hooks/useKeyboardNavigation.d.ts.map +1 -1
  38. package/dist/tui/hooks/useKeyboardNavigation.js +508 -190
  39. package/dist/tui/hooks/useKeyboardNavigation.js.map +1 -1
  40. package/dist/tui/index.d.ts +1 -1
  41. package/dist/tui/index.d.ts.map +1 -1
  42. package/dist/tui/theme.d.ts +6 -0
  43. package/dist/tui/theme.d.ts.map +1 -1
  44. package/dist/tui/theme.js +6 -0
  45. package/dist/tui/theme.js.map +1 -1
  46. package/dist/tui/types.d.ts +16 -2
  47. package/dist/tui/types.d.ts.map +1 -1
  48. package/dist/tui/types.js.map +1 -1
  49. package/package.json +1 -1
@@ -8,8 +8,8 @@ const react_1 = __importDefault(require("react"));
8
8
  const ink_1 = require("ink");
9
9
  const theme_js_1 = require("../theme.js");
10
10
  function HelpOverlay({ termWidth, termHeight }) {
11
- const panelWidth = 58;
12
- const panelHeight = 16;
11
+ const panelWidth = 72;
12
+ const panelHeight = 22;
13
13
  // Calculate centering
14
14
  const padTop = Math.max(0, Math.floor((termHeight - panelHeight) / 2));
15
15
  return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", width: termWidth, height: termHeight, alignItems: "center" },
@@ -18,44 +18,60 @@ function HelpOverlay({ termWidth, termHeight }) {
18
18
  react_1.default.createElement(ink_1.Box, { justifyContent: "center", marginBottom: 1 },
19
19
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.text, bold: true }, "KEYBOARD SHORTCUTS")),
20
20
  react_1.default.createElement(ink_1.Box, null,
21
- react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginRight: 3 },
22
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Navigation"),
23
- react_1.default.createElement(HelpRow, { k: "j/k \u2193/\u2191", desc: "Move up/down" }),
24
- react_1.default.createElement(HelpRow, { k: "h/l \u2190/\u2192", desc: "Switch columns" }),
25
- react_1.default.createElement(HelpRow, { k: "g/G", desc: "Top / Bottom" }),
26
- react_1.default.createElement(HelpRow, { k: "^d/^u", desc: "Page down/up" }),
21
+ react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginRight: 2 },
22
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Panels"),
23
+ react_1.default.createElement(HelpRow, { k: "1", desc: "Tasks" }),
24
+ react_1.default.createElement(HelpRow, { k: "2", desc: "Rules" }),
25
+ react_1.default.createElement(HelpRow, { k: "3", desc: "Archive" }),
26
+ react_1.default.createElement(ink_1.Box, { marginTop: 1 },
27
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Navigation")),
28
+ react_1.default.createElement(HelpRow, { k: "j/k", desc: "Up/down" }),
29
+ react_1.default.createElement(HelpRow, { k: "h/l", desc: "Left/right" }),
30
+ react_1.default.createElement(HelpRow, { k: "g/G", desc: "Top/bottom" }),
31
+ react_1.default.createElement(HelpRow, { k: "^d/^u", desc: "Page scroll" }),
27
32
  react_1.default.createElement(ink_1.Box, { marginTop: 1 },
28
33
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "View")),
29
- react_1.default.createElement(HelpRow, { k: "ENTER", desc: "Expand/collapse" }),
30
- react_1.default.createElement(HelpRow, { k: "/", desc: "Search/filter" }),
34
+ react_1.default.createElement(HelpRow, { k: "ENTER", desc: "Expand" }),
35
+ react_1.default.createElement(HelpRow, { k: "/", desc: "Search" }),
31
36
  react_1.default.createElement(HelpRow, { k: "r", desc: "Refresh" }),
32
- react_1.default.createElement(HelpRow, { k: "ESC", desc: "Clear/close" }),
37
+ react_1.default.createElement(HelpRow, { k: "ESC", desc: "Close" })),
38
+ react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginRight: 2 },
39
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Tasks"),
40
+ react_1.default.createElement(HelpRow, { k: "n/N", desc: "New task" }),
41
+ react_1.default.createElement(HelpRow, { k: "e", desc: "Edit" }),
42
+ react_1.default.createElement(HelpRow, { k: "m", desc: "Move" }),
43
+ react_1.default.createElement(HelpRow, { k: "d", desc: "Delete" }),
44
+ react_1.default.createElement(HelpRow, { k: "A", desc: "Archive" }),
45
+ react_1.default.createElement(HelpRow, { k: "p", desc: "Priority" }),
46
+ react_1.default.createElement(HelpRow, { k: "t", desc: "Subtask" }),
47
+ react_1.default.createElement(HelpRow, { k: "y", desc: "Copy ID" }),
33
48
  react_1.default.createElement(ink_1.Box, { marginTop: 1 },
34
49
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Filters")),
35
- react_1.default.createElement(HelpRow, { k: "p:high", desc: "By priority" }),
36
- react_1.default.createElement(HelpRow, { k: "#tag", desc: "By tag" }),
37
- react_1.default.createElement(HelpRow, { k: "@name", desc: "By assignee" }),
38
- react_1.default.createElement(HelpRow, { k: "due:week", desc: "By due date" })),
50
+ react_1.default.createElement(HelpRow, { k: "p:high", desc: "Priority" }),
51
+ react_1.default.createElement(HelpRow, { k: "#tag", desc: "Tag" }),
52
+ react_1.default.createElement(HelpRow, { k: "@name", desc: "Assignee" }),
53
+ react_1.default.createElement(HelpRow, { k: "due:week", desc: "Due date" })),
39
54
  react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
40
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Tasks"),
41
- react_1.default.createElement(HelpRow, { k: "n", desc: "New task (quick)" }),
42
- react_1.default.createElement(HelpRow, { k: "N", desc: "New task (editor)" }),
43
- react_1.default.createElement(HelpRow, { k: "e", desc: "Edit in $EDITOR" }),
44
- react_1.default.createElement(HelpRow, { k: "m", desc: "Move to column" }),
45
- react_1.default.createElement(HelpRow, { k: "d", desc: "Delete task" }),
46
- react_1.default.createElement(HelpRow, { k: "a", desc: "Archive task" }),
47
- react_1.default.createElement(HelpRow, { k: "p", desc: "Cycle priority" }),
48
- react_1.default.createElement(HelpRow, { k: "t", desc: "Toggle subtask" }),
49
- react_1.default.createElement(HelpRow, { k: "y", desc: "Copy task ID" }),
55
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Rules"),
56
+ react_1.default.createElement(HelpRow, { k: "h/l", desc: "Rule type" }),
57
+ react_1.default.createElement(HelpRow, { k: "n", desc: "New rule" }),
58
+ react_1.default.createElement(HelpRow, { k: "e", desc: "Edit rule" }),
59
+ react_1.default.createElement(HelpRow, { k: "d", desc: "Delete rule" }),
60
+ react_1.default.createElement(ink_1.Box, { marginTop: 1 },
61
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Archive")),
62
+ react_1.default.createElement(HelpRow, { k: "R", desc: "Restore" }),
63
+ react_1.default.createElement(HelpRow, { k: "d", desc: "Delete" }),
64
+ react_1.default.createElement(HelpRow, { k: "ENTER", desc: "Expand" }),
50
65
  react_1.default.createElement(ink_1.Box, { marginTop: 1 },
51
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Quit")),
66
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, "Global")),
67
+ react_1.default.createElement(HelpRow, { k: "?", desc: "Help" }),
52
68
  react_1.default.createElement(HelpRow, { k: "q/^c", desc: "Exit" }))),
53
69
  react_1.default.createElement(ink_1.Box, { justifyContent: "center", marginTop: 1 },
54
70
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted }, "press any key to close")))));
55
71
  }
56
72
  function HelpRow({ k, desc }) {
57
73
  return (react_1.default.createElement(ink_1.Box, null,
58
- react_1.default.createElement(ink_1.Box, { width: 10 },
74
+ react_1.default.createElement(ink_1.Box, { width: 9 },
59
75
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.text }, k)),
60
76
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, desc)));
61
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HelpOverlay.js","sourceRoot":"","sources":["../../../src/tui/components/HelpOverlay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HelpOverlay.js","sourceRoot":"","sources":["../../../src/tui/components/HelpOverlay.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { MainPanel } from '../types.js';
3
+ export interface MainPanelTabsProps {
4
+ activePanel: MainPanel;
5
+ rulesCount: number;
6
+ archiveCount: number;
7
+ }
8
+ export declare function MainPanelTabs({ activePanel, rulesCount, archiveCount }: MainPanelTabsProps): React.JSX.Element;
9
+ //# sourceMappingURL=MainPanelTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainPanelTabs.d.ts","sourceRoot":"","sources":["../../../src/tui/components/MainPanelTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AA0CD,wBAAgB,aAAa,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,kBAAkB,qBAsB1F"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MainPanelTabs = MainPanelTabs;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ink_1 = require("ink");
9
+ const theme_js_1 = require("../theme.js");
10
+ function Tab({ label, shortcut, isActive, count }) {
11
+ // Match ColumnTabs visual style exactly
12
+ if (isActive) {
13
+ return (react_1.default.createElement(ink_1.Box, { marginRight: 1 },
14
+ react_1.default.createElement(ink_1.Text, null,
15
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent }, "\u258C"),
16
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.text, bold: true, backgroundColor: theme_js_1.PALETTE.bgHighlight },
17
+ ` `,
18
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent }, shortcut),
19
+ ` ${label} `),
20
+ count !== undefined && count > 0 && (react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent, bold: true }, ` (${count})`)))));
21
+ }
22
+ return (react_1.default.createElement(ink_1.Box, { marginRight: 1 },
23
+ react_1.default.createElement(ink_1.Text, null,
24
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, ' '),
25
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted },
26
+ ` `,
27
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, shortcut),
28
+ ` ${label} `),
29
+ count !== undefined && count > 0 && (react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim }, ` (${count})`)))));
30
+ }
31
+ function MainPanelTabs({ activePanel, rulesCount, archiveCount }) {
32
+ return (react_1.default.createElement(ink_1.Box, { paddingLeft: 1, paddingRight: 1, marginTop: 1 },
33
+ react_1.default.createElement(Tab, { label: "Tasks", shortcut: "1", isActive: activePanel === 'tasks' }),
34
+ react_1.default.createElement(Tab, { label: "Rules", shortcut: "2", isActive: activePanel === 'rules', count: rulesCount }),
35
+ react_1.default.createElement(Tab, { label: "Archive", shortcut: "3", isActive: activePanel === 'archive', count: archiveCount })));
36
+ }
37
+ //# sourceMappingURL=MainPanelTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainPanelTabs.js","sourceRoot":"","sources":["../../../src/tui/components/MainPanelTabs.tsx"],"names":[],"mappings":";;;;;AAmDA,sCAsBC;AAzED,kDAA0B;AAC1B,6BAAgC;AAChC,0CAAsC;AAgBtC,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAY;IACzD,wCAAwC;IACxC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,8BAAC,SAAG,IAAC,WAAW,EAAE,CAAC;YACjB,8BAAC,UAAI;gBACH,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,aAAU;gBACrC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,IAAI,EAAE,IAAI,QAAC,eAAe,EAAE,kBAAO,CAAC,WAAW;oBACjE,GAAG;oBAAC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,IAAG,QAAQ,CAAQ;oBAAC,IAAI,KAAK,GAAG,CAC3D;gBACN,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,CACnC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,EAAE,IAAI,UAAE,KAAK,KAAK,GAAG,CAAQ,CACzD,CACI,CACH,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BAAC,SAAG,IAAC,WAAW,EAAE,CAAC;QACjB,8BAAC,UAAI;YACH,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,IAAG,GAAG,CAAQ;YAC1C,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS;gBAC3B,GAAG;gBAAC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,IAAG,QAAQ,CAAQ;gBAAC,IAAI,KAAK,GAAG,CAC5D;YACN,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,IAAI,CACnC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,IAAG,KAAK,KAAK,GAAG,CAAQ,CACrD,CACI,CACH,CACP,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAsB;IACzF,OAAO,CACL,8BAAC,SAAG,IAAC,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;QAChD,8BAAC,GAAG,IACF,KAAK,EAAC,OAAO,EACb,QAAQ,EAAC,GAAG,EACZ,QAAQ,EAAE,WAAW,KAAK,OAAO,GACjC;QACF,8BAAC,GAAG,IACF,KAAK,EAAC,OAAO,EACb,QAAQ,EAAC,GAAG,EACZ,QAAQ,EAAE,WAAW,KAAK,OAAO,EACjC,KAAK,EAAE,UAAU,GACjB;QACF,8BAAC,GAAG,IACF,KAAK,EAAC,SAAS,EACf,QAAQ,EAAC,GAAG,EACZ,QAAQ,EAAE,WAAW,KAAK,SAAS,EACnC,KAAK,EAAE,YAAY,GACnB,CACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import type { RuleType } from '../types.js';
3
+ interface Rule {
4
+ id: number;
5
+ rule: string;
6
+ }
7
+ interface Rules {
8
+ always?: Rule[];
9
+ never?: Rule[];
10
+ prefer?: Rule[];
11
+ context?: Rule[];
12
+ }
13
+ export interface RulesPanelProps {
14
+ rules: Rules | undefined;
15
+ activeRuleType: RuleType;
16
+ selectedRuleIndex: number;
17
+ viewportHeight: number;
18
+ termWidth: number;
19
+ mode: string;
20
+ editText?: string;
21
+ }
22
+ export declare function RulesPanel({ rules, activeRuleType, selectedRuleIndex, viewportHeight, termWidth, mode, editText, }: RulesPanelProps): React.JSX.Element;
23
+ export {};
24
+ //# sourceMappingURL=RulesPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RulesPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/RulesPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkBD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,IAAI,EACJ,QAAQ,GACT,EAAE,eAAe,qBAoIjB"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RulesPanel = RulesPanel;
7
+ const react_1 = __importDefault(require("react"));
8
+ const ink_1 = require("ink");
9
+ const theme_js_1 = require("../theme.js");
10
+ const utils_js_1 = require("../utils.js");
11
+ const RULE_TYPES = ['always', 'never', 'prefer', 'context'];
12
+ const RULE_TYPE_LABELS = {
13
+ always: 'Always',
14
+ never: 'Never',
15
+ prefer: 'Prefer',
16
+ context: 'Context',
17
+ };
18
+ const RULE_TYPE_COLORS = {
19
+ always: theme_js_1.PALETTE.success,
20
+ never: theme_js_1.PALETTE.error,
21
+ prefer: theme_js_1.PALETTE.warning,
22
+ context: theme_js_1.PALETTE.accent,
23
+ };
24
+ function RulesPanel({ rules, activeRuleType, selectedRuleIndex, viewportHeight, termWidth, mode, editText, }) {
25
+ const currentRules = rules?.[activeRuleType] || [];
26
+ const maxWidth = Math.max(termWidth - 8, 20);
27
+ // Calculate scroll offset for rules list
28
+ const scrollPadding = 2;
29
+ const visibleRules = Math.max(viewportHeight - 8, 3); // Reserve space for tabs and footer
30
+ let scrollOffset = 0;
31
+ if (selectedRuleIndex >= visibleRules - scrollPadding) {
32
+ scrollOffset = Math.min(selectedRuleIndex - visibleRules + scrollPadding + 1, Math.max(0, currentRules.length - visibleRules));
33
+ }
34
+ return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", paddingX: 1 },
35
+ react_1.default.createElement(ink_1.Box, { marginBottom: 1 }, RULE_TYPES.map((type, idx) => {
36
+ const count = rules?.[type]?.length || 0;
37
+ const isActive = type === activeRuleType;
38
+ return (react_1.default.createElement(ink_1.Box, { key: type, marginRight: 2 },
39
+ react_1.default.createElement(ink_1.Text, { color: isActive ? RULE_TYPE_COLORS[type] : theme_js_1.PALETTE.textMuted, bold: isActive, inverse: isActive },
40
+ ' ',
41
+ RULE_TYPE_LABELS[type],
42
+ count > 0 && react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary },
43
+ " (",
44
+ count,
45
+ ")"),
46
+ ' '),
47
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim },
48
+ " [",
49
+ idx + 1,
50
+ "]")));
51
+ })),
52
+ react_1.default.createElement(ink_1.Box, { marginBottom: 1 },
53
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted },
54
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "h/l"),
55
+ " switch type",
56
+ ' ',
57
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "j/k"),
58
+ " select",
59
+ ' ',
60
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "n"),
61
+ " new",
62
+ ' ',
63
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "e"),
64
+ " edit",
65
+ ' ',
66
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "d"),
67
+ " delete")),
68
+ react_1.default.createElement(ink_1.Box, null,
69
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.border }, theme_js_1.BOX.horizontal.repeat(Math.max(1, termWidth - 4)))),
70
+ (mode === 'rule-add' || mode === 'rule-edit') && (react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginY: 1 },
71
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent }, mode === 'rule-add' ? 'New rule:' : 'Edit rule:'),
72
+ react_1.default.createElement(ink_1.Box, { marginTop: 0 },
73
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.text, backgroundColor: theme_js_1.PALETTE.bgHighlight },
74
+ ' ',
75
+ editText || ' ',
76
+ theme_js_1.ICONS.cursor,
77
+ ' ')),
78
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted, dimColor: true }, "Enter to save, Esc to cancel"))),
79
+ mode === 'rule-delete-confirm' && currentRules[selectedRuleIndex] && (react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginY: 1, paddingX: 1 },
80
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.error, bold: true },
81
+ "Delete this ",
82
+ activeRuleType,
83
+ " rule?"),
84
+ react_1.default.createElement(ink_1.Box, { marginTop: 1 },
85
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary },
86
+ "#",
87
+ currentRules[selectedRuleIndex].id,
88
+ ": ",
89
+ (0, utils_js_1.truncate)(currentRules[selectedRuleIndex].rule, maxWidth - 10))),
90
+ react_1.default.createElement(ink_1.Box, { marginTop: 1 },
91
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted },
92
+ "Press ",
93
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.success }, "y"),
94
+ " to confirm, ",
95
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.error }, "n"),
96
+ " to cancel")))),
97
+ mode !== 'rule-add' && mode !== 'rule-edit' && mode !== 'rule-delete-confirm' && (react_1.default.createElement(ink_1.Box, { flexDirection: "column", marginTop: 1 },
98
+ currentRules.length === 0 ? (react_1.default.createElement(ink_1.Box, { paddingY: 1 },
99
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted },
100
+ "No ",
101
+ activeRuleType,
102
+ " rules defined. Press ",
103
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.accent }, "n"),
104
+ " to add one."))) : (currentRules.slice(scrollOffset, scrollOffset + visibleRules).map((rule, displayIdx) => {
105
+ const actualIdx = scrollOffset + displayIdx;
106
+ const isSelected = actualIdx === selectedRuleIndex;
107
+ return (react_1.default.createElement(ink_1.Box, { key: rule.id, paddingY: 0 },
108
+ react_1.default.createElement(ink_1.Text, { color: isSelected ? theme_js_1.PALETTE.text : theme_js_1.PALETTE.textSecondary, backgroundColor: isSelected ? theme_js_1.PALETTE.bgHighlight : undefined, bold: isSelected },
109
+ isSelected ? theme_js_1.ICONS.pointer : ' ',
110
+ ' ',
111
+ react_1.default.createElement(ink_1.Text, { color: RULE_TYPE_COLORS[activeRuleType] },
112
+ "#",
113
+ rule.id),
114
+ ' ',
115
+ (0, utils_js_1.truncate)(rule.rule, maxWidth - 8))));
116
+ })),
117
+ currentRules.length > visibleRules && (react_1.default.createElement(ink_1.Box, { marginTop: 1 },
118
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textDim },
119
+ scrollOffset + 1,
120
+ "-",
121
+ Math.min(scrollOffset + visibleRules, currentRules.length),
122
+ " of ",
123
+ currentRules.length)))))));
124
+ }
125
+ //# sourceMappingURL=RulesPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RulesPanel.js","sourceRoot":"","sources":["../../../src/tui/components/RulesPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { ViewMode } from '../types.js';
2
+ import type { ViewMode, MainPanel } from '../types.js';
3
3
  export interface StatusBarProps {
4
4
  mode: ViewMode;
5
5
  columnName: string;
@@ -7,6 +7,7 @@ export interface StatusBarProps {
7
7
  taskCount: number;
8
8
  termWidth: number;
9
9
  isWatching?: boolean;
10
+ activePanel?: MainPanel;
10
11
  }
11
- export declare function StatusBar({ mode, columnName, taskIndex, taskCount, termWidth, isWatching }: StatusBarProps): React.JSX.Element;
12
+ export declare function StatusBar({ mode, columnName, taskIndex, taskCount, termWidth, isWatching, activePanel }: StatusBarProps): React.JSX.Element;
12
13
  //# sourceMappingURL=StatusBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAiB,EAAE,EAAE,cAAc,qBAyDjH"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAiB,EAAE,WAAqB,EAAE,EAAE,cAAc,qBAgExI"}
@@ -7,15 +7,18 @@ exports.StatusBar = StatusBar;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const ink_1 = require("ink");
9
9
  const theme_js_1 = require("../theme.js");
10
- function StatusBar({ mode, columnName, taskIndex, taskCount, termWidth, isWatching = true }) {
10
+ function StatusBar({ mode, columnName, taskIndex, taskCount, termWidth, isWatching = true, activePanel = 'tasks' }) {
11
+ // Determine TAB hint based on panel
12
+ const tabHint = activePanel === 'tasks' ? ' column ' : activePanel === 'rules' ? ' type ' : null;
11
13
  // Left section: essential commands with subtle styling
12
14
  const leftCommands = mode === 'search' ? (react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted },
13
15
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.warning }, "ESC"),
14
16
  react_1.default.createElement(ink_1.Text, null, ' cancel'))) : (react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted },
15
17
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "?"),
16
18
  react_1.default.createElement(ink_1.Text, null, ' help '),
17
- react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "TAB"),
18
- react_1.default.createElement(ink_1.Text, null, ' column '),
19
+ tabHint && (react_1.default.createElement(react_1.default.Fragment, null,
20
+ react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "TAB"),
21
+ react_1.default.createElement(ink_1.Text, null, tabHint))),
19
22
  react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, "q"),
20
23
  react_1.default.createElement(ink_1.Text, null, ' quit')));
21
24
  // Middle section: column and position
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":";;;;;AAcA,8BAyDC;AAvED,kDAA0B;AAC1B,6BAAgC;AAChC,0CAA6C;AAY7C,SAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,EAAkB;IAChH,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACvC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS;QAC5B,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,UAAY;QACxC,8BAAC,UAAI,QAAE,SAAS,CAAQ,CACnB,CACR,CAAC,CAAC,CAAC,CACF,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS;QAC5B,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,QAAU;QAC5C,8BAAC,UAAI,QAAE,SAAS,CAAQ;QACxB,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,UAAY;QAC9C,8BAAC,UAAI,QAAE,WAAW,CAAQ;QAC1B,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,QAAU;QAC5C,8BAAC,UAAI,QAAE,OAAO,CAAQ,CACjB,CACR,CAAC;IAEF,sCAAsC;IACtC,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpE,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,SAAS;QAE1C,8BAAC,SAAG,IAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;YAEvD,YAAY;YAGb,8BAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;YAGnB,UAAU,CAAC,CAAC,CAAC,CACZ,8BAAC,UAAI;gBACH,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,IAAG,UAAU,CAAC,WAAW,EAAE,CAAQ;gBACpE,QAAQ,CAAC,CAAC,CAAC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,EAAE,IAAI,UAAE,IAAI,QAAQ,EAAE,CAAQ,CAAC,CAAC,CAAC,IAAI,CACvE,CACR,CAAC,CAAC,CAAC,IAAI;YAGR,8BAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;YAGnB,UAAU,CAAC,CAAC,CAAC,CACZ,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO;gBAC1B,8BAAC,UAAI,QAAE,gBAAK,CAAC,IAAI,CAAQ;gBACzB,8BAAC,UAAI,IAAC,QAAQ,UAAE,OAAO,CAAQ,CAC1B,CACR,CAAC,CAAC,CAAC,IAAI,CACJ;QAGN,8BAAC,SAAG,IAAC,WAAW,EAAE,CAAC;YACjB,8BAAC,UAAI,QAAE,GAAG,CAAQ,CACd,CACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":";;;;;AAeA,8BAgEC;AA/ED,kDAA0B;AAC1B,6BAAgC;AAChC,0CAA6C;AAa7C,SAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,EAAE,WAAW,GAAG,OAAO,EAAkB;IACvI,oCAAoC;IACpC,MAAM,OAAO,GAAG,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnG,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACvC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS;QAC5B,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO,UAAY;QACxC,8BAAC,UAAI,QAAE,SAAS,CAAQ,CACnB,CACR,CAAC,CAAC,CAAC,CACF,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,SAAS;QAC5B,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,QAAU;QAC5C,8BAAC,UAAI,QAAE,SAAS,CAAQ;QACvB,OAAO,IAAI,CACV;YACE,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,UAAY;YAC9C,8BAAC,UAAI,QAAE,OAAO,CAAQ,CACrB,CACJ;QACD,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,QAAU;QAC5C,8BAAC,UAAI,QAAE,OAAO,CAAQ,CACjB,CACR,CAAC;IAEF,sCAAsC;IACtC,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAEpE,OAAO,CACL,8BAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,SAAS;QAE1C,8BAAC,SAAG,IAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;YAEvD,YAAY;YAGb,8BAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;YAGnB,UAAU,CAAC,CAAC,CAAC,CACZ,8BAAC,UAAI;gBACH,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,aAAa,IAAG,UAAU,CAAC,WAAW,EAAE,CAAQ;gBACpE,QAAQ,CAAC,CAAC,CAAC,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,MAAM,EAAE,IAAI,UAAE,IAAI,QAAQ,EAAE,CAAQ,CAAC,CAAC,CAAC,IAAI,CACvE,CACR,CAAC,CAAC,CAAC,IAAI;YAGR,8BAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;YAGnB,UAAU,CAAC,CAAC,CAAC,CACZ,8BAAC,UAAI,IAAC,KAAK,EAAE,kBAAO,CAAC,OAAO;gBAC1B,8BAAC,UAAI,QAAE,gBAAK,CAAC,IAAI,CAAQ;gBACzB,8BAAC,UAAI,IAAC,QAAQ,UAAE,OAAO,CAAQ,CAC1B,CACR,CAAC,CAAC,CAAC,IAAI,CACJ;QAGN,8BAAC,SAAG,IAAC,WAAW,EAAE,CAAC;YACjB,8BAAC,UAAI,QAAE,GAAG,CAAQ,CACd,CACF,CACP,CAAC;AACJ,CAAC"}
@@ -16,4 +16,10 @@ export { HelpOverlay } from './HelpOverlay.js';
16
16
  export type { HelpOverlayProps } from './HelpOverlay.js';
17
17
  export { StatusMessageDisplay, MoveOverlay, DeleteConfirmOverlay, SubtaskOverlay, NewTaskOverlay, } from './Overlays.js';
18
18
  export type { StatusMessageProps, MoveOverlayProps, DeleteConfirmOverlayProps, SubtaskOverlayProps, NewTaskOverlayProps, } from './Overlays.js';
19
+ export { MainPanelTabs } from './MainPanelTabs.js';
20
+ export type { MainPanelTabsProps } from './MainPanelTabs.js';
21
+ export { RulesPanel } from './RulesPanel.js';
22
+ export type { RulesPanelProps } from './RulesPanel.js';
23
+ export { ArchivePanel } from './ArchivePanel.js';
24
+ export type { ArchivePanelProps } from './ArchivePanel.js';
19
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NewTaskOverlay = exports.SubtaskOverlay = exports.DeleteConfirmOverlay = exports.MoveOverlay = exports.StatusMessageDisplay = exports.HelpOverlay = exports.StatusBar = exports.TaskList = exports.TaskCard = exports.ColumnTabs = exports.SearchBar = exports.ProgressBar = exports.Header = void 0;
3
+ exports.ArchivePanel = exports.RulesPanel = exports.MainPanelTabs = exports.NewTaskOverlay = exports.SubtaskOverlay = exports.DeleteConfirmOverlay = exports.MoveOverlay = exports.StatusMessageDisplay = exports.HelpOverlay = exports.StatusBar = exports.TaskList = exports.TaskCard = exports.ColumnTabs = exports.SearchBar = exports.ProgressBar = exports.Header = void 0;
4
4
  var Header_js_1 = require("./Header.js");
5
5
  Object.defineProperty(exports, "Header", { enumerable: true, get: function () { return Header_js_1.Header; } });
6
6
  var ProgressBar_js_1 = require("./ProgressBar.js");
@@ -23,4 +23,10 @@ Object.defineProperty(exports, "MoveOverlay", { enumerable: true, get: function
23
23
  Object.defineProperty(exports, "DeleteConfirmOverlay", { enumerable: true, get: function () { return Overlays_js_1.DeleteConfirmOverlay; } });
24
24
  Object.defineProperty(exports, "SubtaskOverlay", { enumerable: true, get: function () { return Overlays_js_1.SubtaskOverlay; } });
25
25
  Object.defineProperty(exports, "NewTaskOverlay", { enumerable: true, get: function () { return Overlays_js_1.NewTaskOverlay; } });
26
+ var MainPanelTabs_js_1 = require("./MainPanelTabs.js");
27
+ Object.defineProperty(exports, "MainPanelTabs", { enumerable: true, get: function () { return MainPanelTabs_js_1.MainPanelTabs; } });
28
+ var RulesPanel_js_1 = require("./RulesPanel.js");
29
+ Object.defineProperty(exports, "RulesPanel", { enumerable: true, get: function () { return RulesPanel_js_1.RulesPanel; } });
30
+ var ArchivePanel_js_1 = require("./ArchivePanel.js");
31
+ Object.defineProperty(exports, "ArchivePanel", { enumerable: true, get: function () { return ArchivePanel_js_1.ArchivePanel; } });
26
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AAGf,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAGnB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,6CAMuB;AALrB,mHAAA,oBAAoB,OAAA;AACpB,0GAAA,WAAW,OAAA;AACX,mHAAA,oBAAoB,OAAA;AACpB,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tui/components/index.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AAGf,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAGnB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAGlB,mDAA+C;AAAtC,6GAAA,WAAW,OAAA;AAGpB,6CAMuB;AALrB,mHAAA,oBAAoB,OAAA;AACpB,0GAAA,WAAW,OAAA;AACX,mHAAA,oBAAoB,OAAA;AACpB,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA;AAUhB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAGtB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AAGnB,qDAAiD;AAAxC,+GAAA,YAAY,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useKeyboardNavigation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAiB,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAa5C,UAAU,0BAA0B;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAyBD,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,UAAU,GACX,EAAE,0BAA0B,QA8a5B"}
1
+ {"version":3,"file":"useKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useKeyboardNavigation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAiB,WAAW,EAAuB,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAqB5C,UAAU,0BAA0B;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,YAAY,EAAE,IAAI,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAyBD,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,UAAU,GACX,EAAE,0BAA0B,QAwvB5B"}