@taskless-app/shared 0.1.42 → 0.1.43
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/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/sidebarSections.d.ts +153 -0
- package/dist/sidebarSections.js +85 -0
- package/dist/sidebarSections.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Ключи иконок секции. Значение — ключ, а не имя компонента: набор иконок в
|
|
4
|
+
* вебе может смениться, а сохранённые в БД профили — нет.
|
|
5
|
+
*/
|
|
6
|
+
export declare const SECTION_ICONS: readonly ["folder", "star", "heart", "flag", "bookmark", "tag", "users", "briefcase", "rocket", "target", "zap", "bug", "code", "lightbulb", "bell", "coffee", "globe", "home", "inbox", "lock", "megaphone", "package", "shield", "sparkles"];
|
|
7
|
+
export type SectionIcon = (typeof SECTION_ICONS)[number];
|
|
8
|
+
export declare const sectionIconSchema: z.ZodEnum<["folder", "star", "heart", "flag", "bookmark", "tag", "users", "briefcase", "rocket", "target", "zap", "bug", "code", "lightbulb", "bell", "coffee", "globe", "home", "inbox", "lock", "megaphone", "package", "shield", "sparkles"]>;
|
|
9
|
+
/** Элемент секции: канал или человек. Порядок в массиве — порядок показа. */
|
|
10
|
+
export declare const sidebarSectionItemSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
11
|
+
kind: z.ZodLiteral<"room">;
|
|
12
|
+
id: z.ZodString;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
kind: "room";
|
|
15
|
+
id: string;
|
|
16
|
+
}, {
|
|
17
|
+
kind: "room";
|
|
18
|
+
id: string;
|
|
19
|
+
}>, z.ZodObject<{
|
|
20
|
+
kind: z.ZodLiteral<"user">;
|
|
21
|
+
id: z.ZodString;
|
|
22
|
+
}, "strip", z.ZodTypeAny, {
|
|
23
|
+
kind: "user";
|
|
24
|
+
id: string;
|
|
25
|
+
}, {
|
|
26
|
+
kind: "user";
|
|
27
|
+
id: string;
|
|
28
|
+
}>]>;
|
|
29
|
+
export declare const MAX_SECTIONS = 20;
|
|
30
|
+
export declare const MAX_ITEMS_PER_SECTION = 100;
|
|
31
|
+
export declare const sidebarSectionSchema: z.ZodObject<{
|
|
32
|
+
id: z.ZodString;
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
icon: z.ZodNullable<z.ZodEnum<["folder", "star", "heart", "flag", "bookmark", "tag", "users", "briefcase", "rocket", "target", "zap", "bug", "code", "lightbulb", "bell", "coffee", "globe", "home", "inbox", "lock", "megaphone", "package", "shield", "sparkles"]>>;
|
|
35
|
+
items: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
36
|
+
kind: z.ZodLiteral<"room">;
|
|
37
|
+
id: z.ZodString;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
kind: "room";
|
|
40
|
+
id: string;
|
|
41
|
+
}, {
|
|
42
|
+
kind: "room";
|
|
43
|
+
id: string;
|
|
44
|
+
}>, z.ZodObject<{
|
|
45
|
+
kind: z.ZodLiteral<"user">;
|
|
46
|
+
id: z.ZodString;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
kind: "user";
|
|
49
|
+
id: string;
|
|
50
|
+
}, {
|
|
51
|
+
kind: "user";
|
|
52
|
+
id: string;
|
|
53
|
+
}>]>, "many">;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
id: string;
|
|
56
|
+
name: string;
|
|
57
|
+
icon: "bell" | "bookmark" | "briefcase" | "bug" | "code" | "coffee" | "flag" | "folder" | "globe" | "heart" | "home" | "inbox" | "lightbulb" | "lock" | "megaphone" | "package" | "rocket" | "shield" | "sparkles" | "star" | "tag" | "target" | "users" | "zap" | null;
|
|
58
|
+
items: ({
|
|
59
|
+
kind: "room";
|
|
60
|
+
id: string;
|
|
61
|
+
} | {
|
|
62
|
+
kind: "user";
|
|
63
|
+
id: string;
|
|
64
|
+
})[];
|
|
65
|
+
}, {
|
|
66
|
+
id: string;
|
|
67
|
+
name: string;
|
|
68
|
+
icon: "bell" | "bookmark" | "briefcase" | "bug" | "code" | "coffee" | "flag" | "folder" | "globe" | "heart" | "home" | "inbox" | "lightbulb" | "lock" | "megaphone" | "package" | "rocket" | "shield" | "sparkles" | "star" | "tag" | "target" | "users" | "zap" | null;
|
|
69
|
+
items: ({
|
|
70
|
+
kind: "room";
|
|
71
|
+
id: string;
|
|
72
|
+
} | {
|
|
73
|
+
kind: "user";
|
|
74
|
+
id: string;
|
|
75
|
+
})[];
|
|
76
|
+
}>;
|
|
77
|
+
/**
|
|
78
|
+
* Весь набор секций. Уникальность проверяется здесь, а не на роуте: элемент
|
|
79
|
+
* живёт РОВНО в одном месте — иначе один канал показывается в двух секциях и
|
|
80
|
+
* из общего списка исчезает дважды. Поэтому пара kind+id уникальна СРАЗУ ПО
|
|
81
|
+
* ВСЕМ секциям, а не внутри одной.
|
|
82
|
+
*/
|
|
83
|
+
export declare const sidebarSectionsSchema: z.ZodEffects<z.ZodArray<z.ZodObject<{
|
|
84
|
+
id: z.ZodString;
|
|
85
|
+
name: z.ZodString;
|
|
86
|
+
icon: z.ZodNullable<z.ZodEnum<["folder", "star", "heart", "flag", "bookmark", "tag", "users", "briefcase", "rocket", "target", "zap", "bug", "code", "lightbulb", "bell", "coffee", "globe", "home", "inbox", "lock", "megaphone", "package", "shield", "sparkles"]>>;
|
|
87
|
+
items: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
88
|
+
kind: z.ZodLiteral<"room">;
|
|
89
|
+
id: z.ZodString;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
kind: "room";
|
|
92
|
+
id: string;
|
|
93
|
+
}, {
|
|
94
|
+
kind: "room";
|
|
95
|
+
id: string;
|
|
96
|
+
}>, z.ZodObject<{
|
|
97
|
+
kind: z.ZodLiteral<"user">;
|
|
98
|
+
id: z.ZodString;
|
|
99
|
+
}, "strip", z.ZodTypeAny, {
|
|
100
|
+
kind: "user";
|
|
101
|
+
id: string;
|
|
102
|
+
}, {
|
|
103
|
+
kind: "user";
|
|
104
|
+
id: string;
|
|
105
|
+
}>]>, "many">;
|
|
106
|
+
}, "strip", z.ZodTypeAny, {
|
|
107
|
+
id: string;
|
|
108
|
+
name: string;
|
|
109
|
+
icon: "bell" | "bookmark" | "briefcase" | "bug" | "code" | "coffee" | "flag" | "folder" | "globe" | "heart" | "home" | "inbox" | "lightbulb" | "lock" | "megaphone" | "package" | "rocket" | "shield" | "sparkles" | "star" | "tag" | "target" | "users" | "zap" | null;
|
|
110
|
+
items: ({
|
|
111
|
+
kind: "room";
|
|
112
|
+
id: string;
|
|
113
|
+
} | {
|
|
114
|
+
kind: "user";
|
|
115
|
+
id: string;
|
|
116
|
+
})[];
|
|
117
|
+
}, {
|
|
118
|
+
id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
icon: "bell" | "bookmark" | "briefcase" | "bug" | "code" | "coffee" | "flag" | "folder" | "globe" | "heart" | "home" | "inbox" | "lightbulb" | "lock" | "megaphone" | "package" | "rocket" | "shield" | "sparkles" | "star" | "tag" | "target" | "users" | "zap" | null;
|
|
121
|
+
items: ({
|
|
122
|
+
kind: "room";
|
|
123
|
+
id: string;
|
|
124
|
+
} | {
|
|
125
|
+
kind: "user";
|
|
126
|
+
id: string;
|
|
127
|
+
})[];
|
|
128
|
+
}>, "many">, {
|
|
129
|
+
id: string;
|
|
130
|
+
name: string;
|
|
131
|
+
icon: "bell" | "bookmark" | "briefcase" | "bug" | "code" | "coffee" | "flag" | "folder" | "globe" | "heart" | "home" | "inbox" | "lightbulb" | "lock" | "megaphone" | "package" | "rocket" | "shield" | "sparkles" | "star" | "tag" | "target" | "users" | "zap" | null;
|
|
132
|
+
items: ({
|
|
133
|
+
kind: "room";
|
|
134
|
+
id: string;
|
|
135
|
+
} | {
|
|
136
|
+
kind: "user";
|
|
137
|
+
id: string;
|
|
138
|
+
})[];
|
|
139
|
+
}[], {
|
|
140
|
+
id: string;
|
|
141
|
+
name: string;
|
|
142
|
+
icon: "bell" | "bookmark" | "briefcase" | "bug" | "code" | "coffee" | "flag" | "folder" | "globe" | "heart" | "home" | "inbox" | "lightbulb" | "lock" | "megaphone" | "package" | "rocket" | "shield" | "sparkles" | "star" | "tag" | "target" | "users" | "zap" | null;
|
|
143
|
+
items: ({
|
|
144
|
+
kind: "room";
|
|
145
|
+
id: string;
|
|
146
|
+
} | {
|
|
147
|
+
kind: "user";
|
|
148
|
+
id: string;
|
|
149
|
+
})[];
|
|
150
|
+
}[]>;
|
|
151
|
+
export type SidebarSectionItem = z.infer<typeof sidebarSectionItemSchema>;
|
|
152
|
+
export type SidebarSection = z.infer<typeof sidebarSectionSchema>;
|
|
153
|
+
export type SidebarSections = z.infer<typeof sidebarSectionsSchema>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// TAS-633: личные секции сайдбара. Человек собирает свои группы («Клиенты»,
|
|
3
|
+
// «Релиз 0.70») и кладёт в них каналы и людей вперемешку — как в Slack.
|
|
4
|
+
// Секции личные и живут на сервере (WorkspaceMember.sidebarSections), чтобы
|
|
5
|
+
// порядок и состав совпадали на всех устройствах. Пространства на них не
|
|
6
|
+
// влияют. Свёрнутость секции сервер НЕ хранит — это состояние браузера.
|
|
7
|
+
/**
|
|
8
|
+
* Ключи иконок секции. Значение — ключ, а не имя компонента: набор иконок в
|
|
9
|
+
* вебе может смениться, а сохранённые в БД профили — нет.
|
|
10
|
+
*/
|
|
11
|
+
export const SECTION_ICONS = [
|
|
12
|
+
"folder",
|
|
13
|
+
"star",
|
|
14
|
+
"heart",
|
|
15
|
+
"flag",
|
|
16
|
+
"bookmark",
|
|
17
|
+
"tag",
|
|
18
|
+
"users",
|
|
19
|
+
"briefcase",
|
|
20
|
+
"rocket",
|
|
21
|
+
"target",
|
|
22
|
+
"zap",
|
|
23
|
+
"bug",
|
|
24
|
+
"code",
|
|
25
|
+
"lightbulb",
|
|
26
|
+
"bell",
|
|
27
|
+
"coffee",
|
|
28
|
+
"globe",
|
|
29
|
+
"home",
|
|
30
|
+
"inbox",
|
|
31
|
+
"lock",
|
|
32
|
+
"megaphone",
|
|
33
|
+
"package",
|
|
34
|
+
"shield",
|
|
35
|
+
"sparkles",
|
|
36
|
+
];
|
|
37
|
+
export const sectionIconSchema = z.enum(SECTION_ICONS);
|
|
38
|
+
/** Элемент секции: канал или человек. Порядок в массиве — порядок показа. */
|
|
39
|
+
export const sidebarSectionItemSchema = z.discriminatedUnion("kind", [
|
|
40
|
+
z.object({ kind: z.literal("room"), id: z.string().min(1).max(64) }),
|
|
41
|
+
z.object({ kind: z.literal("user"), id: z.string().min(1).max(64) }),
|
|
42
|
+
]);
|
|
43
|
+
export const MAX_SECTIONS = 20;
|
|
44
|
+
export const MAX_ITEMS_PER_SECTION = 100;
|
|
45
|
+
export const sidebarSectionSchema = z.object({
|
|
46
|
+
id: z.string().min(1).max(40),
|
|
47
|
+
name: z.string().trim().min(1).max(40),
|
|
48
|
+
icon: sectionIconSchema.nullable(),
|
|
49
|
+
items: z.array(sidebarSectionItemSchema).max(MAX_ITEMS_PER_SECTION),
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* Весь набор секций. Уникальность проверяется здесь, а не на роуте: элемент
|
|
53
|
+
* живёт РОВНО в одном месте — иначе один канал показывается в двух секциях и
|
|
54
|
+
* из общего списка исчезает дважды. Поэтому пара kind+id уникальна СРАЗУ ПО
|
|
55
|
+
* ВСЕМ секциям, а не внутри одной.
|
|
56
|
+
*/
|
|
57
|
+
export const sidebarSectionsSchema = z
|
|
58
|
+
.array(sidebarSectionSchema)
|
|
59
|
+
.max(MAX_SECTIONS)
|
|
60
|
+
.superRefine((sections, ctx) => {
|
|
61
|
+
const sectionIds = new Set();
|
|
62
|
+
const seenItems = new Set();
|
|
63
|
+
sections.forEach((section, sectionIndex) => {
|
|
64
|
+
if (sectionIds.has(section.id)) {
|
|
65
|
+
ctx.addIssue({
|
|
66
|
+
code: z.ZodIssueCode.custom,
|
|
67
|
+
path: [sectionIndex, "id"],
|
|
68
|
+
message: "duplicate_section_id",
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
sectionIds.add(section.id);
|
|
72
|
+
section.items.forEach((item, itemIndex) => {
|
|
73
|
+
const key = `${item.kind}:${item.id}`;
|
|
74
|
+
if (seenItems.has(key)) {
|
|
75
|
+
ctx.addIssue({
|
|
76
|
+
code: z.ZodIssueCode.custom,
|
|
77
|
+
path: [sectionIndex, "items", itemIndex],
|
|
78
|
+
message: "duplicate_item",
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
seenItems.add(key);
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=sidebarSections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebarSections.js","sourceRoot":"","sources":["../src/sidebarSections.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taskless-app/shared",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.43",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Shared types, Zod schemas and design tokens for the Taskless API contract — consumed by @taskless/api, @taskless/web and the Taskless mobile app.",
|
|
6
6
|
"license": "MIT",
|