process-graph 1.0.5 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -17
- package/dist/bin.d.ts +1 -0
- package/dist/bin.js +92 -0
- package/dist/cli.d.ts +512 -0
- package/dist/cli.js +3 -0
- package/dist/control-aDk9560d.js +294 -0
- package/dist/detail-panel-B1ZmMuJT.js +341 -0
- package/dist/dist-BpCBmnMl.js +582 -0
- package/dist/dist-HLlW8vgT.js +1388 -0
- package/dist/dist-IjrgWhHQ.js +3 -0
- package/dist/errors-BZe5WzCn.js +19 -0
- package/dist/exit-codes-0ultCqdS.js +23 -0
- package/dist/graphql-C1j5wQFz.d.ts +631 -0
- package/dist/index-CCfe0csl.d.ts +353 -0
- package/dist/index-CmZOswkx.d.ts +512 -0
- package/dist/index-CoA6vXqe.d.ts +404 -0
- package/dist/index-CptUHq6F.d.ts +58 -0
- package/dist/index-CrM5qWUA.d.ts +110 -0
- package/dist/index-DhbvDgK4.d.ts +1582 -0
- package/dist/index-DricKcyl.d.ts +421 -0
- package/dist/index.d.ts +111 -4
- package/dist/index.js +929 -5
- package/dist/layout-CCM-KBdp.js +307 -0
- package/dist/layout.d.ts +8 -0
- package/dist/layout.js +2 -0
- package/dist/node-AchI1T-K.js +40 -0
- package/dist/open-CyRXJ4bt.js +29 -0
- package/dist/parse-CuipC_2K.js +41 -0
- package/dist/queries-CCexJAE2.js +2202 -0
- package/dist/react-flow/style.css +658 -0
- package/dist/react-flow.d.ts +173 -0
- package/dist/react-flow.js +450 -0
- package/dist/react.d.ts +2 -0
- package/dist/react.js +107 -0
- package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/router-D4gtTlXm.js +188 -0
- package/dist/schema-CVnS6HiX.js +234 -0
- package/dist/selection-BW_xXWOy.js +314 -0
- package/dist/source/github/node.d.ts +16 -0
- package/dist/source/github/node.js +2 -0
- package/dist/source/github.d.ts +49 -0
- package/dist/source/github.js +201 -0
- package/dist/source-DRDpEA8Q.js +1316 -0
- package/dist/status-Bm1CGu9C.js +11 -0
- package/dist/store/node.d.ts +24 -0
- package/dist/store/node.js +2 -0
- package/dist/store/wasm/worker.d.ts +16 -0
- package/dist/store/wasm/worker.js +98 -0
- package/dist/store/wasm.d.ts +9 -0
- package/dist/store/wasm.js +11 -0
- package/dist/store-BcR70CaO.js +1287 -0
- package/dist/store.d.ts +1328 -0
- package/dist/store.js +238 -0
- package/dist/ui/style.css +351 -0
- package/dist/ui.d.ts +235 -0
- package/dist/ui.js +2 -0
- package/dist/validate-DF3mQZww.js +125 -0
- package/package.json +148 -13
package/dist/store.js
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { r as loopTransitions } from "./control-aDk9560d.js";
|
|
2
|
+
import { C as modelSummarySchema, D as revisionSchema, E as relationSchema, O as storeChangeSchema, S as modelIdSchema, T as relationKinds, _ as GraphStoreError, a as ancestorsOf, b as changeKinds, c as mergeRelations, d as checkStored, f as emptyModel, g as defaultSubscriptionCapacity, h as ChangeFeed, i as serialised, k as storedModelSchema, l as relationIssues, m as overlayWithin, n as tables_exports, o as childrenOf, p as mergeBoundItems, r as migrate, s as descendantsOf, t as createSqliteGraphStore, u as relationsWithin, v as boundActivitySchema, w as reachSchema, x as issueSchema, y as boundItemsSchema } from "./store-BcR70CaO.js";
|
|
3
|
+
import { n as graphStoreContract, t as createGraphStoreRouter } from "./router-D4gtTlXm.js";
|
|
4
|
+
//#region ../../core/graph/store-contract/dist/structure.js
|
|
5
|
+
/**
|
|
6
|
+
* Whether an element is a pure control element: a `decision` or a pseudo-state. Control elements have no work of their own, so the structural queries pass through them and never report them.
|
|
7
|
+
*/
|
|
8
|
+
const isControl = (kind) => kind === "decision" || kind === "pseudo";
|
|
9
|
+
/**
|
|
10
|
+
* Reads a key every caller knows is present: the structural view has an entry for every element of a valid model.
|
|
11
|
+
* @throws Error when the key is absent, which only an invalid model can cause.
|
|
12
|
+
*/
|
|
13
|
+
const lookup = (map, key) => {
|
|
14
|
+
const value = map.get(key);
|
|
15
|
+
if (value === void 0) throw new Error(`No element "${key}" in the structural view`);
|
|
16
|
+
return value;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Builds the structural view of a model and its overlay.
|
|
20
|
+
* @param model - A valid model.
|
|
21
|
+
* @param overlay - Its run state.
|
|
22
|
+
* @returns The view the queries below read.
|
|
23
|
+
*/
|
|
24
|
+
const structureOf = (model, overlay) => {
|
|
25
|
+
const loops = new Set(loopTransitions(model));
|
|
26
|
+
const upstream = new Map(model.elements.map(({ id }) => [id, []]));
|
|
27
|
+
const downstream = new Map(model.elements.map(({ id }) => [id, []]));
|
|
28
|
+
for (const { id, source, target } of model.transitions) if (!loops.has(id)) {
|
|
29
|
+
lookup(upstream, target).push(source);
|
|
30
|
+
lookup(downstream, source).push(target);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
order: new Map(model.elements.map(({ id }, index) => [id, index])),
|
|
34
|
+
control: new Set(model.elements.flatMap(({ id, kind }) => isControl(kind) ? [id] : [])),
|
|
35
|
+
done: new Set(model.elements.flatMap(({ id }) => overlay[id] === "done" ? [id] : [])),
|
|
36
|
+
open: new Set(model.elements.flatMap(({ id }) => overlay[id] === void 0 || overlay[id] === "open" ? [id] : [])),
|
|
37
|
+
upstream,
|
|
38
|
+
downstream
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Breadth-first traversal from `start` along non-loop transitions in one direction, expanding only elements that are not done. Returns every element reached that is neither done nor a control element, with the fewest transitions it takes to reach it, ordered by that distance and then by model order. `start` itself is not reported.
|
|
43
|
+
*/
|
|
44
|
+
const reach = (structure, start, direction) => {
|
|
45
|
+
const next = structure[direction];
|
|
46
|
+
const distance = /* @__PURE__ */ new Map([[start, 0]]);
|
|
47
|
+
let frontier = [start];
|
|
48
|
+
for (let depth = 1; frontier.length > 0; depth += 1) {
|
|
49
|
+
const reached = frontier.flatMap((element) => lookup(next, element)).filter((neighbour) => !distance.has(neighbour));
|
|
50
|
+
for (const neighbour of reached) distance.set(neighbour, depth);
|
|
51
|
+
frontier = [...new Set(reached)].filter((neighbour) => !structure.done.has(neighbour));
|
|
52
|
+
}
|
|
53
|
+
distance.delete(start);
|
|
54
|
+
return [...distance].filter(([element]) => !structure.done.has(element) && !structure.control.has(element)).map(([element, steps]) => ({
|
|
55
|
+
element,
|
|
56
|
+
distance: steps
|
|
57
|
+
})).sort((left, right) => left.distance - right.distance || lookup(structure.order, left.element) - lookup(structure.order, right.element));
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* What still stands before an element: the unfinished work upstream of it. An element that is done waits on nothing.
|
|
61
|
+
* @param structure - The structural view.
|
|
62
|
+
* @param element - An element of the model.
|
|
63
|
+
* @returns The upstream elements that are not done and are not control elements, by distance and then model order.
|
|
64
|
+
*/
|
|
65
|
+
const blockedChainOf = (structure, element) => structure.done.has(element) ? [] : reach(structure, element, "upstream");
|
|
66
|
+
/**
|
|
67
|
+
* What depends on an element: the unfinished work downstream of it, whatever the element's own state.
|
|
68
|
+
* @param structure - The structural view.
|
|
69
|
+
* @param element - An element of the model.
|
|
70
|
+
* @returns The downstream elements that are not done and are not control elements, by distance and then model order.
|
|
71
|
+
*/
|
|
72
|
+
const impactOf = (structure, element) => reach(structure, element, "downstream");
|
|
73
|
+
/**
|
|
74
|
+
* The work that can start now: every open element (no run state, or `open`) that is not a control element and has nothing unfinished upstream.
|
|
75
|
+
* @param structure - The structural view.
|
|
76
|
+
* @returns The ready elements, in model order.
|
|
77
|
+
*/
|
|
78
|
+
const readyOf = (structure) => [...structure.order.keys()].filter((element) => structure.open.has(element) && !structure.control.has(element) && blockedChainOf(structure, element).length === 0);
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region ../../core/graph/store-contract/dist/fake.js
|
|
81
|
+
/** Runs a synchronous store operation as the async one the port expects; a throw becomes a rejection. */
|
|
82
|
+
const later = (operation) => async (request) => Promise.resolve(request).then(operation);
|
|
83
|
+
const encoder = new TextEncoder();
|
|
84
|
+
/**
|
|
85
|
+
* Orders strings by their UTF-8 bytes, which is Unicode code point order and the order SQLite's default `BINARY` collation gives text. JavaScript's own `<` compares UTF-16 code units, which puts characters outside the Basic Multilingual Plane before those from U+E000 up.
|
|
86
|
+
*/
|
|
87
|
+
const byCodePoint = (left, right) => {
|
|
88
|
+
const theirs = encoder.encode(right).values();
|
|
89
|
+
for (const byte of encoder.encode(left)) {
|
|
90
|
+
const other = theirs.next();
|
|
91
|
+
if (other.done === true) return 1;
|
|
92
|
+
if (byte !== other.value) return byte - other.value;
|
|
93
|
+
}
|
|
94
|
+
return theirs.next().done === true ? 0 : -1;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* The reference in-memory store: the behaviour every adapter's conformance run is compared with. Models are held as values and replaced on every write, so a failed check leaves the previous value in place.
|
|
98
|
+
* @returns A store with no models, revisions starting after zero.
|
|
99
|
+
*/
|
|
100
|
+
const createFakeGraphStore = () => {
|
|
101
|
+
const feed = new ChangeFeed();
|
|
102
|
+
const entries = /* @__PURE__ */ new Map();
|
|
103
|
+
let sequence = 0;
|
|
104
|
+
const entryOf = (modelId) => {
|
|
105
|
+
const entry = entries.get(modelId);
|
|
106
|
+
if (entry === void 0) throw new GraphStoreError({
|
|
107
|
+
kind: "not-found",
|
|
108
|
+
modelId
|
|
109
|
+
});
|
|
110
|
+
return entry;
|
|
111
|
+
};
|
|
112
|
+
const elementOf = (modelId, element) => {
|
|
113
|
+
const entry = entryOf(modelId);
|
|
114
|
+
if (!entry.model.elements.some(({ id }) => id === element)) throw new GraphStoreError({
|
|
115
|
+
kind: "not-found",
|
|
116
|
+
modelId,
|
|
117
|
+
element
|
|
118
|
+
});
|
|
119
|
+
return entry;
|
|
120
|
+
};
|
|
121
|
+
const write = ({ modelId, kind, model, overlay, relations, signal }) => {
|
|
122
|
+
checkStored(model, overlay);
|
|
123
|
+
const issues = relationIssues(model, relations);
|
|
124
|
+
if (issues.length > 0) throw new GraphStoreError({
|
|
125
|
+
kind: "invalid",
|
|
126
|
+
issues
|
|
127
|
+
});
|
|
128
|
+
signal?.throwIfAborted();
|
|
129
|
+
sequence += 1;
|
|
130
|
+
entries.set(modelId, {
|
|
131
|
+
model,
|
|
132
|
+
overlay,
|
|
133
|
+
relations,
|
|
134
|
+
revision: sequence
|
|
135
|
+
});
|
|
136
|
+
feed.publish({
|
|
137
|
+
modelId,
|
|
138
|
+
kind,
|
|
139
|
+
revision: sequence
|
|
140
|
+
});
|
|
141
|
+
return sequence;
|
|
142
|
+
};
|
|
143
|
+
return {
|
|
144
|
+
feed,
|
|
145
|
+
listModels: later(() => [...entries].map(([modelId, { revision }]) => ({
|
|
146
|
+
modelId,
|
|
147
|
+
revision
|
|
148
|
+
})).sort((left, right) => byCodePoint(left.modelId, right.modelId))),
|
|
149
|
+
saveModel: later(({ modelId, model, signal }) => {
|
|
150
|
+
const existing = entries.get(modelId);
|
|
151
|
+
return write({
|
|
152
|
+
modelId,
|
|
153
|
+
kind: "saved",
|
|
154
|
+
model,
|
|
155
|
+
overlay: overlayWithin(model, existing?.overlay ?? {}),
|
|
156
|
+
relations: relationsWithin(model, existing?.relations ?? []),
|
|
157
|
+
signal
|
|
158
|
+
});
|
|
159
|
+
}),
|
|
160
|
+
loadModel: later(({ modelId }) => {
|
|
161
|
+
const { model, overlay, revision } = entryOf(modelId);
|
|
162
|
+
return {
|
|
163
|
+
modelId,
|
|
164
|
+
revision,
|
|
165
|
+
model,
|
|
166
|
+
overlay
|
|
167
|
+
};
|
|
168
|
+
}),
|
|
169
|
+
deleteModel: later(({ modelId, signal }) => {
|
|
170
|
+
if (!entries.has(modelId)) return;
|
|
171
|
+
signal?.throwIfAborted();
|
|
172
|
+
entries.delete(modelId);
|
|
173
|
+
sequence += 1;
|
|
174
|
+
feed.publish({
|
|
175
|
+
modelId,
|
|
176
|
+
kind: "deleted",
|
|
177
|
+
revision: sequence
|
|
178
|
+
});
|
|
179
|
+
return sequence;
|
|
180
|
+
}),
|
|
181
|
+
applyOverlay: later(({ modelId, overlay, signal }) => {
|
|
182
|
+
const entry = entryOf(modelId);
|
|
183
|
+
return write({
|
|
184
|
+
modelId,
|
|
185
|
+
kind: "overlay",
|
|
186
|
+
model: entry.model,
|
|
187
|
+
overlay: {
|
|
188
|
+
...entry.overlay,
|
|
189
|
+
...overlay
|
|
190
|
+
},
|
|
191
|
+
relations: entry.relations,
|
|
192
|
+
signal
|
|
193
|
+
});
|
|
194
|
+
}),
|
|
195
|
+
upsertItems: later(({ modelId, items, signal }) => {
|
|
196
|
+
const entry = entries.get(modelId) ?? {
|
|
197
|
+
model: emptyModel,
|
|
198
|
+
overlay: {},
|
|
199
|
+
relations: []
|
|
200
|
+
};
|
|
201
|
+
return write({
|
|
202
|
+
modelId,
|
|
203
|
+
kind: "items",
|
|
204
|
+
...mergeBoundItems(entry.model, entry.overlay, items),
|
|
205
|
+
relations: mergeRelations(entry.relations, items.relations ?? []),
|
|
206
|
+
signal
|
|
207
|
+
});
|
|
208
|
+
}),
|
|
209
|
+
relations: later(({ modelId }) => entryOf(modelId).relations),
|
|
210
|
+
children: later(({ modelId, element }) => {
|
|
211
|
+
const { model, relations } = elementOf(modelId, element);
|
|
212
|
+
return childrenOf(model, relations, element);
|
|
213
|
+
}),
|
|
214
|
+
descendants: later(({ modelId, element }) => {
|
|
215
|
+
const { model, relations } = elementOf(modelId, element);
|
|
216
|
+
return descendantsOf(model, relations, element);
|
|
217
|
+
}),
|
|
218
|
+
ancestors: later(({ modelId, element }) => {
|
|
219
|
+
const { model, relations } = elementOf(modelId, element);
|
|
220
|
+
return ancestorsOf(model, relations, element);
|
|
221
|
+
}),
|
|
222
|
+
ready: later(({ modelId }) => {
|
|
223
|
+
const { model, overlay } = entryOf(modelId);
|
|
224
|
+
return readyOf(structureOf(model, overlay));
|
|
225
|
+
}),
|
|
226
|
+
blockedChain: later(({ modelId, element }) => {
|
|
227
|
+
const { model, overlay } = elementOf(modelId, element);
|
|
228
|
+
return blockedChainOf(structureOf(model, overlay), element);
|
|
229
|
+
}),
|
|
230
|
+
impact: later(({ modelId, element }) => {
|
|
231
|
+
const { model, overlay } = elementOf(modelId, element);
|
|
232
|
+
return impactOf(structureOf(model, overlay), element);
|
|
233
|
+
}),
|
|
234
|
+
revisionOf: later(({ modelId }) => entries.get(modelId)?.revision)
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
//#endregion
|
|
238
|
+
export { ChangeFeed, GraphStoreError, ancestorsOf, blockedChainOf, boundActivitySchema, boundItemsSchema, changeKinds, checkStored, childrenOf, createFakeGraphStore, createGraphStoreRouter, createSqliteGraphStore, defaultSubscriptionCapacity, descendantsOf, emptyModel, graphStoreContract, impactOf, issueSchema, mergeBoundItems, mergeRelations, migrate, modelIdSchema, modelSummarySchema, overlayWithin, reachSchema, readyOf, relationIssues, relationKinds, relationSchema, relationsWithin, revisionSchema, serialised, storeChangeSchema, storedModelSchema, structureOf, tables_exports as tables };
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
._1pqhw58r {
|
|
2
|
+
--_1pqhw58e: 0.25rem;
|
|
3
|
+
--_1pqhw58f: 0.5rem;
|
|
4
|
+
--_1pqhw58g: 1rem;
|
|
5
|
+
--_1pqhw58h: 0.25rem;
|
|
6
|
+
--_1pqhw58i: 0.5rem;
|
|
7
|
+
--_1pqhw58j: system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
8
|
+
--_1pqhw58k: ui-monospace, "SFMono-Regular", Menlo, monospace;
|
|
9
|
+
--_1pqhw58l: 0.75rem;
|
|
10
|
+
--_1pqhw58m: 0.875rem;
|
|
11
|
+
--_1pqhw58n: 1rem;
|
|
12
|
+
--_1pqhw58o: 600;
|
|
13
|
+
--_1pqhw58p: 1px;
|
|
14
|
+
--_1pqhw58q: 3px;
|
|
15
|
+
--_1pqhw580: #ffffff;
|
|
16
|
+
--_1pqhw581: #f6f8fa;
|
|
17
|
+
--_1pqhw582: #1f2328;
|
|
18
|
+
--_1pqhw583: #59636e;
|
|
19
|
+
--_1pqhw584: #d1d9e0;
|
|
20
|
+
--_1pqhw585: #0969da;
|
|
21
|
+
--_1pqhw586: #0969da;
|
|
22
|
+
--_1pqhw587: #9a6700;
|
|
23
|
+
--_1pqhw588: #6639ba;
|
|
24
|
+
--_1pqhw589: #1a7f37;
|
|
25
|
+
--_1pqhw58a: #0550ae;
|
|
26
|
+
--_1pqhw58b: #cf222e;
|
|
27
|
+
--_1pqhw58c: #59636e;
|
|
28
|
+
--_1pqhw58d: #6639ba;
|
|
29
|
+
}
|
|
30
|
+
._1pqhw58s {
|
|
31
|
+
--_1pqhw58e: 0.25rem;
|
|
32
|
+
--_1pqhw58f: 0.5rem;
|
|
33
|
+
--_1pqhw58g: 1rem;
|
|
34
|
+
--_1pqhw58h: 0.25rem;
|
|
35
|
+
--_1pqhw58i: 0.5rem;
|
|
36
|
+
--_1pqhw58j: system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
37
|
+
--_1pqhw58k: ui-monospace, "SFMono-Regular", Menlo, monospace;
|
|
38
|
+
--_1pqhw58l: 0.75rem;
|
|
39
|
+
--_1pqhw58m: 0.875rem;
|
|
40
|
+
--_1pqhw58n: 1rem;
|
|
41
|
+
--_1pqhw58o: 600;
|
|
42
|
+
--_1pqhw58p: 1px;
|
|
43
|
+
--_1pqhw58q: 3px;
|
|
44
|
+
--_1pqhw580: #0d1117;
|
|
45
|
+
--_1pqhw581: #161b22;
|
|
46
|
+
--_1pqhw582: #e6edf3;
|
|
47
|
+
--_1pqhw583: #9198a1;
|
|
48
|
+
--_1pqhw584: #3d444d;
|
|
49
|
+
--_1pqhw585: #4493f8;
|
|
50
|
+
--_1pqhw586: #4493f8;
|
|
51
|
+
--_1pqhw587: #d29922;
|
|
52
|
+
--_1pqhw588: #ab7df8;
|
|
53
|
+
--_1pqhw589: #3fb950;
|
|
54
|
+
--_1pqhw58a: #58a6ff;
|
|
55
|
+
--_1pqhw58b: #f85149;
|
|
56
|
+
--_1pqhw58c: #9198a1;
|
|
57
|
+
--_1pqhw58d: #ab7df8;
|
|
58
|
+
}.xk03iz0 {
|
|
59
|
+
background-color: var(--_1pqhw580);
|
|
60
|
+
color: var(--_1pqhw582);
|
|
61
|
+
font-family: var(--_1pqhw58j);
|
|
62
|
+
font-size: var(--_1pqhw58m);
|
|
63
|
+
}
|
|
64
|
+
.xk03iz1 {
|
|
65
|
+
position: absolute;
|
|
66
|
+
width: 1px;
|
|
67
|
+
height: 1px;
|
|
68
|
+
padding: 0;
|
|
69
|
+
margin: -1px;
|
|
70
|
+
overflow: hidden;
|
|
71
|
+
clip: rect(0, 0, 0, 0);
|
|
72
|
+
white-space: nowrap;
|
|
73
|
+
border: 0;
|
|
74
|
+
}
|
|
75
|
+
.xk03iz2:focus-visible {
|
|
76
|
+
outline: var(--_1pqhw58q) solid var(--_1pqhw586);
|
|
77
|
+
outline-offset: var(--_1pqhw58p);
|
|
78
|
+
}
|
|
79
|
+
.xk03iz0 *, .xk03iz0 *::before, .xk03iz0 *::after {
|
|
80
|
+
box-sizing: border-box;
|
|
81
|
+
}._1qote9c0 {
|
|
82
|
+
display: inline-flex;
|
|
83
|
+
align-items: center;
|
|
84
|
+
padding: 0 var(--_1pqhw58e);
|
|
85
|
+
border: var(--_1pqhw58p) solid currentColor;
|
|
86
|
+
border-radius: var(--_1pqhw58h);
|
|
87
|
+
font-size: var(--_1pqhw58l);
|
|
88
|
+
font-weight: var(--_1pqhw58o);
|
|
89
|
+
white-space: nowrap;
|
|
90
|
+
}
|
|
91
|
+
._1qote9c1 {
|
|
92
|
+
color: var(--_1pqhw589);
|
|
93
|
+
}
|
|
94
|
+
._1qote9c2 {
|
|
95
|
+
color: var(--_1pqhw58a);
|
|
96
|
+
}
|
|
97
|
+
._1qote9c3 {
|
|
98
|
+
color: var(--_1pqhw58b);
|
|
99
|
+
}
|
|
100
|
+
._1qote9c4 {
|
|
101
|
+
color: var(--_1pqhw58c);
|
|
102
|
+
}
|
|
103
|
+
._1qote9c5 {
|
|
104
|
+
color: var(--_1pqhw58d);
|
|
105
|
+
}
|
|
106
|
+
._1qote9c6 {
|
|
107
|
+
display: flex;
|
|
108
|
+
flex-wrap: wrap;
|
|
109
|
+
align-items: center;
|
|
110
|
+
gap: var(--_1pqhw58e);
|
|
111
|
+
padding: var(--_1pqhw58f);
|
|
112
|
+
background-color: var(--_1pqhw581);
|
|
113
|
+
border: var(--_1pqhw58p) solid var(--_1pqhw584);
|
|
114
|
+
border-left-width: var(--_1pqhw58q);
|
|
115
|
+
border-radius: var(--_1pqhw58i);
|
|
116
|
+
cursor: default;
|
|
117
|
+
}
|
|
118
|
+
._1qote9c6[aria-selected="true"] {
|
|
119
|
+
outline: var(--_1pqhw58q) solid var(--_1pqhw585);
|
|
120
|
+
}
|
|
121
|
+
._1qote9c7 {
|
|
122
|
+
border-left-color: var(--_1pqhw589);
|
|
123
|
+
}
|
|
124
|
+
._1qote9c8 {
|
|
125
|
+
border-left-color: var(--_1pqhw58a);
|
|
126
|
+
}
|
|
127
|
+
._1qote9c9 {
|
|
128
|
+
border-left-color: var(--_1pqhw58b);
|
|
129
|
+
}
|
|
130
|
+
._1qote9ca {
|
|
131
|
+
border-left-color: var(--_1pqhw58c);
|
|
132
|
+
}
|
|
133
|
+
._1qote9cb {
|
|
134
|
+
border-left-color: var(--_1pqhw58d);
|
|
135
|
+
}
|
|
136
|
+
._1qote9ce {
|
|
137
|
+
border-style: dashed;
|
|
138
|
+
}
|
|
139
|
+
._1qote9cf {
|
|
140
|
+
border-radius: var(--_1pqhw58g);
|
|
141
|
+
}
|
|
142
|
+
._1qote9cg {
|
|
143
|
+
font-style: italic;
|
|
144
|
+
}
|
|
145
|
+
._1qote9ch {
|
|
146
|
+
box-shadow: 0 0 0 var(--_1pqhw58q) var(--_1pqhw587);
|
|
147
|
+
}
|
|
148
|
+
._1qote9cj {
|
|
149
|
+
font-weight: var(--_1pqhw58o);
|
|
150
|
+
}
|
|
151
|
+
._1qote9ck {
|
|
152
|
+
color: var(--_1pqhw587);
|
|
153
|
+
font-size: var(--_1pqhw58l);
|
|
154
|
+
font-weight: var(--_1pqhw58o);
|
|
155
|
+
}
|
|
156
|
+
._1qote9cl {
|
|
157
|
+
flex-basis: 100%;
|
|
158
|
+
color: var(--_1pqhw583);
|
|
159
|
+
font-size: var(--_1pqhw58l);
|
|
160
|
+
}
|
|
161
|
+
._1qote9cm {
|
|
162
|
+
color: var(--_1pqhw583);
|
|
163
|
+
}
|
|
164
|
+
._1qote9cm[data-handoff] {
|
|
165
|
+
color: var(--_1pqhw588);
|
|
166
|
+
}
|
|
167
|
+
._1qote9cm[data-critical] {
|
|
168
|
+
color: var(--_1pqhw587);
|
|
169
|
+
font-weight: var(--_1pqhw58o);
|
|
170
|
+
}
|
|
171
|
+
._1qote9cn {
|
|
172
|
+
color: var(--_1pqhw582);
|
|
173
|
+
}
|
|
174
|
+
._1qote9co {
|
|
175
|
+
border: var(--_1pqhw58p) solid var(--_1pqhw584);
|
|
176
|
+
border-radius: var(--_1pqhw58i);
|
|
177
|
+
padding: var(--_1pqhw58f);
|
|
178
|
+
}
|
|
179
|
+
._1qote9cp {
|
|
180
|
+
margin: 0 0 var(--_1pqhw58f);
|
|
181
|
+
color: var(--_1pqhw583);
|
|
182
|
+
font-size: var(--_1pqhw58l);
|
|
183
|
+
text-transform: uppercase;
|
|
184
|
+
}
|
|
185
|
+
._1qote9cq {
|
|
186
|
+
display: flex;
|
|
187
|
+
flex-wrap: wrap;
|
|
188
|
+
gap: var(--_1pqhw58f);
|
|
189
|
+
}
|
|
190
|
+
._1qote9cr {
|
|
191
|
+
display: flex;
|
|
192
|
+
flex-wrap: wrap;
|
|
193
|
+
gap: var(--_1pqhw58g);
|
|
194
|
+
margin: 0;
|
|
195
|
+
padding: 0;
|
|
196
|
+
list-style: none;
|
|
197
|
+
font-size: var(--_1pqhw58l);
|
|
198
|
+
}
|
|
199
|
+
._1qote9cs {
|
|
200
|
+
display: inline-flex;
|
|
201
|
+
align-items: center;
|
|
202
|
+
gap: var(--_1pqhw58e);
|
|
203
|
+
}
|
|
204
|
+
._1qote9ct {
|
|
205
|
+
display: inline-block;
|
|
206
|
+
width: var(--_1pqhw58l);
|
|
207
|
+
height: var(--_1pqhw58l);
|
|
208
|
+
border-radius: var(--_1pqhw58h);
|
|
209
|
+
}
|
|
210
|
+
._1qote9ct[data-status="done"] {
|
|
211
|
+
background-color: var(--_1pqhw589);
|
|
212
|
+
}
|
|
213
|
+
._1qote9ct[data-status="ready"] {
|
|
214
|
+
background-color: var(--_1pqhw58a);
|
|
215
|
+
}
|
|
216
|
+
._1qote9ct[data-status="blocked"] {
|
|
217
|
+
background-color: var(--_1pqhw58b);
|
|
218
|
+
}
|
|
219
|
+
._1qote9ct[data-status="skipped"] {
|
|
220
|
+
background-color: var(--_1pqhw58c);
|
|
221
|
+
}
|
|
222
|
+
._1qote9ct[data-status="unknown"] {
|
|
223
|
+
background-color: var(--_1pqhw58d);
|
|
224
|
+
}
|
|
225
|
+
._1qote9ct[data-critical] {
|
|
226
|
+
background-color: var(--_1pqhw587);
|
|
227
|
+
}
|
|
228
|
+
._1qote9cu {
|
|
229
|
+
display: flex;
|
|
230
|
+
flex-wrap: wrap;
|
|
231
|
+
align-items: flex-start;
|
|
232
|
+
gap: var(--_1pqhw58g);
|
|
233
|
+
}
|
|
234
|
+
._1qote9cv {
|
|
235
|
+
display: flex;
|
|
236
|
+
flex-wrap: wrap;
|
|
237
|
+
gap: var(--_1pqhw58f);
|
|
238
|
+
margin: 0;
|
|
239
|
+
border: var(--_1pqhw58p) solid var(--_1pqhw584);
|
|
240
|
+
border-radius: var(--_1pqhw58i);
|
|
241
|
+
padding: var(--_1pqhw58f);
|
|
242
|
+
}
|
|
243
|
+
._1qote9cw {
|
|
244
|
+
padding: 0 var(--_1pqhw58e);
|
|
245
|
+
color: var(--_1pqhw583);
|
|
246
|
+
font-size: var(--_1pqhw58l);
|
|
247
|
+
}
|
|
248
|
+
._1qote9cx {
|
|
249
|
+
display: inline-flex;
|
|
250
|
+
align-items: center;
|
|
251
|
+
gap: var(--_1pqhw58e);
|
|
252
|
+
}
|
|
253
|
+
._1qote9cy {
|
|
254
|
+
accent-color: var(--_1pqhw585);
|
|
255
|
+
}
|
|
256
|
+
._1qote9cz {
|
|
257
|
+
padding: var(--_1pqhw58e) var(--_1pqhw58f);
|
|
258
|
+
color: var(--_1pqhw585);
|
|
259
|
+
background-color: transparent;
|
|
260
|
+
border: var(--_1pqhw58p) solid var(--_1pqhw584);
|
|
261
|
+
border-radius: var(--_1pqhw58h);
|
|
262
|
+
font: inherit;
|
|
263
|
+
cursor: pointer;
|
|
264
|
+
}
|
|
265
|
+
._1qote9c10 {
|
|
266
|
+
display: flex;
|
|
267
|
+
flex-direction: column;
|
|
268
|
+
align-items: flex-start;
|
|
269
|
+
gap: var(--_1pqhw58f);
|
|
270
|
+
padding: var(--_1pqhw58g);
|
|
271
|
+
background-color: var(--_1pqhw581);
|
|
272
|
+
border: var(--_1pqhw58p) solid var(--_1pqhw584);
|
|
273
|
+
border-radius: var(--_1pqhw58i);
|
|
274
|
+
}
|
|
275
|
+
._1qote9c11 {
|
|
276
|
+
margin: 0;
|
|
277
|
+
font-size: var(--_1pqhw58n);
|
|
278
|
+
}
|
|
279
|
+
._1qote9c12 {
|
|
280
|
+
margin: 0;
|
|
281
|
+
}
|
|
282
|
+
._1qote9c13 {
|
|
283
|
+
margin: 0;
|
|
284
|
+
color: var(--_1pqhw583);
|
|
285
|
+
font-size: var(--_1pqhw58l);
|
|
286
|
+
}
|
|
287
|
+
._1qote9c14 {
|
|
288
|
+
margin: var(--_1pqhw58e) 0 0;
|
|
289
|
+
padding-left: var(--_1pqhw58g);
|
|
290
|
+
}._1y9ef240 {
|
|
291
|
+
margin: 0;
|
|
292
|
+
}
|
|
293
|
+
._1y9ef241 {
|
|
294
|
+
margin-bottom: var(--_1pqhw58f);
|
|
295
|
+
font-weight: var(--_1pqhw58o);
|
|
296
|
+
}
|
|
297
|
+
._1y9ef242 {
|
|
298
|
+
display: block;
|
|
299
|
+
max-width: 100%;
|
|
300
|
+
}
|
|
301
|
+
._1y9ef243 {
|
|
302
|
+
fill: var(--_1pqhw581);
|
|
303
|
+
stroke: var(--_1pqhw584);
|
|
304
|
+
stroke-width: var(--_1pqhw58p);
|
|
305
|
+
}
|
|
306
|
+
._1y9ef244 {
|
|
307
|
+
stroke: var(--_1pqhw583);
|
|
308
|
+
stroke-width: var(--_1pqhw58p);
|
|
309
|
+
stroke-dasharray: 4 4;
|
|
310
|
+
}
|
|
311
|
+
._1y9ef245 {
|
|
312
|
+
fill: var(--_1pqhw582);
|
|
313
|
+
font-family: var(--_1pqhw58j);
|
|
314
|
+
font-size: var(--_1pqhw58m);
|
|
315
|
+
}
|
|
316
|
+
._1y9ef246 {
|
|
317
|
+
fill: var(--_1pqhw583);
|
|
318
|
+
font-family: var(--_1pqhw58j);
|
|
319
|
+
font-size: var(--_1pqhw58l);
|
|
320
|
+
}
|
|
321
|
+
._1y9ef247 {
|
|
322
|
+
fill: none;
|
|
323
|
+
stroke: var(--_1pqhw582);
|
|
324
|
+
stroke-width: var(--_1pqhw58p);
|
|
325
|
+
}
|
|
326
|
+
._1y9ef247[data-mode="reply"] {
|
|
327
|
+
stroke-dasharray: 4 4;
|
|
328
|
+
}
|
|
329
|
+
._1y9ef248 {
|
|
330
|
+
fill: var(--_1pqhw582);
|
|
331
|
+
}
|
|
332
|
+
._1y9ef249 {
|
|
333
|
+
fill: none;
|
|
334
|
+
stroke: var(--_1pqhw582);
|
|
335
|
+
stroke-width: var(--_1pqhw58p);
|
|
336
|
+
}
|
|
337
|
+
._1y9ef24a {
|
|
338
|
+
fill: none;
|
|
339
|
+
stroke: var(--_1pqhw584);
|
|
340
|
+
stroke-width: var(--_1pqhw58p);
|
|
341
|
+
}
|
|
342
|
+
._1y9ef24b {
|
|
343
|
+
stroke: var(--_1pqhw584);
|
|
344
|
+
stroke-width: var(--_1pqhw58p);
|
|
345
|
+
stroke-dasharray: 4 4;
|
|
346
|
+
}
|
|
347
|
+
._1y9ef24c {
|
|
348
|
+
fill: var(--_1pqhw581);
|
|
349
|
+
stroke: var(--_1pqhw584);
|
|
350
|
+
stroke-width: var(--_1pqhw58p);
|
|
351
|
+
}/*$vite$:1*/
|