@knpkv/rly 0.14.0 → 0.16.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 (58) hide show
  1. package/README.md +90 -3
  2. package/dist/{Dialog-B9Ub_gMT.js → Dialog-CU66FqWD.js} +325 -257
  3. package/dist/Dialog-CU66FqWD.js.map +1 -0
  4. package/dist/{PortalProvider-CN_81Fy3.js → PortalProvider-op07u8na.js} +20 -18
  5. package/dist/PortalProvider-op07u8na.js.map +1 -0
  6. package/dist/components.css +2 -2
  7. package/dist/diff/bounded/index.js.map +1 -1
  8. package/dist/diff/index.js.map +1 -1
  9. package/dist/diff/patch/index.js.map +1 -1
  10. package/dist/dts/foundations/Icon.d.ts +1 -1
  11. package/dist/dts/foundations/Icon.d.ts.map +1 -1
  12. package/dist/dts/internal/composedFocus.d.ts +11 -0
  13. package/dist/dts/internal/composedFocus.d.ts.map +1 -0
  14. package/dist/dts/internal/relaySummon.d.ts +50 -0
  15. package/dist/dts/internal/relaySummon.d.ts.map +1 -0
  16. package/dist/dts/patterns/RelayComposer.d.ts +65 -0
  17. package/dist/dts/patterns/RelayComposer.d.ts.map +1 -0
  18. package/dist/dts/patterns/RelayDecision.d.ts +75 -0
  19. package/dist/dts/patterns/RelayDecision.d.ts.map +1 -0
  20. package/dist/dts/patterns/RelayDock.d.ts.map +1 -1
  21. package/dist/dts/patterns/RelayFindings.d.ts +83 -0
  22. package/dist/dts/patterns/RelayFindings.d.ts.map +1 -0
  23. package/dist/dts/patterns/RelayLauncher.d.ts +32 -1
  24. package/dist/dts/patterns/RelayLauncher.d.ts.map +1 -1
  25. package/dist/dts/patterns/RelayPanel.d.ts +91 -0
  26. package/dist/dts/patterns/RelayPanel.d.ts.map +1 -0
  27. package/dist/dts/patterns/RelaySetup.d.ts +58 -0
  28. package/dist/dts/patterns/RelaySetup.d.ts.map +1 -0
  29. package/dist/dts/patterns/RelayTranscript.d.ts +68 -0
  30. package/dist/dts/patterns/RelayTranscript.d.ts.map +1 -0
  31. package/dist/dts/patterns/index.d.ts +14 -2
  32. package/dist/dts/patterns/index.d.ts.map +1 -1
  33. package/dist/dts/tokens/fonts.d.ts +13 -0
  34. package/dist/dts/tokens/fonts.d.ts.map +1 -0
  35. package/dist/dts/tokens/index.d.ts +2 -0
  36. package/dist/dts/tokens/index.d.ts.map +1 -1
  37. package/dist/fonts.css +7 -2
  38. package/dist/foundations/index.js +1 -1
  39. package/dist/index.js +6 -6
  40. package/dist/patterns/index.js +2 -2
  41. package/dist/patterns-B3WbiVEp.js +4981 -0
  42. package/dist/patterns-B3WbiVEp.js.map +1 -0
  43. package/dist/primitives/index.js +3 -3
  44. package/dist/{primitives-Bd6WhE78.js → primitives-DgQybTyq.js} +254 -322
  45. package/dist/primitives-DgQybTyq.js.map +1 -0
  46. package/dist/tokens/index.js +2 -2
  47. package/dist/{tokens-B075JP3Z.js → tokens-Cf0jXIRg.js} +14 -8
  48. package/dist/tokens-Cf0jXIRg.js.map +1 -0
  49. package/dist/workbench-CHCnYW3G.js.map +1 -1
  50. package/package.json +1 -1
  51. package/registry/components.json +558 -1
  52. package/registry/search.json +162 -0
  53. package/dist/Dialog-B9Ub_gMT.js.map +0 -1
  54. package/dist/PortalProvider-CN_81Fy3.js.map +0 -1
  55. package/dist/patterns-ChmGSFqO.js +0 -3768
  56. package/dist/patterns-ChmGSFqO.js.map +0 -1
  57. package/dist/primitives-Bd6WhE78.js.map +0 -1
  58. package/dist/tokens-B075JP3Z.js.map +0 -1
@@ -1,3768 +0,0 @@
1
- import { i as e, r as t, t as n } from "./PortalProvider-CN_81Fy3.js";
2
- import { n as r } from "./LinkProvider-DMkhwZ3P.js";
3
- import { a as i, c as a, i as o, l as s, n as c, r as l, s as u, t as d } from "./component-DKy8kjZl.js";
4
- import { A as f, F as p, I as m, L as h, M as g, N as _, P as v, R as y, T as b, f as x, g as S, h as C, i as ee, j as te, l as ne, t as w, w as T, y as re, z as ie } from "./Dialog-B9Ub_gMT.js";
5
- import { Portal as ae } from "radix-ui";
6
- import { useCallback as oe, useId as E, useLayoutEffect as se, useRef as D, useState as ce, useSyncExternalStore as le } from "react";
7
- import { Fragment as ue, jsx as O, jsxs as k } from "react/jsx-runtime";
8
- var de = {
9
- root: "rly_AgentContextButton-module__root",
10
- mark: "rly_AgentContextButton-module__mark",
11
- glyph: "rly_AgentContextButton-module__glyph",
12
- copy: "rly_AgentContextButton-module__copy",
13
- contextRow: "rly_AgentContextButton-module__contextRow",
14
- action: "rly_AgentContextButton-module__action",
15
- agent: "rly_AgentContextButton-module__agent",
16
- contextLabel: "rly_AgentContextButton-module__contextLabel",
17
- context: "rly_AgentContextButton-module__context",
18
- job: "rly_AgentContextButton-module__job",
19
- count: "rly_AgentContextButton-module__count"
20
- }, A = (e) => c(de, e), fe = () => /* @__PURE__ */ O("span", {
21
- "aria-hidden": "true",
22
- className: A("mark"),
23
- children: /* @__PURE__ */ O("svg", {
24
- className: A("glyph"),
25
- focusable: "false",
26
- viewBox: "0 0 24 24",
27
- children: /* @__PURE__ */ O("path", {
28
- d: "M12 3.5 14 10l6.5 2-6.5 2-2 6.5L10 14l-6.5-2 6.5-2Z",
29
- fill: "currentColor"
30
- })
31
- })
32
- }), pe = ({ actionLabel: e = "Ask agent", agentName: t, className: n, context: r, contextLabel: i = "Context", job: a, type: s, ...c }) => {
33
- let l = o(e, "AgentContextButton actionLabel"), u = o(t, "AgentContextButton agentName"), f = o(r, "AgentContextButton context"), p = o(i, "AgentContextButton contextLabel"), m = a === void 0 ? void 0 : o(a.status, "AgentContextButton job status");
34
- if (a?.count !== void 0 && (!Number.isInteger(a.count) || a.count < 0)) throw Error("AgentContextButton job count must be a non-negative integer");
35
- return /* @__PURE__ */ k("button", {
36
- ...c,
37
- className: d(A("root"), n),
38
- "data-rly-agent-context-button": "",
39
- type: s ?? "button",
40
- children: [
41
- /* @__PURE__ */ O(fe, {}),
42
- /* @__PURE__ */ k("span", {
43
- className: A("copy"),
44
- children: [
45
- /* @__PURE__ */ O("span", {
46
- className: A("action"),
47
- children: l
48
- }),
49
- /* @__PURE__ */ O("span", {
50
- className: A("agent"),
51
- children: u
52
- }),
53
- /* @__PURE__ */ k("span", {
54
- className: A("contextRow"),
55
- children: [/* @__PURE__ */ O("span", {
56
- className: A("contextLabel"),
57
- children: p
58
- }), /* @__PURE__ */ O("span", {
59
- className: A("context"),
60
- children: f
61
- })]
62
- })
63
- ]
64
- }),
65
- m === void 0 ? null : /* @__PURE__ */ k("span", {
66
- className: A("job"),
67
- "data-rly-agent-job": "",
68
- children: [m, a?.count === void 0 ? null : /* @__PURE__ */ O("span", {
69
- className: A("count"),
70
- children: a.count
71
- })]
72
- })
73
- ]
74
- });
75
- }, me = {
76
- drawer: "rly_AgentDrawer-module__drawer",
77
- body: "rly_AgentDrawer-module__body",
78
- slot: "rly_AgentDrawer-module__slot",
79
- slotContent: "rly_AgentDrawer-module__slotContent",
80
- identityCopy: "rly_AgentDrawer-module__identityCopy",
81
- contextSlot: "rly_AgentDrawer-module__contextSlot",
82
- identity: "rly_AgentDrawer-module__identity",
83
- mark: "rly_AgentDrawer-module__mark",
84
- glyph: "rly_AgentDrawer-module__glyph",
85
- eyebrow: "rly_AgentDrawer-module__eyebrow",
86
- slotTitle: "rly_AgentDrawer-module__slotTitle",
87
- contextSummary: "rly_AgentDrawer-module__contextSummary"
88
- }, j = (e) => c(me, e), he = () => /* @__PURE__ */ O("span", {
89
- "aria-hidden": "true",
90
- className: j("mark"),
91
- children: /* @__PURE__ */ O("svg", {
92
- className: j("glyph"),
93
- focusable: "false",
94
- viewBox: "0 0 24 24",
95
- children: /* @__PURE__ */ O("path", {
96
- d: "M12 3.5 14 10l6.5 2-6.5 2-2 6.5L10 14l-6.5-2 6.5-2Z",
97
- fill: "currentColor"
98
- })
99
- })
100
- }), ge = ({ children: e, label: t, name: n }) => /* @__PURE__ */ k("section", {
101
- className: j("slot"),
102
- "data-rly-agent-drawer-slot": n,
103
- children: [/* @__PURE__ */ O("h2", {
104
- className: j("slotTitle"),
105
- children: t
106
- }), /* @__PURE__ */ O("div", {
107
- className: j("slotContent"),
108
- children: e
109
- })]
110
- }), _e = ({ agentName: e, capabilities: t, className: n, composer: r, context: i, contextSummary: a, evidence: s, onOpenChange: c, open: l, thread: u, title: p, ...m }) => {
111
- let h = o(e, "AgentDrawer agentName"), g = o(a, "AgentDrawer contextSummary"), _ = o(p, "AgentDrawer title"), v = D(null);
112
- return /* @__PURE__ */ O(f.Root, {
113
- onOpenChange: c,
114
- open: l,
115
- children: /* @__PURE__ */ O(f.Content, {
116
- className: d(j("drawer"), n),
117
- description: `Context-aware session with ${h}`,
118
- initialFocusRef: v,
119
- title: _,
120
- children: /* @__PURE__ */ k(f.Body, {
121
- ...m,
122
- className: j("body"),
123
- children: [
124
- /* @__PURE__ */ k("section", {
125
- className: d(j("slot"), j("contextSlot")),
126
- "data-rly-agent-drawer-slot": "context",
127
- ref: v,
128
- tabIndex: -1,
129
- children: [/* @__PURE__ */ k("div", {
130
- className: j("identity"),
131
- children: [/* @__PURE__ */ O(he, {}), /* @__PURE__ */ k("div", {
132
- className: j("identityCopy"),
133
- children: [/* @__PURE__ */ O("span", {
134
- className: j("eyebrow"),
135
- children: h
136
- }), /* @__PURE__ */ O("h2", {
137
- className: j("contextSummary"),
138
- children: g
139
- })]
140
- })]
141
- }), /* @__PURE__ */ O("div", {
142
- className: j("slotContent"),
143
- children: i
144
- })]
145
- }),
146
- /* @__PURE__ */ O(ge, {
147
- label: "Evidence",
148
- name: "evidence",
149
- children: s
150
- }),
151
- /* @__PURE__ */ O(ge, {
152
- label: "Capabilities",
153
- name: "capabilities",
154
- children: t
155
- }),
156
- /* @__PURE__ */ k("section", {
157
- "aria-live": "polite",
158
- "aria-relevant": "additions text",
159
- className: j("slot"),
160
- "data-rly-agent-drawer-slot": "thread",
161
- children: [/* @__PURE__ */ O("h2", {
162
- className: j("slotTitle"),
163
- children: "Thread"
164
- }), /* @__PURE__ */ O("div", {
165
- className: j("slotContent"),
166
- children: u
167
- })]
168
- }),
169
- /* @__PURE__ */ O(ge, {
170
- label: "Message",
171
- name: "composer",
172
- children: r
173
- })
174
- ]
175
- })
176
- })
177
- });
178
- }, ve = {
179
- root: "rly_AgentJob-module__root",
180
- header: "rly_AgentJob-module__header",
181
- agentGlyph: "rly_AgentJob-module__agentGlyph",
182
- titleBlock: "rly_AgentJob-module__titleBlock",
183
- eyebrow: "rly_AgentJob-module__eyebrow",
184
- progressLabel: "rly_AgentJob-module__progressLabel",
185
- metadata: "rly_AgentJob-module__metadata",
186
- progressBlock: "rly_AgentJob-module__progressBlock",
187
- slot: "rly_AgentJob-module__slot",
188
- footer: "rly_AgentJob-module__footer",
189
- outcome: "rly_AgentJob-module__outcome"
190
- }, M = (e) => c(ve, e), ye = (e, t) => {
191
- if (e == null || i(e)) throw Error(`${t} must contain renderable content`);
192
- s(e) && o(e, t);
193
- }, be = {
194
- queued: {
195
- label: "Queued",
196
- tone: "neutral"
197
- },
198
- running: {
199
- label: "Running",
200
- tone: "progress"
201
- },
202
- "cancel-requested": {
203
- label: "Cancel requested",
204
- tone: "caution"
205
- },
206
- succeeded: {
207
- label: "Succeeded",
208
- tone: "positive"
209
- },
210
- failed: {
211
- label: "Failed",
212
- tone: "critical"
213
- },
214
- cancelled: {
215
- label: "Cancelled",
216
- tone: "neutral"
217
- }
218
- }, xe = (e) => {
219
- if (e !== void 0 && (!Number.isFinite(e) || e < 0 || e > 100)) throw Error("AgentJob progress must be between 0 and 100");
220
- }, Se = ({ cancelLabel: e = "Request cancellation", capability: t, className: n, context: r, evidence: i, heading: a, onCancel: s, outcome: c, progress: l, provider: u, revision: f, sandbox: p, state: m, ...h }) => {
221
- let g = o(a, "AgentJob heading"), _ = o(u, "AgentJob provider"), v = o(t, "AgentJob capability"), y = o(e, "AgentJob cancelLabel");
222
- ye(r, "AgentJob context"), ye(i, "AgentJob evidence"), (m === "succeeded" || m === "failed" || m === "cancelled") && ye(c, "AgentJob terminal outcome"), p !== void 0 && o(p, "AgentJob sandbox"), f !== void 0 && o(f, "AgentJob revision"), xe(l);
223
- let x = be[m], S = m === "queued" || m === "running", C = `rly-agent-job-progress-${E()}`;
224
- return /* @__PURE__ */ k("article", {
225
- ...h,
226
- "aria-busy": m === "queued" || m === "running" || m === "cancel-requested",
227
- className: d(M("root"), n),
228
- "data-rly-agent-job-state": m,
229
- children: [
230
- /* @__PURE__ */ k("header", {
231
- className: M("header"),
232
- children: [
233
- /* @__PURE__ */ O("span", {
234
- "aria-hidden": "true",
235
- className: M("agentGlyph"),
236
- children: "AI"
237
- }),
238
- /* @__PURE__ */ k("span", {
239
- className: M("titleBlock"),
240
- children: [/* @__PURE__ */ k("span", {
241
- className: M("eyebrow"),
242
- children: [
243
- _,
244
- ", ",
245
- v
246
- ]
247
- }), /* @__PURE__ */ O("h2", { children: g })]
248
- }),
249
- /* @__PURE__ */ O(T, {
250
- label: x.label,
251
- size: "compact",
252
- tone: x.tone
253
- })
254
- ]
255
- }),
256
- l === void 0 ? null : /* @__PURE__ */ k("div", {
257
- className: M("progressBlock"),
258
- children: [/* @__PURE__ */ k("span", {
259
- className: M("progressLabel"),
260
- id: C,
261
- children: ["Progress ", /* @__PURE__ */ k("strong", { children: [Math.round(l), "%"] })]
262
- }), /* @__PURE__ */ O("progress", {
263
- "aria-labelledby": C,
264
- max: 100,
265
- value: l
266
- })]
267
- }),
268
- /* @__PURE__ */ k("dl", {
269
- className: M("metadata"),
270
- children: [
271
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Provider" }), /* @__PURE__ */ O("dd", { children: _ })] }),
272
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Capability" }), /* @__PURE__ */ O("dd", { children: v })] }),
273
- p === void 0 ? null : /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Sandbox" }), /* @__PURE__ */ O("dd", { children: /* @__PURE__ */ O("code", { children: p }) })] }),
274
- f === void 0 ? null : /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Revision" }), /* @__PURE__ */ O("dd", { children: /* @__PURE__ */ O("code", { children: f }) })] })
275
- ]
276
- }),
277
- /* @__PURE__ */ k("section", {
278
- className: M("slot"),
279
- "data-rly-agent-job-context": "",
280
- children: [/* @__PURE__ */ O("h3", { children: "Exact context" }), r]
281
- }),
282
- /* @__PURE__ */ k("section", {
283
- className: M("slot"),
284
- "data-rly-agent-job-evidence": "",
285
- children: [/* @__PURE__ */ O("h3", { children: "Evidence" }), i]
286
- }),
287
- c === void 0 ? null : /* @__PURE__ */ k("section", {
288
- className: d(M("slot"), M("outcome")),
289
- "data-rly-agent-job-outcome": m,
290
- children: [/* @__PURE__ */ O("h3", { children: "Terminal outcome" }), c]
291
- }),
292
- S && s !== void 0 ? /* @__PURE__ */ O("footer", {
293
- className: M("footer"),
294
- children: /* @__PURE__ */ O(b, {
295
- onClick: s,
296
- variant: "quiet",
297
- children: y
298
- })
299
- }) : null
300
- ]
301
- });
302
- }, Ce = {
303
- root: "rly_AgentProposal-module__root",
304
- header: "rly_AgentProposal-module__header",
305
- agentIdentity: "rly_AgentProposal-module__agentIdentity",
306
- agentText: "rly_AgentProposal-module__agentText",
307
- eyebrow: "rly_AgentProposal-module__eyebrow",
308
- heading: "rly_AgentProposal-module__heading",
309
- agentRole: "rly_AgentProposal-module__agentRole",
310
- proposalReference: "rly_AgentProposal-module__proposalReference",
311
- context: "rly_AgentProposal-module__context",
312
- boundary: "rly_AgentProposal-module__boundary",
313
- evidence: "rly_AgentProposal-module__evidence",
314
- outcome: "rly_AgentProposal-module__outcome",
315
- state: "rly_AgentProposal-module__state",
316
- facts: "rly_AgentProposal-module__facts"
317
- }, N = (e) => c(Ce, e), we = (e) => {
318
- o(e.id, "AgentProposal agent id"), o(e.name, "AgentProposal agent name"), o(e.role, "AgentProposal agent role"), o(e.avatarFallback, "AgentProposal agent avatarFallback"), e.avatarSrc !== void 0 && o(e.avatarSrc, "AgentProposal agent avatarSrc");
319
- }, Te = (e) => {
320
- if (o(e.id, "AgentProposal id"), we(e.agent), o(e.capability, "AgentProposal capability"), o(e.context, "AgentProposal context"), o(e.expectedRevision, "AgentProposal expectedRevision"), o(e.impact, "AgentProposal impact"), o(e.target, "AgentProposal target"), e.evidence.length === 0) throw Error("AgentProposal evidence must contain at least one reference");
321
- let t = /* @__PURE__ */ new Set();
322
- for (let n of e.evidence) {
323
- let e = o(n.id, "AgentProposal evidence id");
324
- if (t.has(e)) throw Error(`AgentProposal evidence ids must be unique: ${e}`);
325
- t.add(e), o(n.label, `AgentProposal evidence label for ${e}`), o(n.reference, `AgentProposal evidence reference for ${e}`);
326
- }
327
- return e;
328
- }, Ee = ({ className: e, outcome: t, proposal: n, state: r, ...i }) => {
329
- let a = Te(n), o = `rly-agent-proposal-${E()}`, s = `rly-agent-proposal-reference-${E()}`;
330
- return /* @__PURE__ */ k("section", {
331
- ...i,
332
- "aria-labelledby": `${o} ${s}`,
333
- className: d(N("root"), e),
334
- "data-rly-agent-proposal-id": a.id,
335
- children: [
336
- /* @__PURE__ */ k("header", {
337
- className: N("header"),
338
- children: [/* @__PURE__ */ k("div", {
339
- className: N("agentIdentity"),
340
- children: [/* @__PURE__ */ O(re, {
341
- decorative: !0,
342
- fallback: a.agent.avatarFallback,
343
- form: "rounded-square",
344
- ...a.agent.avatarSrc === void 0 ? {} : { src: a.agent.avatarSrc }
345
- }), /* @__PURE__ */ k("div", {
346
- className: N("agentText"),
347
- children: [
348
- /* @__PURE__ */ O("p", {
349
- className: N("eyebrow"),
350
- children: "Agent proposal"
351
- }),
352
- /* @__PURE__ */ O("h2", {
353
- className: N("heading"),
354
- id: o,
355
- children: a.agent.name
356
- }),
357
- /* @__PURE__ */ O("p", {
358
- className: N("agentRole"),
359
- children: a.agent.role
360
- }),
361
- /* @__PURE__ */ O("code", {
362
- className: N("proposalReference"),
363
- id: s,
364
- children: a.id
365
- })
366
- ]
367
- })]
368
- }), /* @__PURE__ */ O("div", {
369
- className: N("state"),
370
- "data-rly-agent-proposal-slot": "state",
371
- children: r
372
- })]
373
- }),
374
- /* @__PURE__ */ O("p", {
375
- className: N("boundary"),
376
- children: "This is an agent proposal. It is not human authorization."
377
- }),
378
- /* @__PURE__ */ k("p", {
379
- className: N("context"),
380
- children: [/* @__PURE__ */ O("span", { children: "Context" }), a.context]
381
- }),
382
- /* @__PURE__ */ k("dl", {
383
- className: N("facts"),
384
- children: [
385
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Capability" }), /* @__PURE__ */ O("dd", { children: a.capability })] }),
386
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Target" }), /* @__PURE__ */ O("dd", { children: a.target })] }),
387
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Expected revision" }), /* @__PURE__ */ O("dd", { children: a.expectedRevision })] }),
388
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Impact" }), /* @__PURE__ */ O("dd", { children: a.impact })] })
389
- ]
390
- }),
391
- /* @__PURE__ */ k("div", {
392
- className: N("evidence"),
393
- "data-rly-agent-proposal-evidence": "",
394
- children: [/* @__PURE__ */ O("h3", { children: "Evidence" }), /* @__PURE__ */ O("ul", { children: a.evidence.map((e) => /* @__PURE__ */ k("li", { children: [/* @__PURE__ */ O("span", { children: e.label }), /* @__PURE__ */ O("code", { children: e.reference })] }, e.id)) })]
395
- }),
396
- /* @__PURE__ */ k("div", {
397
- className: N("outcome"),
398
- "data-rly-agent-proposal-slot": "outcome",
399
- children: [/* @__PURE__ */ O("h3", { children: "Outcome" }), t]
400
- })
401
- ]
402
- });
403
- }, De = {
404
- root: "rly_AgentThread-module__root",
405
- header: "rly_AgentThread-module__header",
406
- messageHead: "rly_AgentThread-module__messageHead",
407
- actor: "rly_AgentThread-module__actor",
408
- actions: "rly_AgentThread-module__actions",
409
- agentGlyph: "rly_AgentThread-module__agentGlyph",
410
- avatar: "rly_AgentThread-module__avatar",
411
- context: "rly_AgentThread-module__context",
412
- composer: "rly_AgentThread-module__composer",
413
- conceptLabel: "rly_AgentThread-module__conceptLabel",
414
- messages: "rly_AgentThread-module__messages",
415
- message: "rly_AgentThread-module__message",
416
- agent: "rly_AgentThread-module__agent",
417
- human: "rly_AgentThread-module__human",
418
- system: "rly_AgentThread-module__system",
419
- actorText: "rly_AgentThread-module__actorText",
420
- empty: "rly_AgentThread-module__empty",
421
- content: "rly_AgentThread-module__content",
422
- evidence: "rly_AgentThread-module__evidence",
423
- visuallyHidden: "rly_AgentThread-module__visuallyHidden"
424
- }, P = (e) => c(De, e), Oe = (e, t) => {
425
- if (e == null || i(e)) throw Error(`${t} must contain renderable content`);
426
- s(e) && o(e, t);
427
- }, ke = (e) => {
428
- let t = e.trim().split(/\s+/u), n = Array.from(t[0] ?? "")[0] ?? "", r = Array.from(t[t.length - 1] ?? "")[0] ?? "";
429
- return o(`${n}${t.length > 1 ? r : ""}`, "AgentThread actor fallback");
430
- }, Ae = (e) => {
431
- if (e.kind === "human") {
432
- o(e.person.id, "AgentThread human id"), o(e.person.name, "AgentThread human name"), o(e.person.role, "AgentThread human role"), e.person.avatarFallback !== void 0 && o(e.person.avatarFallback, "AgentThread human avatarFallback"), e.person.avatarSrc !== void 0 && o(e.person.avatarSrc, "AgentThread human avatarSrc");
433
- return;
434
- }
435
- o(e.id, `AgentThread ${e.kind} id`), o(e.name, `AgentThread ${e.kind} name`), e.kind === "agent" && (o(e.role, "AgentThread agent role"), e.avatarFallback !== void 0 && o(e.avatarFallback, "AgentThread agent avatarFallback"));
436
- }, je = (e) => {
437
- let t = e.kind === "human" ? e.person.name : e.name, n = e.kind === "human" ? e.person.role : e.kind === "agent" ? e.role : "System event", r = e.kind === "human" ? e.person.avatarFallback ?? ke(t) : e.kind === "agent" ? e.avatarFallback ?? ke(t) : ke(t), i = e.kind === "human" ? e.person.avatarSrc : void 0;
438
- return /* @__PURE__ */ k("div", {
439
- className: d(P("actor"), P(e.kind)),
440
- "data-rly-agent-thread-actor": e.kind,
441
- children: [/* @__PURE__ */ O(re, {
442
- className: P("avatar"),
443
- "data-rly-agent-thread-avatar-form": e.kind === "human" ? "circle" : "rounded-square",
444
- decorative: !0,
445
- fallback: r,
446
- form: e.kind === "human" ? "circle" : "rounded-square",
447
- size: "default",
448
- ...i === void 0 ? {} : { src: i }
449
- }), /* @__PURE__ */ k("span", {
450
- className: P("actorText"),
451
- children: [/* @__PURE__ */ O("strong", { children: t }), /* @__PURE__ */ O("span", { children: n })]
452
- })]
453
- });
454
- }, Me = ({ announcement: e, className: t, composer: n, context: r, emptyLabel: i = "No messages yet.", heading: a, messages: s, ...c }) => {
455
- let l = o(a, "AgentThread heading"), u = o(i, "AgentThread emptyLabel");
456
- Oe(r, "AgentThread context"), Oe(n, "AgentThread composer"), e !== void 0 && o(e, "AgentThread announcement");
457
- let f = /* @__PURE__ */ new Set();
458
- for (let e of s) {
459
- let t = o(e.id, "AgentThread message id");
460
- if (f.has(t)) throw Error(`AgentThread message ids must be unique: ${t}`);
461
- f.add(t), Ae(e.actor), Oe(e.content, `AgentThread message content for ${t}`), o(e.dateTime, `AgentThread message dateTime for ${t}`), o(e.time, `AgentThread message time for ${t}`);
462
- }
463
- return /* @__PURE__ */ k("section", {
464
- ...c,
465
- className: d(P("root"), t),
466
- "data-rly-agent-thread": "",
467
- children: [
468
- /* @__PURE__ */ k("header", {
469
- className: P("header"),
470
- children: [/* @__PURE__ */ O("span", {
471
- "aria-hidden": "true",
472
- className: P("agentGlyph"),
473
- children: "AI"
474
- }), /* @__PURE__ */ O("h2", { children: l })]
475
- }),
476
- /* @__PURE__ */ k("div", {
477
- className: P("context"),
478
- "data-rly-agent-thread-context": "",
479
- children: [/* @__PURE__ */ O("span", {
480
- className: P("conceptLabel"),
481
- children: "Exact context"
482
- }), r]
483
- }),
484
- s.length === 0 ? /* @__PURE__ */ O("p", {
485
- className: P("empty"),
486
- children: u
487
- }) : /* @__PURE__ */ O("ol", {
488
- "aria-label": `${l} messages`,
489
- className: P("messages"),
490
- children: s.map((e) => /* @__PURE__ */ k("li", {
491
- className: P("message"),
492
- "data-rly-agent-thread-message": e.id,
493
- children: [
494
- /* @__PURE__ */ k("div", {
495
- className: P("messageHead"),
496
- children: [je(e.actor), /* @__PURE__ */ O("time", {
497
- dateTime: e.dateTime,
498
- children: e.time
499
- })]
500
- }),
501
- /* @__PURE__ */ O("div", {
502
- className: P("content"),
503
- children: e.content
504
- }),
505
- e.evidence === void 0 ? null : /* @__PURE__ */ O("div", {
506
- className: P("evidence"),
507
- "data-rly-agent-thread-evidence": "",
508
- children: e.evidence
509
- }),
510
- e.actions === void 0 ? null : /* @__PURE__ */ O("div", {
511
- className: P("actions"),
512
- "data-rly-agent-thread-actions": "",
513
- children: e.actions
514
- })
515
- ]
516
- }, e.id))
517
- }),
518
- /* @__PURE__ */ O("p", {
519
- "aria-atomic": "true",
520
- "aria-live": "polite",
521
- className: P("visuallyHidden"),
522
- children: e
523
- }),
524
- /* @__PURE__ */ O("div", {
525
- className: P("composer"),
526
- "data-rly-agent-thread-composer": "",
527
- children: n
528
- })
529
- ]
530
- });
531
- }, Ne = {
532
- root: "rly_Person-module__root",
533
- compact: "rly_Person-module__compact",
534
- defaultSize: "rly_Person-module__defaultSize",
535
- identity: "rly_Person-module__identity",
536
- name: "rly_Person-module__name",
537
- role: "rly_Person-module__role"
538
- }, Pe = (e) => c(Ne, e), Fe = l({ size: {
539
- compact: {
540
- className: Pe("compact"),
541
- purpose: "Dense identity row with complete attribution",
542
- tokens: ["space-24", "type-meta"]
543
- },
544
- default: {
545
- className: Pe("defaultSize"),
546
- purpose: "Standard identity row with complete attribution",
547
- tokens: [
548
- "space-32",
549
- "type-label",
550
- "type-meta"
551
- ]
552
- }
553
- } }), Ie = l({ size: "default" }), Le = (e) => {
554
- let t = e.trim().split(/\s+/u), n = t[0] ?? "", r = t[t.length - 1] ?? n, i = Array.from(n), a = i[0] ?? "", s = t.length > 1 ? Array.from(r)[0] ?? "" : i[1] ?? "";
555
- return o(`${a}${s}`, "Person avatar fallback");
556
- }, Re = (e) => (o(e.id, "Person id"), o(e.name, "Person name"), o(e.role, "Person role"), e.avatarFallback !== void 0 && o(e.avatarFallback, "Person avatarFallback"), e.avatarSrc !== void 0 && o(e.avatarSrc, "Person avatarSrc"), e), F = ({ className: e, person: t, size: n = "default", ...r }) => {
557
- let i = Re(t), a = i.avatarFallback ?? Le(i.name);
558
- return /* @__PURE__ */ k("div", {
559
- ...r,
560
- className: d(Pe("root"), Fe.size[n].className, e),
561
- "data-rly-person-size": n,
562
- children: [/* @__PURE__ */ O(re, {
563
- decorative: !0,
564
- fallback: a,
565
- size: n === "compact" ? "small" : "default",
566
- ...i.avatarSrc === void 0 ? {} : { src: i.avatarSrc }
567
- }), /* @__PURE__ */ k("span", {
568
- className: Pe("identity"),
569
- children: [/* @__PURE__ */ O("span", {
570
- className: Pe("name"),
571
- children: i.name
572
- }), /* @__PURE__ */ O("span", {
573
- className: Pe("role"),
574
- children: i.role
575
- })]
576
- })]
577
- });
578
- }, ze = {
579
- root: "rly_PeopleStrip-module__root",
580
- compact: "rly_PeopleStrip-module__compact",
581
- defaultSize: "rly_PeopleStrip-module__defaultSize",
582
- personItem: "rly_PeopleStrip-module__personItem",
583
- controlItem: "rly_PeopleStrip-module__controlItem",
584
- overflow: "rly_PeopleStrip-module__overflow"
585
- }, Be = (e) => c(ze, e), Ve = l({ size: {
586
- compact: {
587
- className: Be("compact"),
588
- purpose: "Dense attributed people list for narrow surfaces",
589
- tokens: ["space-8", "space-40"]
590
- },
591
- default: {
592
- className: Be("defaultSize"),
593
- purpose: "Standard attributed people list",
594
- tokens: ["space-12", "space-40"]
595
- }
596
- } }), He = l({ size: "default" }), Ue = (e) => {
597
- if (!Number.isInteger(e) || e < 1) throw Error("PeopleStrip limit must be a positive integer");
598
- return e;
599
- }, We = (e) => {
600
- let t = /* @__PURE__ */ new Set();
601
- for (let n of e) {
602
- let e = o(n.id, "PeopleStrip person id");
603
- if (o(n.name, `PeopleStrip name for ${e}`), o(n.role, `PeopleStrip role for ${e}`), t.has(e)) throw Error(`PeopleStrip person ids must be unique: ${e}`);
604
- t.add(e);
605
- }
606
- }, Ge = ({ "aria-label": e, className: t, expanded: n, limit: r = 3, onExpandedChange: i, people: a, size: s = "default", ...c }) => {
607
- let l = o(e, "PeopleStrip aria-label"), u = Ue(r);
608
- We(a);
609
- let f = Math.max(a.length - u, 0), p = n ? a : a.slice(0, u);
610
- return /* @__PURE__ */ k("ul", {
611
- ...c,
612
- "aria-label": l,
613
- className: d(Be("root"), Ve.size[s].className, t),
614
- "data-rly-people-strip-size": s,
615
- children: [p.map((e) => /* @__PURE__ */ O("li", {
616
- className: Be("personItem"),
617
- children: /* @__PURE__ */ O(F, {
618
- person: e,
619
- size: s
620
- })
621
- }, e.id)), f === 0 ? null : /* @__PURE__ */ O("li", {
622
- className: Be("controlItem"),
623
- children: /* @__PURE__ */ O("button", {
624
- "aria-expanded": n,
625
- "aria-label": n ? "Show fewer people" : `Show ${f} more people`,
626
- className: Be("overflow"),
627
- onClick: () => i(!n),
628
- type: "button",
629
- children: n ? "Show fewer" : `+${f} people`
630
- })
631
- })]
632
- });
633
- }, Ke = {
634
- root: "rly_CollaboratorGroup-module__root",
635
- compact: "rly_CollaboratorGroup-module__compact",
636
- defaultSize: "rly_CollaboratorGroup-module__defaultSize",
637
- heading: "rly_CollaboratorGroup-module__heading",
638
- lanes: "rly_CollaboratorGroup-module__lanes",
639
- lane: "rly_CollaboratorGroup-module__lane",
640
- laneHeading: "rly_CollaboratorGroup-module__laneHeading",
641
- empty: "rly_CollaboratorGroup-module__empty"
642
- }, qe = (e) => c(Ke, e), Je = l({ size: {
643
- compact: {
644
- className: qe("compact"),
645
- purpose: "Narrow entity attribution with explicit role lanes",
646
- tokens: ["space-12", "type-label"]
647
- },
648
- default: {
649
- className: qe("defaultSize"),
650
- purpose: "Standard entity attribution with explicit role lanes",
651
- tokens: ["space-20", "type-card-title"]
652
- }
653
- } }), Ye = l({ size: "default" }), Xe = ({ approvers: e = [], authors: t = [], className: n, emptyLabel: r = "No collaborators assigned.", expandedCategories: i, heading: a, limit: s = 3, onCategoryExpandedChange: c, operators: l = [], owners: u = [], reviewers: f = [], size: p = "default", ...m }) => {
654
- let h = o(a, "CollaboratorGroup heading"), g = o(r, "CollaboratorGroup emptyLabel"), _ = `rly-collaborators-${E()}`, v = new Set(i), y = [
655
- {
656
- category: "authors",
657
- label: "Authors",
658
- people: t
659
- },
660
- {
661
- category: "owners",
662
- label: "Owners",
663
- people: u
664
- },
665
- {
666
- category: "reviewers",
667
- label: "Reviewers",
668
- people: f
669
- },
670
- {
671
- category: "operators",
672
- label: "Operators",
673
- people: l
674
- },
675
- {
676
- category: "approvers",
677
- label: "Approvers",
678
- people: e
679
- }
680
- ].filter((e) => e.people.length > 0);
681
- return /* @__PURE__ */ k("section", {
682
- ...m,
683
- "aria-labelledby": _,
684
- className: d(qe("root"), Je.size[p].className, n),
685
- "data-rly-collaborator-group-size": p,
686
- children: [/* @__PURE__ */ O("h2", {
687
- className: qe("heading"),
688
- id: _,
689
- children: h
690
- }), y.length === 0 ? /* @__PURE__ */ O("p", {
691
- className: qe("empty"),
692
- children: g
693
- }) : /* @__PURE__ */ O("div", {
694
- className: qe("lanes"),
695
- children: y.map((e) => /* @__PURE__ */ k("section", {
696
- className: qe("lane"),
697
- children: [/* @__PURE__ */ O("h3", {
698
- className: qe("laneHeading"),
699
- children: e.label
700
- }), /* @__PURE__ */ O(Ge, {
701
- "aria-label": `${h}: ${e.label}`,
702
- expanded: v.has(e.category),
703
- limit: s,
704
- onExpandedChange: (t) => c(e.category, t),
705
- people: e.people,
706
- size: p
707
- })]
708
- }, e.category))
709
- })]
710
- });
711
- }, Ze = {
712
- root: "rly_DecisionBar-module__root",
713
- inline: "rly_DecisionBar-module__inline",
714
- sticky: "rly_DecisionBar-module__sticky",
715
- target: "rly_DecisionBar-module__target",
716
- clock: "rly_DecisionBar-module__clock",
717
- actions: "rly_DecisionBar-module__actions",
718
- status: "rly_DecisionBar-module__status",
719
- reason: "rly_DecisionBar-module__reason",
720
- note: "rly_DecisionBar-module__note"
721
- }, I = (e) => c(Ze, e), Qe = l({ placement: {
722
- inline: {
723
- className: I("inline"),
724
- purpose: "In the flow of the detail it decides",
725
- tokens: ["color-text-1", "color-text-2"]
726
- },
727
- sticky: {
728
- className: I("sticky"),
729
- purpose: "Pinned to the bottom of a phone viewport while its target is open, at thumb reach",
730
- tokens: ["color-canvas", "color-border-1"]
731
- }
732
- } }), $e = l({ placement: "inline" }), et = ({ approveLabel: e = "Approve", className: t, clock: n, note: r, onApprove: i, onReject: a, placement: s = $e.placement, rejectLabel: c = "Reject", state: l, status: u, target: f, ...p }) => {
733
- let m = o(f, "DecisionBar target"), h = E(), g = `rly-decision-bar-reason-${h}`, _ = `rly-decision-bar-status-${h}`, v = l._tag !== "ready", y = l._tag === "off" ? l.reason : void 0, x = l._tag === "sending" ? `${l.action === "approve" ? e : c} sent; waiting for the server's answer.` : u ?? "", S = y === void 0 ? l._tag === "sending" ? _ : void 0 : g, C = (e) => () => {
734
- v || e();
735
- };
736
- return /* @__PURE__ */ k("div", {
737
- ...p,
738
- "aria-busy": l._tag === "sending" ? "true" : void 0,
739
- className: d(I("root"), Qe.placement[s].className, t),
740
- "data-rly-decision-bar": "",
741
- "data-state": l._tag,
742
- children: [
743
- /* @__PURE__ */ k("p", {
744
- className: I("target"),
745
- children: [m, n === void 0 ? null : /* @__PURE__ */ k(ue, { children: [", ", /* @__PURE__ */ O("span", {
746
- className: I("clock"),
747
- children: n
748
- })] })]
749
- }),
750
- /* @__PURE__ */ k("div", {
751
- className: I("actions"),
752
- children: [/* @__PURE__ */ O(b, {
753
- "aria-describedby": S,
754
- "aria-disabled": v ? !0 : void 0,
755
- "aria-label": `${e}: ${m}`,
756
- onClick: C(i),
757
- variant: v ? "secondary" : "primary",
758
- children: e
759
- }), /* @__PURE__ */ O(b, {
760
- "aria-describedby": S,
761
- "aria-disabled": v ? !0 : void 0,
762
- "aria-label": `${c}: ${m}`,
763
- onClick: C(a),
764
- variant: "secondary",
765
- children: c
766
- })]
767
- }),
768
- y === void 0 ? null : /* @__PURE__ */ O("p", {
769
- className: I("reason"),
770
- id: g,
771
- children: y
772
- }),
773
- /* @__PURE__ */ O("p", {
774
- className: I("status"),
775
- id: _,
776
- role: "status",
777
- children: x
778
- }),
779
- r === void 0 ? null : /* @__PURE__ */ O("p", {
780
- className: I("note"),
781
- children: r
782
- })
783
- ]
784
- });
785
- }, tt = {
786
- root: "rly_FreshnessStamp-module__root",
787
- stateWord: "rly_FreshnessStamp-module__stateWord",
788
- time: "rly_FreshnessStamp-module__time",
789
- compact: "rly_FreshnessStamp-module__compact",
790
- defaultSize: "rly_FreshnessStamp-module__defaultSize",
791
- current: "rly_FreshnessStamp-module__current",
792
- cached: "rly_FreshnessStamp-module__cached",
793
- missing: "rly_FreshnessStamp-module__missing",
794
- stale: "rly_FreshnessStamp-module__stale",
795
- unavailable: "rly_FreshnessStamp-module__unavailable"
796
- }, L = (e) => c(tt, e), nt = l({
797
- state: {
798
- current: {
799
- className: L("current"),
800
- purpose: "Current source observation",
801
- tokens: ["color-success-ink", "color-success-tint"]
802
- },
803
- cached: {
804
- className: L("cached"),
805
- purpose: "Valid cached source observation",
806
- tokens: ["color-text-2", "color-surface-2"]
807
- },
808
- stale: {
809
- className: L("stale"),
810
- purpose: "Source observation beyond its supplied freshness threshold",
811
- tokens: ["color-held-ink", "color-held-tint"]
812
- },
813
- missing: {
814
- className: L("missing"),
815
- purpose: "Provider authoritatively reported no object",
816
- tokens: ["color-text-2", "color-surface-2"]
817
- },
818
- unavailable: {
819
- className: L("unavailable"),
820
- purpose: "No valid source observation is available",
821
- tokens: ["color-blocked-ink", "color-blocked-tint"]
822
- }
823
- },
824
- size: {
825
- compact: {
826
- className: L("compact"),
827
- purpose: "Dense freshness metadata",
828
- tokens: ["type-meta"]
829
- },
830
- default: {
831
- className: L("defaultSize"),
832
- purpose: "Standard freshness metadata",
833
- tokens: ["type-label", "type-meta"]
834
- }
835
- }
836
- }), rt = l({ size: "default" }), it = {
837
- current: "Current",
838
- cached: "Cached",
839
- stale: "Stale",
840
- missing: "Missing",
841
- unavailable: "Unavailable"
842
- }, at = {
843
- current: "check",
844
- cached: "clock",
845
- stale: "clock",
846
- missing: "minus",
847
- unavailable: "alert"
848
- }, ot = ({ className: t, dateTime: n, size: r = "default", state: i, time: a, ...s }) => {
849
- let c = a === void 0 ? void 0 : o(a, "FreshnessStamp time"), l = n === void 0 ? void 0 : o(n, "FreshnessStamp dateTime");
850
- return /* @__PURE__ */ k("span", {
851
- ...s,
852
- className: d(L("root"), nt.state[i].className, nt.size[r].className, t),
853
- "data-rly-freshness-state": i,
854
- children: [/* @__PURE__ */ k("span", {
855
- className: L("stateWord"),
856
- children: [/* @__PURE__ */ O(e, {
857
- decorative: !0,
858
- name: at[i],
859
- size: "small"
860
- }), /* @__PURE__ */ k("span", { children: [it[i], c === void 0 || l === void 0 ? null : ","] })]
861
- }), c === void 0 || l === void 0 ? null : /* @__PURE__ */ O("time", {
862
- className: L("time"),
863
- dateTime: l,
864
- children: c
865
- })]
866
- });
867
- }, st = {
868
- root: "rly_ServiceMark-module__root",
869
- glyph: "rly_ServiceMark-module__glyph",
870
- nameVisible: "rly_ServiceMark-module__nameVisible",
871
- nameHidden: "rly_ServiceMark-module__nameHidden",
872
- name: "rly_ServiceMark-module__name",
873
- compact: "rly_ServiceMark-module__compact",
874
- defaultSize: "rly_ServiceMark-module__defaultSize",
875
- codecommit: "rly_ServiceMark-module__codecommit",
876
- codepipeline: "rly_ServiceMark-module__codepipeline",
877
- jira: "rly_ServiceMark-module__jira",
878
- confluence: "rly_ServiceMark-module__confluence",
879
- clockify: "rly_ServiceMark-module__clockify"
880
- }, R = (e) => c(st, e), ct = l({
881
- service: {
882
- codecommit: {
883
- className: R("codecommit"),
884
- purpose: "CodeCommit provenance",
885
- tokens: ["color-service-codecommit"]
886
- },
887
- codepipeline: {
888
- className: R("codepipeline"),
889
- purpose: "CodePipeline provenance",
890
- tokens: ["color-service-codepipeline"]
891
- },
892
- jira: {
893
- className: R("jira"),
894
- purpose: "Jira provenance",
895
- tokens: ["color-service-jira"]
896
- },
897
- confluence: {
898
- className: R("confluence"),
899
- purpose: "Confluence provenance",
900
- tokens: ["color-service-confluence"]
901
- },
902
- clockify: {
903
- className: R("clockify"),
904
- purpose: "Clockify provenance",
905
- tokens: ["color-service-clockify"]
906
- }
907
- },
908
- name: {
909
- visible: {
910
- className: R("nameVisible"),
911
- purpose: "Provider name printed beside the glyph",
912
- tokens: ["color-text-1"]
913
- },
914
- hidden: {
915
- className: R("nameHidden"),
916
- purpose: "Glyph only, where adjacent text already names the provider; the accessible name stays",
917
- tokens: []
918
- }
919
- },
920
- size: {
921
- compact: {
922
- className: R("compact"),
923
- purpose: "Dense provenance metadata",
924
- tokens: ["space-24", "type-meta"]
925
- },
926
- default: {
927
- className: R("defaultSize"),
928
- purpose: "Standard provenance identity",
929
- tokens: ["space-32", "type-label"]
930
- }
931
- }
932
- }), lt = l({
933
- name: "visible",
934
- size: "default"
935
- }), ut = {
936
- codecommit: "CodeCommit",
937
- codepipeline: "CodePipeline",
938
- jira: "Jira",
939
- confluence: "Confluence",
940
- clockify: "Clockify"
941
- }, dt = {
942
- codecommit: () => /* @__PURE__ */ k("svg", {
943
- "aria-hidden": "true",
944
- className: R("glyph"),
945
- focusable: "false",
946
- viewBox: "0 0 24 24",
947
- children: [
948
- /* @__PURE__ */ O("path", {
949
- d: "M6 5.5h7.5a3 3 0 0 1 3 3v7",
950
- fill: "none",
951
- stroke: "currentColor",
952
- strokeLinecap: "round",
953
- strokeWidth: "1.8"
954
- }),
955
- /* @__PURE__ */ O("circle", {
956
- cx: "6",
957
- cy: "5.5",
958
- fill: "currentColor",
959
- r: "2"
960
- }),
961
- /* @__PURE__ */ O("circle", {
962
- cx: "16.5",
963
- cy: "17.5",
964
- fill: "currentColor",
965
- r: "2"
966
- }),
967
- /* @__PURE__ */ O("path", {
968
- d: "m10 12 2-2 2 2-2 2Z",
969
- fill: "none",
970
- stroke: "currentColor",
971
- strokeLinejoin: "round",
972
- strokeWidth: "1.6"
973
- })
974
- ]
975
- }),
976
- codepipeline: () => /* @__PURE__ */ k("svg", {
977
- "aria-hidden": "true",
978
- className: R("glyph"),
979
- focusable: "false",
980
- viewBox: "0 0 24 24",
981
- children: [
982
- /* @__PURE__ */ O("rect", {
983
- fill: "none",
984
- height: "5",
985
- rx: "1",
986
- stroke: "currentColor",
987
- strokeWidth: "1.7",
988
- width: "5",
989
- x: "2.5",
990
- y: "9.5"
991
- }),
992
- /* @__PURE__ */ O("rect", {
993
- fill: "none",
994
- height: "5",
995
- rx: "1",
996
- stroke: "currentColor",
997
- strokeWidth: "1.7",
998
- width: "5",
999
- x: "16.5",
1000
- y: "9.5"
1001
- }),
1002
- /* @__PURE__ */ O("path", {
1003
- d: "M8 12h7m-2.5-2.5L15 12l-2.5 2.5",
1004
- fill: "none",
1005
- stroke: "currentColor",
1006
- strokeLinecap: "round",
1007
- strokeLinejoin: "round",
1008
- strokeWidth: "1.8"
1009
- })
1010
- ]
1011
- }),
1012
- jira: () => /* @__PURE__ */ k("svg", {
1013
- "aria-hidden": "true",
1014
- className: R("glyph"),
1015
- focusable: "false",
1016
- viewBox: "0 0 24 24",
1017
- children: [
1018
- /* @__PURE__ */ O("path", {
1019
- d: "m12 2.8 8.8 8.8a.6.6 0 0 1 0 .8L12 21.2l-8.8-8.8a.6.6 0 0 1 0-.8Z",
1020
- fill: "currentColor"
1021
- }),
1022
- /* @__PURE__ */ O("path", {
1023
- d: "m12 7.2 4.8 4.8-4.8 4.8L7.2 12Z",
1024
- fill: "var(--rly-color-surface-1)"
1025
- }),
1026
- /* @__PURE__ */ O("path", {
1027
- d: "m12 9.8 2.2 2.2-2.2 2.2L9.8 12Z",
1028
- fill: "currentColor"
1029
- })
1030
- ]
1031
- }),
1032
- confluence: () => /* @__PURE__ */ k("svg", {
1033
- "aria-hidden": "true",
1034
- className: R("glyph"),
1035
- focusable: "false",
1036
- viewBox: "0 0 24 24",
1037
- children: [/* @__PURE__ */ O("path", {
1038
- d: "M4 7.2c3.6 2.1 6.8 2.4 9.6.9L17 6.3l2.7 4.3-3.4 1.8c-4.6 2.4-9.5 1.8-14-1.5Z",
1039
- fill: "currentColor"
1040
- }), /* @__PURE__ */ O("path", {
1041
- d: "M20 16.8c-3.6-2.1-6.8-2.4-9.6-.9L7 17.7l-2.7-4.3 3.4-1.8c4.6-2.4 9.5-1.8 14 1.5Z",
1042
- fill: "currentColor"
1043
- })]
1044
- }),
1045
- clockify: () => /* @__PURE__ */ k("svg", {
1046
- "aria-hidden": "true",
1047
- className: R("glyph"),
1048
- focusable: "false",
1049
- viewBox: "0 0 24 24",
1050
- children: [/* @__PURE__ */ O("circle", {
1051
- cx: "11",
1052
- cy: "13",
1053
- fill: "none",
1054
- r: "7",
1055
- stroke: "currentColor",
1056
- strokeWidth: "1.8"
1057
- }), /* @__PURE__ */ O("path", {
1058
- d: "M11 9v4l3 2m1.5-10.7 1.8-1.8M18 7l2-2",
1059
- fill: "none",
1060
- stroke: "currentColor",
1061
- strokeLinecap: "round",
1062
- strokeWidth: "1.8"
1063
- })]
1064
- })
1065
- }, z = ({ className: e, name: t = "visible", service: n, size: r = "default", ...i }) => {
1066
- let a = dt[n], o = ut[n];
1067
- return /* @__PURE__ */ k("span", {
1068
- ...i,
1069
- "aria-label": o,
1070
- className: d(R("root"), ct.service[n].className, ct.name[t].className, ct.size[r].className, e),
1071
- "data-rly-service": n,
1072
- role: "img",
1073
- children: [/* @__PURE__ */ O(a, {}), t === "visible" ? /* @__PURE__ */ O("span", {
1074
- "aria-hidden": "true",
1075
- className: R("name"),
1076
- children: o
1077
- }) : null]
1078
- });
1079
- }, ft = {
1080
- root: "rly_Verdict-module__root",
1081
- verdict: "rly_Verdict-module__verdict",
1082
- caution: "rly_Verdict-module__caution",
1083
- critical: "rly_Verdict-module__critical",
1084
- neutral: "rly_Verdict-module__neutral",
1085
- positive: "rly_Verdict-module__positive",
1086
- progress: "rly_Verdict-module__progress",
1087
- reasonPanel: "rly_Verdict-module__reasonPanel",
1088
- icon: "rly_Verdict-module__icon",
1089
- reason: "rly_Verdict-module__reason"
1090
- }, B = (e) => c(ft, e), pt = l({ tone: {
1091
- caution: {
1092
- className: B("caution"),
1093
- purpose: "Intentional hold or caution requiring attention",
1094
- tokens: ["color-held-ink", "color-held-tint"]
1095
- },
1096
- critical: {
1097
- className: B("critical"),
1098
- purpose: "Explicit blocker or failed prerequisite",
1099
- tokens: ["color-blocked-ink", "color-blocked-tint"]
1100
- },
1101
- neutral: {
1102
- className: B("neutral"),
1103
- purpose: "Neutral, missing, or unavailable outcome",
1104
- tokens: ["color-text-2", "color-surface-2"]
1105
- },
1106
- positive: {
1107
- className: B("positive"),
1108
- purpose: "Satisfied readiness or successful outcome",
1109
- tokens: ["color-success-ink", "color-success-tint"]
1110
- },
1111
- progress: {
1112
- className: B("progress"),
1113
- purpose: "Active work or delivery progress",
1114
- tokens: ["color-deploying-ink", "color-deploying-tint"]
1115
- }
1116
- } }), mt = {
1117
- caution: "clock",
1118
- critical: "alert",
1119
- neutral: "minus",
1120
- positive: "check",
1121
- progress: "loader"
1122
- }, ht = ({ className: t, reason: n, tone: r, verdict: i, ...a }) => {
1123
- let s = o(n, "Verdict reason"), c = o(i, "Verdict verdict");
1124
- return /* @__PURE__ */ k("section", {
1125
- ...a,
1126
- className: d(B("root"), pt.tone[r].className, t),
1127
- "data-rly-verdict-tone": r,
1128
- children: [/* @__PURE__ */ O("h2", {
1129
- className: B("verdict"),
1130
- children: c
1131
- }), /* @__PURE__ */ k("div", {
1132
- className: B("reasonPanel"),
1133
- children: [/* @__PURE__ */ O("span", {
1134
- "aria-hidden": "true",
1135
- className: B("icon"),
1136
- children: /* @__PURE__ */ O(e, {
1137
- decorative: !0,
1138
- name: mt[r],
1139
- size: "large"
1140
- })
1141
- }), /* @__PURE__ */ O("p", {
1142
- className: B("reason"),
1143
- children: s
1144
- })]
1145
- })]
1146
- });
1147
- }, gt = {
1148
- root: "rly_EntityShell-module__root",
1149
- navigation: "rly_EntityShell-module__navigation",
1150
- header: "rly_EntityShell-module__header",
1151
- identity: "rly_EntityShell-module__identity",
1152
- title: "rly_EntityShell-module__title",
1153
- hero: "rly_EntityShell-module__hero",
1154
- body: "rly_EntityShell-module__body",
1155
- headerAside: "rly_EntityShell-module__headerAside",
1156
- freshness: "rly_EntityShell-module__freshness",
1157
- headerSlot: "rly_EntityShell-module__headerSlot",
1158
- slotLabel: "rly_EntityShell-module__slotLabel",
1159
- content: "rly_EntityShell-module__content",
1160
- relationships: "rly_EntityShell-module__relationships",
1161
- activity: "rly_EntityShell-module__activity",
1162
- asideSlot: "rly_EntityShell-module__asideSlot",
1163
- aside: "rly_EntityShell-module__aside"
1164
- }, V = (e) => c(gt, e), _t = ({ actions: e, activity: t, agentEntry: n, className: r, collaborators: i, content: a, evidence: s, facts: c, freshness: l, freshnessDateTime: u, freshnessTime: f, navigation: p, reason: m, relationships: h, service: g, title: _, tone: v, verdict: y, ...b }) => {
1165
- let x = o(_, "EntityShell title");
1166
- if (u === void 0 != (f === void 0)) throw Error("EntityShell freshnessDateTime and freshnessTime must be supplied together");
1167
- let S = `rly-entity-shell-${E()}`;
1168
- return /* @__PURE__ */ k("article", {
1169
- ...b,
1170
- "aria-labelledby": S,
1171
- className: d(V("root"), r),
1172
- "data-rly-entity-shell": "",
1173
- children: [
1174
- p === void 0 ? null : /* @__PURE__ */ O("nav", {
1175
- "aria-label": `${x} navigation`,
1176
- className: V("navigation"),
1177
- "data-rly-entity-shell-slot": "navigation",
1178
- children: p
1179
- }),
1180
- /* @__PURE__ */ k("header", {
1181
- className: V("header"),
1182
- children: [/* @__PURE__ */ k("div", {
1183
- className: V("identity"),
1184
- children: [/* @__PURE__ */ O(z, { service: g }), /* @__PURE__ */ O("h1", {
1185
- className: V("title"),
1186
- id: S,
1187
- children: x
1188
- })]
1189
- }), /* @__PURE__ */ k("div", {
1190
- className: V("hero"),
1191
- children: [/* @__PURE__ */ O(ht, {
1192
- reason: m,
1193
- tone: v,
1194
- verdict: y
1195
- }), /* @__PURE__ */ k("div", {
1196
- className: V("headerAside"),
1197
- children: [
1198
- /* @__PURE__ */ k("div", {
1199
- className: V("freshness"),
1200
- "data-rly-entity-shell-slot": "freshness",
1201
- children: [/* @__PURE__ */ O("span", {
1202
- className: V("slotLabel"),
1203
- children: "Freshness"
1204
- }), u === void 0 || f === void 0 ? /* @__PURE__ */ O(ot, { state: l }) : /* @__PURE__ */ O(ot, {
1205
- dateTime: u,
1206
- state: l,
1207
- time: f
1208
- })]
1209
- }),
1210
- /* @__PURE__ */ O("div", {
1211
- className: V("headerSlot"),
1212
- "data-rly-entity-shell-slot": "actions",
1213
- children: e
1214
- }),
1215
- /* @__PURE__ */ O("div", {
1216
- className: V("headerSlot"),
1217
- "data-rly-entity-shell-slot": "agent-entry",
1218
- children: n
1219
- })
1220
- ]
1221
- })]
1222
- })]
1223
- }),
1224
- /* @__PURE__ */ k("div", {
1225
- className: V("body"),
1226
- children: [/* @__PURE__ */ O("section", {
1227
- className: V("content"),
1228
- "data-rly-entity-shell-slot": "content",
1229
- children: a
1230
- }), /* @__PURE__ */ k("aside", {
1231
- className: V("aside"),
1232
- children: [
1233
- c === void 0 ? null : /* @__PURE__ */ O("section", {
1234
- className: V("asideSlot"),
1235
- "data-rly-entity-shell-slot": "facts",
1236
- children: c
1237
- }),
1238
- s === void 0 ? null : /* @__PURE__ */ O("section", {
1239
- className: V("asideSlot"),
1240
- "data-rly-entity-shell-slot": "evidence",
1241
- children: s
1242
- }),
1243
- /* @__PURE__ */ O("section", {
1244
- className: V("asideSlot"),
1245
- "data-rly-entity-shell-slot": "collaborators",
1246
- children: i
1247
- })
1248
- ]
1249
- })]
1250
- }),
1251
- /* @__PURE__ */ O("section", {
1252
- className: V("relationships"),
1253
- "data-rly-entity-shell-slot": "relationships",
1254
- children: h
1255
- }),
1256
- t === void 0 ? null : /* @__PURE__ */ O("section", {
1257
- className: V("activity"),
1258
- "data-rly-entity-shell-slot": "activity",
1259
- children: t
1260
- })
1261
- ]
1262
- });
1263
- }, vt = {
1264
- root: "rly_EntityTable-module__root",
1265
- defaultDensity: "rly_EntityTable-module__defaultDensity",
1266
- compact: "rly_EntityTable-module__compact",
1267
- heading: "rly_EntityTable-module__heading",
1268
- sectionHeading: "rly_EntityTable-module__sectionHeading",
1269
- cardHeading: "rly_EntityTable-module__cardHeading",
1270
- headerLabel: "rly_EntityTable-module__headerLabel",
1271
- headerSort: "rly_EntityTable-module__headerSort",
1272
- sortSelect: "rly_EntityTable-module__sortSelect",
1273
- loading: "rly_EntityTable-module__loading",
1274
- stateLabel: "rly_EntityTable-module__stateLabel",
1275
- table: "rly_EntityTable-module__table",
1276
- head: "rly_EntityTable-module__head",
1277
- sortControls: "rly_EntityTable-module__sortControls",
1278
- sortLabel: "rly_EntityTable-module__sortLabel",
1279
- sortButton: "rly_EntityTable-module__sortButton",
1280
- cell: "rly_EntityTable-module__cell",
1281
- row: "rly_EntityTable-module__row",
1282
- body: "rly_EntityTable-module__body"
1283
- }, H = (e) => c(vt, e), yt = l({
1284
- density: {
1285
- default: {
1286
- className: H("defaultDensity"),
1287
- purpose: "One labelled line per field when the table narrows to cards",
1288
- tokens: ["space-12"]
1289
- },
1290
- compact: {
1291
- className: H("compact"),
1292
- purpose: "Narrow cards led by the first column, the rest as a two-column label and value grid",
1293
- tokens: ["space-8", "space-2"]
1294
- }
1295
- },
1296
- headingSize: {
1297
- section: {
1298
- className: H("sectionHeading"),
1299
- purpose: "The table is a page section of its own",
1300
- tokens: ["type-section-title"]
1301
- },
1302
- card: {
1303
- className: H("cardHeading"),
1304
- purpose: "The table sits in a panel beside other card-titled panels",
1305
- tokens: ["type-card-title"]
1306
- }
1307
- }
1308
- }), bt = l({
1309
- density: "default",
1310
- headingSize: "section"
1311
- }), xt = (e) => {
1312
- let t = /* @__PURE__ */ new Set();
1313
- for (let n of e) {
1314
- let e = o(n.id, "EntityTable column id");
1315
- if (t.has(e)) throw Error(`EntityTable column ids must be unique: ${e}`);
1316
- t.add(e), o(n.label, `EntityTable column label for ${e}`);
1317
- }
1318
- return t;
1319
- }, St = (e, t) => {
1320
- let n = /* @__PURE__ */ new Set();
1321
- for (let r of e) {
1322
- let e = o(r.id, "EntityTable row id");
1323
- if (n.has(e)) throw Error(`EntityTable row ids must be unique: ${e}`);
1324
- n.add(e);
1325
- let i = /* @__PURE__ */ new Set();
1326
- for (let n of r.cells) {
1327
- let r = o(n.columnId, `EntityTable cell column id for ${e}`);
1328
- if (!t.has(r)) throw Error(`EntityTable row ${e} has an unknown column: ${r}`);
1329
- if (i.has(r)) throw Error(`EntityTable row ${e} repeats column: ${r}`);
1330
- i.add(r);
1331
- }
1332
- for (let n of t) if (!i.has(n)) throw Error(`EntityTable row ${e} is missing column: ${n}`);
1333
- }
1334
- }, Ct = (e) => e.state === "ready" || e.state === "stale" || e.state === "partial" || e.state === "error" || e.state === "unavailable" ? e.rows : [], wt = ({ direction: t }) => t === "none" ? null : /* @__PURE__ */ O(e, {
1335
- decorative: !0,
1336
- name: t === "ascending" ? "arrow-up" : "arrow-down",
1337
- size: "small"
1338
- }), Tt = ({ className: e, columns: t, data: n, density: r = "default", heading: i, headingSize: a = "section", onSortChange: s, ...c }) => {
1339
- let l = o(i, "EntityTable heading"), u = xt(t), f = Ct(n);
1340
- if (St(f, u), n.state === "ready" && f.length === 0) throw Error("EntityTable ready state must contain at least one row; use the empty state instead");
1341
- if (n.state === "loading") {
1342
- o(n.label, "EntityTable loading label");
1343
- let e = n.skeletonRows ?? 3;
1344
- if (!Number.isInteger(e) || e < 1 || e > 20) throw Error("EntityTable skeletonRows must be an integer from 1 to 20");
1345
- }
1346
- if ((n.state === "empty" || n.state === "not-found") && (o(n.title, "EntityTable state title"), n.description !== void 0 && o(n.description, "EntityTable state description")), (n.state === "stale" || n.state === "partial" || n.state === "error" || n.state === "unavailable") && (o(n.title, "EntityTable cached state title"), o(n.description, "EntityTable cached state description"), f.length === 0)) throw Error(`EntityTable ${n.state} state must retain at least one cached row`);
1347
- let p = `rly-entity-table-${E()}`, m = t.filter((e) => e.sortable === !0), h = m.find((e) => e.sortDirection !== "none"), g = new Map(t.map((e) => [e.id, e])), _ = n.state === "stale" || n.state === "partial" || n.state === "error" || n.state === "unavailable" ? /* @__PURE__ */ O(ne, {
1348
- description: n.description,
1349
- title: n.title,
1350
- tone: n.tone
1351
- }) : null;
1352
- return /* @__PURE__ */ k("section", {
1353
- ...c,
1354
- "aria-busy": n.state === "loading" ? "true" : void 0,
1355
- "aria-labelledby": p,
1356
- className: d(H("root"), yt.density[r].className, yt.headingSize[a].className, e),
1357
- "data-rly-entity-table-density": r,
1358
- "data-rly-entity-table-state": n.state,
1359
- children: [/* @__PURE__ */ O("h2", {
1360
- className: H("heading"),
1361
- id: p,
1362
- children: l
1363
- }), n.state === "loading" ? /* @__PURE__ */ k("div", {
1364
- "aria-label": n.label,
1365
- className: H("loading"),
1366
- role: "status",
1367
- children: [/* @__PURE__ */ O("span", {
1368
- className: H("stateLabel"),
1369
- children: n.label
1370
- }), Array.from({ length: n.skeletonRows ?? 3 }, (e, t) => /* @__PURE__ */ O(x, {
1371
- height: "48px",
1372
- variant: "block"
1373
- }, t))]
1374
- }) : n.state === "empty" || n.state === "not-found" ? /* @__PURE__ */ O(ne, {
1375
- description: n.description,
1376
- title: n.title
1377
- }) : /* @__PURE__ */ k(ue, { children: [
1378
- _,
1379
- r === "compact" ? m.length === 0 ? null : /* @__PURE__ */ k("div", {
1380
- className: H("sortSelect"),
1381
- children: [/* @__PURE__ */ O(C, {
1382
- "aria-label": "Sort by",
1383
- onValueChange: (e) => {
1384
- e !== h?.id && s(e);
1385
- },
1386
- options: m.map((e) => ({
1387
- label: e.sortDirection === "ascending" ? `${e.label} ↑` : e.sortDirection === "descending" ? `${e.label} ↓` : e.label,
1388
- value: e.id
1389
- })),
1390
- placeholder: "Sort by",
1391
- value: h?.id
1392
- }), h === void 0 ? null : /* @__PURE__ */ O(S, {
1393
- icon: h.sortDirection === "ascending" ? "arrow-up" : "arrow-down",
1394
- label: `Reverse order, currently ${h.sortDirection}`,
1395
- onClick: () => s(h.id),
1396
- variant: "secondary"
1397
- })]
1398
- }) : /* @__PURE__ */ k("div", {
1399
- "aria-label": `${l} sorting`,
1400
- className: H("sortControls"),
1401
- role: "group",
1402
- children: [/* @__PURE__ */ O("span", {
1403
- className: H("sortLabel"),
1404
- children: "Sort"
1405
- }), m.map((e) => /* @__PURE__ */ k("button", {
1406
- "aria-label": `Sort by ${e.label}, currently ${e.sortDirection}`,
1407
- className: H("sortButton"),
1408
- onClick: () => s(e.id),
1409
- type: "button",
1410
- children: [/* @__PURE__ */ O("span", { children: e.label }), /* @__PURE__ */ O(wt, { direction: e.sortDirection })]
1411
- }, e.id))]
1412
- }),
1413
- /* @__PURE__ */ k("table", {
1414
- "aria-labelledby": p,
1415
- className: H("table"),
1416
- children: [/* @__PURE__ */ O("thead", {
1417
- className: H("head"),
1418
- children: /* @__PURE__ */ O("tr", { children: t.map((e) => /* @__PURE__ */ O("th", {
1419
- "aria-label": e.label,
1420
- "aria-sort": e.sortable === !0 ? e.sortDirection : void 0,
1421
- scope: "col",
1422
- children: e.sortable === !0 ? /* @__PURE__ */ k(ue, { children: [/* @__PURE__ */ O("span", {
1423
- className: H("headerLabel"),
1424
- children: e.label
1425
- }), /* @__PURE__ */ k("button", {
1426
- "aria-label": `Sort by ${e.label}, currently ${e.sortDirection}`,
1427
- className: H("headerSort"),
1428
- onClick: () => s(e.id),
1429
- type: "button",
1430
- children: [/* @__PURE__ */ O("span", { children: e.label }), /* @__PURE__ */ O(wt, { direction: e.sortDirection })]
1431
- })] }) : e.label
1432
- }, e.id)) })
1433
- }), /* @__PURE__ */ O("tbody", {
1434
- className: H("body"),
1435
- children: f.map((e) => {
1436
- let n = new Map(e.cells.map((e) => [e.columnId, e.content]));
1437
- return /* @__PURE__ */ O("tr", {
1438
- className: H("row"),
1439
- "data-rly-entity-row-id": e.id,
1440
- children: t.map((e) => /* @__PURE__ */ O("td", {
1441
- className: H("cell"),
1442
- "data-label": g.get(e.id)?.label,
1443
- children: n.get(e.id)
1444
- }, e.id))
1445
- }, e.id);
1446
- })
1447
- })]
1448
- })
1449
- ] })]
1450
- });
1451
- }, Et = {
1452
- root: "rly_EvidenceStamp-module__root",
1453
- source: "rly_EvidenceStamp-module__source",
1454
- freshness: "rly_EvidenceStamp-module__freshness",
1455
- conceptLabel: "rly_EvidenceStamp-module__conceptLabel",
1456
- sourceDetail: "rly_EvidenceStamp-module__sourceDetail",
1457
- reference: "rly_EvidenceStamp-module__reference"
1458
- }, Dt = (e) => c(Et, e), Ot = ({ className: e, freshness: t, freshnessDateTime: n, freshnessTime: r, reference: i, service: a, ...s }) => {
1459
- let c = o(i, "EvidenceStamp reference"), l = n === void 0 || r === void 0 ? /* @__PURE__ */ O(ot, {
1460
- size: "compact",
1461
- state: t
1462
- }) : /* @__PURE__ */ O(ot, {
1463
- dateTime: n,
1464
- size: "compact",
1465
- state: t,
1466
- time: r
1467
- });
1468
- return /* @__PURE__ */ k("div", {
1469
- ...s,
1470
- className: d(Dt("root"), e),
1471
- "data-rly-evidence-stamp": "",
1472
- children: [/* @__PURE__ */ k("div", {
1473
- className: Dt("source"),
1474
- "data-rly-evidence-source": a,
1475
- children: [/* @__PURE__ */ O("span", {
1476
- className: Dt("conceptLabel"),
1477
- children: "Evidence source"
1478
- }), /* @__PURE__ */ k("div", {
1479
- className: Dt("sourceDetail"),
1480
- children: [/* @__PURE__ */ O(z, {
1481
- service: a,
1482
- size: "compact"
1483
- }), /* @__PURE__ */ O("code", {
1484
- className: Dt("reference"),
1485
- children: c
1486
- })]
1487
- })]
1488
- }), /* @__PURE__ */ k("div", {
1489
- className: Dt("freshness"),
1490
- "data-rly-evidence-freshness": t,
1491
- children: [/* @__PURE__ */ O("span", {
1492
- className: Dt("conceptLabel"),
1493
- children: "Freshness"
1494
- }), l]
1495
- })]
1496
- });
1497
- }, kt = {
1498
- root: "rly_GovernedActionReview-module__root",
1499
- header: "rly_GovernedActionReview-module__header",
1500
- eyebrow: "rly_GovernedActionReview-module__eyebrow",
1501
- heading: "rly_GovernedActionReview-module__heading",
1502
- boundary: "rly_GovernedActionReview-module__boundary",
1503
- confirmationHelp: "rly_GovernedActionReview-module__confirmationHelp",
1504
- reviewer: "rly_GovernedActionReview-module__reviewer",
1505
- facts: "rly_GovernedActionReview-module__facts",
1506
- evidence: "rly_GovernedActionReview-module__evidence",
1507
- outcome: "rly_GovernedActionReview-module__outcome",
1508
- proposalReference: "rly_GovernedActionReview-module__proposalReference",
1509
- decision: "rly_GovernedActionReview-module__decision",
1510
- confirmation: "rly_GovernedActionReview-module__confirmation",
1511
- actions: "rly_GovernedActionReview-module__actions"
1512
- }, U = (e) => c(kt, e), At = {
1513
- pending: {
1514
- label: "Awaiting human decision",
1515
- tone: "caution"
1516
- },
1517
- rejected: {
1518
- label: "Rejected by human reviewer",
1519
- tone: "critical"
1520
- },
1521
- authorized: {
1522
- label: "Authorized by human reviewer",
1523
- tone: "positive"
1524
- },
1525
- executing: {
1526
- label: "Authorized action executing",
1527
- tone: "progress"
1528
- },
1529
- succeeded: {
1530
- label: "Authorized action succeeded",
1531
- tone: "positive"
1532
- },
1533
- failed: {
1534
- label: "Authorized action failed",
1535
- tone: "critical"
1536
- },
1537
- cancelled: {
1538
- label: "Authorized action cancelled",
1539
- tone: "neutral"
1540
- }
1541
- }, jt = ({ authorizeLabel: e = "Authorize exact action", className: t, confirmationLabel: n, isConfirmed: r, onAuthorize: i, onConfirmationChange: a, onReject: s, outcome: c, proposal: l, rejectLabel: u = "Reject proposal", reviewer: f, state: p, ...m }) => {
1542
- let h = Te(l), g = o(e, "GovernedActionReview authorizeLabel"), _ = o(n, "GovernedActionReview confirmationLabel"), v = o(u, "GovernedActionReview rejectLabel");
1543
- o(f.id, "GovernedActionReview reviewer id"), o(f.name, "GovernedActionReview reviewer name"), o(f.role, "GovernedActionReview reviewer role");
1544
- let y = `rly-governed-action-${E()}`, x = `rly-governed-action-reference-${E()}`, S = `rly-governed-confirmation-${E()}`, C = At[p], ee = () => {
1545
- p === "pending" && r && i();
1546
- };
1547
- return /* @__PURE__ */ k("section", {
1548
- ...m,
1549
- "aria-labelledby": `${y} ${x}`,
1550
- className: d(U("root"), t),
1551
- "data-rly-governed-action-state": p,
1552
- children: [
1553
- /* @__PURE__ */ k("header", {
1554
- className: U("header"),
1555
- children: [/* @__PURE__ */ k("div", { children: [
1556
- /* @__PURE__ */ O("p", {
1557
- className: U("eyebrow"),
1558
- children: "Human authorization"
1559
- }),
1560
- /* @__PURE__ */ O("h2", {
1561
- className: U("heading"),
1562
- id: y,
1563
- children: "Review exact proposed action"
1564
- }),
1565
- /* @__PURE__ */ O("code", {
1566
- className: U("proposalReference"),
1567
- id: x,
1568
- children: h.id
1569
- })
1570
- ] }), /* @__PURE__ */ O(T, {
1571
- label: C.label,
1572
- tone: C.tone
1573
- })]
1574
- }),
1575
- /* @__PURE__ */ O("p", {
1576
- className: U("boundary"),
1577
- children: "The agent proposed this action. Only the named human reviewer can authorize it."
1578
- }),
1579
- /* @__PURE__ */ k("div", {
1580
- className: U("reviewer"),
1581
- children: [/* @__PURE__ */ O("span", { children: "Human reviewer" }), /* @__PURE__ */ O(F, { person: f })]
1582
- }),
1583
- /* @__PURE__ */ k("dl", {
1584
- className: U("facts"),
1585
- children: [
1586
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Proposal" }), /* @__PURE__ */ O("dd", { children: h.capability })] }),
1587
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Target" }), /* @__PURE__ */ O("dd", { children: h.target })] }),
1588
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Expected revision" }), /* @__PURE__ */ O("dd", { children: h.expectedRevision })] }),
1589
- /* @__PURE__ */ k("div", { children: [/* @__PURE__ */ O("dt", { children: "Impact" }), /* @__PURE__ */ O("dd", { children: h.impact })] })
1590
- ]
1591
- }),
1592
- /* @__PURE__ */ k("div", {
1593
- className: U("evidence"),
1594
- "data-rly-governed-action-evidence": "",
1595
- children: [/* @__PURE__ */ O("h3", { children: "Evidence reviewed before decision" }), /* @__PURE__ */ O("ul", { children: h.evidence.map((e) => /* @__PURE__ */ k("li", { children: [/* @__PURE__ */ O("span", { children: e.label }), /* @__PURE__ */ O("code", { children: e.reference })] }, e.id)) })]
1596
- }),
1597
- p === "pending" ? /* @__PURE__ */ k("form", {
1598
- className: U("decision"),
1599
- onSubmit: (e) => e.preventDefault(),
1600
- children: [
1601
- /* @__PURE__ */ k("label", {
1602
- className: U("confirmation"),
1603
- htmlFor: S,
1604
- children: [/* @__PURE__ */ O("input", {
1605
- checked: r,
1606
- id: S,
1607
- onChange: (e) => a(e.currentTarget.checked),
1608
- type: "checkbox"
1609
- }), /* @__PURE__ */ O("span", { children: _ })]
1610
- }),
1611
- /* @__PURE__ */ O("p", {
1612
- className: U("confirmationHelp"),
1613
- children: "Confirm the exact proposal, target, revision, impact, and evidence above."
1614
- }),
1615
- /* @__PURE__ */ k("div", {
1616
- className: U("actions"),
1617
- children: [/* @__PURE__ */ O(b, {
1618
- onClick: s,
1619
- variant: "secondary",
1620
- children: v
1621
- }), /* @__PURE__ */ O(b, {
1622
- disabled: !r,
1623
- onClick: ee,
1624
- variant: "primary",
1625
- children: g
1626
- })]
1627
- })
1628
- ]
1629
- }) : null,
1630
- /* @__PURE__ */ k("div", {
1631
- className: U("outcome"),
1632
- "data-rly-governed-action-outcome": "",
1633
- children: [/* @__PURE__ */ O("h3", { children: "Recorded outcome" }), c]
1634
- })
1635
- ]
1636
- });
1637
- }, Mt = {
1638
- root: "rly_Hero-module__root",
1639
- fact: "rly_Hero-module__fact",
1640
- caption: "rly_Hero-module__caption",
1641
- heading: "rly_Hero-module__heading",
1642
- line: "rly_Hero-module__line",
1643
- text: "rly_Hero-module__text",
1644
- display: "rly_Hero-module__display",
1645
- word: "rly_Hero-module__word",
1646
- blocked: "rly_Hero-module__blocked",
1647
- held: "rly_Hero-module__held"
1648
- }, W = (e) => c(Mt, e), Nt = l({ size: {
1649
- heading: {
1650
- className: W("heading"),
1651
- purpose: "The page's one fact as a sentence at heading size, with its caption below",
1652
- tokens: [
1653
- "type-card-title-size",
1654
- "color-text-1",
1655
- "color-text-2"
1656
- ]
1657
- },
1658
- line: {
1659
- className: W("line"),
1660
- purpose: "The same fact folded to one line, when a detail with its own figure sits beside the list",
1661
- tokens: [
1662
- "type-body-size",
1663
- "color-text-1",
1664
- "color-text-2"
1665
- ]
1666
- },
1667
- display: {
1668
- className: W("display"),
1669
- purpose: "Read from across a room (a wall or desk board); not for ordinary screens",
1670
- tokens: [
1671
- "type-page-title-size",
1672
- "color-text-1",
1673
- "color-text-2"
1674
- ]
1675
- }
1676
- } }), Pt = l({ size: "heading" }), Ft = l({ tone: {
1677
- blocked: {
1678
- className: W("blocked"),
1679
- purpose: "Can't proceed, failed, or can't decide",
1680
- tokens: ["color-blocked-ink"]
1681
- },
1682
- held: {
1683
- className: W("held"),
1684
- purpose: "Degraded or waiting, but still working",
1685
- tokens: ["color-held-ink"]
1686
- }
1687
- } }), It = ({ caption: e, className: t, fact: n, label: r = "Summary", size: i = Pt.size, ...a }) => {
1688
- let o = d(W("root"), Nt.size[i].className, t);
1689
- return i === "line" ? /* @__PURE__ */ O("section", {
1690
- ...a,
1691
- "aria-label": r,
1692
- className: o,
1693
- "data-rly-hero": "",
1694
- children: /* @__PURE__ */ k("p", {
1695
- className: W("text"),
1696
- children: [/* @__PURE__ */ O("strong", {
1697
- className: W("fact"),
1698
- children: n
1699
- }), e === void 0 ? null : /* @__PURE__ */ k(ue, { children: [" ", /* @__PURE__ */ O("span", {
1700
- className: W("caption"),
1701
- children: e
1702
- })] })]
1703
- })
1704
- }) : /* @__PURE__ */ k("section", {
1705
- ...a,
1706
- "aria-label": r,
1707
- className: o,
1708
- "data-rly-hero": "",
1709
- children: [/* @__PURE__ */ O("p", {
1710
- className: W("fact"),
1711
- children: n
1712
- }), e === void 0 ? null : /* @__PURE__ */ O("p", {
1713
- className: W("caption"),
1714
- children: e
1715
- })]
1716
- });
1717
- }, Lt = ({ children: e, className: t, tone: n, ...r }) => /* @__PURE__ */ O("span", {
1718
- ...r,
1719
- className: d(W("word"), Ft.tone[n].className, t),
1720
- children: e
1721
- }), Rt = {
1722
- root: "rly_Region-module__root",
1723
- default: "rly_Region-module__default",
1724
- tray: "rly_Region-module__tray",
1725
- body: "rly_Region-module__body",
1726
- header: "rly_Region-module__header",
1727
- title: "rly_Region-module__title",
1728
- count: "rly_Region-module__count",
1729
- actions: "rly_Region-module__actions"
1730
- }, zt = (e) => c(Rt, e), Bt = l({ tone: {
1731
- default: {
1732
- className: zt("default"),
1733
- purpose: "A main page region: list, detail or chart",
1734
- tokens: ["color-surface-1", "color-border-1"]
1735
- },
1736
- tray: {
1737
- className: zt("tray"),
1738
- purpose: "A region holding individually actionable cards; its body sits one surface step down so the cards stand out, under the same header as every region",
1739
- tokens: [
1740
- "color-surface-1",
1741
- "color-surface-2",
1742
- "color-border-1"
1743
- ]
1744
- }
1745
- } }), Vt = l({ tone: "default" }), Ht = ({ actions: e, children: t, className: n, count: r, headingId: i, headingLevel: a = 2, title: s, tone: c = Vt.tone, ...l }) => {
1746
- let u = o(s, "Region title"), f = `rly-region-${E()}`, p = i ?? f, m = a === 3 ? "h3" : "h2";
1747
- return /* @__PURE__ */ k("section", {
1748
- ...l,
1749
- "aria-labelledby": p,
1750
- className: d(zt("root"), Bt.tone[c].className, n),
1751
- "data-rly-region": "",
1752
- children: [/* @__PURE__ */ k("header", {
1753
- className: zt("header"),
1754
- children: [/* @__PURE__ */ k(m, {
1755
- className: zt("title"),
1756
- id: p,
1757
- tabIndex: -1,
1758
- children: [u, r === void 0 ? null : /* @__PURE__ */ k(ue, { children: [" ", /* @__PURE__ */ O("span", {
1759
- className: zt("count"),
1760
- children: r
1761
- })] })]
1762
- }), e === void 0 ? null : /* @__PURE__ */ O("div", {
1763
- className: zt("actions"),
1764
- children: e
1765
- })]
1766
- }), /* @__PURE__ */ O("div", {
1767
- className: zt("body"),
1768
- children: t
1769
- })]
1770
- });
1771
- }, Ut = {
1772
- missing: {
1773
- icon: "alert",
1774
- label: "Missing"
1775
- },
1776
- inferred: {
1777
- icon: "search",
1778
- label: "Inferred"
1779
- },
1780
- proposed: {
1781
- icon: "plus",
1782
- label: "Proposed"
1783
- },
1784
- verified: {
1785
- icon: "check",
1786
- label: "Verified"
1787
- },
1788
- governed: {
1789
- icon: "link",
1790
- label: "Governed"
1791
- },
1792
- rejected: {
1793
- icon: "close",
1794
- label: "Rejected"
1795
- },
1796
- superseded: {
1797
- icon: "arrow-right",
1798
- label: "Superseded"
1799
- }
1800
- }, Wt = {
1801
- forward: {
1802
- arrow: "→",
1803
- label: "Forward"
1804
- },
1805
- reverse: {
1806
- arrow: "←",
1807
- label: "Reverse"
1808
- },
1809
- bidirectional: {
1810
- arrow: "↔",
1811
- label: "Bidirectional"
1812
- }
1813
- }, Gt = (e, t) => {
1814
- o(e.id, `${t} person id`), o(e.name, `${t} person name`), o(e.role, `${t} person role`), e.avatarFallback !== void 0 && o(e.avatarFallback, `${t} person avatarFallback`), e.avatarSrc !== void 0 && o(e.avatarSrc, `${t} person avatarSrc`);
1815
- }, Kt = (e, t) => {
1816
- if (!Object.hasOwn(ct.service, e)) throw Error(`${t} service must be a supported rly service`);
1817
- }, qt = (e, t) => {
1818
- if (e.state === "present") {
1819
- o(e.id, `${t} id`), o(e.title, `${t} title`), o(e.reference, `${t} reference`), Kt(e.service, t), e.href !== void 0 && o(e.href, `${t} href`), e.person !== void 0 && Gt(e.person, t);
1820
- return;
1821
- }
1822
- if (e.state === "missing") {
1823
- o(e.label, `${t} missing label`), o(e.reason, `${t} missing reason`), e.service !== void 0 && Kt(e.service, t);
1824
- return;
1825
- }
1826
- throw Error(`${t} state must be present or missing`);
1827
- }, Jt = (e) => {
1828
- let t = /* @__PURE__ */ new Set();
1829
- for (let n of e) {
1830
- let e = o(n.id, "Relationship id");
1831
- if (t.has(e)) throw Error(`Relationship ids must be unique: ${e}`);
1832
- if (t.add(e), o(n.kind, `Relationship kind for ${e}`), !Object.hasOwn(Wt, n.direction)) throw Error(`Relationship direction for ${e} must be supported`);
1833
- if (!Object.hasOwn(Ut, n.lifecycle)) throw Error(`Relationship lifecycle for ${e} must be supported`);
1834
- qt(n.source, `Relationship ${e} source`), qt(n.target, `Relationship ${e} target`), n.evidence !== void 0 && o(n.evidence, `Relationship evidence for ${e}`), n.actor !== void 0 && Gt(n.actor, `Relationship ${e} actor`);
1835
- }
1836
- }, Yt = {
1837
- root: "rly_RelationshipChain-module__root",
1838
- heading: "rly_RelationshipChain-module__heading",
1839
- empty: "rly_RelationshipChain-module__empty",
1840
- list: "rly_RelationshipChain-module__list",
1841
- item: "rly_RelationshipChain-module__item",
1842
- endpoint: "rly_RelationshipChain-module__endpoint",
1843
- endpointLink: "rly_RelationshipChain-module__endpointLink",
1844
- identity: "rly_RelationshipChain-module__identity",
1845
- missingIdentity: "rly_RelationshipChain-module__missingIdentity",
1846
- title: "rly_RelationshipChain-module__title",
1847
- missingLabel: "rly_RelationshipChain-module__missingLabel",
1848
- kind: "rly_RelationshipChain-module__kind",
1849
- reference: "rly_RelationshipChain-module__reference",
1850
- direction: "rly_RelationshipChain-module__direction",
1851
- evidence: "rly_RelationshipChain-module__evidence",
1852
- fieldLabel: "rly_RelationshipChain-module__fieldLabel",
1853
- missingEndpoint: "rly_RelationshipChain-module__missingEndpoint",
1854
- relationship: "rly_RelationshipChain-module__relationship",
1855
- arrow: "rly_RelationshipChain-module__arrow",
1856
- actor: "rly_RelationshipChain-module__actor"
1857
- }, G = (e) => c(Yt, e), Xt = ({ endpoint: t }) => {
1858
- if (t.state === "missing") return /* @__PURE__ */ k("div", {
1859
- className: d(G("endpoint"), G("missingEndpoint")),
1860
- "data-rly-endpoint-state": "missing",
1861
- children: [t.service === void 0 ? null : /* @__PURE__ */ O(z, {
1862
- service: t.service,
1863
- size: "compact"
1864
- }), /* @__PURE__ */ k("span", {
1865
- className: G("missingIdentity"),
1866
- children: [/* @__PURE__ */ k("span", {
1867
- className: G("missingLabel"),
1868
- children: [/* @__PURE__ */ O(e, {
1869
- decorative: !0,
1870
- name: "alert",
1871
- size: "small"
1872
- }), t.label]
1873
- }), /* @__PURE__ */ O("span", {
1874
- className: G("reference"),
1875
- children: t.reason
1876
- })]
1877
- })]
1878
- });
1879
- let n = /* @__PURE__ */ k("span", {
1880
- className: G("identity"),
1881
- children: [/* @__PURE__ */ O("span", {
1882
- className: G("title"),
1883
- children: t.title
1884
- }), /* @__PURE__ */ O("span", {
1885
- className: G("reference"),
1886
- children: t.reference
1887
- })]
1888
- });
1889
- return /* @__PURE__ */ k("div", {
1890
- className: G("endpoint"),
1891
- "data-rly-endpoint-id": t.id,
1892
- "data-rly-endpoint-state": "present",
1893
- children: [
1894
- /* @__PURE__ */ O(z, {
1895
- service: t.service,
1896
- size: "compact"
1897
- }),
1898
- t.href === void 0 ? n : /* @__PURE__ */ O(r, {
1899
- className: G("endpointLink"),
1900
- href: t.href,
1901
- children: n
1902
- }),
1903
- t.person === void 0 ? null : /* @__PURE__ */ O(F, {
1904
- person: t.person,
1905
- size: "compact"
1906
- })
1907
- ]
1908
- });
1909
- }, Zt = ({ className: e, emptyLabel: t = "No relationships recorded.", heading: n, relationships: r, ...i }) => {
1910
- let a = o(n, "RelationshipChain heading"), s = o(t, "RelationshipChain emptyLabel");
1911
- Jt(r);
1912
- let c = `${E()}-heading`;
1913
- return /* @__PURE__ */ k("section", {
1914
- ...i,
1915
- "aria-labelledby": c,
1916
- className: d(G("root"), e),
1917
- children: [/* @__PURE__ */ O("h2", {
1918
- className: G("heading"),
1919
- id: c,
1920
- children: a
1921
- }), r.length === 0 ? /* @__PURE__ */ O("p", {
1922
- className: G("empty"),
1923
- children: s
1924
- }) : /* @__PURE__ */ O("ol", {
1925
- className: G("list"),
1926
- children: r.map((e) => {
1927
- let t = Wt[e.direction], n = Ut[e.lifecycle];
1928
- return /* @__PURE__ */ k("li", {
1929
- className: G("item"),
1930
- "data-rly-relationship-id": e.id,
1931
- "data-rly-relationship-direction": e.direction,
1932
- "data-rly-relationship-kind": e.kind,
1933
- "data-rly-relationship-lifecycle": e.lifecycle,
1934
- children: [
1935
- /* @__PURE__ */ O(Xt, { endpoint: e.source }),
1936
- /* @__PURE__ */ k("div", {
1937
- className: G("relationship"),
1938
- "data-rly-relationship-detail": "",
1939
- children: [
1940
- /* @__PURE__ */ k("span", {
1941
- className: G("direction"),
1942
- children: [/* @__PURE__ */ O("span", { children: t.label }), /* @__PURE__ */ O("span", {
1943
- "aria-hidden": "true",
1944
- className: G("arrow"),
1945
- children: t.arrow
1946
- })]
1947
- }),
1948
- /* @__PURE__ */ O("span", {
1949
- className: G("kind"),
1950
- children: e.kind
1951
- }),
1952
- /* @__PURE__ */ O(T, {
1953
- icon: n.icon,
1954
- label: n.label,
1955
- size: "compact",
1956
- tone: "neutral"
1957
- }),
1958
- e.actor === void 0 ? null : /* @__PURE__ */ k("div", {
1959
- className: G("actor"),
1960
- "data-rly-relationship-actor": e.actor.id,
1961
- children: [/* @__PURE__ */ O("span", {
1962
- className: G("fieldLabel"),
1963
- children: "Actor"
1964
- }), /* @__PURE__ */ O(F, {
1965
- person: e.actor,
1966
- size: "compact"
1967
- })]
1968
- })
1969
- ]
1970
- }),
1971
- /* @__PURE__ */ O(Xt, { endpoint: e.target }),
1972
- /* @__PURE__ */ k("p", {
1973
- className: G("evidence"),
1974
- children: [/* @__PURE__ */ O("span", {
1975
- className: G("fieldLabel"),
1976
- children: "Evidence"
1977
- }), /* @__PURE__ */ O("span", {
1978
- "data-rly-relationship-evidence": "",
1979
- children: e.evidence ?? "No evidence recorded."
1980
- })]
1981
- })
1982
- ]
1983
- }, e.id);
1984
- })
1985
- })]
1986
- });
1987
- }, Qt = {
1988
- root: "rly_RelationshipTable-module__root",
1989
- heading: "rly_RelationshipTable-module__heading",
1990
- empty: "rly_RelationshipTable-module__empty",
1991
- table: "rly_RelationshipTable-module__table",
1992
- head: "rly_RelationshipTable-module__head",
1993
- cell: "rly_RelationshipTable-module__cell",
1994
- endpoint: "rly_RelationshipTable-module__endpoint",
1995
- identity: "rly_RelationshipTable-module__identity",
1996
- relationship: "rly_RelationshipTable-module__relationship",
1997
- actor: "rly_RelationshipTable-module__actor",
1998
- endpointLink: "rly_RelationshipTable-module__endpointLink",
1999
- title: "rly_RelationshipTable-module__title",
2000
- missingLabel: "rly_RelationshipTable-module__missingLabel",
2001
- kind: "rly_RelationshipTable-module__kind",
2002
- reference: "rly_RelationshipTable-module__reference",
2003
- direction: "rly_RelationshipTable-module__direction",
2004
- evidence: "rly_RelationshipTable-module__evidence",
2005
- fieldLabel: "rly_RelationshipTable-module__fieldLabel",
2006
- missingEndpoint: "rly_RelationshipTable-module__missingEndpoint",
2007
- arrow: "rly_RelationshipTable-module__arrow",
2008
- body: "rly_RelationshipTable-module__body",
2009
- row: "rly_RelationshipTable-module__row"
2010
- }, K = (e) => c(Qt, e), $t = ({ endpoint: t }) => {
2011
- if (t.state === "missing") return /* @__PURE__ */ k("div", {
2012
- className: d(K("endpoint"), K("missingEndpoint")),
2013
- "data-rly-endpoint-state": "missing",
2014
- children: [t.service === void 0 ? null : /* @__PURE__ */ O(z, {
2015
- service: t.service,
2016
- size: "compact"
2017
- }), /* @__PURE__ */ k("span", {
2018
- className: K("identity"),
2019
- children: [/* @__PURE__ */ k("span", {
2020
- className: K("missingLabel"),
2021
- children: [/* @__PURE__ */ O(e, {
2022
- decorative: !0,
2023
- name: "alert",
2024
- size: "small"
2025
- }), t.label]
2026
- }), /* @__PURE__ */ O("span", {
2027
- className: K("reference"),
2028
- children: t.reason
2029
- })]
2030
- })]
2031
- });
2032
- let n = /* @__PURE__ */ k("span", {
2033
- className: K("identity"),
2034
- children: [/* @__PURE__ */ O("span", {
2035
- className: K("title"),
2036
- children: t.title
2037
- }), /* @__PURE__ */ O("span", {
2038
- className: K("reference"),
2039
- children: t.reference
2040
- })]
2041
- });
2042
- return /* @__PURE__ */ k("div", {
2043
- className: K("endpoint"),
2044
- "data-rly-endpoint-id": t.id,
2045
- "data-rly-endpoint-state": "present",
2046
- children: [
2047
- /* @__PURE__ */ O(z, {
2048
- service: t.service,
2049
- size: "compact"
2050
- }),
2051
- t.href === void 0 ? n : /* @__PURE__ */ O(r, {
2052
- className: K("endpointLink"),
2053
- href: t.href,
2054
- children: n
2055
- }),
2056
- t.person === void 0 ? null : /* @__PURE__ */ O(F, {
2057
- person: t.person,
2058
- size: "compact"
2059
- })
2060
- ]
2061
- });
2062
- }, en = ({ className: e, emptyLabel: t = "No relationships recorded.", heading: n, relationships: r, ...i }) => {
2063
- let a = o(n, "RelationshipTable heading"), s = o(t, "RelationshipTable emptyLabel");
2064
- Jt(r);
2065
- let c = `${E()}-heading`;
2066
- return /* @__PURE__ */ k("section", {
2067
- ...i,
2068
- "aria-labelledby": c,
2069
- className: d(K("root"), e),
2070
- children: [/* @__PURE__ */ O("h2", {
2071
- className: K("heading"),
2072
- id: c,
2073
- children: a
2074
- }), r.length === 0 ? /* @__PURE__ */ O("p", {
2075
- className: K("empty"),
2076
- children: s
2077
- }) : /* @__PURE__ */ k("table", {
2078
- "aria-labelledby": c,
2079
- className: K("table"),
2080
- children: [/* @__PURE__ */ O("thead", {
2081
- className: K("head"),
2082
- children: /* @__PURE__ */ k("tr", { children: [
2083
- /* @__PURE__ */ O("th", {
2084
- scope: "col",
2085
- children: "Source"
2086
- }),
2087
- /* @__PURE__ */ O("th", {
2088
- scope: "col",
2089
- children: "Relationship"
2090
- }),
2091
- /* @__PURE__ */ O("th", {
2092
- scope: "col",
2093
- children: "Target"
2094
- }),
2095
- /* @__PURE__ */ O("th", {
2096
- scope: "col",
2097
- children: "Evidence"
2098
- })
2099
- ] })
2100
- }), /* @__PURE__ */ O("tbody", {
2101
- className: K("body"),
2102
- children: r.map((e) => {
2103
- let t = Wt[e.direction], n = Ut[e.lifecycle];
2104
- return /* @__PURE__ */ k("tr", {
2105
- className: K("row"),
2106
- "data-rly-relationship-id": e.id,
2107
- "data-rly-relationship-direction": e.direction,
2108
- "data-rly-relationship-kind": e.kind,
2109
- "data-rly-relationship-lifecycle": e.lifecycle,
2110
- children: [
2111
- /* @__PURE__ */ O("td", {
2112
- className: K("cell"),
2113
- "data-label": "Source",
2114
- children: /* @__PURE__ */ O($t, { endpoint: e.source })
2115
- }),
2116
- /* @__PURE__ */ O("td", {
2117
- className: K("cell"),
2118
- "data-label": "Relationship",
2119
- children: /* @__PURE__ */ k("div", {
2120
- className: K("relationship"),
2121
- "data-rly-relationship-detail": "",
2122
- children: [
2123
- /* @__PURE__ */ k("span", {
2124
- className: K("direction"),
2125
- children: [/* @__PURE__ */ O("span", { children: t.label }), /* @__PURE__ */ O("span", {
2126
- "aria-hidden": "true",
2127
- className: K("arrow"),
2128
- children: t.arrow
2129
- })]
2130
- }),
2131
- /* @__PURE__ */ O("span", {
2132
- className: K("kind"),
2133
- children: e.kind
2134
- }),
2135
- /* @__PURE__ */ O(T, {
2136
- icon: n.icon,
2137
- label: n.label,
2138
- size: "compact",
2139
- tone: "neutral"
2140
- }),
2141
- e.actor === void 0 ? null : /* @__PURE__ */ k("div", {
2142
- className: K("actor"),
2143
- "data-rly-relationship-actor": e.actor.id,
2144
- children: [/* @__PURE__ */ O("span", {
2145
- className: K("fieldLabel"),
2146
- children: "Actor"
2147
- }), /* @__PURE__ */ O(F, {
2148
- person: e.actor,
2149
- size: "compact"
2150
- })]
2151
- })
2152
- ]
2153
- })
2154
- }),
2155
- /* @__PURE__ */ O("td", {
2156
- className: K("cell"),
2157
- "data-label": "Target",
2158
- children: /* @__PURE__ */ O($t, { endpoint: e.target })
2159
- }),
2160
- /* @__PURE__ */ O("td", {
2161
- className: K("cell"),
2162
- "data-label": "Evidence",
2163
- children: /* @__PURE__ */ O("span", {
2164
- className: K("evidence"),
2165
- "data-rly-relationship-evidence": "",
2166
- children: e.evidence ?? "No evidence recorded."
2167
- })
2168
- })
2169
- ]
2170
- }, e.id);
2171
- })
2172
- })]
2173
- })]
2174
- });
2175
- }, tn = {
2176
- root: "rly_RelayDock-module__root",
2177
- trigger: "rly_RelayDock-module__trigger",
2178
- close: "rly_RelayDock-module__close",
2179
- layer: "rly_RelayDock-module__layer",
2180
- overlay: "rly_RelayDock-module__overlay",
2181
- panel: "rly_RelayDock-module__panel",
2182
- sheet: "rly_RelayDock-module__sheet",
2183
- rail: "rly_RelayDock-module__rail",
2184
- railHeader: "rly_RelayDock-module__railHeader",
2185
- railHeading: "rly_RelayDock-module__railHeading",
2186
- title: "rly_RelayDock-module__title",
2187
- description: "rly_RelayDock-module__description",
2188
- fixedContext: "rly_RelayDock-module__fixedContext",
2189
- contents: "rly_RelayDock-module__contents",
2190
- context: "rly_RelayDock-module__context",
2191
- selection: "rly_RelayDock-module__selection",
2192
- sectionLabel: "rly_RelayDock-module__sectionLabel",
2193
- chipList: "rly_RelayDock-module__chipList",
2194
- chip: "rly_RelayDock-module__chip",
2195
- chipLabel: "rly_RelayDock-module__chipLabel",
2196
- chipValue: "rly_RelayDock-module__chipValue",
2197
- selectionGrid: "rly_RelayDock-module__selectionGrid",
2198
- body: "rly_RelayDock-module__body",
2199
- ready: "rly_RelayDock-module__ready",
2200
- state: "rly_RelayDock-module__state",
2201
- footer: "rly_RelayDock-module__footer"
2202
- }, nn = {
2203
- root: "rly_RelayMark-module__root",
2204
- tile: "rly_RelayMark-module__tile",
2205
- tileGlyph: "rly_RelayMark-module__tileGlyph"
2206
- }, rn = (e) => c(nn, e), an = [
2207
- 16,
2208
- 20,
2209
- 24,
2210
- 32
2211
- ], on = [
2212
- 20,
2213
- 24,
2214
- 32
2215
- ], sn = (e, t) => e === void 0 ? void 0 : o(e, t), cn = (e, t, n) => e === void 0 && t["aria-label"] === void 0 && t["aria-labelledby"] === void 0 ? {
2216
- "aria-hidden": "true",
2217
- role: t.role
2218
- } : {
2219
- "aria-hidden": t["aria-hidden"],
2220
- "aria-label": sn(e ?? t["aria-label"], n),
2221
- "aria-labelledby": sn(t["aria-labelledby"], `${n} (aria-labelledby)`),
2222
- role: t.role ?? "img"
2223
- }, ln = ({ size: e, ...t }) => /* @__PURE__ */ k("svg", {
2224
- ...t,
2225
- fill: "none",
2226
- focusable: "false",
2227
- height: e,
2228
- stroke: "currentColor",
2229
- strokeLinecap: "round",
2230
- strokeLinejoin: "round",
2231
- strokeWidth: 2.75,
2232
- viewBox: "0 0 24 24",
2233
- width: e,
2234
- children: [
2235
- /* @__PURE__ */ O("path", { d: "M4 20V9.5A5.5 5.5 0 0 1 9.5 4H13" }),
2236
- /* @__PURE__ */ O("path", { d: "M20 4v10.5a5.5 5.5 0 0 1-5.5 5.5H11" }),
2237
- /* @__PURE__ */ O("path", { d: "M10 14 14 10" })
2238
- ]
2239
- }), un = Object.assign(({ className: e, label: t, size: n, ...r }) => /* @__PURE__ */ O(ln, {
2240
- ...r,
2241
- ...cn(t, r, "RelayMark label"),
2242
- className: d(rn("root"), e),
2243
- size: n ?? 20
2244
- }), { Tile: ({ className: e, label: t, size: n, ...r }) => {
2245
- let i = n ?? 24;
2246
- return /* @__PURE__ */ O("span", {
2247
- ...r,
2248
- ...cn(t, r, "RelayMark.Tile label"),
2249
- className: d(rn("tile"), e),
2250
- "data-size": i,
2251
- children: /* @__PURE__ */ O(ln, {
2252
- "aria-hidden": "true",
2253
- className: rn("tileGlyph"),
2254
- size: i / 2
2255
- })
2256
- });
2257
- } }), q = (e) => c(tn, e), dn = "(max-width: 40rem), (max-height: 40rem) and (pointer: coarse)", fn = [
2258
- "a[href]",
2259
- "button:not([disabled])",
2260
- "iframe:not([tabindex=\"-1\"])",
2261
- "input:not([disabled])",
2262
- "select:not([disabled])",
2263
- "details > summary:first-of-type",
2264
- "textarea:not([disabled])",
2265
- "[contenteditable]:not([contenteditable=\"false\"])",
2266
- "[tabindex]:not([tabindex=\"-1\"])"
2267
- ].join(","), pn = "button, fieldset, input, object, optgroup, option, output, select, textarea", mn = (e) => "activeElement" in e, hn = (e) => "host" in e && a(e.host), gn = (e) => {
2268
- let t = e.activeElement;
2269
- return t === null ? null : t.shadowRoot === null ? t : gn(t.shadowRoot) ?? t;
2270
- }, _n = (e) => {
2271
- let t = e.getRootNode();
2272
- return mn(t) ? gn(t) : e.ownerDocument.activeElement;
2273
- }, vn = (e) => {
2274
- let t = e.getRootNode();
2275
- return hn(t) && _(t.host) ? t.host : null;
2276
- }, yn = (e) => "assignedSlot" in e, bn = (e) => e.nodeType === 1, xn = (e, t) => {
2277
- if (t !== void 0 && t.has(e)) {
2278
- let n = t.get(e);
2279
- return n != null && bn(n) ? n : null;
2280
- }
2281
- return (yn(e) ? e.assignedSlot : null) ?? e.parentElement ?? vn(e);
2282
- }, Sn = (e, t, n) => {
2283
- if (t === null) return !1;
2284
- if (e.contains(t)) return !0;
2285
- let r = /* @__PURE__ */ new Set(), i = t;
2286
- for (; !r.has(i);) {
2287
- r.add(i);
2288
- let t = xn(i, n);
2289
- if (t === null) return !1;
2290
- if (t === e || e.contains(t)) return !0;
2291
- i = t;
2292
- }
2293
- return !1;
2294
- }, Cn = (e, t) => Sn(e, t), wn = (e) => {
2295
- let t = e.activeElement;
2296
- return _(t) ? t.shadowRoot === null ? t : wn(t.shadowRoot) ?? t : null;
2297
- }, Tn = (e) => {
2298
- let t = wn(e);
2299
- return t === e.body || t === e.documentElement ? null : t;
2300
- }, En = (e, t) => {
2301
- if (e.matches(":disabled")) return !1;
2302
- let n = e.ownerDocument.defaultView;
2303
- if (n === null) return !_(e) || e.hidden === !1;
2304
- let r = n.getComputedStyle(e).visibility;
2305
- if (r === "hidden" || r === "collapse") return !1;
2306
- let i = e;
2307
- for (; i !== null;) {
2308
- if (_(i) && i.inert) return !1;
2309
- if (i.tagName === "DETAILS" && !i.hasAttribute("open")) {
2310
- let n = i.querySelector(":scope > summary:first-of-type");
2311
- if (n === null || !Sn(n, e, t)) return !1;
2312
- }
2313
- if (i !== e && i.tagName === "FIELDSET" && i.hasAttribute("disabled") && e.matches(pn)) {
2314
- let n = i.querySelector(":scope > legend:first-of-type");
2315
- if (n === null || !Sn(n, e, t)) return !1;
2316
- }
2317
- let r = n.getComputedStyle(i);
2318
- if (_(i) && i.hidden !== !1 || r.display === "none" || i === e && r.display === "contents" || i !== e && r.contentVisibility === "hidden") return !1;
2319
- i = xn(i, t);
2320
- }
2321
- return !0;
2322
- }, Dn = (e, t) => {
2323
- let n = e.getRootNode(), r = /* @__PURE__ */ new Set(), i = xn(e, t);
2324
- for (; i !== null && !r.has(i);) {
2325
- if (r.add(i), i.getRootNode() !== n) return !1;
2326
- if (_(i) && i.isContentEditable) return !0;
2327
- i = xn(i, t);
2328
- }
2329
- return !1;
2330
- }, On = (e) => _(e) && e.tagName === "INPUT" && e.getAttribute("type")?.toLowerCase() === "radio", kn = (e) => "tabIndex" in e && u(e.tabIndex), An = "http://www.w3.org/2000/svg", jn = (e) => {
2331
- if (e.namespaceURI === An && e.localName === "a" && e.hasAttribute("href")) {
2332
- let t = e.getAttribute("tabindex");
2333
- if (t === null) return 0;
2334
- let n = Number.parseInt(t, 10);
2335
- return Number.isNaN(n) ? 0 : n;
2336
- }
2337
- return kn(e) ? e.tabIndex : null;
2338
- }, Mn = (e) => e.tagName === "SLOT" && "assignedElements" in e, Nn = (e) => Mn(e) && hn(e.getRootNode()), Pn = (e, t) => {
2339
- let n = jn(e) ?? -1, r = jn(t) ?? -1, i = n > 0, a = r > 0;
2340
- return i === a ? i && a && n !== r ? n - r : 0 : i ? -1 : 1;
2341
- }, Fn = (e) => {
2342
- let t = jn(e);
2343
- return t !== null && e.hasAttribute("tabindex") && t < 0;
2344
- }, In = (e) => Fn(e) && (Mn(e) || _(e) && e.shadowRoot?.delegatesFocus === !0), Ln = (e, t, n, r) => {
2345
- if (e.name.length === 0) return !0;
2346
- let i = n.filter(({ element: n, nativeRoot: i }) => i === t && On(n) && n.name === e.name && n.form === e.form && En(n, r)).map(({ element: e }) => e).filter(On).find((e) => e.checked);
2347
- return i === void 0 ? e.tabIndex >= 0 : i === e;
2348
- }, Rn = (e) => {
2349
- let t = (e, r, i) => {
2350
- let a = [], o = /* @__PURE__ */ new Map(), s = (e, i) => {
2351
- if (a.push({
2352
- composedParent: i,
2353
- element: e,
2354
- focusScope: r,
2355
- nativeRoot: e.getRootNode()
2356
- }), Nn(e)) {
2357
- let n = e.assignedNodes({ flatten: !1 }), r = e.assignedElements({ flatten: !1 }), i = [...e.children];
2358
- o.set(e, t(n.length > 0 ? r : i, e, e));
2359
- return;
2360
- }
2361
- if (Mn(e)) {
2362
- o.set(e, t([...e.children], e, e));
2363
- return;
2364
- }
2365
- if (e.shadowRoot !== null && (!Fn(e) || e.shadowRoot.delegatesFocus === !0)) o.set(e, n(e.shadowRoot, e.shadowRoot, e));
2366
- else if (e.shadowRoot === null) for (let t of e.children) s(t, e);
2367
- };
2368
- for (let t of e) s(t, i);
2369
- return {
2370
- entries: a,
2371
- nested: o
2372
- };
2373
- }, n = (e, n, r) => t([...e.children], n, r), r = (e) => {
2374
- let t = [...e.entries].sort((e, t) => Pn(e.element, t.element)), n = [];
2375
- for (let i of t) {
2376
- n.push(i);
2377
- let t = e.nested.get(i.element);
2378
- if (t !== void 0) for (let e of r(t)) n.push(e);
2379
- }
2380
- return n;
2381
- };
2382
- return r(n(e, e, e));
2383
- }, zn = (e, t, n) => t.filter((r) => {
2384
- let { element: i, nativeRoot: a } = r;
2385
- if (i.tagName === "SLOT") return !1;
2386
- let o = jn(i);
2387
- if (o === null) return !1;
2388
- let s = i, c = /* @__PURE__ */ new Set();
2389
- for (; !c.has(s);) {
2390
- c.add(s);
2391
- let t = xn(s, n);
2392
- if (t === null || t === e) break;
2393
- if (In(t)) return !1;
2394
- s = t;
2395
- }
2396
- return !i.matches(fn) || i.shadowRoot?.delegatesFocus === !0 || !En(i, n) || On(i) && !Ln(i, a, t, n) ? !1 : o >= 0 || _(i) && i.isContentEditable && !i.hasAttribute("tabindex") && !Dn(i, n) || i.matches("details > summary:first-of-type") && !Fn(i);
2397
- }).map(({ element: e }) => e), Bn = (e) => a(e) && "tagName" in e && e.tagName === "IFRAME" && "contentDocument" in e, Vn = (e) => a(e) && "nodeType" in e && e.nodeType === 1, Hn = (e) => [...e.querySelectorAll(fn)].filter((e) => {
2398
- let t = jn(e);
2399
- return t !== null && t >= 0 || _(e) && e.isContentEditable && !e.hasAttribute("tabindex") && !Dn(e, /* @__PURE__ */ new Map());
2400
- }), Un = (e) => {
2401
- let t = e.ownerDocument, n = /* @__PURE__ */ new Map(), r = (t, n) => {
2402
- let r = Rn(e), i = zn(e, r, new Map(r.map(({ composedParent: e, element: t }) => [t, e]))), a = i.findIndex((e) => e === t), o = n ? i[i.length - 1] : i[0];
2403
- ((a < 0 ? void 0 : i[a + (n ? -1 : 1)]) ?? o)?.focus();
2404
- }, i = (e) => {
2405
- let t = n.get(e), i = e.contentDocument;
2406
- if (t?.frameDocument !== null && t?.frameDocument !== void 0 && t.frameDocument.removeEventListener("keydown", t.onKeyDown, !0), t === void 0) return;
2407
- if (i === null) {
2408
- n.set(e, {
2409
- ...t,
2410
- frameDocument: null
2411
- });
2412
- return;
2413
- }
2414
- let a = (t) => {
2415
- if (t.defaultPrevented || t.key !== "Tab") return;
2416
- let n = Hn(i), a = Vn(t.target) ? t.target : i.activeElement, o = n[0], s = n[n.length - 1];
2417
- (t.shiftKey ? a === o : a === s) && (t.preventDefault(), r(e, t.shiftKey));
2418
- };
2419
- i.addEventListener("keydown", a, !0), n.set(e, {
2420
- ...t,
2421
- frameDocument: i,
2422
- onKeyDown: a
2423
- });
2424
- }, a = (e) => {
2425
- if (n.has(e)) {
2426
- i(e);
2427
- return;
2428
- }
2429
- let t = () => i(e);
2430
- n.set(e, {
2431
- frameDocument: null,
2432
- onKeyDown: () => void 0,
2433
- onLoad: t
2434
- }), e.addEventListener("load", t), i(e);
2435
- }, o = () => {
2436
- for (let { element: t } of Rn(e)) t.tagName === "IFRAME" && Bn(t) && a(t);
2437
- }, s = (e) => {
2438
- Bn(e.target) && a(e.target);
2439
- };
2440
- t.addEventListener("focusin", s, !0), o();
2441
- let c = t.defaultView?.MutationObserver, l = c === void 0 ? null : new c(o);
2442
- return l?.observe(e, {
2443
- childList: !0,
2444
- subtree: !0
2445
- }), () => {
2446
- t.removeEventListener("focusin", s, !0), l?.disconnect();
2447
- for (let [e, t] of n) e.removeEventListener("load", t.onLoad), t.frameDocument !== null && t.frameDocument.removeEventListener("keydown", t.onKeyDown, !0);
2448
- };
2449
- }, Wn = (e, t) => {
2450
- if (e === null || !("matchMedia" in e)) return () => void 0;
2451
- let n = e.matchMedia(dn);
2452
- return n.addEventListener("change", t), () => n.removeEventListener("change", t);
2453
- }, Gn = (e) => e !== null && "matchMedia" in e && e.matchMedia(dn).matches, Kn = () => !1, qn = (e) => {
2454
- let t = oe((t) => Wn(e, t), [e]), n = oe(() => Gn(e), [e]);
2455
- return le(t, n, Kn);
2456
- }, Jn = ({ context: e, labelId: t }) => {
2457
- if (e.length === 0) throw Error("RelayDock context must contain at least one chip");
2458
- let n = /* @__PURE__ */ new Set();
2459
- return /* @__PURE__ */ k("section", {
2460
- "aria-labelledby": t,
2461
- className: q("context"),
2462
- children: [/* @__PURE__ */ O("h2", {
2463
- className: q("sectionLabel"),
2464
- id: t,
2465
- children: "Context"
2466
- }), /* @__PURE__ */ O("ul", {
2467
- className: q("chipList"),
2468
- children: e.map((e) => {
2469
- let t = o(e.id, "RelayDock context chip id");
2470
- if (n.has(t)) throw Error(`Duplicate RelayDock context chip id: ${t}`);
2471
- return n.add(t), /* @__PURE__ */ k("li", {
2472
- className: q("chip"),
2473
- "data-rly-relay-dock-context": t,
2474
- children: [/* @__PURE__ */ O("span", {
2475
- className: q("chipLabel"),
2476
- children: o(e.label, "RelayDock context chip label")
2477
- }), /* @__PURE__ */ O("span", {
2478
- className: q("chipValue"),
2479
- children: o(e.value, "RelayDock context chip value")
2480
- })]
2481
- }, t);
2482
- })
2483
- })]
2484
- });
2485
- }, Yn = ({ labelId: e, selection: t }) => {
2486
- let n = E(), r = E();
2487
- return /* @__PURE__ */ k("section", {
2488
- "aria-labelledby": e,
2489
- className: q("selection"),
2490
- children: [/* @__PURE__ */ O("h2", {
2491
- className: q("sectionLabel"),
2492
- id: e,
2493
- children: "Run with"
2494
- }), /* @__PURE__ */ k("div", {
2495
- className: q("selectionGrid"),
2496
- children: [/* @__PURE__ */ O(ee, {
2497
- controlId: `rly-relay-dock-profile-${n}`,
2498
- label: "Profile",
2499
- size: "compact",
2500
- children: (e) => /* @__PURE__ */ O(C, {
2501
- ...e,
2502
- ...t.profile.disabled === void 0 ? {} : { disabled: t.profile.disabled },
2503
- onValueChange: t.profile.onValueChange,
2504
- options: t.profile.options,
2505
- size: "compact",
2506
- value: t.profile.value
2507
- })
2508
- }), /* @__PURE__ */ O(ee, {
2509
- controlId: `rly-relay-dock-model-${r}`,
2510
- label: "Model",
2511
- size: "compact",
2512
- children: (e) => /* @__PURE__ */ O(C, {
2513
- ...e,
2514
- ...t.model.disabled === void 0 ? {} : { disabled: t.model.disabled },
2515
- onValueChange: t.model.onValueChange,
2516
- options: t.model.options,
2517
- size: "compact",
2518
- value: t.model.value
2519
- })
2520
- })]
2521
- })]
2522
- });
2523
- }, Xn = ({ state: e }) => {
2524
- if (e.status === "ready") return /* @__PURE__ */ O("section", {
2525
- "aria-live": "polite",
2526
- className: q("ready"),
2527
- "data-rly-relay-dock-state": "ready",
2528
- children: e.content
2529
- });
2530
- let t = e.status === "error" ? "assertive" : "polite", n = e.status === "loading" ? "progress" : e.status === "error" ? "critical" : "neutral";
2531
- return /* @__PURE__ */ O(ne, {
2532
- action: "action" in e ? e.action : void 0,
2533
- announce: t,
2534
- className: q("state"),
2535
- "data-rly-relay-dock-state": e.status,
2536
- description: e.description,
2537
- title: o(e.title, `RelayDock ${e.status} title`),
2538
- tone: n
2539
- });
2540
- }, Zn = ({ context: e, footer: t, selection: n, state: r }) => {
2541
- let i = E(), a = E();
2542
- return /* @__PURE__ */ k("div", {
2543
- className: q("contents"),
2544
- "data-rly-relay-dock-scroll": "",
2545
- children: [
2546
- /* @__PURE__ */ k("div", {
2547
- className: q("fixedContext"),
2548
- children: [/* @__PURE__ */ O(Jn, {
2549
- context: e,
2550
- labelId: i
2551
- }), /* @__PURE__ */ O(Yn, {
2552
- labelId: a,
2553
- selection: n
2554
- })]
2555
- }),
2556
- /* @__PURE__ */ O("section", {
2557
- "aria-label": "Relay thread",
2558
- className: q("body"),
2559
- tabIndex: 0,
2560
- children: /* @__PURE__ */ O(Xn, { state: r })
2561
- }),
2562
- t == null ? null : /* @__PURE__ */ O("footer", {
2563
- className: q("footer"),
2564
- children: t
2565
- })
2566
- ]
2567
- });
2568
- }, Qn = ({ restoreDocument: e, restoreTarget: t, target: n }) => {
2569
- let r = D(!1);
2570
- return se(() => {
2571
- let i = n.current;
2572
- i !== null && (r.current ||= (t.current = Tn(e ?? i.ownerDocument), !0), i.focus());
2573
- }, [
2574
- e,
2575
- t,
2576
- n
2577
- ]), null;
2578
- }, $n = ({ children: e, modal: t, modalLayer: n }) => {
2579
- let r = D(null);
2580
- return p(), m(r, t), h(r, t), /* @__PURE__ */ O("div", {
2581
- className: q("layer"),
2582
- "data-rly-modal-layer": n ? "" : void 0,
2583
- "data-rly-relay-dock-modal": t ? "true" : "false",
2584
- ref: r,
2585
- children: e
2586
- });
2587
- }, er = ({ closeRef: t, compactViewport: r, context: i, description: a, footer: o, headingId: s, modal: c, onClose: l, parentModalPresent: u, restoreDocument: f, restoreTargetRef: p, selection: m, state: h, title: g }) => {
2588
- let v = `${s}-description`, y = D(null);
2589
- se(() => {
2590
- let e = y.current;
2591
- if (c && e !== null) return Un(e);
2592
- }, [c]);
2593
- let b = (e) => {
2594
- let t = e.currentTarget;
2595
- if (!e.nativeEvent.composedPath().includes(t) || e.defaultPrevented) return;
2596
- if (e.key === "Escape") {
2597
- if (e.nativeEvent.isComposing) return;
2598
- e.stopPropagation(), l();
2599
- return;
2600
- }
2601
- if (!c || e.key !== "Tab") return;
2602
- let n = Rn(t), r = new Map(n.map(({ composedParent: e, element: t }) => [t, e])), i = (e) => {
2603
- let t = /* @__PURE__ */ new Set(), n = e;
2604
- for (; !t.has(n);) {
2605
- t.add(n);
2606
- let e = xn(n, r);
2607
- if (e === null) return null;
2608
- if (_(e) && e.shadowRoot?.delegatesFocus === !0) return e;
2609
- n = e;
2610
- }
2611
- return null;
2612
- }, a = zn(t, n, r), o = a[0] ?? t, s = a[a.length - 1] ?? t, u = _n(t), d = new Set(a), f = u !== null && Cn(t, u) && !a.some((e) => e === u), p = (e) => {
2613
- let t = /* @__PURE__ */ new Set(), i = e;
2614
- for (; !t.has(i);) {
2615
- t.add(i);
2616
- let e = n.findIndex(({ element: e }) => e === i);
2617
- if (e >= 0) return e;
2618
- let a = xn(i, r);
2619
- if (a === null) return -1;
2620
- i = a;
2621
- }
2622
- return -1;
2623
- }, m = f && u !== null ? i(u) : null, h = f && u !== null ? p(u) : -1, g = f ? ((e) => {
2624
- if (h < 0) return null;
2625
- for (let t = h + e; t >= 0 && t < n.length; t += e) {
2626
- let e = n[t]?.element;
2627
- if (e !== void 0 && d.has(e) && kn(e)) return e;
2628
- }
2629
- return null;
2630
- })(e.shiftKey ? -1 : 1) : null, v = m !== null && g !== null && Sn(m, g, r), y = f && !v && (g === null || !Cn(t, g)), b = e.shiftKey && (u === o || !Cn(t, u) || v || y), x = !e.shiftKey && (u === s || !Cn(t, u) || v || y);
2631
- (b || x) && (e.preventDefault(), (v && g !== null ? g : e.shiftKey ? s : o).focus());
2632
- };
2633
- return /* @__PURE__ */ O(n, { children: (n) => /* @__PURE__ */ O(ae.Root, {
2634
- container: n,
2635
- children: /* @__PURE__ */ k($n, {
2636
- modal: c,
2637
- modalLayer: c || u,
2638
- children: [c ? /* @__PURE__ */ O("div", {
2639
- "aria-hidden": "true",
2640
- className: q("overlay"),
2641
- "data-rly-relay-dock-overlay": "",
2642
- onPointerDown: l
2643
- }) : null, /* @__PURE__ */ k("section", {
2644
- "aria-describedby": v,
2645
- "aria-labelledby": s,
2646
- "aria-modal": c ? !0 : void 0,
2647
- className: d(q("panel"), q(c ? "sheet" : "rail")),
2648
- "data-rly-relay-dock-presentation": r ? "mobile-sheet" : c ? "overlay" : "rail",
2649
- onKeyDown: b,
2650
- ref: y,
2651
- role: c ? "dialog" : "complementary",
2652
- tabIndex: -1,
2653
- children: [
2654
- /* @__PURE__ */ k("header", {
2655
- className: q("railHeader"),
2656
- children: [/* @__PURE__ */ k("div", {
2657
- className: q("railHeading"),
2658
- children: [/* @__PURE__ */ O("h1", {
2659
- className: q("title"),
2660
- id: s,
2661
- children: g
2662
- }), /* @__PURE__ */ O("p", {
2663
- className: q("description"),
2664
- id: v,
2665
- children: a
2666
- })]
2667
- }), /* @__PURE__ */ O("button", {
2668
- "aria-label": `Close ${g}`,
2669
- className: q("close"),
2670
- onClick: l,
2671
- ref: t,
2672
- type: "button",
2673
- children: /* @__PURE__ */ O(e, {
2674
- decorative: !0,
2675
- name: "close"
2676
- })
2677
- })]
2678
- }),
2679
- /* @__PURE__ */ O(Qn, {
2680
- restoreDocument: f,
2681
- restoreTarget: p,
2682
- target: t
2683
- }),
2684
- /* @__PURE__ */ O(Zn, {
2685
- context: i,
2686
- footer: o,
2687
- selection: m,
2688
- state: h
2689
- })
2690
- ]
2691
- })]
2692
- })
2693
- }) });
2694
- }, tr = (e) => {
2695
- let { className: n, context: r, defaultOpen: i = !1, description: a = "Ask in this context or prepare approval-bound work.", desktopPresentation: s = "overlay", footer: c, onOpenChange: l, open: u, ref: f, selection: p, state: m, title: h = "Relay", triggerLabel: _ = "Open Relay", ...b } = e, [x, S] = ce(i), C = y(), ee = ie(), ne = t(), w = (u ?? x) && ee && ne.available, T = qn(ne.available ? ne.container.ownerDocument.defaultView : null), re = T || s === "overlay", ae = D(null), oe = D(null), le = D(null), ue = D({
2696
- modal: re,
2697
- open: !1
2698
- }), de = E(), A = o(a, "RelayDock description"), fe = o(h, "RelayDock title"), pe = o(_, "RelayDock triggerLabel"), me = (e) => {
2699
- u === void 0 && S(e), l?.(e);
2700
- };
2701
- return se(() => {
2702
- let e = ue.current;
2703
- ue.current = {
2704
- modal: re,
2705
- open: w
2706
- }, !e.open && w ? (g(), oe.current?.focus()) : e.open && w && e.modal !== re ? oe.current?.focus() : e.open && !w && (v(le.current ?? ae.current), le.current = null);
2707
- }, [re, w]), /* @__PURE__ */ k("div", {
2708
- ...b,
2709
- className: d(q("root"), n),
2710
- "data-rly-relay-dock": "",
2711
- "data-rly-relay-dock-open": w ? "true" : "false",
2712
- ref: f,
2713
- children: [/* @__PURE__ */ k("button", {
2714
- "aria-expanded": w,
2715
- "aria-haspopup": re ? "dialog" : void 0,
2716
- className: q("trigger"),
2717
- "data-rly-relay-dock-trigger": "",
2718
- inert: w,
2719
- onClick: (e) => {
2720
- e.currentTarget.focus(), me(!0);
2721
- },
2722
- ref: ae,
2723
- type: "button",
2724
- children: [/* @__PURE__ */ O(un.Tile, { size: 32 }), /* @__PURE__ */ O("span", { children: pe })]
2725
- }), w ? /* @__PURE__ */ O(te, { children: /* @__PURE__ */ O(er, {
2726
- closeRef: oe,
2727
- compactViewport: T,
2728
- context: r,
2729
- description: A,
2730
- footer: c,
2731
- headingId: de,
2732
- modal: re,
2733
- onClose: () => me(!1),
2734
- parentModalPresent: C,
2735
- restoreDocument: ae.current?.ownerDocument ?? null,
2736
- restoreTargetRef: le,
2737
- selection: p,
2738
- state: m,
2739
- title: fe
2740
- }) }) : null]
2741
- });
2742
- }, nr = {
2743
- root: "rly_RelayLauncher-module__root",
2744
- mark: "rly_RelayLauncher-module__mark",
2745
- label: "rly_RelayLauncher-module__label",
2746
- hint: "rly_RelayLauncher-module__hint"
2747
- }, rr = (e) => c(nr, e), ir = (e) => e ? {
2748
- hint: "⌘J",
2749
- keys: "Meta+J"
2750
- } : {
2751
- hint: "Ctrl J",
2752
- keys: "Control+J"
2753
- }, ar = () => /Mac|iPhone|iPad/.test(navigator.platform), or = () => () => void 0, sr = () => ir(le(or, ar, () => !1)), cr = ({ className: e, expanded: t, label: n = "Relay", shortcut: r, ...i }) => /* @__PURE__ */ k("button", {
2754
- ...i,
2755
- "aria-expanded": t,
2756
- "aria-keyshortcuts": r === null ? void 0 : o(r.keys, "RelayLauncher shortcut keys"),
2757
- className: d(rr("root"), e),
2758
- "data-rly-relay-launcher": "",
2759
- type: "button",
2760
- children: [
2761
- /* @__PURE__ */ O(un, {
2762
- className: rr("mark"),
2763
- size: 20
2764
- }),
2765
- /* @__PURE__ */ O("span", {
2766
- className: rr("label"),
2767
- children: o(n, "RelayLauncher label")
2768
- }),
2769
- r === null ? null : /* @__PURE__ */ O("kbd", {
2770
- "aria-hidden": "true",
2771
- className: rr("hint"),
2772
- children: o(r.hint, "RelayLauncher shortcut hint")
2773
- })
2774
- ]
2775
- }), lr = /^(?:--[A-Za-z0-9_\-\u0080-\uD7FF\uE000-\u{10ffff}]*|-?[A-Za-z_\u0080-\uD7FF\uE000-\u{10ffff}][A-Za-z0-9_\-\u0080-\uD7FF\uE000-\u{10ffff}]*)$/u, ur = /* @__PURE__ */ new Set([
2776
- "auto",
2777
- "default",
2778
- "inherit",
2779
- "initial",
2780
- "match-element",
2781
- "none",
2782
- "revert",
2783
- "revert-layer",
2784
- "unset"
2785
- ]), dr = (e) => {
2786
- if (e === void 0) return;
2787
- let t = {
2788
- relay: e.relay,
2789
- verdict: e.verdict,
2790
- version: e.version
2791
- }, n = [
2792
- ["relay", t.relay],
2793
- ["verdict", t.verdict],
2794
- ["version", t.version]
2795
- ], r = /* @__PURE__ */ new Set();
2796
- for (let [e, t] of n) {
2797
- let n = o(t, `Release transition ${e} name`);
2798
- if (n === "root" || ur.has(n.toLowerCase())) throw Error(`Release transition ${e} name must not use a reserved CSS value: ${n}`);
2799
- if (!lr.test(n)) throw Error(`Release transition ${e} name must be a valid unescaped CSS custom identifier: ${n}`);
2800
- if (r.has(n)) throw Error(`Release transition names must be unique: ${n}`);
2801
- r.add(n);
2802
- }
2803
- return Object.freeze(t);
2804
- }, fr = {
2805
- blocked: !0,
2806
- ready: !0,
2807
- deploying: !0,
2808
- building: !0,
2809
- shipped: !0,
2810
- held: !0,
2811
- unknown: !0
2812
- }, pr = (e) => {
2813
- if (o(e.id, "Release presentation id"), o(e.version, "Release presentation version"), o(e.codename, "Release presentation codename"), o(e.algorithm, "Release presentation algorithm"), o(e.verdict, "Release presentation verdict"), o(e.reason, "Release presentation reason"), !Object.hasOwn(fr, e.state)) throw Error("Release presentation state must be supported");
2814
- e.freshnessDateTime !== void 0 && (o(e.freshnessDateTime, "Release presentation freshnessDateTime"), o(e.freshnessTime, "Release presentation freshnessTime"));
2815
- let t = /* @__PURE__ */ new Set();
2816
- for (let n of e.facts) {
2817
- let e = o(n.id, "Release presentation fact id");
2818
- if (t.has(e)) throw Error(`Release presentation fact ids must be unique: ${e}`);
2819
- t.add(e), o(n.label, `Release presentation fact label for ${e}`), o(n.value, `Release presentation fact value for ${e}`);
2820
- }
2821
- return e;
2822
- }, mr = {
2823
- root: "rly_ReleaseRelay-module__root",
2824
- tiles: "rly_ReleaseRelay-module__tiles",
2825
- handoff: "rly_ReleaseRelay-module__handoff",
2826
- tile: "rly_ReleaseRelay-module__tile",
2827
- glyph: "rly_ReleaseRelay-module__glyph",
2828
- identity: "rly_ReleaseRelay-module__identity",
2829
- codename: "rly_ReleaseRelay-module__codename",
2830
- algorithm: "rly_ReleaseRelay-module__algorithm",
2831
- algorithmValue: "rly_ReleaseRelay-module__algorithmValue",
2832
- compact: "rly_ReleaseRelay-module__compact",
2833
- hero: "rly_ReleaseRelay-module__hero"
2834
- }, J = (e) => c(mr, e), hr = l({
2835
- 0: { name: "orbit" },
2836
- 1: { name: "split" },
2837
- 2: { name: "brace" },
2838
- 3: { name: "wave" },
2839
- 4: { name: "gate" },
2840
- 5: { name: "fork" },
2841
- 6: { name: "bridge" },
2842
- 7: { name: "beacon" },
2843
- 8: { name: "loop" },
2844
- 9: { name: "pulse" },
2845
- 10: { name: "anchor" },
2846
- 11: { name: "ladder" },
2847
- 12: { name: "knot" },
2848
- 13: { name: "spark" },
2849
- 14: { name: "stack" },
2850
- 15: { name: "compass" }
2851
- }), gr = l({ size: {
2852
- compact: {
2853
- className: J("compact"),
2854
- purpose: "Release rows and compact previews",
2855
- tokens: [
2856
- "space-32",
2857
- "space-8",
2858
- "type-label"
2859
- ]
2860
- },
2861
- hero: {
2862
- className: J("hero"),
2863
- purpose: "Page-level release identity",
2864
- tokens: [
2865
- "space-48",
2866
- "space-4",
2867
- "space-8",
2868
- "type-card-title"
2869
- ]
2870
- }
2871
- } }), _r = l({ size: "compact" }), vr = {
2872
- 0: "M12 4a8 8 0 1 1-6.9 4M5.1 8H9V4.1",
2873
- 1: "M5 5v4c0 2 1 3 3 3h8c2 0 3 1 3 3v4M12 12V5",
2874
- 2: "M9 4H7v5l-3 3 3 3v5h2M15 4h2v5l3 3-3 3v5h-2",
2875
- 3: "M3 9c3-4 6-4 9 0s6 4 9 0M3 15c3-4 6-4 9 0s6 4 9 0",
2876
- 4: "M5 19V8l7-4 7 4v11M9 19v-7h6v7",
2877
- 5: "M12 20V9M12 12 6 6M12 12l6-6M6 6v4M18 6v4",
2878
- 6: "M3 17h18M5 17v-5c4-5 10-5 14 0v5M8 17v-3M16 17v-3",
2879
- 7: "M12 3v3M5.6 5.6l2.1 2.1M18.4 5.6l-2.1 2.1M6 20h12l-2-9H8Z",
2880
- 8: "M8 8a4 4 0 0 1 8 0v8a4 4 0 0 1-8 0V8Zm0 4h8",
2881
- 9: "M3 13h4l2-6 4 12 2-6h6",
2882
- 10: "M12 3v15M8 7h8M5 14c0 4 3 7 7 7s7-3 7-7M5 14l-2 2M19 14l2 2",
2883
- 11: "M7 3v18M17 3v18M7 7h10M7 12h10M7 17h10",
2884
- 12: "M8 5a4 4 0 0 1 4 4v6a4 4 0 1 0 4-4H8a4 4 0 1 0 4 4V9a4 4 0 0 1 4-4",
2885
- 13: "M12 3v5M12 16v5M3 12h5M16 12h5M5.6 5.6l3.5 3.5M14.9 14.9l3.5 3.5M18.4 5.6l-3.5 3.5M9.1 14.9l-3.5 3.5",
2886
- 14: "m4 8 8-4 8 4-8 4Zm0 4 8 4 8-4M4 16l8 4 8-4",
2887
- 15: "m12 3 3 6 6 3-6 3-3 6-3-6-6-3 6-3Zm0 6v6M9 12h6"
2888
- }, yr = (e) => {
2889
- if (e.length !== 3) throw Error("ReleaseRelay symbolIndices must contain exactly three indices");
2890
- let t = /* @__PURE__ */ new Set();
2891
- for (let n of e) {
2892
- if (!Number.isInteger(n) || n < 0 || n > 15) throw Error("ReleaseRelay symbol indices must be integers from 0 through 15");
2893
- if (t.has(n)) throw Error("ReleaseRelay symbol indices must be distinct");
2894
- t.add(n);
2895
- }
2896
- return e;
2897
- }, br = ({ algorithm: e, className: t, codename: n, size: r = "compact", symbolIndices: i, ...a }) => {
2898
- let s = o(e, "ReleaseRelay algorithm"), c = o(n, "ReleaseRelay codename"), l = yr(i), u = `Release relay, ${c}, symbols ${l.map((e) => hr[e].name).join(", ")}.`;
2899
- return /* @__PURE__ */ k("figure", {
2900
- ...a,
2901
- className: d(J("root"), gr.size[r].className, t),
2902
- "data-rly-release-relay-size": r,
2903
- children: [/* @__PURE__ */ k("span", {
2904
- "aria-label": u,
2905
- className: J("tiles"),
2906
- role: "img",
2907
- children: [/* @__PURE__ */ O("span", {
2908
- "aria-hidden": "true",
2909
- className: J("handoff"),
2910
- "data-rly-release-relay-handoff": ""
2911
- }), l.map((e, t) => /* @__PURE__ */ O("span", {
2912
- "aria-hidden": "true",
2913
- className: J("tile"),
2914
- "data-rly-release-relay-position": t,
2915
- "data-rly-release-symbol-index": e,
2916
- "data-rly-release-symbol-name": hr[e].name,
2917
- children: /* @__PURE__ */ O("svg", {
2918
- className: J("glyph"),
2919
- focusable: "false",
2920
- viewBox: "0 0 24 24",
2921
- children: /* @__PURE__ */ O("path", {
2922
- d: vr[e],
2923
- fill: "none",
2924
- stroke: "currentColor",
2925
- strokeLinecap: "round",
2926
- strokeLinejoin: "round",
2927
- strokeWidth: "1.7",
2928
- vectorEffect: "non-scaling-stroke"
2929
- })
2930
- })
2931
- }, e))]
2932
- }), /* @__PURE__ */ k("figcaption", {
2933
- className: J("identity"),
2934
- children: [/* @__PURE__ */ O("span", {
2935
- className: J("codename"),
2936
- children: c
2937
- }), /* @__PURE__ */ k("span", {
2938
- className: J("algorithm"),
2939
- children: ["Identity algorithm: ", /* @__PURE__ */ O("code", {
2940
- className: J("algorithmValue"),
2941
- children: s
2942
- })]
2943
- })]
2944
- })]
2945
- });
2946
- }, xr = {
2947
- body: "rly_ReleasePreview-module__body",
2948
- summary: "rly_ReleasePreview-module__summary",
2949
- releaseMeta: "rly_ReleasePreview-module__releaseMeta",
2950
- personGroup: "rly_ReleasePreview-module__personGroup",
2951
- fact: "rly_ReleasePreview-module__fact",
2952
- dialogSurface: "rly_ReleasePreview-module__dialogSurface",
2953
- dialogFrame: "rly_ReleasePreview-module__dialogFrame",
2954
- dialogScroll: "rly_ReleasePreview-module__dialogScroll",
2955
- identityRow: "rly_ReleasePreview-module__identityRow",
2956
- version: "rly_ReleasePreview-module__version",
2957
- people: "rly_ReleasePreview-module__people",
2958
- eyebrow: "rly_ReleasePreview-module__eyebrow",
2959
- unassigned: "rly_ReleasePreview-module__unassigned",
2960
- facts: "rly_ReleasePreview-module__facts",
2961
- slot: "rly_ReleasePreview-module__slot",
2962
- dialogFooter: "rly_ReleasePreview-module__dialogFooter",
2963
- sheetFooter: "rly_ReleasePreview-module__sheetFooter",
2964
- dialogClose: "rly_ReleasePreview-module__dialogClose",
2965
- fullViewButton: "rly_ReleasePreview-module__fullViewButton"
2966
- }, Y = (e) => c(xr, e), Sr = ({ agentEntry: e, collaborators: t, entryMotion: n = "intrinsic", evidence: r, onOpenChange: i, onOpenFullView: a, open: s, openFullViewLabel: c = "Open full view", presentation: l = "dialog", primaryAction: u, release: d, stages: p, transitionNames: m, workset: h }) => {
2967
- let g = pr(d), _ = dr(m), v = o(c, "ReleasePreview openFullViewLabel"), y = D(null), x = g.freshnessDateTime === void 0 ? /* @__PURE__ */ O(ot, { state: g.freshness }) : /* @__PURE__ */ O(ot, {
2968
- dateTime: g.freshnessDateTime,
2969
- state: g.freshness,
2970
- time: g.freshnessTime
2971
- }), S = `Release preview: ${g.version} ${g.codename}`, C = /* @__PURE__ */ k("div", {
2972
- className: Y("body"),
2973
- "data-rly-release-preview-presentation": l,
2974
- "data-rly-release-state": g.state,
2975
- children: [
2976
- /* @__PURE__ */ k("section", {
2977
- "aria-label": "Release summary",
2978
- className: Y("summary"),
2979
- "data-rly-release-preview-summary": "",
2980
- ref: y,
2981
- tabIndex: -1,
2982
- children: [
2983
- /* @__PURE__ */ k("div", {
2984
- className: Y("identityRow"),
2985
- children: [/* @__PURE__ */ O(br, {
2986
- algorithm: g.algorithm,
2987
- codename: g.codename,
2988
- "data-rly-release-transition-name": _?.relay,
2989
- "data-rly-release-transition-part": "relay",
2990
- size: "hero",
2991
- style: _ === void 0 ? void 0 : { viewTransitionName: _.relay },
2992
- symbolIndices: g.symbolIndices
2993
- }), /* @__PURE__ */ k("div", {
2994
- className: Y("releaseMeta"),
2995
- children: [/* @__PURE__ */ O("p", {
2996
- className: Y("version"),
2997
- "data-rly-release-transition-name": _?.version,
2998
- "data-rly-release-transition-part": "version",
2999
- style: _ === void 0 ? void 0 : { viewTransitionName: _.version },
3000
- children: g.version
3001
- }), x]
3002
- })]
3003
- }),
3004
- /* @__PURE__ */ k("div", {
3005
- className: Y("people"),
3006
- children: [/* @__PURE__ */ k("div", {
3007
- className: Y("personGroup"),
3008
- children: [/* @__PURE__ */ O("span", {
3009
- className: Y("eyebrow"),
3010
- children: "Owner"
3011
- }), g.owner === void 0 ? /* @__PURE__ */ O("span", {
3012
- className: Y("unassigned"),
3013
- "data-rly-release-owner": "unassigned",
3014
- children: "Unassigned"
3015
- }) : /* @__PURE__ */ O(F, { person: g.owner })]
3016
- }), /* @__PURE__ */ k("div", {
3017
- className: Y("personGroup"),
3018
- children: [/* @__PURE__ */ O("span", {
3019
- className: Y("eyebrow"),
3020
- children: "Approver"
3021
- }), g.approver === void 0 ? /* @__PURE__ */ O("span", {
3022
- className: Y("unassigned"),
3023
- "data-rly-release-approver": "unassigned",
3024
- children: "Unassigned"
3025
- }) : /* @__PURE__ */ O(F, { person: g.approver })]
3026
- })]
3027
- }),
3028
- /* @__PURE__ */ O(ht, {
3029
- "data-rly-release-transition-name": _?.verdict,
3030
- "data-rly-release-transition-part": "verdict",
3031
- reason: g.reason,
3032
- style: _ === void 0 ? void 0 : { viewTransitionName: _.verdict },
3033
- tone: g.tone,
3034
- verdict: g.verdict
3035
- }),
3036
- /* @__PURE__ */ O("dl", {
3037
- className: Y("facts"),
3038
- children: g.facts.map((e) => /* @__PURE__ */ k("div", {
3039
- className: Y("fact"),
3040
- children: [/* @__PURE__ */ O("dt", { children: e.label }), /* @__PURE__ */ O("dd", { children: e.value })]
3041
- }, e.id))
3042
- })
3043
- ]
3044
- }),
3045
- t === void 0 ? null : /* @__PURE__ */ O("div", {
3046
- className: Y("slot"),
3047
- "data-rly-release-preview-slot": "collaborators",
3048
- children: t
3049
- }),
3050
- /* @__PURE__ */ O("div", {
3051
- className: Y("slot"),
3052
- "data-rly-release-preview-slot": "primary-action",
3053
- children: u
3054
- }),
3055
- /* @__PURE__ */ O("div", {
3056
- className: Y("slot"),
3057
- "data-rly-release-preview-slot": "stages",
3058
- children: p
3059
- }),
3060
- /* @__PURE__ */ O("div", {
3061
- className: Y("slot"),
3062
- "data-rly-release-preview-slot": "workset",
3063
- children: h
3064
- }),
3065
- /* @__PURE__ */ O("div", {
3066
- className: Y("slot"),
3067
- "data-rly-release-preview-slot": "evidence",
3068
- children: r
3069
- }),
3070
- /* @__PURE__ */ O("div", {
3071
- className: Y("slot"),
3072
- "data-rly-release-preview-slot": "agent-entry",
3073
- children: e
3074
- })
3075
- ]
3076
- }), ee = /* @__PURE__ */ O(b, {
3077
- className: Y("fullViewButton"),
3078
- onClick: a,
3079
- size: "default",
3080
- variant: "secondary",
3081
- children: v
3082
- });
3083
- return l === "sheet" ? /* @__PURE__ */ O(f.Root, {
3084
- onOpenChange: i,
3085
- open: s,
3086
- children: /* @__PURE__ */ k(f.Content, {
3087
- entryMotion: n,
3088
- initialFocusRef: y,
3089
- title: S,
3090
- children: [/* @__PURE__ */ O(f.Body, {
3091
- "data-rly-release-preview-scroll": "sheet",
3092
- children: C
3093
- }), /* @__PURE__ */ O(f.Footer, {
3094
- className: Y("sheetFooter"),
3095
- "data-rly-release-preview-footer": "sheet",
3096
- children: ee
3097
- })]
3098
- })
3099
- }) : /* @__PURE__ */ O(w.Root, {
3100
- onOpenChange: i,
3101
- open: s,
3102
- children: /* @__PURE__ */ O(w.Content, {
3103
- className: Y("dialogSurface"),
3104
- entryMotion: n,
3105
- initialFocusRef: y,
3106
- size: "wide",
3107
- title: S,
3108
- children: /* @__PURE__ */ k("div", {
3109
- className: Y("dialogFrame"),
3110
- children: [
3111
- /* @__PURE__ */ O("div", {
3112
- className: Y("dialogClose"),
3113
- children: /* @__PURE__ */ O(w.Close, {
3114
- size: "compact",
3115
- variant: "quiet",
3116
- children: "Close preview"
3117
- })
3118
- }),
3119
- /* @__PURE__ */ O("div", {
3120
- className: Y("dialogScroll"),
3121
- "data-rly-release-preview-scroll": "dialog",
3122
- children: C
3123
- }),
3124
- /* @__PURE__ */ O("footer", {
3125
- className: Y("dialogFooter"),
3126
- "data-rly-release-preview-footer": "dialog",
3127
- children: ee
3128
- })
3129
- ]
3130
- })
3131
- })
3132
- });
3133
- }, Cr = {
3134
- root: "rly_ReleaseRow-module__root",
3135
- identity: "rly_ReleaseRow-module__identity",
3136
- verdictBlock: "rly_ReleaseRow-module__verdictBlock",
3137
- people: "rly_ReleaseRow-module__people",
3138
- actions: "rly_ReleaseRow-module__actions",
3139
- personGroup: "rly_ReleaseRow-module__personGroup",
3140
- fact: "rly_ReleaseRow-module__fact",
3141
- version: "rly_ReleaseRow-module__version",
3142
- verdict: "rly_ReleaseRow-module__verdict",
3143
- reason: "rly_ReleaseRow-module__reason",
3144
- eyebrow: "rly_ReleaseRow-module__eyebrow",
3145
- unassigned: "rly_ReleaseRow-module__unassigned",
3146
- facts: "rly_ReleaseRow-module__facts",
3147
- agentEntry: "rly_ReleaseRow-module__agentEntry",
3148
- previewButton: "rly_ReleaseRow-module__previewButton"
3149
- }, X = (e) => c(Cr, e), wr = ({ agentEntry: e, className: t, onPreview: n, previewLabel: r = "Preview release", release: i, transitionNames: a, ...s }) => {
3150
- let c = pr(i), l = dr(a), u = o(r, "ReleaseRow previewLabel"), f = `rly-release-row-verdict-${E()}`, p = c.freshnessDateTime === void 0 ? /* @__PURE__ */ O(ot, {
3151
- size: "compact",
3152
- state: c.freshness
3153
- }) : /* @__PURE__ */ O(ot, {
3154
- dateTime: c.freshnessDateTime,
3155
- size: "compact",
3156
- state: c.freshness,
3157
- time: c.freshnessTime
3158
- });
3159
- return /* @__PURE__ */ k("article", {
3160
- ...s,
3161
- className: d(X("root"), t),
3162
- "data-rly-release-id": c.id,
3163
- "data-rly-release-state": c.state,
3164
- children: [
3165
- /* @__PURE__ */ k("div", {
3166
- className: X("identity"),
3167
- children: [
3168
- /* @__PURE__ */ O(br, {
3169
- algorithm: c.algorithm,
3170
- codename: c.codename,
3171
- "data-rly-release-transition-name": l?.relay,
3172
- "data-rly-release-transition-part": "relay",
3173
- size: "compact",
3174
- style: l === void 0 ? void 0 : { viewTransitionName: l.relay },
3175
- symbolIndices: c.symbolIndices
3176
- }),
3177
- /* @__PURE__ */ O("p", {
3178
- className: X("version"),
3179
- "data-rly-release-transition-name": l?.version,
3180
- "data-rly-release-transition-part": "version",
3181
- style: l === void 0 ? void 0 : { viewTransitionName: l.version },
3182
- children: c.version
3183
- }),
3184
- p
3185
- ]
3186
- }),
3187
- /* @__PURE__ */ k("section", {
3188
- "aria-labelledby": f,
3189
- className: X("verdictBlock"),
3190
- "data-rly-release-transition-name": l?.verdict,
3191
- "data-rly-release-transition-part": "verdict",
3192
- style: l === void 0 ? void 0 : { viewTransitionName: l.verdict },
3193
- children: [/* @__PURE__ */ O("h2", {
3194
- className: X("verdict"),
3195
- id: f,
3196
- children: c.verdict
3197
- }), /* @__PURE__ */ O("p", {
3198
- className: X("reason"),
3199
- children: c.reason
3200
- })]
3201
- }),
3202
- /* @__PURE__ */ k("div", {
3203
- className: X("people"),
3204
- children: [/* @__PURE__ */ k("div", {
3205
- className: X("personGroup"),
3206
- children: [/* @__PURE__ */ O("span", {
3207
- className: X("eyebrow"),
3208
- children: "Owner"
3209
- }), c.owner === void 0 ? /* @__PURE__ */ O("span", {
3210
- className: X("unassigned"),
3211
- "data-rly-release-owner": "unassigned",
3212
- children: "Unassigned"
3213
- }) : /* @__PURE__ */ O(F, {
3214
- person: c.owner,
3215
- size: "compact"
3216
- })]
3217
- }), c.approver === void 0 ? null : /* @__PURE__ */ k("div", {
3218
- className: X("personGroup"),
3219
- children: [/* @__PURE__ */ O("span", {
3220
- className: X("eyebrow"),
3221
- children: "Approver"
3222
- }), /* @__PURE__ */ O(F, {
3223
- person: c.approver,
3224
- size: "compact"
3225
- })]
3226
- })]
3227
- }),
3228
- /* @__PURE__ */ O("dl", {
3229
- className: X("facts"),
3230
- children: c.facts.map((e) => /* @__PURE__ */ k("div", {
3231
- className: X("fact"),
3232
- "data-rly-release-fact": e.id,
3233
- children: [/* @__PURE__ */ O("dt", { children: e.label }), /* @__PURE__ */ O("dd", { children: e.value })]
3234
- }, e.id))
3235
- }),
3236
- /* @__PURE__ */ k("div", {
3237
- className: X("actions"),
3238
- children: [/* @__PURE__ */ O(b, {
3239
- className: X("previewButton"),
3240
- onClick: n,
3241
- size: "default",
3242
- children: u
3243
- }), e === void 0 ? null : /* @__PURE__ */ O("div", {
3244
- className: X("agentEntry"),
3245
- children: e
3246
- })]
3247
- })
3248
- ]
3249
- });
3250
- }, Tr = {
3251
- root: "rly_StageRail-module__root",
3252
- heading: "rly_StageRail-module__heading",
3253
- list: "rly_StageRail-module__list",
3254
- item: "rly_StageRail-module__item",
3255
- marker: "rly_StageRail-module__marker",
3256
- connector: "rly_StageRail-module__connector",
3257
- content: "rly_StageRail-module__content",
3258
- name: "rly_StageRail-module__name",
3259
- reason: "rly_StageRail-module__reason",
3260
- empty: "rly_StageRail-module__empty",
3261
- compact: "rly_StageRail-module__compact",
3262
- defaultSize: "rly_StageRail-module__defaultSize",
3263
- long: "rly_StageRail-module__long",
3264
- words: "rly_StageRail-module__words",
3265
- wordList: "rly_StageRail-module__wordList",
3266
- word: "rly_StageRail-module__word",
3267
- wordState: "rly_StageRail-module__wordState",
3268
- wordReason: "rly_StageRail-module__wordReason"
3269
- }, Z = (e) => c(Tr, e), Er = l({ size: {
3270
- compact: {
3271
- className: Z("compact"),
3272
- purpose: "Dense release and entity stage summaries",
3273
- tokens: [
3274
- "space-24",
3275
- "space-8",
3276
- "type-label",
3277
- "type-meta"
3278
- ]
3279
- },
3280
- default: {
3281
- className: Z("defaultSize"),
3282
- purpose: "Standard stage progression with supporting context",
3283
- tokens: [
3284
- "space-24",
3285
- "space-12",
3286
- "type-card-title",
3287
- "type-body"
3288
- ]
3289
- },
3290
- words: {
3291
- className: Z("words"),
3292
- purpose: "Stages as one line of words inside a row or fact (no markers, chips or owners); only blocking and held states take ink",
3293
- tokens: [
3294
- "type-meta",
3295
- "color-text-1",
3296
- "color-text-2",
3297
- "color-blocked-ink",
3298
- "color-held-ink"
3299
- ]
3300
- }
3301
- } }), Dr = l({ size: "default" }), Or = (e) => {
3302
- let t = /* @__PURE__ */ new Set();
3303
- for (let n of e) {
3304
- let e = o(n.id, "StageRail stage id");
3305
- if (o(n.name, `StageRail name for ${e}`), o(n.state, `StageRail state for ${e}`), n.reason !== void 0 && o(n.reason, `StageRail reason for ${e}`), t.has(e)) throw Error(`StageRail stage ids must be unique: ${e}`);
3306
- t.add(e);
3307
- }
3308
- return e;
3309
- }, kr = (e) => e === "critical" ? "blocked" : e === "caution" ? "held" : "quiet", Ar = ({ className: e, emptyLabel: t = "No stages recorded.", heading: n, size: r = "default", stages: i, ...a }) => {
3310
- let s = o(n, "StageRail heading"), c = o(t, "StageRail emptyLabel"), l = Or(i), u = `rly-stage-rail-${E()}`;
3311
- return /* @__PURE__ */ k("section", {
3312
- ...a,
3313
- "aria-labelledby": r === "words" ? void 0 : u,
3314
- className: d(Z("root"), Er.size[r].className, l.length > 6 && Z("long"), e),
3315
- "data-rly-stage-rail-size": r,
3316
- children: [r === "words" ? null : /* @__PURE__ */ O("h2", {
3317
- className: Z("heading"),
3318
- id: u,
3319
- children: s
3320
- }), l.length === 0 ? /* @__PURE__ */ O("p", {
3321
- className: Z("empty"),
3322
- children: c
3323
- }) : r === "words" ? /* @__PURE__ */ O("ol", {
3324
- "aria-label": s,
3325
- className: Z("wordList"),
3326
- children: l.map((e, t) => /* @__PURE__ */ k("li", {
3327
- className: Z("word"),
3328
- "data-rly-stage-id": e.id,
3329
- children: [
3330
- e.name,
3331
- " ",
3332
- /* @__PURE__ */ O("span", {
3333
- className: Z("wordState"),
3334
- "data-rly-stage-word": kr(e.tone),
3335
- children: e.state
3336
- }),
3337
- e.reason === void 0 ? null : /* @__PURE__ */ k("span", {
3338
- className: Z("wordReason"),
3339
- children: [": ", e.reason]
3340
- }),
3341
- t === l.length - 1 ? null : ","
3342
- ]
3343
- }, e.id))
3344
- }) : /* @__PURE__ */ O("ol", {
3345
- className: Z("list"),
3346
- children: l.map((e, t) => /* @__PURE__ */ k("li", {
3347
- className: Z("item"),
3348
- "data-rly-stage-id": e.id,
3349
- children: [
3350
- /* @__PURE__ */ O("span", {
3351
- "aria-hidden": "true",
3352
- className: Z("marker"),
3353
- "data-rly-stage-marker": "",
3354
- children: t + 1
3355
- }),
3356
- t === l.length - 1 ? null : /* @__PURE__ */ O("span", {
3357
- "aria-hidden": "true",
3358
- className: Z("connector"),
3359
- "data-rly-stage-connector": ""
3360
- }),
3361
- /* @__PURE__ */ k("div", {
3362
- className: Z("content"),
3363
- children: [
3364
- /* @__PURE__ */ O("h3", {
3365
- className: Z("name"),
3366
- children: e.name
3367
- }),
3368
- /* @__PURE__ */ O(T, {
3369
- label: e.state,
3370
- size: r === "default" ? "default" : "compact",
3371
- tone: e.tone
3372
- }),
3373
- e.reason === void 0 ? null : /* @__PURE__ */ O("p", {
3374
- className: Z("reason"),
3375
- children: e.reason
3376
- }),
3377
- e.owner === void 0 ? null : /* @__PURE__ */ O(F, {
3378
- person: e.owner,
3379
- size: r
3380
- })
3381
- ]
3382
- })
3383
- ]
3384
- }, e.id))
3385
- })]
3386
- });
3387
- }, jr = {
3388
- root: "rly_TimelineRow-module__root",
3389
- time: "rly_TimelineRow-module__time",
3390
- marker: "rly_TimelineRow-module__marker",
3391
- dot: "rly_TimelineRow-module__dot",
3392
- connector: "rly_TimelineRow-module__connector",
3393
- content: "rly_TimelineRow-module__content",
3394
- meta: "rly_TimelineRow-module__meta",
3395
- title: "rly_TimelineRow-module__title",
3396
- link: "rly_TimelineRow-module__link",
3397
- detail: "rly_TimelineRow-module__detail",
3398
- actorKind: "rly_TimelineRow-module__actorKind",
3399
- actor: "rly_TimelineRow-module__actor",
3400
- markAuto: "rly_TimelineRow-module__markAuto",
3401
- markApproved: "rly_TimelineRow-module__markApproved",
3402
- markPending: "rly_TimelineRow-module__markPending",
3403
- markUnknown: "rly_TimelineRow-module__markUnknown",
3404
- markFlag: "rly_TimelineRow-module__markFlag",
3405
- provenance: "rly_TimelineRow-module__provenance",
3406
- key: "rly_TimelineRow-module__key",
3407
- keyItem: "rly_TimelineRow-module__keyItem"
3408
- }, Q = (e) => c(jr, e), Mr = {
3409
- human: "Human",
3410
- agent: "Agent",
3411
- plugin: "Plugin",
3412
- system: "System"
3413
- }, Nr = {
3414
- auto: "markAuto",
3415
- approved: "markApproved",
3416
- pending: "markPending",
3417
- unknown: "markUnknown",
3418
- flag: "markFlag"
3419
- }, Pr = (e) => {
3420
- if (o(e.id, "TimelineRow event id"), o(e.title, "TimelineRow event title"), o(e.detail, "TimelineRow event detail"), o(e.dateTime, "TimelineRow event dateTime"), o(e.time, "TimelineRow event time"), e.href !== void 0 && o(e.href, "TimelineRow event href"), e.provenance !== void 0) {
3421
- if (!Object.hasOwn(Nr, e.provenance.kind)) throw Error("TimelineRow provenance kind must be auto, approved, pending, unknown, or flag");
3422
- o(e.provenance.label, "TimelineRow provenance label");
3423
- }
3424
- if (!Object.hasOwn(Mr, e.actorKind)) throw Error("TimelineRow event actorKind must be human, agent, plugin, or system");
3425
- return e;
3426
- }, Fr = ({ className: e, continued: t, event: n, ...i }) => {
3427
- let a = Pr(n), o = `rly-timeline-row-${E()}`, s = /* @__PURE__ */ O("h2", {
3428
- className: Q("title"),
3429
- id: o,
3430
- children: a.title
3431
- });
3432
- return /* @__PURE__ */ k("li", {
3433
- ...i,
3434
- className: d(Q("root"), e),
3435
- "data-rly-timeline-actor": a.actorKind,
3436
- "data-rly-timeline-event-id": a.id,
3437
- children: [
3438
- /* @__PURE__ */ O("time", {
3439
- className: Q("time"),
3440
- dateTime: a.dateTime,
3441
- children: a.time
3442
- }),
3443
- /* @__PURE__ */ k("span", {
3444
- "aria-hidden": "true",
3445
- className: Q("marker"),
3446
- children: [/* @__PURE__ */ O("span", {
3447
- className: a.provenance === void 0 ? Q("dot") : Q(Nr[a.provenance.kind]),
3448
- "data-rly-timeline-provenance": a.provenance?.kind
3449
- }), t ? /* @__PURE__ */ O("span", {
3450
- className: Q("connector"),
3451
- "data-rly-timeline-connector": ""
3452
- }) : null]
3453
- }),
3454
- /* @__PURE__ */ k("article", {
3455
- "aria-labelledby": o,
3456
- className: Q("content"),
3457
- children: [
3458
- a.href === void 0 ? s : /* @__PURE__ */ O(r, {
3459
- className: Q("link"),
3460
- href: a.href,
3461
- children: s
3462
- }),
3463
- /* @__PURE__ */ O("p", {
3464
- className: Q("detail"),
3465
- children: a.detail
3466
- }),
3467
- a.provenance === void 0 ? null : /* @__PURE__ */ O("p", {
3468
- className: Q("provenance"),
3469
- "data-rly-timeline-provenance-label": a.provenance.kind,
3470
- children: a.provenance.label
3471
- })
3472
- ]
3473
- }),
3474
- /* @__PURE__ */ k("div", {
3475
- className: Q("meta"),
3476
- children: [
3477
- /* @__PURE__ */ O("span", {
3478
- className: Q("actorKind"),
3479
- children: Mr[a.actorKind]
3480
- }),
3481
- a.service === void 0 ? null : /* @__PURE__ */ O(z, {
3482
- service: a.service,
3483
- size: "compact"
3484
- }),
3485
- a.actor === void 0 ? null : /* @__PURE__ */ O("div", {
3486
- className: Q("actor"),
3487
- children: a.actor
3488
- })
3489
- ]
3490
- })
3491
- ]
3492
- });
3493
- }, Ir = {
3494
- auto: "applied automatically",
3495
- approved: "approved",
3496
- pending: "waiting for approval",
3497
- unknown: "couldn't read",
3498
- flag: "flag only"
3499
- }, Lr = ({ className: e, kinds: t = [
3500
- "auto",
3501
- "approved",
3502
- "pending",
3503
- "unknown",
3504
- "flag"
3505
- ], label: n, labels: r = {}, ...i }) => /* @__PURE__ */ O("ul", {
3506
- ...i,
3507
- "aria-label": o(n, "TimelineProvenanceKey label"),
3508
- className: d(Q("key"), e),
3509
- role: "list",
3510
- children: t.map((e) => /* @__PURE__ */ k("li", {
3511
- className: Q("keyItem"),
3512
- children: [
3513
- /* @__PURE__ */ O("span", {
3514
- "aria-hidden": "true",
3515
- className: Q(Nr[e]),
3516
- "data-rly-timeline-provenance": e
3517
- }),
3518
- " ",
3519
- r[e] ?? Ir[e]
3520
- ]
3521
- }, e))
3522
- }), Rr = {
3523
- root: "rly_WorksetCard-module__root",
3524
- heading: "rly_WorksetCard-module__heading",
3525
- dimensions: "rly_WorksetCard-module__dimensions",
3526
- dimension: "rly_WorksetCard-module__dimension",
3527
- dimensionHeading: "rly_WorksetCard-module__dimensionHeading",
3528
- gaps: "rly_WorksetCard-module__gaps",
3529
- list: "rly_WorksetCard-module__list",
3530
- gapList: "rly_WorksetCard-module__gapList",
3531
- keyList: "rly_WorksetCard-module__keyList",
3532
- item: "rly_WorksetCard-module__item",
3533
- gap: "rly_WorksetCard-module__gap",
3534
- identity: "rly_WorksetCard-module__identity",
3535
- link: "rly_WorksetCard-module__link",
3536
- itemTitle: "rly_WorksetCard-module__itemTitle",
3537
- reference: "rly_WorksetCard-module__reference",
3538
- empty: "rly_WorksetCard-module__empty",
3539
- conceptLabel: "rly_WorksetCard-module__conceptLabel",
3540
- emptyLink: "rly_WorksetCard-module__emptyLink",
3541
- linkedWork: "rly_WorksetCard-module__linkedWork"
3542
- }, $ = (e) => c(Rr, e), zr = (e, t) => {
3543
- e !== void 0 && o(e, `${t} href`);
3544
- }, Br = (e, t, n) => {
3545
- let r = o(e, `${n} id`);
3546
- if (t.has(r)) throw Error(`${n} ids must be unique: ${r}`);
3547
- return t.add(r), r;
3548
- }, Vr = (e) => {
3549
- let t = /* @__PURE__ */ new Set();
3550
- for (let n of e) {
3551
- let e = Br(n.id, t, "WorksetCard Jira item");
3552
- o(n.key, `WorksetCard Jira key for ${e}`), o(n.title, `WorksetCard Jira title for ${e}`), o(n.state, `WorksetCard Jira state for ${e}`), zr(n.href, `WorksetCard Jira item ${e}`);
3553
- }
3554
- }, Hr = (e) => {
3555
- let t = /* @__PURE__ */ new Set();
3556
- for (let n of e) {
3557
- let e = Br(n.id, t, "WorksetCard pull request group");
3558
- o(n.title, `WorksetCard pull request title for ${e}`), o(n.reference, `WorksetCard pull request reference for ${e}`), o(n.state, `WorksetCard pull request state for ${e}`), zr(n.href, `WorksetCard pull request group ${e}`);
3559
- for (let t of n.linkedJiraKeys) o(t, `WorksetCard linked Jira key for ${e}`);
3560
- }
3561
- }, Ur = (e) => {
3562
- let t = /* @__PURE__ */ new Set();
3563
- for (let n of e) {
3564
- let e = Br(n.id, t, "WorksetCard gap");
3565
- if (o(n.label, `WorksetCard gap label for ${e}`), o(n.reason, `WorksetCard gap reason for ${e}`), !Object.hasOwn(ct.service, n.service)) throw Error(`WorksetCard gap service for ${e} must be supported`);
3566
- }
3567
- }, Wr = (e) => {
3568
- let t = /* @__PURE__ */ new Set();
3569
- for (let n of e) {
3570
- let e = Br(n.id, t, "WorksetCard pipeline");
3571
- o(n.title, `WorksetCard pipeline title for ${e}`), o(n.reference, `WorksetCard pipeline reference for ${e}`), o(n.state, `WorksetCard pipeline state for ${e}`), zr(n.href, `WorksetCard pipeline ${e}`);
3572
- }
3573
- }, Gr = ({ href: e, reference: t, title: n }) => {
3574
- let i = /* @__PURE__ */ k("span", {
3575
- className: $("identity"),
3576
- children: [/* @__PURE__ */ O("span", {
3577
- className: $("itemTitle"),
3578
- children: n
3579
- }), /* @__PURE__ */ O("span", {
3580
- className: $("reference"),
3581
- children: t
3582
- })]
3583
- });
3584
- return e === void 0 ? i : /* @__PURE__ */ O(r, {
3585
- className: $("link"),
3586
- href: e,
3587
- children: i
3588
- });
3589
- }, Kr = ({ className: e, gapEmptyLabel: t = "No relationship gaps recorded.", gaps: n, heading: r, jiraEmptyLabel: i = "No Jira work recorded.", jiraItems: a, pipelineEmptyLabel: s = "No pipeline delivery recorded.", pipelines: c, pullRequestEmptyLabel: l = "No pull request groups recorded.", pullRequestGroups: u, ...f }) => {
3590
- let p = o(r, "WorksetCard heading"), m = o(i, "WorksetCard jiraEmptyLabel"), h = o(l, "WorksetCard pullRequestEmptyLabel"), g = o(t, "WorksetCard gapEmptyLabel"), _ = o(s, "WorksetCard pipelineEmptyLabel");
3591
- Vr(a), Hr(u), Ur(n), Wr(c);
3592
- let v = `rly-workset-${E()}`;
3593
- return /* @__PURE__ */ k("section", {
3594
- ...f,
3595
- "aria-labelledby": v,
3596
- className: d($("root"), e),
3597
- children: [/* @__PURE__ */ O("h2", {
3598
- className: $("heading"),
3599
- id: v,
3600
- children: p
3601
- }), /* @__PURE__ */ k("div", {
3602
- className: $("dimensions"),
3603
- children: [
3604
- /* @__PURE__ */ k("section", {
3605
- className: $("dimension"),
3606
- "data-rly-workset-dimension": "jira",
3607
- children: [/* @__PURE__ */ k("div", {
3608
- className: $("dimensionHeading"),
3609
- children: [/* @__PURE__ */ O(z, {
3610
- service: "jira",
3611
- size: "compact"
3612
- }), /* @__PURE__ */ O("h3", { children: "Jira work" })]
3613
- }), a.length === 0 ? /* @__PURE__ */ O("p", {
3614
- className: $("empty"),
3615
- children: m
3616
- }) : /* @__PURE__ */ O("ul", {
3617
- className: $("list"),
3618
- children: a.map((e) => /* @__PURE__ */ k("li", {
3619
- className: $("item"),
3620
- "data-rly-workset-jira-id": e.id,
3621
- children: [
3622
- /* @__PURE__ */ O(Gr, {
3623
- ...e.href === void 0 ? {} : { href: e.href },
3624
- reference: e.key,
3625
- title: e.title
3626
- }),
3627
- /* @__PURE__ */ O(T, {
3628
- label: e.state,
3629
- size: "compact",
3630
- tone: e.tone
3631
- }),
3632
- e.owner === void 0 ? null : /* @__PURE__ */ O(F, {
3633
- person: e.owner,
3634
- size: "compact"
3635
- })
3636
- ]
3637
- }, e.id))
3638
- })]
3639
- }),
3640
- /* @__PURE__ */ k("section", {
3641
- className: $("dimension"),
3642
- "data-rly-workset-dimension": "pull-requests",
3643
- children: [
3644
- /* @__PURE__ */ k("div", {
3645
- className: $("dimensionHeading"),
3646
- children: [/* @__PURE__ */ O(z, {
3647
- service: "codecommit",
3648
- size: "compact"
3649
- }), /* @__PURE__ */ O("h3", { children: "Pull request groups" })]
3650
- }),
3651
- u.length === 0 ? /* @__PURE__ */ O("p", {
3652
- className: $("empty"),
3653
- children: h
3654
- }) : /* @__PURE__ */ O("ul", {
3655
- className: $("list"),
3656
- children: u.map((e) => /* @__PURE__ */ k("li", {
3657
- className: $("item"),
3658
- "data-rly-workset-pr-id": e.id,
3659
- children: [
3660
- /* @__PURE__ */ O(Gr, {
3661
- ...e.href === void 0 ? {} : { href: e.href },
3662
- reference: e.reference,
3663
- title: e.title
3664
- }),
3665
- /* @__PURE__ */ O(T, {
3666
- label: e.state,
3667
- size: "compact",
3668
- tone: e.tone
3669
- }),
3670
- /* @__PURE__ */ k("div", {
3671
- className: $("linkedWork"),
3672
- children: [/* @__PURE__ */ O("span", {
3673
- className: $("conceptLabel"),
3674
- children: "Linked Jira work"
3675
- }), e.linkedJiraKeys.length === 0 ? /* @__PURE__ */ O("span", {
3676
- className: $("emptyLink"),
3677
- children: "No Jira links recorded."
3678
- }) : /* @__PURE__ */ O("ul", {
3679
- className: $("keyList"),
3680
- children: e.linkedJiraKeys.map((e, t) => /* @__PURE__ */ O("li", {
3681
- "data-rly-linked-jira-key": e,
3682
- children: e
3683
- }, `${e}-${t}`))
3684
- })]
3685
- }),
3686
- e.author === void 0 ? null : /* @__PURE__ */ O(F, {
3687
- person: e.author,
3688
- size: "compact"
3689
- })
3690
- ]
3691
- }, e.id))
3692
- }),
3693
- /* @__PURE__ */ k("div", {
3694
- className: $("gaps"),
3695
- children: [/* @__PURE__ */ O("h4", { children: "Relationship gaps" }), n.length === 0 ? /* @__PURE__ */ O("p", {
3696
- className: $("empty"),
3697
- children: g
3698
- }) : /* @__PURE__ */ O("ul", {
3699
- className: $("gapList"),
3700
- children: n.map((e) => /* @__PURE__ */ k("li", {
3701
- className: $("gap"),
3702
- "data-rly-workset-gap-id": e.id,
3703
- children: [
3704
- /* @__PURE__ */ O(z, {
3705
- service: e.service,
3706
- size: "compact"
3707
- }),
3708
- /* @__PURE__ */ O("strong", { children: e.label }),
3709
- /* @__PURE__ */ O("span", { children: e.reason })
3710
- ]
3711
- }, e.id))
3712
- })]
3713
- })
3714
- ]
3715
- }),
3716
- /* @__PURE__ */ k("section", {
3717
- className: $("dimension"),
3718
- "data-rly-workset-dimension": "pipelines",
3719
- children: [/* @__PURE__ */ k("div", {
3720
- className: $("dimensionHeading"),
3721
- children: [/* @__PURE__ */ O(z, {
3722
- service: "codepipeline",
3723
- size: "compact"
3724
- }), /* @__PURE__ */ O("h3", { children: "Pipeline delivery" })]
3725
- }), c.length === 0 ? /* @__PURE__ */ O("p", {
3726
- className: $("empty"),
3727
- children: _
3728
- }) : /* @__PURE__ */ O("ul", {
3729
- className: $("list"),
3730
- children: c.map((e) => /* @__PURE__ */ k("li", {
3731
- className: $("item"),
3732
- "data-rly-workset-pipeline-id": e.id,
3733
- children: [
3734
- /* @__PURE__ */ O(Gr, {
3735
- ...e.href === void 0 ? {} : { href: e.href },
3736
- reference: e.reference,
3737
- title: e.title
3738
- }),
3739
- /* @__PURE__ */ O(T, {
3740
- label: e.state,
3741
- size: "compact",
3742
- tone: e.tone
3743
- }),
3744
- e.operator === void 0 ? null : /* @__PURE__ */ O(F, {
3745
- person: e.operator,
3746
- size: "compact"
3747
- }),
3748
- e.approver === void 0 ? null : /* @__PURE__ */ O(F, {
3749
- person: e.approver,
3750
- size: "compact"
3751
- }),
3752
- /* @__PURE__ */ O(Ar, {
3753
- heading: `${e.reference} stages`,
3754
- size: "compact",
3755
- stages: e.stages
3756
- })
3757
- ]
3758
- }, e.id))
3759
- })]
3760
- })
3761
- ]
3762
- })]
3763
- });
3764
- };
3765
- //#endregion
3766
- export { He as $, Nt as A, lt as B, Ut as C, It as D, Ht as E, bt as F, nt as G, z as H, yt as I, Qe as J, et as K, _t as L, jt as M, Ot as N, Lt as O, Tt as P, Ge as Q, pt as R, Wt as S, Bt as T, ot as U, ct as V, rt as W, Ye as X, Xe as Y, Je as Z, an as _, Er as a, Ee as at, en as b, Sr as c, pe as ct, gr as d, Ve as et, br as f, tr as g, sr as h, Dr as i, Me as it, Ft as j, Pt as k, _r as l, ir as m, Lr as n, Ie as nt, Ar as o, Se as ot, cr as p, $e as q, Fr as r, Fe as rt, wr as s, _e as st, Kr as t, F as tt, hr as u, on as v, Vt as w, Zt as x, un as y, ht as z };
3767
-
3768
- //# sourceMappingURL=patterns-ChmGSFqO.js.map