agkan 2.12.2 → 2.13.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 (108) hide show
  1. package/dist/board/boardConfig.d.ts +3 -0
  2. package/dist/board/boardConfig.d.ts.map +1 -1
  3. package/dist/board/boardConfig.js +7 -1
  4. package/dist/board/boardConfig.js.map +1 -1
  5. package/dist/board/boardRenderer.d.ts +1 -1
  6. package/dist/board/boardRenderer.d.ts.map +1 -1
  7. package/dist/board/boardRenderer.js +8 -4
  8. package/dist/board/boardRenderer.js.map +1 -1
  9. package/dist/board/boardRoutes.d.ts.map +1 -1
  10. package/dist/board/boardRoutes.js +13 -1
  11. package/dist/board/boardRoutes.js.map +1 -1
  12. package/dist/board/boardStyles.d.ts +1 -1
  13. package/dist/board/boardStyles.d.ts.map +1 -1
  14. package/dist/board/boardStyles.js +119 -78
  15. package/dist/board/boardStyles.js.map +1 -1
  16. package/dist/board/client/board.js +510 -314
  17. package/dist/cli/commands/block/add.d.ts.map +1 -1
  18. package/dist/cli/commands/block/add.js +156 -110
  19. package/dist/cli/commands/block/add.js.map +1 -1
  20. package/dist/cli/commands/block/list.d.ts.map +1 -1
  21. package/dist/cli/commands/block/list.js +2 -3
  22. package/dist/cli/commands/block/list.js.map +1 -1
  23. package/dist/cli/commands/block/remove.d.ts.map +1 -1
  24. package/dist/cli/commands/block/remove.js +2 -3
  25. package/dist/cli/commands/block/remove.js.map +1 -1
  26. package/dist/cli/commands/comment/add.d.ts.map +1 -1
  27. package/dist/cli/commands/comment/add.js +2 -3
  28. package/dist/cli/commands/comment/add.js.map +1 -1
  29. package/dist/cli/commands/comment/delete.js +2 -2
  30. package/dist/cli/commands/comment/delete.js.map +1 -1
  31. package/dist/cli/commands/comment/list.d.ts.map +1 -1
  32. package/dist/cli/commands/comment/list.js +2 -3
  33. package/dist/cli/commands/comment/list.js.map +1 -1
  34. package/dist/cli/commands/meta/delete.d.ts.map +1 -1
  35. package/dist/cli/commands/meta/delete.js +2 -3
  36. package/dist/cli/commands/meta/delete.js.map +1 -1
  37. package/dist/cli/commands/meta/get.d.ts.map +1 -1
  38. package/dist/cli/commands/meta/get.js +2 -3
  39. package/dist/cli/commands/meta/get.js.map +1 -1
  40. package/dist/cli/commands/meta/list.d.ts.map +1 -1
  41. package/dist/cli/commands/meta/list.js +2 -3
  42. package/dist/cli/commands/meta/list.js.map +1 -1
  43. package/dist/cli/commands/meta/set.d.ts.map +1 -1
  44. package/dist/cli/commands/meta/set.js +2 -3
  45. package/dist/cli/commands/meta/set.js.map +1 -1
  46. package/dist/cli/commands/tag/add.js +2 -2
  47. package/dist/cli/commands/tag/add.js.map +1 -1
  48. package/dist/cli/commands/tag/attach.d.ts.map +1 -1
  49. package/dist/cli/commands/tag/attach.js +2 -4
  50. package/dist/cli/commands/tag/attach.js.map +1 -1
  51. package/dist/cli/commands/tag/delete.js +2 -2
  52. package/dist/cli/commands/tag/delete.js.map +1 -1
  53. package/dist/cli/commands/tag/detach.d.ts.map +1 -1
  54. package/dist/cli/commands/tag/detach.js +2 -4
  55. package/dist/cli/commands/tag/detach.js.map +1 -1
  56. package/dist/cli/commands/tag/list.d.ts.map +1 -1
  57. package/dist/cli/commands/tag/list.js +2 -3
  58. package/dist/cli/commands/tag/list.js.map +1 -1
  59. package/dist/cli/commands/tag/rename.js +2 -2
  60. package/dist/cli/commands/tag/rename.js.map +1 -1
  61. package/dist/cli/commands/tag/show.d.ts.map +1 -1
  62. package/dist/cli/commands/tag/show.js +2 -3
  63. package/dist/cli/commands/tag/show.js.map +1 -1
  64. package/dist/cli/commands/task/add.d.ts.map +1 -1
  65. package/dist/cli/commands/task/add.js +3 -3
  66. package/dist/cli/commands/task/add.js.map +1 -1
  67. package/dist/cli/commands/task/count.js +2 -2
  68. package/dist/cli/commands/task/count.js.map +1 -1
  69. package/dist/cli/commands/task/delete.js +2 -2
  70. package/dist/cli/commands/task/delete.js.map +1 -1
  71. package/dist/cli/commands/task/find.d.ts.map +1 -1
  72. package/dist/cli/commands/task/find.js +2 -3
  73. package/dist/cli/commands/task/find.js.map +1 -1
  74. package/dist/cli/commands/task/get.d.ts.map +1 -1
  75. package/dist/cli/commands/task/get.js +204 -209
  76. package/dist/cli/commands/task/get.js.map +1 -1
  77. package/dist/cli/commands/task/list.d.ts.map +1 -1
  78. package/dist/cli/commands/task/list.js +324 -161
  79. package/dist/cli/commands/task/list.js.map +1 -1
  80. package/dist/cli/commands/task/purge.js +2 -2
  81. package/dist/cli/commands/task/purge.js.map +1 -1
  82. package/dist/cli/commands/task/update-helpers.d.ts +42 -0
  83. package/dist/cli/commands/task/update-helpers.d.ts.map +1 -0
  84. package/dist/cli/commands/task/update-helpers.js +154 -0
  85. package/dist/cli/commands/task/update-helpers.js.map +1 -0
  86. package/dist/cli/commands/task/update-parent.js +2 -2
  87. package/dist/cli/commands/task/update-parent.js.map +1 -1
  88. package/dist/cli/commands/task/update.d.ts.map +1 -1
  89. package/dist/cli/commands/task/update.js +81 -196
  90. package/dist/cli/commands/task/update.js.map +1 -1
  91. package/dist/cli/utils/error-handler.js +3 -3
  92. package/dist/cli/utils/error-handler.js.map +1 -1
  93. package/dist/cli/utils/output-formatter.d.ts +14 -0
  94. package/dist/cli/utils/output-formatter.d.ts.map +1 -1
  95. package/dist/cli/utils/output-formatter.js +36 -0
  96. package/dist/cli/utils/output-formatter.js.map +1 -1
  97. package/dist/cli/utils/service-container.d.ts +25 -0
  98. package/dist/cli/utils/service-container.d.ts.map +1 -0
  99. package/dist/cli/utils/service-container.js +26 -0
  100. package/dist/cli/utils/service-container.js.map +1 -0
  101. package/dist/services/TaskService.d.ts +14 -0
  102. package/dist/services/TaskService.d.ts.map +1 -1
  103. package/dist/services/TaskService.js +48 -29
  104. package/dist/services/TaskService.js.map +1 -1
  105. package/dist/utils/input-validators.d.ts.map +1 -1
  106. package/dist/utils/input-validators.js +64 -69
  107. package/dist/utils/input-validators.js.map +1 -1
  108. package/package.json +3 -3
@@ -2,170 +2,211 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BOARD_STYLES = void 0;
4
4
  exports.BOARD_STYLES = `
5
+ :root {
6
+ --bg-page: #f1f5f9;
7
+ --bg-surface: #ffffff;
8
+ --bg-surface-subtle: #f8fafc;
9
+ --bg-surface-hover: #f1f5f9;
10
+ --border-color: #e2e8f0;
11
+ --border-color-subtle: #f1f5f9;
12
+ --text-primary: #1e293b;
13
+ --text-secondary: #64748b;
14
+ --text-muted: #94a3b8;
15
+ --header-bg: #1e293b;
16
+ --tag-bg: #e0f2fe;
17
+ --tag-color: #0369a1;
18
+ --column-count-bg: #e2e8f0;
19
+ --column-count-color: #64748b;
20
+ --input-bg: #ffffff;
21
+ --burger-dropdown-bg: #ffffff;
22
+ --drag-over-bg: #eff6ff;
23
+ }
24
+ [data-theme="dark"] {
25
+ --bg-page: #0f172a;
26
+ --bg-surface: #1e293b;
27
+ --bg-surface-subtle: #1e293b;
28
+ --bg-surface-hover: #334155;
29
+ --border-color: #334155;
30
+ --border-color-subtle: #1e293b;
31
+ --text-primary: #f1f5f9;
32
+ --text-secondary: #94a3b8;
33
+ --text-muted: #64748b;
34
+ --header-bg: #0f172a;
35
+ --tag-bg: #0c4a6e;
36
+ --tag-color: #7dd3fc;
37
+ --column-count-bg: #334155;
38
+ --column-count-color: #94a3b8;
39
+ --input-bg: #1e293b;
40
+ --burger-dropdown-bg: #1e293b;
41
+ --drag-over-bg: #1e3a5f;
42
+ }
5
43
  * { box-sizing: border-box; margin: 0; padding: 0; }
6
- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #f1f5f9; color: #1e293b; }
7
- header { background: #1e293b; color: white; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; }
44
+ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--bg-page); color: var(--text-primary); }
45
+ header { background: var(--header-bg); color: white; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; }
8
46
  header h1 { font-size: 18px; font-weight: 700; }
9
47
  .board-title { font-size: 14px; font-weight: 400; opacity: 0.75; }
10
48
  .board-container { display: flex; width: 100%; height: calc(100vh - 92px); gap: 0; }
11
49
  .board { display: flex; gap: 12px; padding: 16px; overflow-x: auto; flex: 1; align-items: stretch; min-width: 0; }
12
50
  .board.with-panel { padding-right: 0; }
13
- .column { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; width: 240px; flex-shrink: 0; display: flex; flex-direction: column; border-top: 3px solid transparent; }
14
- .column-header { padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e2e8f0; flex-shrink: 0; }
51
+ .column { background: var(--bg-surface-subtle); border: 1px solid var(--border-color); border-radius: 8px; width: 240px; flex-shrink: 0; display: flex; flex-direction: column; border-top: 3px solid transparent; }
52
+ .column-header { padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--border-color); flex-shrink: 0; }
15
53
  .column-title { font-size: 13px; font-weight: 700; }
16
54
  .column-header-right { display: flex; align-items: center; gap: 6px; }
17
- .column-count { background: #e2e8f0; color: #64748b; border-radius: 10px; font-size: 11px; font-weight: 600; padding: 2px 7px; }
18
- .add-btn { background: none; border: 1px solid #cbd5e1; color: #64748b; border-radius: 4px; width: 22px; height: 22px; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
19
- .add-btn:hover { background: #e2e8f0; color: #1e293b; }
55
+ .column-count { background: var(--column-count-bg); color: var(--column-count-color); border-radius: 10px; font-size: 11px; font-weight: 600; padding: 2px 7px; }
56
+ .add-btn { background: none; border: 1px solid var(--border-color); color: var(--text-secondary); border-radius: 4px; width: 22px; height: 22px; font-size: 14px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
57
+ .add-btn:hover { background: var(--border-color); color: var(--text-primary); }
20
58
  .column-body { padding: 8px; min-height: 60px; flex: 1; overflow-y: auto; min-height: 0; }
21
- .column.drag-over .column-body { background: #eff6ff; border-radius: 6px; }
22
- .card { background: white; border: 1px solid #e2e8f0; border-radius: 6px; padding: 10px; margin-bottom: 6px; cursor: grab; transition: box-shadow 0.15s; }
59
+ .column.drag-over .column-body { background: var(--drag-over-bg); border-radius: 6px; }
60
+ .card { background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 6px; padding: 10px; margin-bottom: 6px; cursor: grab; transition: box-shadow 0.15s; }
23
61
  .card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
24
62
  .card.dragging { opacity: 0.5; }
25
63
  .card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
26
- .card-id { font-size: 11px; color: #94a3b8; font-weight: 600; }
64
+ .card-id { font-size: 11px; color: var(--text-muted); font-weight: 600; }
27
65
  .card-title { font-size: 13px; font-weight: 500; line-height: 1.4; }
28
66
  .card-tags { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 4px; }
29
- .tag { background: #e0f2fe; color: #0369a1; font-size: 10px; font-weight: 600; padding: 2px 6px; border-radius: 10px; }
67
+ .tag { background: var(--tag-bg); color: var(--tag-color); font-size: 10px; font-weight: 600; padding: 2px 6px; border-radius: 10px; }
30
68
  .priority { font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 10px; text-transform: uppercase; }
31
69
  .priority-critical { background: #fee2e2; color: #dc2626; }
32
70
  .priority-high { background: #fee2e2; color: #dc2626; }
33
71
  .priority-medium { background: #fef9c3; color: #ca8a04; }
34
72
  .priority-low { background: #dcfce7; color: #16a34a; }
35
- .context-menu { position: fixed; background: white; border: 1px solid #e2e8f0; border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); padding: 4px 0; z-index: 1000; display: none; min-width: 140px; }
36
- .context-menu-item { padding: 8px 14px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 8px; }
37
- .context-menu-item:hover { background: #f1f5f9; }
73
+ .context-menu { position: fixed; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); padding: 4px 0; z-index: 1000; display: none; min-width: 140px; }
74
+ .context-menu-item { padding: 8px 14px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 8px; color: var(--text-primary); }
75
+ .context-menu-item:hover { background: var(--bg-surface-hover); }
38
76
  .context-menu-item.danger { color: #dc2626; }
39
77
  .context-menu-item.danger:hover { background: #fef2f2; }
40
78
  .modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 2000; display: none; align-items: center; justify-content: center; }
41
79
  .modal-overlay.show { display: flex; }
42
- .modal { background: white; border-radius: 8px; padding: 24px; width: 520px; box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
80
+ .modal { background: var(--bg-surface); border-radius: 8px; padding: 24px; width: 520px; box-shadow: 0 8px 24px rgba(0,0,0,0.2); color: var(--text-primary); }
43
81
  .modal h2 { font-size: 16px; margin-bottom: 14px; }
44
- .modal label { display: block; font-size: 12px; font-weight: 600; color: #64748b; margin-bottom: 4px; }
45
- .modal input, .modal textarea, .modal select { width: 100%; border: 1px solid #e2e8f0; border-radius: 6px; padding: 8px 10px; font-size: 13px; font-family: inherit; margin-bottom: 12px; background: white; }
82
+ .modal label { display: block; font-size: 12px; font-weight: 600; color: var(--text-secondary); margin-bottom: 4px; }
83
+ .modal input, .modal textarea, .modal select { width: 100%; border: 1px solid var(--border-color); border-radius: 6px; padding: 8px 10px; font-size: 13px; font-family: inherit; margin-bottom: 12px; background: var(--input-bg); color: var(--text-primary); }
46
84
  .modal textarea { resize: vertical; min-height: 60px; }
47
85
  .modal input:focus, .modal textarea:focus, .modal select:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
48
86
  .modal-actions { display: flex; justify-content: flex-end; gap: 8px; }
49
- .modal-actions button { padding: 6px 14px; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1px solid #e2e8f0; background: white; color: #64748b; }
50
- .modal-actions button:hover { background: #f1f5f9; }
87
+ .modal-actions button { padding: 6px 14px; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1px solid var(--border-color); background: var(--bg-surface); color: var(--text-secondary); }
88
+ .modal-actions button:hover { background: var(--bg-surface-hover); }
51
89
  .modal-actions button.primary { background: #3b82f6; color: white; border-color: #3b82f6; }
52
90
  .modal-actions button.primary:hover { background: #2563eb; }
53
91
  .toast { position: fixed; bottom: 20px; right: 20px; background: #ef4444; color: white; padding: 10px 16px; border-radius: 6px; font-size: 13px; opacity: 0; transition: opacity 0.3s; pointer-events: none; }
54
92
  .toast.show { opacity: 1; }
55
- .detail-panel { position: relative; width: 0; height: calc(100vh - 92px); background: white; box-shadow: none; border-left: 0 solid #e2e8f0; display: flex; flex-direction: column; max-width: 800px; overflow: hidden; transition: width 0.25s ease; }
93
+ .detail-panel { position: relative; width: 0; height: calc(100vh - 92px); background: var(--bg-surface); box-shadow: none; border-left: 0 solid var(--border-color); display: flex; flex-direction: column; max-width: 800px; overflow: hidden; transition: width 0.25s ease; }
56
94
  .detail-panel-resize-handle { position: absolute; top: 0; left: 0; width: 6px; height: 100%; cursor: col-resize; z-index: 10; background: transparent; }
57
95
  .detail-panel-resize-handle:hover, .detail-panel-resize-handle.dragging { background: rgba(59,130,246,0.3); }
58
96
  .detail-panel.open { width: 400px; min-width: 280px; border-left-width: 1px; }
59
- .detail-panel-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #e2e8f0; flex-shrink: 0; }
60
- .detail-panel-header h2 { font-size: 16px; font-weight: 700; color: #1e293b; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
61
- .detail-panel-close { background: none; border: none; font-size: 20px; color: #64748b; cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 4px; flex-shrink: 0; }
62
- .detail-panel-close:hover { background: #f1f5f9; color: #1e293b; }
97
+ .detail-panel-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border-color); flex-shrink: 0; }
98
+ .detail-panel-header h2 { font-size: 16px; font-weight: 700; color: var(--text-primary); margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
99
+ .detail-panel-close { background: none; border: none; font-size: 20px; color: var(--text-secondary); cursor: pointer; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 4px; flex-shrink: 0; }
100
+ .detail-panel-close:hover { background: var(--bg-surface-hover); color: var(--text-primary); }
63
101
  .detail-panel-body { flex: 1; overflow: hidden; min-width: 0; display: flex; flex-direction: column; }
64
102
  .detail-field { margin-bottom: 16px; word-wrap: break-word; }
65
103
  .description-field-wrapper { flex: 1; display: flex; flex-direction: column; min-height: 0; margin-bottom: 0; }
66
- .detail-field-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #94a3b8; margin-bottom: 4px; letter-spacing: 0.05em; }
67
- .detail-field-value { font-size: 13px; color: #1e293b; line-height: 1.5; }
68
- .detail-field-value.empty { color: #94a3b8; font-style: italic; }
104
+ .detail-field-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; letter-spacing: 0.05em; }
105
+ .detail-field-value { font-size: 13px; color: var(--text-primary); line-height: 1.5; }
106
+ .detail-field-value.empty { color: var(--text-muted); font-style: italic; }
69
107
  .detail-status-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 600; color: white; }
70
108
  .detail-tags { display: flex; flex-wrap: wrap; gap: 4px; }
71
109
  .detail-meta-table { width: 100%; border-collapse: collapse; }
72
110
  .detail-meta-table td { padding: 4px 0; font-size: 12px; }
73
- .detail-meta-table td:first-child { color: #64748b; width: 100px; }
74
- .detail-meta-table td:last-child { color: #1e293b; }
75
- .detail-panel-footer { padding: 12px 20px; border-top: 1px solid #e2e8f0; display: flex; justify-content: flex-end; flex-shrink: 0; }
111
+ .detail-meta-table td:first-child { color: var(--text-secondary); width: 100px; }
112
+ .detail-meta-table td:last-child { color: var(--text-primary); }
113
+ .detail-panel-footer { padding: 12px 20px; border-top: 1px solid var(--border-color); display: flex; justify-content: flex-end; flex-shrink: 0; }
76
114
  .detail-panel-footer button { padding: 7px 18px; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1px solid #3b82f6; background: #3b82f6; color: white; }
77
115
  .detail-panel-footer button:hover { background: #2563eb; border-color: #2563eb; }
78
- .detail-edit-input { width: 100%; border: 1px solid #e2e8f0; border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; background: white; color: #1e293b; }
116
+ .detail-edit-input { width: 100%; border: 1px solid var(--border-color); border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; background: var(--input-bg); color: var(--text-primary); }
79
117
  .detail-edit-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
80
- .detail-edit-textarea { width: 100%; border: 1px solid #e2e8f0; border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; resize: vertical; min-height: 240px; background: white; color: #1e293b; }
118
+ .detail-edit-textarea { width: 100%; border: 1px solid var(--border-color); border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; resize: vertical; min-height: 240px; background: var(--input-bg); color: var(--text-primary); }
81
119
  .detail-edit-textarea:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
82
120
  .description-field-wrapper .detail-edit-textarea { flex: 1; resize: none; min-height: 0; }
83
- .detail-edit-select { width: 100%; border: 1px solid #e2e8f0; border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; background: white; color: #1e293b; }
121
+ .detail-edit-select { width: 100%; border: 1px solid var(--border-color); border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; background: var(--input-bg); color: var(--text-primary); }
84
122
  .detail-edit-select:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
85
123
  .tag-select-wrapper { position: relative; }
86
- .tag-select-control { border: 1px solid #e2e8f0; border-radius: 6px; padding: 4px 8px; min-height: 36px; cursor: text; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; background: white; }
124
+ .tag-select-control { border: 1px solid var(--border-color); border-radius: 6px; padding: 4px 8px; min-height: 36px; cursor: text; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; background: var(--input-bg); }
87
125
  .tag-select-control:focus-within { border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
88
- .tag-pill { background: #e0f2fe; color: #0369a1; font-size: 11px; font-weight: 600; padding: 2px 4px 2px 8px; border-radius: 10px; display: inline-flex; align-items: center; gap: 3px; }
89
- .tag-pill-remove { background: none; border: none; color: #0369a1; cursor: pointer; font-size: 13px; line-height: 1; padding: 0 2px; display: inline-flex; align-items: center; border-radius: 50%; }
126
+ .tag-pill { background: var(--tag-bg); color: var(--tag-color); font-size: 11px; font-weight: 600; padding: 2px 4px 2px 8px; border-radius: 10px; display: inline-flex; align-items: center; gap: 3px; }
127
+ .tag-pill-remove { background: none; border: none; color: var(--tag-color); cursor: pointer; font-size: 13px; line-height: 1; padding: 0 2px; display: inline-flex; align-items: center; border-radius: 50%; }
90
128
  .tag-pill-remove:hover { color: #dc2626; background: rgba(220,38,38,0.1); }
91
- .tag-select-input { border: none; outline: none; font-size: 12px; font-family: inherit; min-width: 80px; flex: 1; background: transparent; padding: 2px 0; color: #1e293b; }
92
- .tag-select-input::placeholder { color: #94a3b8; }
93
- .tag-select-dropdown { position: absolute; top: calc(100% + 2px); left: 0; right: 0; background: white; border: 1px solid #e2e8f0; border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); z-index: 100; max-height: 180px; overflow-y: auto; display: none; }
129
+ .tag-select-input { border: none; outline: none; font-size: 12px; font-family: inherit; min-width: 80px; flex: 1; background: transparent; padding: 2px 0; color: var(--text-primary); }
130
+ .tag-select-input::placeholder { color: var(--text-muted); }
131
+ .tag-select-dropdown { position: absolute; top: calc(100% + 2px); left: 0; right: 0; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); z-index: 100; max-height: 180px; overflow-y: auto; display: none; }
94
132
  .tag-select-dropdown.open { display: block; }
95
- .tag-select-option { padding: 6px 10px; font-size: 12px; cursor: pointer; color: #1e293b; }
133
+ .tag-select-option { padding: 6px 10px; font-size: 12px; cursor: pointer; color: var(--text-primary); }
96
134
  .tag-select-option:hover, .tag-select-option.focused { background: #eff6ff; color: #0369a1; }
97
- .tag-select-no-options { padding: 6px 10px; font-size: 12px; color: #94a3b8; font-style: italic; }
98
- .filter-bar { display: flex; align-items: center; gap: 16px; height: 44px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; padding: 0 16px; flex-shrink: 0; overflow-x: auto; }
135
+ .tag-select-no-options { padding: 6px 10px; font-size: 12px; color: var(--text-muted); font-style: italic; }
136
+ .filter-bar { display: flex; align-items: center; gap: 16px; height: 44px; background: var(--bg-surface-subtle); border-bottom: 1px solid var(--border-color); padding: 0 16px; flex-shrink: 0; overflow-x: auto; }
99
137
  .filter-group { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
100
- .filter-label { font-size: 10px; font-weight: 700; text-transform: uppercase; color: #94a3b8; letter-spacing: 0.05em; white-space: nowrap; }
101
- .filter-priority-btn { border: 1px solid #e2e8f0; background: white; border-radius: 4px; padding: 2px 8px; font-size: 11px; font-weight: 600; cursor: pointer; text-transform: uppercase; color: #64748b; }
102
- .filter-priority-btn:hover { background: #f1f5f9; }
138
+ .filter-label { font-size: 10px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); letter-spacing: 0.05em; white-space: nowrap; }
139
+ .filter-priority-btn { border: 1px solid var(--border-color); background: var(--bg-surface); border-radius: 4px; padding: 2px 8px; font-size: 11px; font-weight: 600; cursor: pointer; text-transform: uppercase; color: var(--text-secondary); }
140
+ .filter-priority-btn:hover { background: var(--bg-surface-hover); }
103
141
  .filter-priority-btn.active[data-priority="critical"] { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }
104
142
  .filter-priority-btn.active[data-priority="high"] { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }
105
143
  .filter-priority-btn.active[data-priority="medium"] { background: #fef9c3; color: #ca8a04; border-color: #fde047; }
106
144
  .filter-priority-btn.active[data-priority="low"] { background: #dcfce7; color: #16a34a; border-color: #86efac; }
107
- .filter-assignee-input { border: 1px solid #e2e8f0; border-radius: 4px; padding: 3px 8px; font-size: 12px; font-family: inherit; background: white; color: #1e293b; width: 120px; }
145
+ .filter-search-input { border: 1px solid var(--border-color); border-radius: 4px; padding: 3px 8px; font-size: 12px; font-family: inherit; background: var(--input-bg); color: var(--text-primary); width: 160px; }
146
+ .filter-search-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
147
+ .filter-assignee-input { border: 1px solid var(--border-color); border-radius: 4px; padding: 3px 8px; font-size: 12px; font-family: inherit; background: var(--input-bg); color: var(--text-primary); width: 120px; }
108
148
  .filter-assignee-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
109
- .filter-tag-pill { background: #e0f2fe; color: #0369a1; font-size: 11px; font-weight: 600; padding: 2px 4px 2px 8px; border-radius: 10px; display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; }
110
- .filter-tag-pill-remove { background: none; border: none; color: #0369a1; cursor: pointer; font-size: 13px; line-height: 1; padding: 0 2px; display: inline-flex; align-items: center; border-radius: 50%; }
149
+ .filter-tag-pill { background: var(--tag-bg); color: var(--tag-color); font-size: 11px; font-weight: 600; padding: 2px 4px 2px 8px; border-radius: 10px; display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; }
150
+ .filter-tag-pill-remove { background: none; border: none; color: var(--tag-color); cursor: pointer; font-size: 13px; line-height: 1; padding: 0 2px; display: inline-flex; align-items: center; border-radius: 50%; }
111
151
  .filter-tag-pill-remove:hover { color: #dc2626; background: rgba(220,38,38,0.1); }
112
152
  .filter-tag-dropdown-wrapper { flex-shrink: 0; }
113
- .filter-tag-add-btn { border: 1px dashed #cbd5e1; background: white; border-radius: 4px; padding: 2px 8px; font-size: 11px; color: #64748b; cursor: pointer; white-space: nowrap; }
114
- .filter-tag-add-btn:hover { background: #f1f5f9; border-color: #94a3b8; }
115
- .filter-tag-dropdown { position: fixed; background: white; border: 1px solid #e2e8f0; border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); z-index: 200; max-height: 180px; overflow-y: auto; display: none; min-width: 140px; }
153
+ .filter-tag-add-btn { border: 1px dashed var(--border-color); background: var(--bg-surface); border-radius: 4px; padding: 2px 8px; font-size: 11px; color: var(--text-secondary); cursor: pointer; white-space: nowrap; }
154
+ .filter-tag-add-btn:hover { background: var(--bg-surface-hover); border-color: var(--text-muted); }
155
+ .filter-tag-dropdown { position: fixed; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); z-index: 200; max-height: 180px; overflow-y: auto; display: none; min-width: 140px; }
116
156
  .filter-tag-dropdown.open { display: block; }
117
- .filter-tag-dropdown-option { padding: 6px 10px; font-size: 12px; cursor: pointer; color: #1e293b; white-space: nowrap; }
157
+ .filter-tag-dropdown-option { padding: 6px 10px; font-size: 12px; cursor: pointer; color: var(--text-primary); white-space: nowrap; }
118
158
  .filter-tag-dropdown-option:hover { background: #eff6ff; color: #0369a1; }
119
- .filter-tag-dropdown-empty { padding: 6px 10px; font-size: 12px; color: #94a3b8; font-style: italic; }
120
- .filter-clear-btn { border: 1px solid #e2e8f0; background: white; border-radius: 4px; padding: 2px 10px; font-size: 11px; font-weight: 600; cursor: pointer; color: #64748b; display: none; flex-shrink: 0; margin-left: auto; }
159
+ .filter-tag-dropdown-empty { padding: 6px 10px; font-size: 12px; color: var(--text-muted); font-style: italic; }
160
+ .filter-clear-btn { border: 1px solid var(--border-color); background: var(--bg-surface); border-radius: 4px; padding: 2px 10px; font-size: 11px; font-weight: 600; cursor: pointer; color: var(--text-secondary); display: none; flex-shrink: 0; margin-left: auto; }
121
161
  .filter-clear-btn:hover { background: #fee2e2; border-color: #fca5a5; color: #dc2626; }
122
162
  .filter-clear-btn.visible { display: block; }
123
- .detail-tabs { display: flex; gap: 0; border-bottom: 1px solid #e2e8f0; flex-shrink: 0; padding: 0 20px; background: white; }
124
- .detail-tab { padding: 8px 14px; font-size: 12px; font-weight: 600; color: #94a3b8; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; border-top: none; border-left: none; border-right: none; }
125
- .detail-tab:hover { color: #64748b; }
163
+ .detail-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--border-color); flex-shrink: 0; padding: 0 20px; background: var(--bg-surface); }
164
+ .detail-tab { padding: 8px 14px; font-size: 12px; font-weight: 600; color: var(--text-muted); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; border-top: none; border-left: none; border-right: none; }
165
+ .detail-tab:hover { color: var(--text-secondary); }
126
166
  .detail-tab.active { color: #3b82f6; border-bottom-color: #3b82f6; }
127
167
  .detail-tab-content { display: none; flex: 1; overflow-y: auto; min-height: 0; }
128
168
  .detail-tab-content.active { display: flex; flex-direction: column; }
129
- .detail-relations { font-size: 12px; color: #64748b; padding: 6px 0; border-bottom: 1px solid #f1f5f9; margin-bottom: 12px; }
169
+ .detail-relations { font-size: 12px; color: var(--text-secondary); padding: 6px 0; border-bottom: 1px solid var(--border-color-subtle); margin-bottom: 12px; }
130
170
  .detail-relation-row { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
131
- .detail-relation-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #94a3b8; width: 80px; flex-shrink: 0; letter-spacing: 0.05em; }
171
+ .detail-relation-label { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); width: 80px; flex-shrink: 0; letter-spacing: 0.05em; }
132
172
  .detail-relation-ids { display: flex; flex-wrap: wrap; gap: 4px; }
133
173
  .detail-relation-id { font-size: 11px; color: #3b82f6; background: #eff6ff; border-radius: 10px; padding: 1px 7px; font-weight: 600; }
134
- .detail-timestamp { font-size: 11px; color: #94a3b8; margin-top: 8px; padding-top: 8px; border-top: 1px solid #f1f5f9; }
135
- .comment-item { position: relative; padding: 6px 0 6px 10px; border-left: 2px solid #e2e8f0; margin-bottom: 10px; }
174
+ .detail-timestamp { font-size: 11px; color: var(--text-muted); margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border-color-subtle); }
175
+ .comment-item { position: relative; padding: 6px 0 6px 10px; border-left: 2px solid var(--border-color); margin-bottom: 10px; }
136
176
  .comment-item:hover { border-left-color: #3b82f6; }
137
177
  .comment-meta { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; }
138
- .comment-author { font-size: 11px; font-weight: 600; color: #64748b; }
139
- .comment-date { font-size: 11px; color: #94a3b8; }
178
+ .comment-author { font-size: 11px; font-weight: 600; color: var(--text-secondary); }
179
+ .comment-date { font-size: 11px; color: var(--text-muted); }
140
180
  .comment-actions { display: none; margin-left: auto; gap: 4px; }
141
181
  .comment-item:hover .comment-actions { display: flex; }
142
- .comment-action-btn { background: none; border: none; padding: 1px 4px; cursor: pointer; color: #94a3b8; font-size: 12px; border-radius: 3px; }
143
- .comment-action-btn:hover { color: #1e293b; background: #f1f5f9; }
182
+ .comment-action-btn { background: none; border: none; padding: 1px 4px; cursor: pointer; color: var(--text-muted); font-size: 12px; border-radius: 3px; }
183
+ .comment-action-btn:hover { color: var(--text-primary); background: var(--bg-surface-hover); }
144
184
  .comment-action-btn.danger:hover { color: #dc2626; background: #fef2f2; }
145
- .comment-content { font-size: 13px; color: #1e293b; line-height: 1.5; white-space: pre-wrap; }
146
- .comment-edit-area { width: 100%; border: 1px solid #e2e8f0; border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; resize: vertical; min-height: 60px; background: white; color: #1e293b; margin-top: 4px; }
185
+ .comment-content { font-size: 13px; color: var(--text-primary); line-height: 1.5; white-space: pre-wrap; }
186
+ .comment-edit-area { width: 100%; border: 1px solid var(--border-color); border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; resize: vertical; min-height: 60px; background: var(--input-bg); color: var(--text-primary); margin-top: 4px; }
147
187
  .comment-edit-area:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
148
188
  .comment-edit-actions { display: flex; gap: 6px; margin-top: 4px; }
149
- .comment-btn { background: none; border: 1px solid #e2e8f0; border-radius: 4px; font-size: 11px; font-weight: 600; padding: 2px 8px; cursor: pointer; color: #64748b; }
150
- .comment-btn:hover { background: #f1f5f9; }
151
- .add-comment-trigger { background: none; border: 1px dashed #cbd5e1; border-radius: 6px; padding: 8px 12px; font-size: 12px; color: #94a3b8; cursor: pointer; width: 100%; text-align: left; margin-top: 4px; }
152
- .add-comment-trigger:hover { border-color: #94a3b8; color: #64748b; background: #f8fafc; }
189
+ .comment-btn { background: none; border: 1px solid var(--border-color); border-radius: 4px; font-size: 11px; font-weight: 600; padding: 2px 8px; cursor: pointer; color: var(--text-secondary); }
190
+ .comment-btn:hover { background: var(--bg-surface-hover); }
191
+ .add-comment-trigger { background: none; border: 1px dashed var(--border-color); border-radius: 6px; padding: 8px 12px; font-size: 12px; color: var(--text-muted); cursor: pointer; width: 100%; text-align: left; margin-top: 4px; }
192
+ .add-comment-trigger:hover { border-color: var(--text-muted); color: var(--text-secondary); background: var(--bg-surface-subtle); }
153
193
  .add-comment-form { margin-top: 4px; display: none; }
154
194
  .add-comment-form.open { display: block; }
155
- .add-comment-textarea { width: 100%; border: 1px solid #e2e8f0; border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; resize: vertical; min-height: 72px; background: white; color: #1e293b; }
195
+ .add-comment-textarea { width: 100%; border: 1px solid var(--border-color); border-radius: 6px; padding: 7px 10px; font-size: 13px; font-family: inherit; resize: vertical; min-height: 72px; background: var(--input-bg); color: var(--text-primary); }
156
196
  .add-comment-textarea:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 2px rgba(59,130,246,0.2); }
157
197
  .add-comment-submit { margin-top: 6px; padding: 5px 14px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer; border: 1px solid #3b82f6; background: #3b82f6; color: white; }
158
198
  .add-comment-submit:hover { background: #2563eb; border-color: #2563eb; }
159
- .add-comment-cancel { margin-top: 6px; margin-left: 6px; padding: 5px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer; border: 1px solid #e2e8f0; background: white; color: #64748b; }
160
- .add-comment-cancel:hover { background: #f1f5f9; }
199
+ .add-comment-cancel { margin-top: 6px; margin-left: 6px; padding: 5px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer; border: 1px solid var(--border-color); background: var(--bg-surface); color: var(--text-secondary); }
200
+ .add-comment-cancel:hover { background: var(--bg-surface-hover); }
161
201
  .burger-menu-wrapper { position: relative; }
162
202
  .burger-menu-btn { background: none; border: none; color: white; cursor: pointer; padding: 4px 6px; border-radius: 4px; display: flex; flex-direction: column; gap: 4px; align-items: center; justify-content: center; opacity: 0.8; }
163
203
  .burger-menu-btn:hover { opacity: 1; background: rgba(255,255,255,0.1); }
164
204
  .burger-menu-btn span { display: block; width: 18px; height: 2px; background: white; border-radius: 1px; }
165
- .burger-menu-dropdown { position: absolute; right: 0; top: calc(100% + 6px); background: white; border: 1px solid #e2e8f0; border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); padding: 4px 0; z-index: 1000; display: none; min-width: 180px; }
205
+ .burger-menu-dropdown { position: absolute; right: 0; top: calc(100% + 6px); background: var(--burger-dropdown-bg); border: 1px solid var(--border-color); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); padding: 4px 0; z-index: 1000; display: none; min-width: 180px; }
166
206
  .burger-menu-dropdown.open { display: block; }
167
- .burger-menu-item { padding: 8px 14px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 8px; color: #1e293b; white-space: nowrap; }
168
- .burger-menu-item:hover { background: #f1f5f9; }
207
+ .burger-menu-item { padding: 8px 14px; font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 8px; color: var(--text-primary); white-space: nowrap; }
208
+ .burger-menu-item:hover { background: var(--bg-surface-hover); }
169
209
  .burger-menu-item.danger { color: #dc2626; }
170
- .burger-menu-item.danger:hover { background: #fef2f2; }`;
210
+ .burger-menu-item.danger:hover { background: #fef2f2; }
211
+ .burger-menu-separator { height: 1px; background: var(--border-color); margin: 4px 0; }`;
171
212
  //# sourceMappingURL=boardStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"boardStyles.js","sourceRoot":"","sources":["../../src/board/boardStyles.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DAsKgC,CAAC"}
1
+ {"version":3,"file":"boardStyles.js","sourceRoot":"","sources":["../../src/board/boardStyles.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4FA+MgE,CAAC"}