@skillcdn/console 0.1.10 → 0.1.11
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.
- package/README.md +4 -4
- package/dist/api.d.ts +6 -5
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +5 -4
- package/dist/api.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +49 -9
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/format.d.ts +2 -0
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +7 -6
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +10 -9
- package/dist/cli/help.js.map +1 -1
- package/dist/client.d.ts +14 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +13 -1
- package/dist/client.js.map +1 -1
- package/dist/components/board.d.ts +1 -4
- package/dist/components/board.d.ts.map +1 -1
- package/dist/components/board.js +5 -12
- package/dist/components/board.js.map +1 -1
- package/dist/components/calendar.d.ts +21 -1
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +67 -7
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/decision-list.d.ts.map +1 -1
- package/dist/components/decision-list.js +11 -9
- package/dist/components/decision-list.js.map +1 -1
- package/dist/components/event-feed.d.ts.map +1 -1
- package/dist/components/event-feed.js +11 -7
- package/dist/components/event-feed.js.map +1 -1
- package/dist/components/paged.d.ts +14 -0
- package/dist/components/paged.d.ts.map +1 -0
- package/dist/components/paged.js +28 -0
- package/dist/components/paged.js.map +1 -0
- package/dist/components/projects.d.ts +22 -2
- package/dist/components/projects.d.ts.map +1 -1
- package/dist/components/projects.js +35 -7
- package/dist/components/projects.js.map +1 -1
- package/dist/components/runs.d.ts.map +1 -1
- package/dist/components/runs.js +2 -2
- package/dist/components/runs.js.map +1 -1
- package/dist/components/shell.d.ts +2 -1
- package/dist/components/shell.d.ts.map +1 -1
- package/dist/components/shell.js +1 -1
- package/dist/components/shell.js.map +1 -1
- package/dist/components/task-list.d.ts +1 -1
- package/dist/components/task-list.d.ts.map +1 -1
- package/dist/components/task-list.js +6 -4
- package/dist/components/task-list.js.map +1 -1
- package/dist/components/task-view.js +1 -1
- package/dist/components/task-view.js.map +1 -1
- package/dist/components/work.d.ts.map +1 -1
- package/dist/components/work.js +7 -3
- package/dist/components/work.js.map +1 -1
- package/dist/console.css +149 -2
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +34 -18
- package/dist/console.js.map +1 -1
- package/dist/data.d.ts +5 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +15 -2
- package/dist/data.js.map +1 -1
- package/dist/i18n/en.d.ts +12 -6
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +12 -8
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +12 -8
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/limits.d.ts +6 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +6 -0
- package/dist/limits.js.map +1 -1
- package/dist/marks.d.ts +12 -0
- package/dist/marks.d.ts.map +1 -0
- package/dist/marks.js +31 -0
- package/dist/marks.js.map +1 -0
- package/dist/router.d.ts +4 -3
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +11 -5
- package/dist/router.js.map +1 -1
- package/dist/routes.d.ts +7 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +8 -0
- package/dist/routes.js.map +1 -1
- package/dist/schemas.d.ts +123 -3
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +42 -10
- package/dist/schemas.js.map +1 -1
- package/dist/vocabulary.d.ts +10 -4
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +8 -3
- package/dist/vocabulary.js.map +1 -1
- package/docs/specs/cli.md +7 -5
- package/docs/specs/rest.md +18 -12
- package/package.json +1 -1
- package/skills/working-the-board/SKILL.md +1 -1
- package/src/api.ts +12 -0
- package/src/cli/cli.ts +51 -8
- package/src/cli/format.ts +8 -6
- package/src/cli/help.ts +10 -10
- package/src/client.ts +29 -6
- package/src/components/board.tsx +5 -38
- package/src/components/calendar.tsx +166 -54
- package/src/components/decision-list.tsx +38 -33
- package/src/components/event-feed.tsx +34 -27
- package/src/components/paged.tsx +39 -0
- package/src/components/projects.tsx +128 -10
- package/src/components/runs.tsx +7 -1
- package/src/components/shell.tsx +5 -2
- package/src/components/task-list.tsx +35 -32
- package/src/components/task-view.tsx +1 -1
- package/src/components/work.tsx +12 -2
- package/src/console.tsx +54 -20
- package/src/data.ts +20 -4
- package/src/i18n/en.ts +12 -8
- package/src/i18n/ko.ts +12 -8
- package/src/index.ts +4 -0
- package/src/limits.ts +6 -0
- package/src/marks.ts +40 -0
- package/src/router.ts +19 -7
- package/src/routes.ts +9 -0
- package/src/schemas.ts +48 -8
- package/src/styles/console.css +149 -2
- package/src/vocabulary.ts +14 -4
package/src/styles/console.css
CHANGED
|
@@ -1197,6 +1197,7 @@ table {
|
|
|
1197
1197
|
flex: 1 1 0;
|
|
1198
1198
|
grid-auto-flow: column;
|
|
1199
1199
|
grid-auto-columns: minmax(var(--sc-column-width), 1fr);
|
|
1200
|
+
grid-template-rows: minmax(0, 1fr);
|
|
1200
1201
|
gap: var(--sc-space-3);
|
|
1201
1202
|
min-height: 24rem;
|
|
1202
1203
|
overflow-x: auto;
|
|
@@ -1209,6 +1210,8 @@ table {
|
|
|
1209
1210
|
display: flex;
|
|
1210
1211
|
flex-direction: column;
|
|
1211
1212
|
min-height: 0;
|
|
1213
|
+
/* The body scrolls; the column clips, so that nothing of it reaches the board's own scrolling. */
|
|
1214
|
+
overflow: hidden;
|
|
1212
1215
|
border-radius: var(--sc-radius-xl);
|
|
1213
1216
|
scroll-snap-align: start;
|
|
1214
1217
|
}
|
|
@@ -2575,15 +2578,89 @@ table {
|
|
|
2575
2578
|
white-space: nowrap;
|
|
2576
2579
|
}
|
|
2577
2580
|
|
|
2578
|
-
.sc-calendar-
|
|
2581
|
+
.sc-calendar-over {
|
|
2579
2582
|
color: var(--sc-color-text-faint);
|
|
2580
2583
|
text-decoration: line-through;
|
|
2581
2584
|
}
|
|
2582
2585
|
|
|
2583
|
-
.sc-calendar-
|
|
2586
|
+
.sc-calendar-late {
|
|
2584
2587
|
color: var(--sc-color-danger);
|
|
2585
2588
|
}
|
|
2586
2589
|
|
|
2590
|
+
/* A task planned across days lies across them: a bar in a lane of its own, in its category's
|
|
2591
|
+
colour, reaching over the gap between the cells so that it reads as one. */
|
|
2592
|
+
.sc-calendar-lane,
|
|
2593
|
+
.sc-calendar-bar {
|
|
2594
|
+
display: flex;
|
|
2595
|
+
align-items: center;
|
|
2596
|
+
height: 1.125rem;
|
|
2597
|
+
margin-top: 2px;
|
|
2598
|
+
}
|
|
2599
|
+
|
|
2600
|
+
.sc-calendar-bar {
|
|
2601
|
+
margin-inline: calc(-1 * var(--sc-space-2) - 0.125rem - 1px);
|
|
2602
|
+
padding-inline: var(--sc-space-2);
|
|
2603
|
+
border-block: 1px solid color-mix(in srgb, var(--sc-category-line) 45%, transparent);
|
|
2604
|
+
background: var(--sc-category-fill);
|
|
2605
|
+
color: var(--sc-category-line);
|
|
2606
|
+
font-size: var(--sc-text-xs);
|
|
2607
|
+
line-height: 1;
|
|
2608
|
+
text-decoration: none;
|
|
2609
|
+
overflow: hidden;
|
|
2610
|
+
white-space: nowrap;
|
|
2611
|
+
}
|
|
2612
|
+
|
|
2613
|
+
.sc-calendar-bar:hover {
|
|
2614
|
+
filter: brightness(1.15);
|
|
2615
|
+
}
|
|
2616
|
+
|
|
2617
|
+
.sc-calendar-bar-begins {
|
|
2618
|
+
margin-left: 0;
|
|
2619
|
+
border-left: 1px solid color-mix(in srgb, var(--sc-category-line) 45%, transparent);
|
|
2620
|
+
border-start-start-radius: var(--sc-radius-full);
|
|
2621
|
+
border-end-start-radius: var(--sc-radius-full);
|
|
2622
|
+
}
|
|
2623
|
+
|
|
2624
|
+
.sc-calendar-bar-ends {
|
|
2625
|
+
margin-right: 0;
|
|
2626
|
+
border-right: 1px solid color-mix(in srgb, var(--sc-category-line) 45%, transparent);
|
|
2627
|
+
border-start-end-radius: var(--sc-radius-full);
|
|
2628
|
+
border-end-end-radius: var(--sc-radius-full);
|
|
2629
|
+
}
|
|
2630
|
+
|
|
2631
|
+
.sc-calendar-bar.sc-calendar-late {
|
|
2632
|
+
border-color: color-mix(in srgb, var(--sc-color-danger) 70%, transparent);
|
|
2633
|
+
color: var(--sc-color-danger);
|
|
2634
|
+
}
|
|
2635
|
+
|
|
2636
|
+
.sc-calendar-bar.sc-calendar-over {
|
|
2637
|
+
opacity: 0.55;
|
|
2638
|
+
}
|
|
2639
|
+
|
|
2640
|
+
.sc-calendar-legend {
|
|
2641
|
+
display: flex;
|
|
2642
|
+
flex-wrap: wrap;
|
|
2643
|
+
gap: var(--sc-space-1) var(--sc-space-4);
|
|
2644
|
+
margin: 0;
|
|
2645
|
+
color: var(--sc-color-text-muted);
|
|
2646
|
+
font-size: var(--sc-text-xs);
|
|
2647
|
+
}
|
|
2648
|
+
|
|
2649
|
+
.sc-calendar-legend div {
|
|
2650
|
+
display: flex;
|
|
2651
|
+
align-items: center;
|
|
2652
|
+
gap: var(--sc-space-1);
|
|
2653
|
+
}
|
|
2654
|
+
|
|
2655
|
+
.sc-calendar-legend dt {
|
|
2656
|
+
display: flex;
|
|
2657
|
+
align-items: center;
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2660
|
+
.sc-calendar-legend dd {
|
|
2661
|
+
margin: 0;
|
|
2662
|
+
}
|
|
2663
|
+
|
|
2587
2664
|
.sc-calendar-task-start {
|
|
2588
2665
|
color: var(--sc-color-text-muted);
|
|
2589
2666
|
}
|
|
@@ -2593,6 +2670,69 @@ table {
|
|
|
2593
2670
|
color: var(--sc-color-text-faint);
|
|
2594
2671
|
}
|
|
2595
2672
|
|
|
2673
|
+
/* The button under a list shown a page at a time. */
|
|
2674
|
+
.sc-show-more {
|
|
2675
|
+
margin-top: var(--sc-space-3);
|
|
2676
|
+
}
|
|
2677
|
+
|
|
2678
|
+
/* A project's mark: its symbol on its colour. */
|
|
2679
|
+
.sc-mark {
|
|
2680
|
+
display: inline-flex;
|
|
2681
|
+
flex: none;
|
|
2682
|
+
align-items: center;
|
|
2683
|
+
justify-content: center;
|
|
2684
|
+
border-radius: var(--sc-radius-sm);
|
|
2685
|
+
background: var(--sc-category-fill);
|
|
2686
|
+
color: var(--sc-category-line);
|
|
2687
|
+
font-weight: var(--sc-weight-bold);
|
|
2688
|
+
line-height: 1;
|
|
2689
|
+
vertical-align: middle;
|
|
2690
|
+
}
|
|
2691
|
+
|
|
2692
|
+
.sc-mark-sm {
|
|
2693
|
+
width: 1.125rem;
|
|
2694
|
+
height: 1.125rem;
|
|
2695
|
+
margin-right: var(--sc-space-1);
|
|
2696
|
+
font-size: 0.625rem;
|
|
2697
|
+
}
|
|
2698
|
+
|
|
2699
|
+
.sc-mark-md {
|
|
2700
|
+
width: 2rem;
|
|
2701
|
+
height: 2rem;
|
|
2702
|
+
border-radius: var(--sc-radius-md);
|
|
2703
|
+
font-size: var(--sc-text-sm);
|
|
2704
|
+
}
|
|
2705
|
+
|
|
2706
|
+
.sc-mark-lg {
|
|
2707
|
+
width: 3rem;
|
|
2708
|
+
height: 3rem;
|
|
2709
|
+
border-radius: var(--sc-radius-lg);
|
|
2710
|
+
font-size: var(--sc-text-xl);
|
|
2711
|
+
}
|
|
2712
|
+
|
|
2713
|
+
.sc-mark-row {
|
|
2714
|
+
align-items: end;
|
|
2715
|
+
}
|
|
2716
|
+
|
|
2717
|
+
/* A project's own image, in place of the symbol, filling the mark. */
|
|
2718
|
+
.sc-mark-pictured {
|
|
2719
|
+
padding: 0;
|
|
2720
|
+
overflow: hidden;
|
|
2721
|
+
background: var(--sc-color-bg-inset);
|
|
2722
|
+
}
|
|
2723
|
+
|
|
2724
|
+
.sc-mark-image {
|
|
2725
|
+
display: block;
|
|
2726
|
+
width: 100%;
|
|
2727
|
+
height: 100%;
|
|
2728
|
+
object-fit: cover;
|
|
2729
|
+
}
|
|
2730
|
+
|
|
2731
|
+
.sc-input-file {
|
|
2732
|
+
padding-block: calc(var(--sc-space-2) - 2px);
|
|
2733
|
+
font-size: var(--sc-text-sm);
|
|
2734
|
+
}
|
|
2735
|
+
|
|
2596
2736
|
.sc-calendar-below {
|
|
2597
2737
|
display: grid;
|
|
2598
2738
|
align-items: start;
|
|
@@ -2921,6 +3061,13 @@ table {
|
|
|
2921
3061
|
display: none;
|
|
2922
3062
|
}
|
|
2923
3063
|
|
|
3064
|
+
.sc-calendar-lane,
|
|
3065
|
+
.sc-calendar-bar {
|
|
3066
|
+
height: 4px;
|
|
3067
|
+
padding: 0;
|
|
3068
|
+
border: 0;
|
|
3069
|
+
}
|
|
3070
|
+
|
|
2924
3071
|
.sc-feed-item {
|
|
2925
3072
|
grid-template-columns: 1fr;
|
|
2926
3073
|
gap: var(--sc-space-1);
|
package/src/vocabulary.ts
CHANGED
|
@@ -31,10 +31,10 @@ export const GOAL_STATES = ["planned", "active", "done", "dropped"] as const;
|
|
|
31
31
|
export type GoalState = (typeof GOAL_STATES)[number];
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
|
-
* The colours a category may be shown in: names, so that a custom console
|
|
35
|
-
* own tokens and no value
|
|
34
|
+
* The colours a category, or a project's mark, may be shown in: names, so that a custom console
|
|
35
|
+
* paints them in its own tokens and no value a person typed reaches a stylesheet.
|
|
36
36
|
*/
|
|
37
|
-
export const
|
|
37
|
+
export const COLOR_NAMES = [
|
|
38
38
|
"gray",
|
|
39
39
|
"blue",
|
|
40
40
|
"green",
|
|
@@ -45,7 +45,16 @@ export const CATEGORY_COLORS = [
|
|
|
45
45
|
"yellow",
|
|
46
46
|
] as const;
|
|
47
47
|
|
|
48
|
-
export type
|
|
48
|
+
export type ColorName = (typeof COLOR_NAMES)[number];
|
|
49
|
+
|
|
50
|
+
/** The colours of the categories: the same names. */
|
|
51
|
+
export const CATEGORY_COLORS = COLOR_NAMES;
|
|
52
|
+
|
|
53
|
+
export type CategoryColor = ColorName;
|
|
54
|
+
|
|
55
|
+
/** The kinds of image a project's own mark may be: what a browser shows in place, and nothing that can run. */
|
|
56
|
+
export const PROJECT_ICON_TYPES = ["image/png", "image/jpeg", "image/gif", "image/webp"] as const;
|
|
57
|
+
export type ProjectIconType = (typeof PROJECT_ICON_TYPES)[number];
|
|
49
58
|
|
|
50
59
|
/** The identity providers people may sign in through: the git host, and Google (Workspace). */
|
|
51
60
|
export const PROVIDER_KEYS = ["gh", "google"] as const;
|
|
@@ -132,6 +141,7 @@ export const EVENT_KINDS = [
|
|
|
132
141
|
"run.started",
|
|
133
142
|
"run.reported",
|
|
134
143
|
"run.handed_in",
|
|
144
|
+
"run.taken_over",
|
|
135
145
|
"run.ended",
|
|
136
146
|
"document.written",
|
|
137
147
|
"document.archived",
|