epoch-tui 0.1.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 (147) hide show
  1. package/dist/App.d.ts +3 -0
  2. package/dist/App.js +38 -0
  3. package/dist/components/calendar/CalendarPane.d.ts +2 -0
  4. package/dist/components/calendar/CalendarPane.js +91 -0
  5. package/dist/components/calendar/DayCell.d.ts +7 -0
  6. package/dist/components/calendar/DayCell.js +26 -0
  7. package/dist/components/calendar/MonthView.d.ts +7 -0
  8. package/dist/components/calendar/MonthView.js +10 -0
  9. package/dist/components/common/BorderedBox.d.ts +18 -0
  10. package/dist/components/common/BorderedBox.js +29 -0
  11. package/dist/components/common/ClearTimelineDialog.d.ts +2 -0
  12. package/dist/components/common/ClearTimelineDialog.js +33 -0
  13. package/dist/components/common/FullscreenBackground.d.ts +11 -0
  14. package/dist/components/common/FullscreenBackground.js +12 -0
  15. package/dist/components/common/HelpDialog.d.ts +2 -0
  16. package/dist/components/common/HelpDialog.js +40 -0
  17. package/dist/components/common/Modal.d.ts +10 -0
  18. package/dist/components/common/Modal.js +15 -0
  19. package/dist/components/common/Separator.d.ts +8 -0
  20. package/dist/components/common/Separator.js +10 -0
  21. package/dist/components/common/ThemeDialog.d.ts +2 -0
  22. package/dist/components/common/ThemeDialog.js +117 -0
  23. package/dist/components/common/ThemedScreen.d.ts +22 -0
  24. package/dist/components/common/ThemedScreen.js +36 -0
  25. package/dist/components/common/ThemedText.d.ts +11 -0
  26. package/dist/components/common/ThemedText.js +20 -0
  27. package/dist/components/layout/Pane.d.ts +12 -0
  28. package/dist/components/layout/Pane.js +10 -0
  29. package/dist/components/layout/ThreeColumnLayout.d.ts +13 -0
  30. package/dist/components/layout/ThreeColumnLayout.js +22 -0
  31. package/dist/components/overview/OverviewScreen.d.ts +2 -0
  32. package/dist/components/overview/OverviewScreen.js +138 -0
  33. package/dist/components/tasks/TaskHeader.d.ts +7 -0
  34. package/dist/components/tasks/TaskHeader.js +8 -0
  35. package/dist/components/tasks/TaskItem.d.ts +10 -0
  36. package/dist/components/tasks/TaskItem.js +25 -0
  37. package/dist/components/tasks/TaskList.d.ts +11 -0
  38. package/dist/components/tasks/TaskList.js +11 -0
  39. package/dist/components/tasks/TasksPane.d.ts +2 -0
  40. package/dist/components/tasks/TasksPane.js +410 -0
  41. package/dist/components/timeline/TimelineEntry.d.ts +9 -0
  42. package/dist/components/timeline/TimelineEntry.js +26 -0
  43. package/dist/components/timeline/TimelinePane.d.ts +2 -0
  44. package/dist/components/timeline/TimelinePane.js +78 -0
  45. package/dist/contexts/AppContext.d.ts +47 -0
  46. package/dist/contexts/AppContext.js +104 -0
  47. package/dist/contexts/StorageContext.d.ts +15 -0
  48. package/dist/contexts/StorageContext.js +83 -0
  49. package/dist/contexts/ThemeContext.d.ts +15 -0
  50. package/dist/contexts/ThemeContext.js +44 -0
  51. package/dist/hooks/useKeyboardNav.d.ts +1 -0
  52. package/dist/hooks/useKeyboardNav.js +89 -0
  53. package/dist/hooks/useTerminalSize.d.ts +9 -0
  54. package/dist/hooks/useTerminalSize.js +34 -0
  55. package/dist/index.d.ts +2 -0
  56. package/dist/index.js +8 -0
  57. package/dist/services/calendarService.d.ts +18 -0
  58. package/dist/services/calendarService.js +57 -0
  59. package/dist/services/storage.d.ts +14 -0
  60. package/dist/services/storage.js +130 -0
  61. package/dist/services/taskService.d.ts +17 -0
  62. package/dist/services/taskService.js +106 -0
  63. package/dist/services/timelineService.d.ts +25 -0
  64. package/dist/services/timelineService.js +78 -0
  65. package/dist/themes/amazon.d.ts +2 -0
  66. package/dist/themes/amazon.js +37 -0
  67. package/dist/themes/amazonLight.d.ts +2 -0
  68. package/dist/themes/amazonLight.js +38 -0
  69. package/dist/themes/apple.d.ts +2 -0
  70. package/dist/themes/apple.js +38 -0
  71. package/dist/themes/appleLight.d.ts +2 -0
  72. package/dist/themes/appleLight.js +38 -0
  73. package/dist/themes/atomOneDark.d.ts +2 -0
  74. package/dist/themes/atomOneDark.js +37 -0
  75. package/dist/themes/atomOneLight.d.ts +2 -0
  76. package/dist/themes/atomOneLight.js +38 -0
  77. package/dist/themes/batman.d.ts +2 -0
  78. package/dist/themes/batman.js +37 -0
  79. package/dist/themes/catppuccin.d.ts +2 -0
  80. package/dist/themes/catppuccin.js +37 -0
  81. package/dist/themes/catppuccinLatte.d.ts +2 -0
  82. package/dist/themes/catppuccinLatte.js +38 -0
  83. package/dist/themes/claude.d.ts +2 -0
  84. package/dist/themes/claude.js +48 -0
  85. package/dist/themes/claudeCode.d.ts +2 -0
  86. package/dist/themes/claudeCode.js +47 -0
  87. package/dist/themes/cursor.d.ts +2 -0
  88. package/dist/themes/cursor.js +38 -0
  89. package/dist/themes/cursorLight.d.ts +2 -0
  90. package/dist/themes/cursorLight.js +38 -0
  91. package/dist/themes/dark.d.ts +2 -0
  92. package/dist/themes/dark.js +38 -0
  93. package/dist/themes/githubDark.d.ts +2 -0
  94. package/dist/themes/githubDark.js +37 -0
  95. package/dist/themes/githubLight.d.ts +2 -0
  96. package/dist/themes/githubLight.js +38 -0
  97. package/dist/themes/index.d.ts +9 -0
  98. package/dist/themes/index.js +83 -0
  99. package/dist/themes/instagram.d.ts +2 -0
  100. package/dist/themes/instagram.js +37 -0
  101. package/dist/themes/instagramLight.d.ts +2 -0
  102. package/dist/themes/instagramLight.js +38 -0
  103. package/dist/themes/intellij.d.ts +2 -0
  104. package/dist/themes/intellij.js +37 -0
  105. package/dist/themes/intellijLight.d.ts +2 -0
  106. package/dist/themes/intellijLight.js +38 -0
  107. package/dist/themes/light.d.ts +2 -0
  108. package/dist/themes/light.js +38 -0
  109. package/dist/themes/nord.d.ts +2 -0
  110. package/dist/themes/nord.js +37 -0
  111. package/dist/themes/nordLight.d.ts +2 -0
  112. package/dist/themes/nordLight.js +38 -0
  113. package/dist/themes/postman.d.ts +2 -0
  114. package/dist/themes/postman.js +37 -0
  115. package/dist/themes/postmanLight.d.ts +2 -0
  116. package/dist/themes/postmanLight.js +38 -0
  117. package/dist/themes/spiderman.d.ts +2 -0
  118. package/dist/themes/spiderman.js +37 -0
  119. package/dist/themes/terminal.d.ts +2 -0
  120. package/dist/themes/terminal.js +37 -0
  121. package/dist/themes/ubuntu.d.ts +2 -0
  122. package/dist/themes/ubuntu.js +37 -0
  123. package/dist/themes/ubuntuLight.d.ts +2 -0
  124. package/dist/themes/ubuntuLight.js +38 -0
  125. package/dist/themes/x.d.ts +2 -0
  126. package/dist/themes/x.js +38 -0
  127. package/dist/themes/xLight.d.ts +2 -0
  128. package/dist/themes/xLight.js +38 -0
  129. package/dist/types/calendar.d.ts +19 -0
  130. package/dist/types/calendar.js +1 -0
  131. package/dist/types/storage.d.ts +21 -0
  132. package/dist/types/storage.js +1 -0
  133. package/dist/types/task.d.ts +21 -0
  134. package/dist/types/task.js +1 -0
  135. package/dist/types/theme.d.ts +38 -0
  136. package/dist/types/theme.js +1 -0
  137. package/dist/types/timeline.d.ts +23 -0
  138. package/dist/types/timeline.js +9 -0
  139. package/dist/utils/date.d.ts +7 -0
  140. package/dist/utils/date.js +37 -0
  141. package/dist/utils/logger.d.ts +3 -0
  142. package/dist/utils/logger.js +39 -0
  143. package/dist/utils/tree.d.ts +11 -0
  144. package/dist/utils/tree.js +64 -0
  145. package/dist/utils/validation.d.ts +7 -0
  146. package/dist/utils/validation.js +35 -0
  147. package/package.json +44 -0
@@ -0,0 +1,47 @@
1
+ // Claude Code theme inspired by Anthropic's brand colors
2
+ // Primary accent: Claude Orange (#E67D22)
3
+ // Secondary: Claude Coral (#D97757)
4
+ // Warm color palette with dark brown backgrounds
5
+ export const claudeCodeTheme = {
6
+ name: 'claude-code',
7
+ colors: {
8
+ // Warm dark brown background with cream text
9
+ background: '#1a1614',
10
+ foreground: '#F5E6D3',
11
+ border: '#3a2f2a',
12
+ // Calendar - Claude orange accents
13
+ calendarBorder: '#3a2f2a',
14
+ calendarHeader: '#E67D22',
15
+ calendarToday: '#D97757',
16
+ calendarSelected: '#E67D22',
17
+ calendarDayWithTasks: '#FFB38A',
18
+ calendarDayOtherMonth: '#6e5d52',
19
+ // Tasks - Warm palette
20
+ taskBorder: '#3a2f2a',
21
+ taskHeader: '#E67D22',
22
+ taskCheckboxEmpty: '#6e5d52',
23
+ taskCheckboxFilled: '#98C379',
24
+ taskStateTodo: '#F5E6D3',
25
+ taskStateCompleted: '#98C379',
26
+ taskStateDelegated: '#C4A584',
27
+ taskStateDelayed: '#E06C75',
28
+ taskIndent: '#6e5d52',
29
+ // Timeline - Claude orange theme
30
+ timelineBorder: '#3a2f2a',
31
+ timelineHeader: '#E67D22',
32
+ timelineTimestamp: '#C4A584',
33
+ timelineEventCreated: '#61AFEF',
34
+ timelineEventStarted: '#FFB38A',
35
+ timelineEventCompleted: '#98C379',
36
+ timelineEventDelegated: '#D97757',
37
+ timelineEventDelayed: '#E06C75',
38
+ // UI elements
39
+ separator: '#3a2f2a',
40
+ keyboardHint: '#6e5d52',
41
+ helpDialogBorder: '#E67D22',
42
+ focusIndicator: '#E67D22',
43
+ // Modal - Warm dark overlay
44
+ modalOverlay: '#0f0d0c',
45
+ modalBackground: '#1a1614',
46
+ },
47
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const cursorTheme: Theme;
@@ -0,0 +1,38 @@
1
+ // Cursor Dark theme - Based on Cursor's Anysphere Dark / VS Code Dark Plus
2
+ export const cursorTheme = {
3
+ name: 'cursor',
4
+ colors: {
5
+ background: '#1e1e1e', // VS Code default dark background
6
+ foreground: '#cccccc',
7
+ border: '#3c3c3c',
8
+ calendarBorder: '#3c3c3c',
9
+ calendarHeader: '#569cd6', // VS Code blue
10
+ calendarToday: '#569cd6',
11
+ calendarSelected: '#569cd6',
12
+ calendarDayWithTasks: '#4ec9b0', // Teal
13
+ calendarDayOtherMonth: '#6e7681',
14
+ taskBorder: '#3c3c3c',
15
+ taskHeader: '#569cd6',
16
+ taskCheckboxEmpty: '#6e7681',
17
+ taskCheckboxFilled: '#4ec9b0',
18
+ taskStateTodo: '#cccccc',
19
+ taskStateCompleted: '#6e7681',
20
+ taskStateDelegated: '#c586c0', // Purple
21
+ taskStateDelayed: '#ce9178', // Orange
22
+ taskIndent: '#3c3c3c',
23
+ timelineBorder: '#3c3c3c',
24
+ timelineHeader: '#569cd6',
25
+ timelineTimestamp: '#6e7681',
26
+ timelineEventCreated: '#569cd6',
27
+ timelineEventStarted: '#dcdcaa', // Yellow
28
+ timelineEventCompleted: '#4ec9b0',
29
+ timelineEventDelegated: '#c586c0',
30
+ timelineEventDelayed: '#f14c4c', // Red
31
+ separator: '#3c3c3c',
32
+ keyboardHint: '#6e7681',
33
+ helpDialogBorder: '#569cd6',
34
+ focusIndicator: '#569cd6',
35
+ modalOverlay: '#0d0d0d',
36
+ modalBackground: '#252526', // VS Code sidebar
37
+ },
38
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const cursorLightTheme: Theme;
@@ -0,0 +1,38 @@
1
+ // Cursor Light theme - Light variant inspired by Cursor/VS Code Light+
2
+ export const cursorLightTheme = {
3
+ name: 'cursor-light',
4
+ colors: {
5
+ background: '#ffffff',
6
+ foreground: '#1e1e1e',
7
+ border: '#e0e0e0',
8
+ calendarBorder: '#e0e0e0',
9
+ calendarHeader: '#0066b8', // VS Code Blue
10
+ calendarToday: '#0066b8',
11
+ calendarSelected: '#0066b8',
12
+ calendarDayWithTasks: '#22863a', // Green
13
+ calendarDayOtherMonth: '#a0a0a0',
14
+ taskBorder: '#e0e0e0',
15
+ taskHeader: '#0066b8',
16
+ taskCheckboxEmpty: '#a0a0a0',
17
+ taskCheckboxFilled: '#0066b8',
18
+ taskStateTodo: '#1e1e1e',
19
+ taskStateCompleted: '#a0a0a0',
20
+ taskStateDelegated: '#6f42c1', // Purple
21
+ taskStateDelayed: '#d29922', // Orange/Yellow
22
+ taskIndent: '#e0e0e0',
23
+ timelineBorder: '#e0e0e0',
24
+ timelineHeader: '#0066b8',
25
+ timelineTimestamp: '#a0a0a0',
26
+ timelineEventCreated: '#0066b8',
27
+ timelineEventStarted: '#d29922',
28
+ timelineEventCompleted: '#22863a',
29
+ timelineEventDelegated: '#6f42c1',
30
+ timelineEventDelayed: '#cb2431', // Red
31
+ separator: '#e0e0e0',
32
+ keyboardHint: '#a0a0a0',
33
+ helpDialogBorder: '#0066b8',
34
+ focusIndicator: '#0066b8',
35
+ modalOverlay: '#f3f3f3',
36
+ modalBackground: '#ffffff',
37
+ },
38
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const darkTheme: Theme;
@@ -0,0 +1,38 @@
1
+ // Monochrome dark theme with amber accents
2
+ export const darkTheme = {
3
+ name: 'dark',
4
+ colors: {
5
+ background: '#1a1a1a',
6
+ foreground: '#e5e5e5',
7
+ border: '#404040',
8
+ calendarBorder: '#404040',
9
+ calendarHeader: '#f59e0b', // Amber
10
+ calendarToday: '#f59e0b', // Amber
11
+ calendarSelected: '#fbbf24', // Amber light
12
+ calendarDayWithTasks: '#d97706', // Amber dark
13
+ calendarDayOtherMonth: '#525252',
14
+ taskBorder: '#404040',
15
+ taskHeader: '#f59e0b', // Amber
16
+ taskCheckboxEmpty: '#525252',
17
+ taskCheckboxFilled: '#f59e0b', // Amber
18
+ taskStateTodo: '#e5e5e5',
19
+ taskStateCompleted: '#737373',
20
+ taskStateDelegated: '#a3a3a3',
21
+ taskStateDelayed: '#fbbf24', // Amber light for attention
22
+ taskIndent: '#525252',
23
+ timelineBorder: '#404040',
24
+ timelineHeader: '#f59e0b', // Amber
25
+ timelineTimestamp: '#737373',
26
+ timelineEventCreated: '#e5e5e5',
27
+ timelineEventStarted: '#fbbf24', // Amber light
28
+ timelineEventCompleted: '#a3a3a3',
29
+ timelineEventDelegated: '#8a8a8a',
30
+ timelineEventDelayed: '#f59e0b', // Amber
31
+ separator: '#404040',
32
+ keyboardHint: '#737373',
33
+ helpDialogBorder: '#f59e0b', // Amber
34
+ focusIndicator: '#f59e0b', // Amber
35
+ modalOverlay: '#0a0a0a',
36
+ modalBackground: '#1a1a1a',
37
+ },
38
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const githubDarkTheme: Theme;
@@ -0,0 +1,37 @@
1
+ export const githubDarkTheme = {
2
+ name: 'github-dark',
3
+ colors: {
4
+ background: '#0d1117',
5
+ foreground: '#c9d1d9',
6
+ border: '#30363d',
7
+ calendarBorder: '#30363d',
8
+ calendarHeader: '#58a6ff',
9
+ calendarToday: '#1f6feb',
10
+ calendarSelected: '#1f6feb',
11
+ calendarDayWithTasks: '#238636',
12
+ calendarDayOtherMonth: '#484f58',
13
+ taskBorder: '#30363d',
14
+ taskHeader: '#58a6ff',
15
+ taskCheckboxEmpty: '#484f58',
16
+ taskCheckboxFilled: '#3fb950',
17
+ taskStateTodo: '#c9d1d9',
18
+ taskStateCompleted: '#8b949e',
19
+ taskStateDelegated: '#a371f7',
20
+ taskStateDelayed: '#d29922',
21
+ taskIndent: '#484f58',
22
+ timelineBorder: '#30363d',
23
+ timelineHeader: '#58a6ff',
24
+ timelineTimestamp: '#8b949e',
25
+ timelineEventCreated: '#58a6ff',
26
+ timelineEventStarted: '#d29922',
27
+ timelineEventCompleted: '#3fb950',
28
+ timelineEventDelegated: '#a371f7',
29
+ timelineEventDelayed: '#f85149',
30
+ separator: '#30363d',
31
+ keyboardHint: '#8b949e',
32
+ helpDialogBorder: '#58a6ff',
33
+ focusIndicator: '#58a6ff',
34
+ modalOverlay: '#0d1117',
35
+ modalBackground: '#161b22',
36
+ },
37
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const githubLightTheme: Theme;
@@ -0,0 +1,38 @@
1
+ // GitHub Light theme - official GitHub light mode colors
2
+ export const githubLightTheme = {
3
+ name: 'github-light',
4
+ colors: {
5
+ background: '#ffffff',
6
+ foreground: '#24292f',
7
+ border: '#d0d7de',
8
+ calendarBorder: '#d0d7de',
9
+ calendarHeader: '#0969da', // Blue
10
+ calendarToday: '#0969da',
11
+ calendarSelected: '#0969da',
12
+ calendarDayWithTasks: '#1a7f37', // Green
13
+ calendarDayOtherMonth: '#8c959f',
14
+ taskBorder: '#d0d7de',
15
+ taskHeader: '#0969da',
16
+ taskCheckboxEmpty: '#8c959f',
17
+ taskCheckboxFilled: '#1a7f37',
18
+ taskStateTodo: '#24292f',
19
+ taskStateCompleted: '#8c959f',
20
+ taskStateDelegated: '#8250df', // Purple
21
+ taskStateDelayed: '#bf8700', // Yellow/Orange
22
+ taskIndent: '#d0d7de',
23
+ timelineBorder: '#d0d7de',
24
+ timelineHeader: '#0969da',
25
+ timelineTimestamp: '#8c959f',
26
+ timelineEventCreated: '#0969da',
27
+ timelineEventStarted: '#bf8700',
28
+ timelineEventCompleted: '#1a7f37',
29
+ timelineEventDelegated: '#8250df',
30
+ timelineEventDelayed: '#cf222e', // Red
31
+ separator: '#d0d7de',
32
+ keyboardHint: '#656d76',
33
+ helpDialogBorder: '#0969da',
34
+ focusIndicator: '#0969da',
35
+ modalOverlay: '#00000033',
36
+ modalBackground: '#f6f8fa',
37
+ },
38
+ };
@@ -0,0 +1,9 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const lightThemes: Record<string, Theme>;
3
+ export declare const darkThemes: Record<string, Theme>;
4
+ export declare const themes: Record<string, Theme>;
5
+ export declare const getTheme: (name: string) => Theme;
6
+ export declare const getThemeNames: () => string[];
7
+ export declare const getLightThemeNames: () => string[];
8
+ export declare const getDarkThemeNames: () => string[];
9
+ export type { Theme } from '../types/theme';
@@ -0,0 +1,83 @@
1
+ import { darkTheme } from './dark';
2
+ import { lightTheme } from './light';
3
+ import { terminalTheme } from './terminal';
4
+ import { claudeTheme } from './claude';
5
+ import { githubDarkTheme } from './githubDark';
6
+ import { githubLightTheme } from './githubLight';
7
+ import { catppuccinTheme } from './catppuccin';
8
+ import { catppuccinLatteTheme } from './catppuccinLatte';
9
+ import { ubuntuTheme } from './ubuntu';
10
+ import { ubuntuLightTheme } from './ubuntuLight';
11
+ import { atomOneDarkTheme } from './atomOneDark';
12
+ import { atomOneLightTheme } from './atomOneLight';
13
+ import { intellijTheme } from './intellij';
14
+ import { intellijLightTheme } from './intellijLight';
15
+ import { nordTheme } from './nord';
16
+ import { nordLightTheme } from './nordLight';
17
+ import { postmanTheme } from './postman';
18
+ import { postmanLightTheme } from './postmanLight';
19
+ import { cursorTheme } from './cursor';
20
+ import { cursorLightTheme } from './cursorLight';
21
+ import { xTheme } from './x';
22
+ import { xLightTheme } from './xLight';
23
+ import { instagramTheme } from './instagram';
24
+ import { instagramLightTheme } from './instagramLight';
25
+ import { amazonTheme } from './amazon';
26
+ import { amazonLightTheme } from './amazonLight';
27
+ import { appleTheme } from './apple';
28
+ import { appleLightTheme } from './appleLight';
29
+ import { batmanTheme } from './batman';
30
+ import { spidermanTheme } from './spiderman';
31
+ // Light themes - white/bright backgrounds
32
+ export const lightThemes = {
33
+ light: lightTheme,
34
+ claude: claudeTheme,
35
+ 'apple-light': appleLightTheme,
36
+ 'github-light': githubLightTheme,
37
+ 'catppuccin-latte': catppuccinLatteTheme,
38
+ 'ubuntu-light': ubuntuLightTheme,
39
+ 'atom-light': atomOneLightTheme,
40
+ 'intellij-light': intellijLightTheme,
41
+ 'nord-light': nordLightTheme,
42
+ 'postman-light': postmanLightTheme,
43
+ 'cursor-light': cursorLightTheme,
44
+ 'x-light': xLightTheme,
45
+ 'instagram-light': instagramLightTheme,
46
+ 'amazon-light': amazonLightTheme,
47
+ };
48
+ // Dark themes - dark backgrounds
49
+ export const darkThemes = {
50
+ dark: darkTheme,
51
+ terminal: terminalTheme,
52
+ apple: appleTheme,
53
+ 'github-dark': githubDarkTheme,
54
+ catppuccin: catppuccinTheme,
55
+ ubuntu: ubuntuTheme,
56
+ atom: atomOneDarkTheme,
57
+ intellij: intellijTheme,
58
+ nord: nordTheme,
59
+ postman: postmanTheme,
60
+ cursor: cursorTheme,
61
+ x: xTheme,
62
+ instagram: instagramTheme,
63
+ amazon: amazonTheme,
64
+ batman: batmanTheme,
65
+ spiderman: spidermanTheme,
66
+ };
67
+ // All themes combined
68
+ export const themes = {
69
+ ...lightThemes,
70
+ ...darkThemes,
71
+ };
72
+ export const getTheme = (name) => {
73
+ return themes[name] || themes.dark;
74
+ };
75
+ export const getThemeNames = () => {
76
+ return Object.keys(themes);
77
+ };
78
+ export const getLightThemeNames = () => {
79
+ return Object.keys(lightThemes);
80
+ };
81
+ export const getDarkThemeNames = () => {
82
+ return Object.keys(darkThemes);
83
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const instagramTheme: Theme;
@@ -0,0 +1,37 @@
1
+ export const instagramTheme = {
2
+ name: 'instagram',
3
+ colors: {
4
+ background: '#121212',
5
+ foreground: '#fafafa',
6
+ border: '#262626',
7
+ calendarBorder: '#262626',
8
+ calendarHeader: '#e1306c', // Instagram gradient pinkish
9
+ calendarToday: '#0095f6', // Instagram blue
10
+ calendarSelected: '#0095f6',
11
+ calendarDayWithTasks: '#0095f6',
12
+ calendarDayOtherMonth: '#8e8e8e',
13
+ taskBorder: '#262626',
14
+ taskHeader: '#e1306c',
15
+ taskCheckboxEmpty: '#8e8e8e',
16
+ taskCheckboxFilled: '#0095f6',
17
+ taskStateTodo: '#fafafa',
18
+ taskStateCompleted: '#8e8e8e',
19
+ taskStateDelegated: '#833ab4', // Purple from gradient
20
+ taskStateDelayed: '#fca1cc', // Orange/Yellow ish
21
+ taskIndent: '#262626',
22
+ timelineBorder: '#262626',
23
+ timelineHeader: '#e1306c',
24
+ timelineTimestamp: '#8e8e8e',
25
+ timelineEventCreated: '#0095f6',
26
+ timelineEventStarted: '#f56040',
27
+ timelineEventCompleted: '#0095f6',
28
+ timelineEventDelegated: '#833ab4',
29
+ timelineEventDelayed: '#fd1d1d',
30
+ separator: '#262626',
31
+ keyboardHint: '#8e8e8e',
32
+ helpDialogBorder: '#e1306c',
33
+ focusIndicator: '#e1306c',
34
+ modalOverlay: '#00000080',
35
+ modalBackground: '#262626',
36
+ },
37
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const instagramLightTheme: Theme;
@@ -0,0 +1,38 @@
1
+ // Instagram Light theme - Official Instagram light mode colors
2
+ export const instagramLightTheme = {
3
+ name: 'instagram-light',
4
+ colors: {
5
+ background: '#ffffff',
6
+ foreground: '#262626',
7
+ border: '#dbdbdb',
8
+ calendarBorder: '#dbdbdb',
9
+ calendarHeader: '#e1306c', // Instagram pink
10
+ calendarToday: '#0095f6', // Instagram blue
11
+ calendarSelected: '#0095f6',
12
+ calendarDayWithTasks: '#0095f6',
13
+ calendarDayOtherMonth: '#8e8e8e',
14
+ taskBorder: '#dbdbdb',
15
+ taskHeader: '#e1306c',
16
+ taskCheckboxEmpty: '#8e8e8e',
17
+ taskCheckboxFilled: '#0095f6',
18
+ taskStateTodo: '#262626',
19
+ taskStateCompleted: '#8e8e8e',
20
+ taskStateDelegated: '#833ab4', // Purple gradient
21
+ taskStateDelayed: '#fd1d1d', // Red
22
+ taskIndent: '#dbdbdb',
23
+ timelineBorder: '#dbdbdb',
24
+ timelineHeader: '#e1306c',
25
+ timelineTimestamp: '#8e8e8e',
26
+ timelineEventCreated: '#0095f6',
27
+ timelineEventStarted: '#f56040', // Orange
28
+ timelineEventCompleted: '#0095f6',
29
+ timelineEventDelegated: '#833ab4',
30
+ timelineEventDelayed: '#fd1d1d',
31
+ separator: '#dbdbdb',
32
+ keyboardHint: '#8e8e8e',
33
+ helpDialogBorder: '#e1306c',
34
+ focusIndicator: '#e1306c',
35
+ modalOverlay: '#00000066',
36
+ modalBackground: '#ffffff',
37
+ },
38
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const intellijTheme: Theme;
@@ -0,0 +1,37 @@
1
+ export const intellijTheme = {
2
+ name: 'intellij',
3
+ colors: {
4
+ background: '#2b2b2b',
5
+ foreground: '#a9b7c6',
6
+ border: '#323232',
7
+ calendarBorder: '#323232',
8
+ calendarHeader: '#cc7832', // Orange (Keyword)
9
+ calendarToday: '#3592c4', // Blue (Accent)
10
+ calendarSelected: '#3592c4',
11
+ calendarDayWithTasks: '#6a8759', // Green (String)
12
+ calendarDayOtherMonth: '#606366',
13
+ taskBorder: '#323232',
14
+ taskHeader: '#cc7832',
15
+ taskCheckboxEmpty: '#606366',
16
+ taskCheckboxFilled: '#6a8759',
17
+ taskStateTodo: '#a9b7c6',
18
+ taskStateCompleted: '#606366',
19
+ taskStateDelegated: '#9876aa', // Purple
20
+ taskStateDelayed: '#ffc66d', // Yellow
21
+ taskIndent: '#606366',
22
+ timelineBorder: '#323232',
23
+ timelineHeader: '#cc7832',
24
+ timelineTimestamp: '#808080',
25
+ timelineEventCreated: '#6897bb', // Light Blue
26
+ timelineEventStarted: '#cc7832',
27
+ timelineEventCompleted: '#6a8759',
28
+ timelineEventDelegated: '#9876aa',
29
+ timelineEventDelayed: '#cc7832',
30
+ separator: '#323232',
31
+ keyboardHint: '#808080',
32
+ helpDialogBorder: '#3592c4',
33
+ focusIndicator: '#3592c4',
34
+ modalOverlay: '#1e1e1e',
35
+ modalBackground: '#3c3f41',
36
+ },
37
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const intellijLightTheme: Theme;
@@ -0,0 +1,38 @@
1
+ // IntelliJ Light theme - official IntelliJ IDEA Light palette
2
+ export const intellijLightTheme = {
3
+ name: 'intellij-light',
4
+ colors: {
5
+ background: '#f7f7f7',
6
+ foreground: '#000000',
7
+ border: '#c4c4c4',
8
+ calendarBorder: '#c4c4c4',
9
+ calendarHeader: '#0033b3', // Keyword Blue
10
+ calendarToday: '#0033b3',
11
+ calendarSelected: '#0033b3',
12
+ calendarDayWithTasks: '#067d17', // String Green
13
+ calendarDayOtherMonth: '#8c8c8c',
14
+ taskBorder: '#c4c4c4',
15
+ taskHeader: '#0033b3',
16
+ taskCheckboxEmpty: '#8c8c8c',
17
+ taskCheckboxFilled: '#067d17',
18
+ taskStateTodo: '#000000',
19
+ taskStateCompleted: '#8c8c8c',
20
+ taskStateDelegated: '#871094', // Purple
21
+ taskStateDelayed: '#9e880d', // Yellow
22
+ taskIndent: '#d4d4d4',
23
+ timelineBorder: '#c4c4c4',
24
+ timelineHeader: '#0033b3',
25
+ timelineTimestamp: '#8c8c8c',
26
+ timelineEventCreated: '#0033b3',
27
+ timelineEventStarted: '#9e880d',
28
+ timelineEventCompleted: '#067d17',
29
+ timelineEventDelegated: '#871094',
30
+ timelineEventDelayed: '#c00000', // Red
31
+ separator: '#c4c4c4',
32
+ keyboardHint: '#8c8c8c',
33
+ helpDialogBorder: '#0033b3',
34
+ focusIndicator: '#0033b3',
35
+ modalOverlay: '#e8e8e8',
36
+ modalBackground: '#ffffff',
37
+ },
38
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const lightTheme: Theme;
@@ -0,0 +1,38 @@
1
+ export const lightTheme = {
2
+ name: 'light',
3
+ colors: {
4
+ // Hex colors work with Ink's Text backgroundColor (via chalk)
5
+ background: '#f5f5f5',
6
+ foreground: '#1a1a1a',
7
+ border: '#888888',
8
+ calendarBorder: '#888888',
9
+ calendarHeader: '#0066cc',
10
+ calendarToday: '#00aa77',
11
+ calendarSelected: '#9933cc',
12
+ calendarDayWithTasks: '#cc6600',
13
+ calendarDayOtherMonth: '#666666', // Darker
14
+ taskBorder: '#888888',
15
+ taskHeader: '#0066cc',
16
+ taskCheckboxEmpty: '#666666', // Darker
17
+ taskCheckboxFilled: '#00aa77',
18
+ taskStateTodo: '#1a1a1a',
19
+ taskStateCompleted: '#00aa77',
20
+ taskStateDelegated: '#cc6600',
21
+ taskStateDelayed: '#cc3333',
22
+ taskIndent: '#888888',
23
+ timelineBorder: '#888888',
24
+ timelineHeader: '#0066cc',
25
+ timelineTimestamp: '#444444', // Darker
26
+ timelineEventCreated: '#0066cc',
27
+ timelineEventStarted: '#cc6600',
28
+ timelineEventCompleted: '#00aa77',
29
+ timelineEventDelegated: '#9933cc',
30
+ timelineEventDelayed: '#cc3333',
31
+ separator: '#888888',
32
+ keyboardHint: '#444444', // Darker
33
+ helpDialogBorder: '#0066cc',
34
+ focusIndicator: '#9933cc',
35
+ modalOverlay: '#e0e0e0',
36
+ modalBackground: '#f5f5f5',
37
+ },
38
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const nordTheme: Theme;
@@ -0,0 +1,37 @@
1
+ export const nordTheme = {
2
+ name: 'nord',
3
+ colors: {
4
+ background: '#2e3440',
5
+ foreground: '#d8dee9',
6
+ border: '#3b4252',
7
+ calendarBorder: '#3b4252',
8
+ calendarHeader: '#88c0d0', // Frost Blue
9
+ calendarToday: '#81a1c1', // Frost Blue darker
10
+ calendarSelected: '#81a1c1',
11
+ calendarDayWithTasks: '#a3be8c', // Green
12
+ calendarDayOtherMonth: '#4c566a',
13
+ taskBorder: '#3b4252',
14
+ taskHeader: '#88c0d0',
15
+ taskCheckboxEmpty: '#4c566a',
16
+ taskCheckboxFilled: '#a3be8c',
17
+ taskStateTodo: '#d8dee9',
18
+ taskStateCompleted: '#4c566a',
19
+ taskStateDelegated: '#b48ead', // Purple
20
+ taskStateDelayed: '#d08770', // Orange
21
+ taskIndent: '#4c566a',
22
+ timelineBorder: '#3b4252',
23
+ timelineHeader: '#88c0d0',
24
+ timelineTimestamp: '#4c566a',
25
+ timelineEventCreated: '#5e81ac', // Darkest Blue
26
+ timelineEventStarted: '#ebcb8b', // Yellow
27
+ timelineEventCompleted: '#a3be8c',
28
+ timelineEventDelegated: '#b48ead',
29
+ timelineEventDelayed: '#bf616a', // Red
30
+ separator: '#3b4252',
31
+ keyboardHint: '#4c566a',
32
+ helpDialogBorder: '#88c0d0',
33
+ focusIndicator: '#88c0d0',
34
+ modalOverlay: '#242933',
35
+ modalBackground: '#3b4252',
36
+ },
37
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const nordLightTheme: Theme;
@@ -0,0 +1,38 @@
1
+ // Nord Light theme - official Nord palette (Snow Storm + adapted accents)
2
+ export const nordLightTheme = {
3
+ name: 'nord-light',
4
+ colors: {
5
+ background: '#eceff4', // Nord6 (Snow Storm)
6
+ foreground: '#2e3440', // Nord0 (Polar Night)
7
+ border: '#d8dee9', // Nord4
8
+ calendarBorder: '#d8dee9',
9
+ calendarHeader: '#5e81ac', // Nord10 (Frost - darkest blue)
10
+ calendarToday: '#5e81ac',
11
+ calendarSelected: '#5e81ac',
12
+ calendarDayWithTasks: '#a3be8c', // Nord14 (Aurora - green)
13
+ calendarDayOtherMonth: '#4c566a', // Nord3
14
+ taskBorder: '#d8dee9',
15
+ taskHeader: '#5e81ac',
16
+ taskCheckboxEmpty: '#4c566a',
17
+ taskCheckboxFilled: '#a3be8c',
18
+ taskStateTodo: '#2e3440',
19
+ taskStateCompleted: '#4c566a',
20
+ taskStateDelegated: '#b48ead', // Nord15 (Aurora - purple)
21
+ taskStateDelayed: '#d08770', // Nord12 (Aurora - orange)
22
+ taskIndent: '#d8dee9',
23
+ timelineBorder: '#d8dee9',
24
+ timelineHeader: '#5e81ac',
25
+ timelineTimestamp: '#4c566a',
26
+ timelineEventCreated: '#81a1c1', // Nord9 (Frost)
27
+ timelineEventStarted: '#ebcb8b', // Nord13 (Aurora - yellow)
28
+ timelineEventCompleted: '#a3be8c',
29
+ timelineEventDelegated: '#b48ead',
30
+ timelineEventDelayed: '#bf616a', // Nord11 (Aurora - red)
31
+ separator: '#d8dee9',
32
+ keyboardHint: '#4c566a',
33
+ helpDialogBorder: '#5e81ac',
34
+ focusIndicator: '#5e81ac',
35
+ modalOverlay: '#e5e9f0', // Nord5
36
+ modalBackground: '#eceff4',
37
+ },
38
+ };
@@ -0,0 +1,2 @@
1
+ import type { Theme } from '../types/theme';
2
+ export declare const postmanTheme: Theme;