@skillcdn/console 0.3.0 → 0.3.2
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 +4 -4
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +4 -4
- package/dist/api.js.map +1 -1
- package/dist/cli/cli.d.ts +5 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +290 -46
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/credentials.d.ts +5 -0
- package/dist/cli/credentials.d.ts.map +1 -1
- package/dist/cli/credentials.js +2 -0
- package/dist/cli/credentials.js.map +1 -1
- package/dist/cli/directory.d.ts +7 -0
- package/dist/cli/directory.d.ts.map +1 -1
- package/dist/cli/directory.js +7 -0
- package/dist/cli/directory.js.map +1 -1
- package/dist/cli/format.d.ts +10 -1
- package/dist/cli/format.d.ts.map +1 -1
- package/dist/cli/format.js +76 -20
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +42 -23
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +1 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/client.d.ts +39 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +24 -3
- package/dist/client.js.map +1 -1
- package/dist/compat.d.ts +28 -6
- package/dist/compat.d.ts.map +1 -1
- package/dist/compat.js +55 -14
- package/dist/compat.js.map +1 -1
- package/dist/components/board.d.ts.map +1 -1
- package/dist/components/board.js +6 -4
- package/dist/components/board.js.map +1 -1
- package/dist/components/calendar.d.ts +18 -8
- package/dist/components/calendar.d.ts.map +1 -1
- package/dist/components/calendar.js +39 -27
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/event-feed.d.ts.map +1 -1
- package/dist/components/event-feed.js +2 -0
- package/dist/components/event-feed.js.map +1 -1
- package/dist/components/pack-connect.d.ts +23 -0
- package/dist/components/pack-connect.d.ts.map +1 -0
- package/dist/components/pack-connect.js +86 -0
- package/dist/components/pack-connect.js.map +1 -0
- package/dist/components/pack-token.d.ts +27 -0
- package/dist/components/pack-token.d.ts.map +1 -0
- package/dist/components/pack-token.js +11 -0
- package/dist/components/pack-token.js.map +1 -0
- package/dist/components/picker.d.ts +39 -0
- package/dist/components/picker.d.ts.map +1 -0
- package/dist/components/picker.js +155 -0
- package/dist/components/picker.js.map +1 -0
- package/dist/components/projects.d.ts +13 -0
- package/dist/components/projects.d.ts.map +1 -1
- package/dist/components/projects.js +37 -5
- package/dist/components/projects.js.map +1 -1
- package/dist/components/task-form.d.ts +18 -4
- package/dist/components/task-form.d.ts.map +1 -1
- package/dist/components/task-form.js +56 -13
- package/dist/components/task-form.js.map +1 -1
- package/dist/components/task-list.js +2 -2
- package/dist/components/task-list.js.map +1 -1
- package/dist/components/task-view.d.ts +7 -1
- package/dist/components/task-view.d.ts.map +1 -1
- package/dist/components/task-view.js +6 -5
- package/dist/components/task-view.js.map +1 -1
- package/dist/components/ui.d.ts +7 -0
- package/dist/components/ui.d.ts.map +1 -1
- package/dist/components/ui.js +11 -0
- package/dist/components/ui.js.map +1 -1
- package/dist/components/work.d.ts +3 -1
- package/dist/components/work.d.ts.map +1 -1
- package/dist/components/work.js +6 -4
- package/dist/components/work.js.map +1 -1
- package/dist/components/workspace.d.ts +46 -0
- package/dist/components/workspace.d.ts.map +1 -0
- package/dist/components/workspace.js +124 -0
- package/dist/components/workspace.js.map +1 -0
- package/dist/console.css +319 -11
- package/dist/console.d.ts.map +1 -1
- package/dist/console.js +83 -24
- package/dist/console.js.map +1 -1
- package/dist/data.d.ts +26 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +59 -1
- package/dist/data.js.map +1 -1
- package/dist/dates.d.ts +12 -2
- package/dist/dates.d.ts.map +1 -1
- package/dist/dates.js +20 -2
- package/dist/dates.js.map +1 -1
- package/dist/i18n/en.d.ts +64 -3
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +81 -16
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/ko.d.ts.map +1 -1
- package/dist/i18n/ko.js +77 -16
- package/dist/i18n/ko.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/limits.d.ts +2 -0
- package/dist/limits.d.ts.map +1 -1
- package/dist/limits.js +2 -0
- package/dist/limits.js.map +1 -1
- package/dist/router.d.ts +4 -4
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +11 -2
- package/dist/router.js.map +1 -1
- package/dist/routes.d.ts +4 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +4 -0
- package/dist/routes.js.map +1 -1
- package/dist/schemas.d.ts +194 -13
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +121 -21
- package/dist/schemas.js.map +1 -1
- package/dist/vocabulary.d.ts +21 -1
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +18 -0
- package/dist/vocabulary.js.map +1 -1
- package/docs/specs/cli.md +25 -20
- package/docs/specs/rest.md +42 -19
- package/package.json +2 -2
- package/skills/building-a-console/SKILL.md +6 -6
- package/skills/building-a-console/references/the-look-from-a-website.md +39 -0
- package/skills/deploying-a-console/SKILL.md +9 -8
- package/skills/deploying-a-console/references/resources.md +1 -1
- package/skills/working-the-board/SKILL.md +5 -5
- package/skills/working-the-board/references/setting-up.md +1 -1
- package/skills/working-the-board/references/terms.md +3 -1
- package/skills/working-the-board/references/the-sentence.md +1 -1
- package/src/api.ts +21 -0
- package/src/cli/cli.ts +384 -51
- package/src/cli/credentials.ts +7 -0
- package/src/cli/directory.ts +9 -0
- package/src/cli/format.ts +83 -20
- package/src/cli/help.ts +50 -23
- package/src/cli/main.ts +1 -0
- package/src/client.ts +107 -10
- package/src/compat.ts +63 -14
- package/src/components/board.tsx +10 -4
- package/src/components/calendar.tsx +76 -34
- package/src/components/event-feed.tsx +2 -0
- package/src/components/pack-connect.tsx +179 -0
- package/src/components/pack-token.tsx +74 -0
- package/src/components/picker.tsx +297 -0
- package/src/components/projects.tsx +108 -9
- package/src/components/task-form.tsx +149 -63
- package/src/components/task-list.tsx +2 -2
- package/src/components/task-view.tsx +23 -9
- package/src/components/ui.tsx +25 -0
- package/src/components/work.tsx +10 -5
- package/src/components/workspace.tsx +298 -0
- package/src/console.tsx +202 -32
- package/src/data.ts +101 -1
- package/src/dates.ts +23 -2
- package/src/i18n/en.ts +92 -16
- package/src/i18n/ko.ts +84 -16
- package/src/index.ts +32 -1
- package/src/limits.ts +2 -0
- package/src/router.ts +17 -5
- package/src/routes.ts +4 -0
- package/src/schemas.ts +140 -19
- package/src/styles/console.css +319 -11
- package/src/vocabulary.ts +28 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type PeopleVisibility, type RestWorkspace, type RestWorkspacePatch, type WeekStart } from "../api.js";
|
|
2
|
+
/** What a workspace is set to until an administrator says otherwise, for a console that answers no setting. */
|
|
3
|
+
export declare const DEFAULT_PEOPLE_VISIBILITY: PeopleVisibility;
|
|
4
|
+
/** Who sees whom, as the workspace says, or as a console older than the setting would have it. */
|
|
5
|
+
export declare function peopleVisibilityOf(workspace: RestWorkspace | undefined): PeopleVisibility;
|
|
6
|
+
/** The day the calendars begin a week on, as the workspace says, or the system default. */
|
|
7
|
+
export declare function weekStartOf(workspace: RestWorkspace | undefined): WeekStart;
|
|
8
|
+
/** The workspace's time zone, or none. */
|
|
9
|
+
export declare function timeZoneOf(workspace: RestWorkspace | undefined): string | undefined;
|
|
10
|
+
/** The zones this browser knows, for the picker to offer; none where it cannot say. */
|
|
11
|
+
export declare function knownTimeZones(): readonly string[];
|
|
12
|
+
/** The zone this device keeps time in, as the browser says; none where it cannot say. */
|
|
13
|
+
export declare function deviceTimeZone(): string | undefined;
|
|
14
|
+
/** A zone's offset from UTC at a moment, as `UTC+09:00`; none where the browser cannot say. */
|
|
15
|
+
export declare function offsetOf(zone: string, at: Date): string | undefined;
|
|
16
|
+
export interface TimeZoneOption {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
/** The offset now, for the person to tell zones apart by; none where the browser cannot say. */
|
|
19
|
+
readonly offset: string | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface TimeZoneGroup {
|
|
22
|
+
/** The area before the slash, `Asia` of `Asia/Seoul`; empty for a zone with none, such as `UTC`. */
|
|
23
|
+
readonly area: string;
|
|
24
|
+
readonly zones: readonly TimeZoneOption[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Zones for a picker: by their area, the areas in order, each zone with its offset at `at`; the
|
|
28
|
+
* zones with no area first, since `UTC` is one. `extra` zones the browser does not list, the one
|
|
29
|
+
* set and the device's, are offered too, so that the picker always shows what is chosen.
|
|
30
|
+
*/
|
|
31
|
+
export declare function timeZoneGroups(zones: readonly string[], at: Date, extra?: readonly (string | undefined)[]): TimeZoneGroup[];
|
|
32
|
+
export interface WorkspaceSettingsViewProps {
|
|
33
|
+
readonly workspace: RestWorkspace;
|
|
34
|
+
}
|
|
35
|
+
/** The settings as they stand, one row each; where they are changed is the page's business. */
|
|
36
|
+
export declare function WorkspaceSettingsView(props: WorkspaceSettingsViewProps): import("react").JSX.Element;
|
|
37
|
+
export interface WorkspaceSettingsFormProps {
|
|
38
|
+
readonly workspace: RestWorkspace;
|
|
39
|
+
readonly busy?: boolean | undefined;
|
|
40
|
+
/** Called with what changed; nothing is sent when nothing did. */
|
|
41
|
+
readonly onSubmit: (patch: RestWorkspacePatch) => void;
|
|
42
|
+
readonly onCancel?: (() => void) | undefined;
|
|
43
|
+
}
|
|
44
|
+
/** Where an administrator changes the workspace's settings (ADR-0035). */
|
|
45
|
+
export declare function WorkspaceSettingsForm(props: WorkspaceSettingsFormProps): import("react").JSX.Element;
|
|
46
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/components/workspace.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AASnB,+GAA+G;AAC/G,eAAO,MAAM,yBAAyB,EAAE,gBAA6B,CAAC;AAEtE,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,GAAG,gBAAgB,CAEzF;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,CAE3E;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEnF;AAED,uFAAuF;AACvF,wBAAgB,cAAc,IAAI,SAAS,MAAM,EAAE,CASlD;AAED,yFAAyF;AACzF,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAOnD;AAED,+FAA+F;AAC/F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAYnE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,EAAE,EAAE,IAAI,EACR,KAAK,GAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAO,GAC1C,aAAa,EAAE,CAkBjB;AAMD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAkCtE;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAkItE"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId, useMemo, useState } from "react";
|
|
3
|
+
import { PEOPLE_VISIBILITIES, WEEK_STARTS, } from "../api.js";
|
|
4
|
+
import { useWords } from "../i18n/index.js";
|
|
5
|
+
import { Button } from "./ui.js";
|
|
6
|
+
// The workspace's own settings (ADR-0035), as an administrator keeps them on the Settings page:
|
|
7
|
+
// read by everyone, so that a member knows what the board shows them; changed on a form of
|
|
8
|
+
// their own, each setting a row with its words beside its control. Takes its data as props and
|
|
9
|
+
// nothing from the network.
|
|
10
|
+
/** What a workspace is set to until an administrator says otherwise, for a console that answers no setting. */
|
|
11
|
+
export const DEFAULT_PEOPLE_VISIBILITY = "everyone";
|
|
12
|
+
/** Who sees whom, as the workspace says, or as a console older than the setting would have it. */
|
|
13
|
+
export function peopleVisibilityOf(workspace) {
|
|
14
|
+
return workspace?.peopleVisibility ?? DEFAULT_PEOPLE_VISIBILITY;
|
|
15
|
+
}
|
|
16
|
+
/** The day the calendars begin a week on, as the workspace says, or the system default. */
|
|
17
|
+
export function weekStartOf(workspace) {
|
|
18
|
+
return workspace?.weekStart ?? "auto";
|
|
19
|
+
}
|
|
20
|
+
/** The workspace's time zone, or none. */
|
|
21
|
+
export function timeZoneOf(workspace) {
|
|
22
|
+
return workspace?.timeZone ?? undefined;
|
|
23
|
+
}
|
|
24
|
+
/** The zones this browser knows, for the picker to offer; none where it cannot say. */
|
|
25
|
+
export function knownTimeZones() {
|
|
26
|
+
try {
|
|
27
|
+
const intl = Intl;
|
|
28
|
+
return intl.supportedValuesOf?.("timeZone") ?? [];
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** The zone this device keeps time in, as the browser says; none where it cannot say. */
|
|
35
|
+
export function deviceTimeZone() {
|
|
36
|
+
try {
|
|
37
|
+
const zone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
38
|
+
return zone === undefined || zone === "" ? undefined : zone;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** A zone's offset from UTC at a moment, as `UTC+09:00`; none where the browser cannot say. */
|
|
45
|
+
export function offsetOf(zone, at) {
|
|
46
|
+
try {
|
|
47
|
+
const name = new Intl.DateTimeFormat("en-US", { timeZone: zone, timeZoneName: "longOffset" })
|
|
48
|
+
.formatToParts(at)
|
|
49
|
+
.find((part) => part.type === "timeZoneName")?.value;
|
|
50
|
+
if (name === undefined) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return name === "GMT" ? "UTC+00:00" : name.replace(/^GMT/, "UTC");
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Zones for a picker: by their area, the areas in order, each zone with its offset at `at`; the
|
|
61
|
+
* zones with no area first, since `UTC` is one. `extra` zones the browser does not list, the one
|
|
62
|
+
* set and the device's, are offered too, so that the picker always shows what is chosen.
|
|
63
|
+
*/
|
|
64
|
+
export function timeZoneGroups(zones, at, extra = []) {
|
|
65
|
+
const names = new Set(zones);
|
|
66
|
+
for (const name of extra) {
|
|
67
|
+
if (name !== undefined && name !== "") {
|
|
68
|
+
names.add(name);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const groups = new Map();
|
|
72
|
+
for (const name of [...names].sort((a, b) => a.localeCompare(b, "en"))) {
|
|
73
|
+
const slash = name.indexOf("/");
|
|
74
|
+
const area = slash < 0 ? "" : name.slice(0, slash);
|
|
75
|
+
const list = groups.get(area) ?? [];
|
|
76
|
+
list.push({ name, offset: offsetOf(name, at) });
|
|
77
|
+
groups.set(area, list);
|
|
78
|
+
}
|
|
79
|
+
return [...groups.entries()]
|
|
80
|
+
.sort(([a], [b]) => (a === "" ? -1 : b === "" ? 1 : a.localeCompare(b, "en")))
|
|
81
|
+
.map(([area, options]) => ({ area, zones: options }));
|
|
82
|
+
}
|
|
83
|
+
/** A zone as the picker shows it: its name, and its offset where known. */
|
|
84
|
+
const labelOf = (zone) => zone.offset === undefined ? zone.name : `${zone.name} (${zone.offset})`;
|
|
85
|
+
/** The settings as they stand, one row each; where they are changed is the page's business. */
|
|
86
|
+
export function WorkspaceSettingsView(props) {
|
|
87
|
+
const words = useWords();
|
|
88
|
+
const settings = words.settings.workspace;
|
|
89
|
+
const zone = timeZoneOf(props.workspace);
|
|
90
|
+
const device = deviceTimeZone();
|
|
91
|
+
const offset = zone === undefined ? undefined : offsetOf(zone, new Date());
|
|
92
|
+
return (_jsxs("dl", { className: "sc-settings-list", children: [_jsxs("div", { className: "sc-settings-item", children: [_jsx("dt", { children: settings.peopleVisibility }), _jsx("dd", { children: words.vocabulary.peopleVisibility[peopleVisibilityOf(props.workspace)] })] }), _jsxs("div", { className: "sc-settings-item", children: [_jsx("dt", { children: settings.weekStart }), _jsx("dd", { children: words.vocabulary.weekStart[weekStartOf(props.workspace)] })] }), _jsxs("div", { className: "sc-settings-item", children: [_jsx("dt", { children: settings.timeZone }), _jsxs("dd", { children: [zone === undefined ? (settings.timeZoneNone) : (_jsxs(_Fragment, { children: [zone, offset !== undefined && _jsxs("span", { className: "sc-muted", children: [" (", offset, ")"] })] })), device !== undefined && device !== zone && (_jsx("span", { className: "sc-settings-note", children: settings.timeZoneDevice(device) }))] })] })] }));
|
|
93
|
+
}
|
|
94
|
+
/** Where an administrator changes the workspace's settings (ADR-0035). */
|
|
95
|
+
export function WorkspaceSettingsForm(props) {
|
|
96
|
+
const words = useWords();
|
|
97
|
+
const settings = words.settings.workspace;
|
|
98
|
+
const ids = { people: useId(), week: useId(), zone: useId() };
|
|
99
|
+
const current = {
|
|
100
|
+
peopleVisibility: peopleVisibilityOf(props.workspace),
|
|
101
|
+
weekStart: weekStartOf(props.workspace),
|
|
102
|
+
timeZone: timeZoneOf(props.workspace) ?? "",
|
|
103
|
+
};
|
|
104
|
+
const [peopleVisibility, setPeopleVisibility] = useState(current.peopleVisibility);
|
|
105
|
+
const [weekStart, setWeekStart] = useState(current.weekStart);
|
|
106
|
+
const [timeZone, setTimeZone] = useState(current.timeZone);
|
|
107
|
+
const device = useMemo(deviceTimeZone, []);
|
|
108
|
+
// UTC is offered whatever the browser lists, beside the zone set and the device's.
|
|
109
|
+
const groups = useMemo(() => timeZoneGroups(knownTimeZones(), new Date(), ["UTC", current.timeZone, device]), [current.timeZone, device]);
|
|
110
|
+
const patch = {
|
|
111
|
+
...(peopleVisibility === current.peopleVisibility ? {} : { peopleVisibility }),
|
|
112
|
+
...(weekStart === current.weekStart ? {} : { weekStart }),
|
|
113
|
+
...(timeZone === current.timeZone ? {} : { timeZone: timeZone === "" ? null : timeZone }),
|
|
114
|
+
};
|
|
115
|
+
const changed = Object.keys(patch).length > 0;
|
|
116
|
+
const submit = (event) => {
|
|
117
|
+
event.preventDefault();
|
|
118
|
+
if (changed) {
|
|
119
|
+
props.onSubmit(patch);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
return (_jsxs("form", { className: "sc-form sc-settings-form", "aria-label": settings.aria, onSubmit: submit, children: [_jsxs("div", { className: "sc-settings-row", children: [_jsxs("div", { className: "sc-settings-words", children: [_jsx("label", { className: "sc-settings-label", htmlFor: ids.people, children: settings.peopleVisibility }), _jsx("p", { className: "sc-settings-hint", children: settings.peopleVisibilityHint })] }), _jsx("div", { className: "sc-settings-control", children: _jsx("select", { id: ids.people, className: "sc-input", value: peopleVisibility, onChange: (event) => setPeopleVisibility(event.target.value), children: PEOPLE_VISIBILITIES.map((candidate) => (_jsx("option", { value: candidate, children: words.vocabulary.peopleVisibility[candidate] }, candidate))) }) })] }), _jsxs("div", { className: "sc-settings-row", children: [_jsxs("div", { className: "sc-settings-words", children: [_jsx("label", { className: "sc-settings-label", htmlFor: ids.week, children: settings.weekStart }), _jsx("p", { className: "sc-settings-hint", children: settings.weekStartHint })] }), _jsx("div", { className: "sc-settings-control", children: _jsx("select", { id: ids.week, className: "sc-input", value: weekStart, onChange: (event) => setWeekStart(event.target.value), children: WEEK_STARTS.map((candidate) => (_jsx("option", { value: candidate, children: words.vocabulary.weekStart[candidate] }, candidate))) }) })] }), _jsxs("div", { className: "sc-settings-row", children: [_jsxs("div", { className: "sc-settings-words", children: [_jsx("label", { className: "sc-settings-label", htmlFor: ids.zone, children: settings.timeZone }), _jsx("p", { className: "sc-settings-hint", children: settings.timeZoneHint })] }), _jsxs("div", { className: "sc-settings-control", children: [_jsxs("select", { id: ids.zone, className: "sc-input", value: timeZone, onChange: (event) => setTimeZone(event.target.value), children: [_jsx("option", { value: "", children: settings.timeZoneNone }), groups.map((group) => group.area === "" ? (group.zones.map((zone) => (_jsx("option", { value: zone.name, children: labelOf(zone) }, zone.name)))) : (_jsx("optgroup", { label: group.area, children: group.zones.map((zone) => (_jsx("option", { value: zone.name, children: labelOf(zone) }, zone.name))) }, group.area)))] }), device !== undefined && device !== timeZone && (_jsx(Button, { variant: "ghost", size: "sm", onClick: () => setTimeZone(device), children: settings.timeZoneUseDevice(device) }))] })] }), _jsxs("div", { className: "sc-form-actions", children: [_jsx(Button, { type: "submit", variant: "primary", disabled: props.busy === true || !changed, children: settings.save }), props.onCancel !== undefined && (_jsx(Button, { type: "button", variant: "ghost", onClick: props.onCancel, children: words.common.cancel }))] })] }));
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/components/workspace.tsx"],"names":[],"mappings":"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"}
|
package/dist/console.css
CHANGED
|
@@ -1177,6 +1177,7 @@ table {
|
|
|
1177
1177
|
display: grid;
|
|
1178
1178
|
grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
|
|
1179
1179
|
gap: var(--sc-space-4);
|
|
1180
|
+
align-items: start;
|
|
1180
1181
|
}
|
|
1181
1182
|
|
|
1182
1183
|
.sc-input {
|
|
@@ -1237,6 +1238,150 @@ table {
|
|
|
1237
1238
|
justify-self: start;
|
|
1238
1239
|
}
|
|
1239
1240
|
|
|
1241
|
+
/* The workers of a task on its form: each a chip with the way to take them off, and the way to add one. */
|
|
1242
|
+
.sc-chips {
|
|
1243
|
+
display: flex;
|
|
1244
|
+
flex-wrap: wrap;
|
|
1245
|
+
align-items: center;
|
|
1246
|
+
gap: var(--sc-space-2);
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
.sc-chip {
|
|
1250
|
+
display: inline-flex;
|
|
1251
|
+
align-items: center;
|
|
1252
|
+
gap: var(--sc-space-1);
|
|
1253
|
+
min-height: var(--sc-control-size);
|
|
1254
|
+
padding: 0 var(--sc-space-1) 0 var(--sc-space-2);
|
|
1255
|
+
border: var(--sc-border);
|
|
1256
|
+
border-radius: var(--sc-radius-md);
|
|
1257
|
+
background: var(--sc-color-bg-inset);
|
|
1258
|
+
font-size: var(--sc-text-sm);
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
.sc-chip-remove,
|
|
1262
|
+
.sc-picker-clear {
|
|
1263
|
+
display: inline-grid;
|
|
1264
|
+
flex: none;
|
|
1265
|
+
place-items: center;
|
|
1266
|
+
width: 1.5rem;
|
|
1267
|
+
height: 1.5rem;
|
|
1268
|
+
border: 0;
|
|
1269
|
+
border-radius: var(--sc-radius-sm);
|
|
1270
|
+
background: transparent;
|
|
1271
|
+
color: var(--sc-color-text-muted);
|
|
1272
|
+
font-size: var(--sc-text-md);
|
|
1273
|
+
line-height: 1;
|
|
1274
|
+
cursor: pointer;
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
.sc-chip-remove:hover:not(:disabled),
|
|
1278
|
+
.sc-picker-clear:hover:not(:disabled) {
|
|
1279
|
+
background: var(--sc-color-bg-raised);
|
|
1280
|
+
color: var(--sc-color-text);
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
.sc-chip-remove:focus-visible,
|
|
1284
|
+
.sc-picker-clear:focus-visible {
|
|
1285
|
+
outline: var(--sc-focus-ring);
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
.sc-chips .sc-chip-add {
|
|
1289
|
+
width: auto;
|
|
1290
|
+
min-width: 10rem;
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
/* A picker: the field that searches a listing, its page of results under it, and the choice in its place. */
|
|
1294
|
+
.sc-picker {
|
|
1295
|
+
position: relative;
|
|
1296
|
+
min-width: 0;
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
.sc-picker-chosen {
|
|
1300
|
+
display: flex;
|
|
1301
|
+
align-items: center;
|
|
1302
|
+
gap: var(--sc-space-2);
|
|
1303
|
+
min-height: var(--sc-control-size);
|
|
1304
|
+
padding: var(--sc-space-1) var(--sc-space-1) var(--sc-space-1) var(--sc-space-3);
|
|
1305
|
+
border: 1px solid var(--sc-color-border-strong);
|
|
1306
|
+
border-radius: var(--sc-radius-md);
|
|
1307
|
+
background: var(--sc-color-field);
|
|
1308
|
+
font-size: var(--sc-text-sm);
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
.sc-picker-value {
|
|
1312
|
+
flex: 1;
|
|
1313
|
+
min-width: 0;
|
|
1314
|
+
overflow: hidden;
|
|
1315
|
+
text-overflow: ellipsis;
|
|
1316
|
+
white-space: nowrap;
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
.sc-picker-list {
|
|
1320
|
+
position: absolute;
|
|
1321
|
+
z-index: 40;
|
|
1322
|
+
top: calc(100% + var(--sc-space-1));
|
|
1323
|
+
right: 0;
|
|
1324
|
+
left: 0;
|
|
1325
|
+
max-height: 18rem;
|
|
1326
|
+
margin: 0;
|
|
1327
|
+
padding: var(--sc-space-1);
|
|
1328
|
+
overflow-y: auto;
|
|
1329
|
+
list-style: none;
|
|
1330
|
+
border: var(--sc-border);
|
|
1331
|
+
border-radius: var(--sc-radius-md);
|
|
1332
|
+
background: var(--sc-color-bg-inset);
|
|
1333
|
+
box-shadow: var(--sc-shadow-stage);
|
|
1334
|
+
font-size: var(--sc-text-sm);
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
/* Where the window has no room below the field, and more above, the list stands above it. */
|
|
1338
|
+
.sc-picker-list-above {
|
|
1339
|
+
top: auto;
|
|
1340
|
+
bottom: calc(100% + var(--sc-space-1));
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
.sc-picker-option {
|
|
1344
|
+
padding: var(--sc-space-2);
|
|
1345
|
+
overflow: hidden;
|
|
1346
|
+
border-radius: var(--sc-radius-sm);
|
|
1347
|
+
text-overflow: ellipsis;
|
|
1348
|
+
white-space: nowrap;
|
|
1349
|
+
cursor: pointer;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
.sc-picker-option-active {
|
|
1353
|
+
background: var(--sc-color-bg-raised);
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
.sc-picker-note {
|
|
1357
|
+
padding: var(--sc-space-2);
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
/* The workers of a task on a card or a row: pictures side by side, and how many more. */
|
|
1361
|
+
.sc-workers {
|
|
1362
|
+
display: inline-flex;
|
|
1363
|
+
align-items: center;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
.sc-workers > * + * {
|
|
1367
|
+
margin-left: -0.375rem;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
.sc-workers-more {
|
|
1371
|
+
margin-inline: var(--sc-space-1);
|
|
1372
|
+
color: var(--sc-color-text-muted);
|
|
1373
|
+
font-size: var(--sc-text-xs);
|
|
1374
|
+
font-weight: var(--sc-weight-medium);
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
.sc-worker-list {
|
|
1378
|
+
display: grid;
|
|
1379
|
+
gap: var(--sc-space-1);
|
|
1380
|
+
margin: 0;
|
|
1381
|
+
padding: 0;
|
|
1382
|
+
list-style: none;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1240
1385
|
.sc-form-actions {
|
|
1241
1386
|
display: flex;
|
|
1242
1387
|
flex-wrap: wrap;
|
|
@@ -2905,8 +3050,10 @@ table {
|
|
|
2905
3050
|
white-space: nowrap;
|
|
2906
3051
|
}
|
|
2907
3052
|
|
|
2908
|
-
/*
|
|
2909
|
-
|
|
3053
|
+
/* The task under the pointer is lit a little by its colour, in every piece of its bar and in
|
|
3054
|
+
every week it crosses, never one piece alone; by its colour and not by a filter, which would
|
|
3055
|
+
light the card within it too. */
|
|
3056
|
+
.sc-calendar-bar-pointed {
|
|
2910
3057
|
background: color-mix(in srgb, var(--sc-category-fill), white 12%);
|
|
2911
3058
|
}
|
|
2912
3059
|
|
|
@@ -2924,6 +3071,18 @@ table {
|
|
|
2924
3071
|
border-end-end-radius: var(--sc-radius-full);
|
|
2925
3072
|
}
|
|
2926
3073
|
|
|
3074
|
+
/* The title of a bar with more days in the week runs along the bar as far as its days reach,
|
|
3075
|
+
less the room of its end, instead of stopping at the first day's edge: above every piece,
|
|
3076
|
+
the one under the pointer included, and under the cards; the pointer goes through it to the
|
|
3077
|
+
piece of the day beneath. The days are the first piece's own custom property. */
|
|
3078
|
+
.sc-calendar-task-title-spanning {
|
|
3079
|
+
position: relative;
|
|
3080
|
+
z-index: 25;
|
|
3081
|
+
flex: none;
|
|
3082
|
+
max-width: calc(var(--sc-span, 1) * 100% - 2.25rem);
|
|
3083
|
+
pointer-events: none;
|
|
3084
|
+
}
|
|
3085
|
+
|
|
2927
3086
|
.sc-calendar-bar.sc-calendar-late {
|
|
2928
3087
|
border-color: color-mix(in srgb, var(--sc-color-danger) 70%, transparent);
|
|
2929
3088
|
color: var(--sc-color-danger);
|
|
@@ -3364,18 +3523,12 @@ table {
|
|
|
3364
3523
|
position: relative;
|
|
3365
3524
|
}
|
|
3366
3525
|
|
|
3367
|
-
/* The
|
|
3368
|
-
.
|
|
3369
|
-
.sc-calendar-task:focus-visible,
|
|
3370
|
-
.sc-calendar-bar:hover,
|
|
3371
|
-
.sc-calendar-bar:focus-visible {
|
|
3372
|
-
z-index: 20;
|
|
3373
|
-
}
|
|
3374
|
-
|
|
3526
|
+
/* The card rises above its neighbours and above a title running along a bar; the item under the
|
|
3527
|
+
pointer itself stays in its layer, so that nothing of it covers such a title. */
|
|
3375
3528
|
.sc-task-tip {
|
|
3376
3529
|
position: absolute;
|
|
3377
3530
|
left: 0;
|
|
3378
|
-
z-index:
|
|
3531
|
+
z-index: 30;
|
|
3379
3532
|
width: max-content;
|
|
3380
3533
|
max-width: 20rem;
|
|
3381
3534
|
padding: var(--sc-space-2) var(--sc-space-3);
|
|
@@ -4130,3 +4283,158 @@ table {
|
|
|
4130
4283
|
.sc-goal-view-list {
|
|
4131
4284
|
display: block;
|
|
4132
4285
|
}
|
|
4286
|
+
|
|
4287
|
+
/* The workspace's settings (ADR-0035): each setting a row, its name beside its value; on the form,
|
|
4288
|
+
its name and its hint beside a control of a bounded width, so that a short choice is not a
|
|
4289
|
+
field as wide as the page. */
|
|
4290
|
+
.sc-settings-list {
|
|
4291
|
+
display: grid;
|
|
4292
|
+
margin: 0;
|
|
4293
|
+
font-size: var(--sc-text-sm);
|
|
4294
|
+
}
|
|
4295
|
+
|
|
4296
|
+
.sc-settings-item {
|
|
4297
|
+
display: grid;
|
|
4298
|
+
grid-template-columns: minmax(8rem, 14rem) minmax(0, 1fr);
|
|
4299
|
+
gap: var(--sc-space-1) var(--sc-space-5);
|
|
4300
|
+
padding: var(--sc-space-3) 0;
|
|
4301
|
+
border-top: var(--sc-border);
|
|
4302
|
+
}
|
|
4303
|
+
|
|
4304
|
+
.sc-settings-item:first-child {
|
|
4305
|
+
padding-top: 0;
|
|
4306
|
+
border-top: 0;
|
|
4307
|
+
}
|
|
4308
|
+
|
|
4309
|
+
.sc-settings-item:last-child {
|
|
4310
|
+
padding-bottom: 0;
|
|
4311
|
+
}
|
|
4312
|
+
|
|
4313
|
+
.sc-settings-item dt {
|
|
4314
|
+
color: var(--sc-color-text-muted);
|
|
4315
|
+
}
|
|
4316
|
+
|
|
4317
|
+
.sc-settings-item dd {
|
|
4318
|
+
margin: 0;
|
|
4319
|
+
}
|
|
4320
|
+
|
|
4321
|
+
.sc-settings-note {
|
|
4322
|
+
margin-left: var(--sc-space-3);
|
|
4323
|
+
color: var(--sc-color-text-muted);
|
|
4324
|
+
}
|
|
4325
|
+
|
|
4326
|
+
.sc-settings-form {
|
|
4327
|
+
gap: 0;
|
|
4328
|
+
}
|
|
4329
|
+
|
|
4330
|
+
.sc-settings-row {
|
|
4331
|
+
display: grid;
|
|
4332
|
+
grid-template-columns: minmax(0, 1fr) minmax(14rem, 20rem);
|
|
4333
|
+
gap: var(--sc-space-3) var(--sc-space-6);
|
|
4334
|
+
align-items: start;
|
|
4335
|
+
padding: var(--sc-space-4) 0;
|
|
4336
|
+
border-top: var(--sc-border);
|
|
4337
|
+
}
|
|
4338
|
+
|
|
4339
|
+
.sc-settings-row:first-child {
|
|
4340
|
+
padding-top: 0;
|
|
4341
|
+
border-top: 0;
|
|
4342
|
+
}
|
|
4343
|
+
|
|
4344
|
+
.sc-settings-label {
|
|
4345
|
+
display: block;
|
|
4346
|
+
font-weight: var(--sc-weight-medium);
|
|
4347
|
+
}
|
|
4348
|
+
|
|
4349
|
+
.sc-settings-hint {
|
|
4350
|
+
max-width: var(--sc-width-prose);
|
|
4351
|
+
margin: var(--sc-space-1) 0 0;
|
|
4352
|
+
color: var(--sc-color-text-muted);
|
|
4353
|
+
font-size: var(--sc-text-sm);
|
|
4354
|
+
}
|
|
4355
|
+
|
|
4356
|
+
.sc-settings-control {
|
|
4357
|
+
display: grid;
|
|
4358
|
+
justify-items: start;
|
|
4359
|
+
gap: var(--sc-space-2);
|
|
4360
|
+
}
|
|
4361
|
+
|
|
4362
|
+
.sc-settings-control .sc-input {
|
|
4363
|
+
width: 100%;
|
|
4364
|
+
}
|
|
4365
|
+
|
|
4366
|
+
.sc-settings-form .sc-form-actions {
|
|
4367
|
+
padding-top: var(--sc-space-4);
|
|
4368
|
+
border-top: var(--sc-border);
|
|
4369
|
+
}
|
|
4370
|
+
|
|
4371
|
+
@media (max-width: 40rem) {
|
|
4372
|
+
.sc-settings-item,
|
|
4373
|
+
.sc-settings-row {
|
|
4374
|
+
grid-template-columns: minmax(0, 1fr);
|
|
4375
|
+
}
|
|
4376
|
+
}
|
|
4377
|
+
|
|
4378
|
+
/* The pack token (ADR-0028, ADR-0036): what it is for first, then the two ways to one side by
|
|
4379
|
+
side, each a card with its words before its controls, and the code shown large while the
|
|
4380
|
+
page waits for the approval. */
|
|
4381
|
+
.sc-pack-intro {
|
|
4382
|
+
max-width: var(--sc-width-prose);
|
|
4383
|
+
margin: 0 0 var(--sc-space-5);
|
|
4384
|
+
color: var(--sc-color-text-muted);
|
|
4385
|
+
font-size: var(--sc-text-sm);
|
|
4386
|
+
}
|
|
4387
|
+
|
|
4388
|
+
.sc-pack-ways {
|
|
4389
|
+
display: grid;
|
|
4390
|
+
grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
|
|
4391
|
+
gap: var(--sc-space-4);
|
|
4392
|
+
}
|
|
4393
|
+
|
|
4394
|
+
.sc-pack-way {
|
|
4395
|
+
display: grid;
|
|
4396
|
+
align-content: start;
|
|
4397
|
+
gap: var(--sc-space-3);
|
|
4398
|
+
padding: var(--sc-space-4);
|
|
4399
|
+
border: var(--sc-border);
|
|
4400
|
+
border-radius: var(--sc-radius-lg);
|
|
4401
|
+
background: var(--sc-color-sheet);
|
|
4402
|
+
}
|
|
4403
|
+
|
|
4404
|
+
.sc-pack-way-title {
|
|
4405
|
+
font-size: var(--sc-text-md);
|
|
4406
|
+
font-weight: var(--sc-weight-medium);
|
|
4407
|
+
}
|
|
4408
|
+
|
|
4409
|
+
.sc-pack-way .sc-field-hint {
|
|
4410
|
+
margin-top: 0;
|
|
4411
|
+
}
|
|
4412
|
+
|
|
4413
|
+
.sc-pack-connect {
|
|
4414
|
+
display: grid;
|
|
4415
|
+
gap: var(--sc-space-3);
|
|
4416
|
+
}
|
|
4417
|
+
|
|
4418
|
+
.sc-pack-connect-code {
|
|
4419
|
+
display: flex;
|
|
4420
|
+
flex-wrap: wrap;
|
|
4421
|
+
align-items: baseline;
|
|
4422
|
+
gap: var(--sc-space-3);
|
|
4423
|
+
}
|
|
4424
|
+
|
|
4425
|
+
.sc-pack-code {
|
|
4426
|
+
font-size: var(--sc-text-xl);
|
|
4427
|
+
letter-spacing: 0.12em;
|
|
4428
|
+
}
|
|
4429
|
+
|
|
4430
|
+
.sc-pack-connect-waiting {
|
|
4431
|
+
display: flex;
|
|
4432
|
+
align-items: center;
|
|
4433
|
+
gap: var(--sc-space-2);
|
|
4434
|
+
color: var(--sc-color-text-muted);
|
|
4435
|
+
font-size: var(--sc-text-sm);
|
|
4436
|
+
}
|
|
4437
|
+
|
|
4438
|
+
.sc-pack-actions {
|
|
4439
|
+
margin-top: var(--sc-space-5);
|
|
4440
|
+
}
|
package/dist/console.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,KAAK,aAAa,EAYlB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../src/console.tsx"],"names":[],"mappings":"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"}
|