@hraness/design-kit 0.31.1 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT_SETUP.md +89 -0
- package/ARTICLE_COPY.md +1 -1
- package/MARKETING_COPY.md +13 -1
- package/README.md +13 -4
- package/dist/{chunk-7b1586eb.js → chunk-4d79eskk.js} +62 -33
- package/dist/{chunk-44djxk16.js → chunk-95p0j72v.js} +643 -612
- package/dist/{chunk-eh71jz57.js → chunk-vst6p4wd.js} +96 -9
- package/dist/index.js +6 -2
- package/dist/mockups/client.js +19 -18
- package/dist/provider-marks.js +1 -1
- package/dist/react/index.js +1615 -649
- package/dist/react/server.js +4 -2
- package/dist/stylex-manifest.json +1 -1
- package/dist/stylex.css +180 -4
- package/package.json +7 -3
- package/portfolio-inventory.json +1 -1
- package/src/agent-setup.ts +47 -0
- package/src/index.ts +1 -0
- package/src/mockups/client.tsx +26 -22
- package/src/mockups.css +44 -13
- package/src/provider-marks.generated.ts +16 -0
- package/src/provider-marks.ts +14 -15
- package/src/react/agent-setup-prompt.stylex.ts +196 -0
- package/src/react/agent-setup-prompt.tsx +413 -0
- package/src/react/article.tsx +12 -20
- package/src/react/design-gallery.tsx +28 -1
- package/src/react/index.ts +1 -0
- package/src/react/launch-beats.tsx +7 -4
- package/src/react/product-marketing.stylex.ts +8 -0
- package/src/react/product-marketing.tsx +37 -10
- package/src/react/provider-mark.stylex.ts +17 -10
- package/src/react/provider-mark.tsx +6 -16
- package/vendor/provider-marks/MEM0-LICENSE +201 -0
- package/vendor/provider-marks/SUPERMEMORY-LICENSE +21 -0
- package/vendor/provider-marks/UPSTREAM.md +12 -1
- package/vendor/provider-marks/lobehub/githubcopilot.svg +1 -0
- package/vendor/provider-marks/lobehub/obsidian-color.svg +1 -0
- package/vendor/provider-marks/lobehub/obsidian.svg +1 -0
- package/vendor/provider-marks/mem0-art.svg +1 -0
- package/vendor/provider-marks/mem0-glyph.svg +1 -0
- package/vendor/provider-marks/mem0.svg +1 -0
- package/vendor/provider-marks/supermemory.svg +1 -0
package/dist/react/index.js
CHANGED
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
DockedFooter,
|
|
28
28
|
FoilMark,
|
|
29
29
|
LaunchBeats,
|
|
30
|
+
MarketingActionLink,
|
|
30
31
|
MarketingArticle,
|
|
31
32
|
MarketingCallToAction,
|
|
32
33
|
MarketingCard,
|
|
@@ -82,7 +83,7 @@ import {
|
|
|
82
83
|
marketingProofFrameAddress,
|
|
83
84
|
proceduralBackdropVariants,
|
|
84
85
|
proceduralRecipeVersion
|
|
85
|
-
} from "../chunk-
|
|
86
|
+
} from "../chunk-95p0j72v.js";
|
|
86
87
|
import"../chunk-h4k7yv6x.js";
|
|
87
88
|
import {
|
|
88
89
|
STATUS_PAGE_AGENT_PREFIX,
|
|
@@ -112,7 +113,7 @@ import {
|
|
|
112
113
|
resolveStatusPage,
|
|
113
114
|
statusPageRoutesAttribute,
|
|
114
115
|
suggestStatusRoute
|
|
115
|
-
} from "../chunk-
|
|
116
|
+
} from "../chunk-4d79eskk.js";
|
|
116
117
|
import"../chunk-wzvdn8ey.js";
|
|
117
118
|
import"../chunk-he8eznb1.js";
|
|
118
119
|
import"../chunk-77391vmq.js";
|
|
@@ -122,7 +123,7 @@ import {
|
|
|
122
123
|
characterLength,
|
|
123
124
|
xPostLength
|
|
124
125
|
} from "../chunk-cejpzyfh.js";
|
|
125
|
-
import"../chunk-
|
|
126
|
+
import"../chunk-vst6p4wd.js";
|
|
126
127
|
import {
|
|
127
128
|
__require
|
|
128
129
|
} from "../chunk-5gtx3pza.js";
|
|
@@ -187,11 +188,920 @@ function AnimatedRailStage({
|
|
|
187
188
|
}, stageKey)
|
|
188
189
|
});
|
|
189
190
|
}
|
|
191
|
+
// src/react/agent-setup-prompt.tsx
|
|
192
|
+
import { useCallback, useEffect, useId, useRef, useState } from "react";
|
|
193
|
+
|
|
194
|
+
// src/react/agent-setup-prompt.stylex.ts
|
|
195
|
+
import * as stylex2 from "@stylexjs/stylex";
|
|
196
|
+
var ink = "var(--foreground, CanvasText)";
|
|
197
|
+
var line = `color-mix(in srgb, ${ink} 15%, transparent)`;
|
|
198
|
+
var agentSetupStyles = {
|
|
199
|
+
root: {
|
|
200
|
+
kMwMTN: "xm06a53 xs5hli",
|
|
201
|
+
kanfag: "x1w8g7s4",
|
|
202
|
+
k9g6sI: "x12h1iku",
|
|
203
|
+
kMv6JI: "xtls1wf",
|
|
204
|
+
kzqmXN: "xh8yej3",
|
|
205
|
+
k7Eaqz: "xeuugli",
|
|
206
|
+
$$css: true
|
|
207
|
+
},
|
|
208
|
+
layout: {
|
|
209
|
+
kGNEyG: "x7a106z",
|
|
210
|
+
k1xSpc: "xrvj5dj",
|
|
211
|
+
kOIVth: "x8fetqu",
|
|
212
|
+
kumcoG: "x1mkdm3x",
|
|
213
|
+
k7Eaqz: "xeuugli",
|
|
214
|
+
$$css: true
|
|
215
|
+
},
|
|
216
|
+
withTargets: {
|
|
217
|
+
kumcoG: "xkewwhh",
|
|
218
|
+
"--_hraness-agent-setup-columns": "x18n472x",
|
|
219
|
+
$$css: true
|
|
220
|
+
},
|
|
221
|
+
frame: {
|
|
222
|
+
kWkggS: "xw51l6n x9yvj25",
|
|
223
|
+
kVAM5u: "x3ugid2 x1w1tqly",
|
|
224
|
+
kaIpWk: "x1yt6v20",
|
|
225
|
+
ksu8eU: "x1y0btm7",
|
|
226
|
+
kMzoRj: "xmkeg23",
|
|
227
|
+
kB7OPa: "x9f619",
|
|
228
|
+
k7Eaqz: "xeuugli",
|
|
229
|
+
kVQacm: "xb3r6kr",
|
|
230
|
+
kVAEAm: "x1n2onr6",
|
|
231
|
+
$$css: true
|
|
232
|
+
},
|
|
233
|
+
preview: {
|
|
234
|
+
kskxy: "x1q2tmi7",
|
|
235
|
+
k7Eaqz: "xeuugli",
|
|
236
|
+
kVQacm: "xb3r6kr",
|
|
237
|
+
kmVPX3: "x67o20r",
|
|
238
|
+
$$css: true
|
|
239
|
+
},
|
|
240
|
+
previewText: {
|
|
241
|
+
kX1K2I: "xn48363 x1fww0mx",
|
|
242
|
+
kskxy: "xz6j1ir",
|
|
243
|
+
kVQacm: "xb3r6kr",
|
|
244
|
+
$$css: true
|
|
245
|
+
},
|
|
246
|
+
pre: {
|
|
247
|
+
kWkggS: "xjbqb8w",
|
|
248
|
+
kaIpWk: "x2u8bby",
|
|
249
|
+
kMwMTN: "xm06a53 xs5hli",
|
|
250
|
+
kMv6JI: "x1nbx2l5",
|
|
251
|
+
kGuDYH: "x1dcheo9",
|
|
252
|
+
kLWn49: "x11m8ghp",
|
|
253
|
+
kogj98: "x1ghz6dp",
|
|
254
|
+
ks0D6T: "x193iq5w",
|
|
255
|
+
k7Eaqz: "xeuugli",
|
|
256
|
+
kHjlTd: "xj0a0fe",
|
|
257
|
+
kmVPX3: "x1717udv",
|
|
258
|
+
kKi2Bq: "xeq4nuv",
|
|
259
|
+
khDVqt: "x126k92a",
|
|
260
|
+
kTgw9: "x1lldw8n",
|
|
261
|
+
$$css: true
|
|
262
|
+
},
|
|
263
|
+
full: {
|
|
264
|
+
kmVPX3: "xde91s7",
|
|
265
|
+
$$css: true
|
|
266
|
+
},
|
|
267
|
+
details: {
|
|
268
|
+
k7Eaqz: "xeuugli",
|
|
269
|
+
$$css: true
|
|
270
|
+
},
|
|
271
|
+
summary: {
|
|
272
|
+
kMwMTN: "x12x9krh xs5hli",
|
|
273
|
+
kkrTdU: "x1ypdohk",
|
|
274
|
+
kGuDYH: "x1dcheo9",
|
|
275
|
+
kLWn49: "x37zpob",
|
|
276
|
+
kB88ic: "xe8uvvx",
|
|
277
|
+
kAzted: "x13gjtz1",
|
|
278
|
+
kI3sdo: "x1a2a7pz xr5lfjo",
|
|
279
|
+
kInvED: "x1v57pqu",
|
|
280
|
+
kmVPX3: "x194jd1b",
|
|
281
|
+
kDPRdz: "x10zor9s",
|
|
282
|
+
kA33Yr: "x13c0qn1",
|
|
283
|
+
$$css: true
|
|
284
|
+
},
|
|
285
|
+
copy: {
|
|
286
|
+
kGNEyG: "x6s0dn4",
|
|
287
|
+
kysU6D: "xjyslct",
|
|
288
|
+
kWkggS: "x17tv4j5 x1lf5oka xnwy5bs",
|
|
289
|
+
kVAM5u: "x3ugid2 x1ylmb6m",
|
|
290
|
+
kaIpWk: "x116uinm",
|
|
291
|
+
ksu8eU: "x1y0btm7",
|
|
292
|
+
kMzoRj: "xmkeg23",
|
|
293
|
+
kB7OPa: "x9f619",
|
|
294
|
+
kMwMTN: "xm06a53 x1ggml12",
|
|
295
|
+
kkrTdU: "x1ypdohk",
|
|
296
|
+
k1xSpc: "x3nfvp2 x1cfwndu",
|
|
297
|
+
kmuXW: "x2lah0s",
|
|
298
|
+
kMv6JI: "xjb2p0i",
|
|
299
|
+
kGuDYH: "x1dcheo9",
|
|
300
|
+
kOIVth: "x1neeqzj",
|
|
301
|
+
kjj79g: "xl56j7k",
|
|
302
|
+
kLWn49: "xo5v014",
|
|
303
|
+
kogj98: "x1ghz6dp",
|
|
304
|
+
kAzted: "xgbkey0",
|
|
305
|
+
kI3sdo: "x1a2a7pz xr5lfjo",
|
|
306
|
+
kInvED: "x1hl8ikr",
|
|
307
|
+
kmVPX3: "x1i4hug3",
|
|
308
|
+
$$css: true
|
|
309
|
+
},
|
|
310
|
+
copyOverlay: {
|
|
311
|
+
krVfgx: "x1of4z1n",
|
|
312
|
+
kt4wiu: "xe388cy",
|
|
313
|
+
kVAEAm: "x10l6tqk",
|
|
314
|
+
$$css: true
|
|
315
|
+
},
|
|
316
|
+
copyIcon: {
|
|
317
|
+
kZKoxP: "x1l36t39",
|
|
318
|
+
kmuXW: "x2lah0s",
|
|
319
|
+
kzqmXN: "xcdlrvm",
|
|
320
|
+
$$css: true
|
|
321
|
+
},
|
|
322
|
+
targets: {
|
|
323
|
+
k1xSpc: "xrvj5dj",
|
|
324
|
+
kOIVth: "x1uma3xh",
|
|
325
|
+
k7Eaqz: "xeuugli",
|
|
326
|
+
$$css: true
|
|
327
|
+
},
|
|
328
|
+
targetsLabel: {
|
|
329
|
+
kMwMTN: "x12x9krh xs5hli",
|
|
330
|
+
kGuDYH: "x1dcheo9",
|
|
331
|
+
k63SB2: "xk50ysn",
|
|
332
|
+
kogj98: "x1ghz6dp",
|
|
333
|
+
$$css: true
|
|
334
|
+
},
|
|
335
|
+
targetList: {
|
|
336
|
+
k1xSpc: "xrvj5dj",
|
|
337
|
+
kOIVth: "x1rcpt3j",
|
|
338
|
+
kumcoG: "x5m93ek",
|
|
339
|
+
kB88ic: "xe8uvvx",
|
|
340
|
+
kogj98: "x1ghz6dp",
|
|
341
|
+
kmVPX3: "x1717udv",
|
|
342
|
+
$$css: true
|
|
343
|
+
},
|
|
344
|
+
target: {
|
|
345
|
+
kGNEyG: "x6s0dn4",
|
|
346
|
+
kWkggS: "xw51l6n x1jf9jbc xnwy5bs",
|
|
347
|
+
kVAM5u: "x3ugid2 x1ylmb6m",
|
|
348
|
+
kaIpWk: "x116uinm",
|
|
349
|
+
ksu8eU: "x1y0btm7",
|
|
350
|
+
kMzoRj: "xmkeg23",
|
|
351
|
+
kB7OPa: "x9f619",
|
|
352
|
+
kMwMTN: "xm06a53 x1ggml12",
|
|
353
|
+
k1xSpc: "x78zum5",
|
|
354
|
+
kGuDYH: "xkpwil5",
|
|
355
|
+
kOIVth: "x5m0csh",
|
|
356
|
+
kLWn49: "xwn7fz2",
|
|
357
|
+
kAzted: "xgbkey0",
|
|
358
|
+
k7Eaqz: "xeuugli",
|
|
359
|
+
kI3sdo: "x1a2a7pz xr5lfjo",
|
|
360
|
+
kInvED: "x1hl8ikr",
|
|
361
|
+
kmVPX3: "x1i4hug3",
|
|
362
|
+
kybGjl: "x1hl2dhg",
|
|
363
|
+
$$css: true
|
|
364
|
+
},
|
|
365
|
+
commandRoot: {
|
|
366
|
+
k1xSpc: "xrvj5dj",
|
|
367
|
+
kOIVth: "x1uma3xh",
|
|
368
|
+
k7Eaqz: "xeuugli",
|
|
369
|
+
$$css: true
|
|
370
|
+
},
|
|
371
|
+
tablist: {
|
|
372
|
+
k1xSpc: "x78zum5 x1cfwndu",
|
|
373
|
+
kwnvtZ: "x1a02dak",
|
|
374
|
+
kOIVth: "xbcm6b9",
|
|
375
|
+
k7Eaqz: "xeuugli",
|
|
376
|
+
$$css: true
|
|
377
|
+
},
|
|
378
|
+
tab: {
|
|
379
|
+
kGNEyG: "x6s0dn4",
|
|
380
|
+
kysU6D: "xjyslct",
|
|
381
|
+
kWkggS: "xw51l6n x1jf9jbc xnwy5bs",
|
|
382
|
+
kVAM5u: "x9r1u3d x1ylmb6m",
|
|
383
|
+
kaIpWk: "x116uinm",
|
|
384
|
+
ksu8eU: "x1y0btm7",
|
|
385
|
+
kMzoRj: "xmkeg23",
|
|
386
|
+
kB7OPa: "x9f619",
|
|
387
|
+
kMwMTN: "xm06a53 x10zor9s x1ggml12",
|
|
388
|
+
kkrTdU: "x1ypdohk",
|
|
389
|
+
k1xSpc: "x3nfvp2",
|
|
390
|
+
kMv6JI: "xjb2p0i",
|
|
391
|
+
kGuDYH: "xkpwil5",
|
|
392
|
+
kOIVth: "xpraio3",
|
|
393
|
+
kLWn49: "xwn7fz2",
|
|
394
|
+
kogj98: "x1ghz6dp",
|
|
395
|
+
kAzted: "xgbkey0",
|
|
396
|
+
k7Eaqz: "xeuugli",
|
|
397
|
+
kI3sdo: "x1a2a7pz xr5lfjo",
|
|
398
|
+
kInvED: "x1hl8ikr",
|
|
399
|
+
kmVPX3: "xz0q7xm",
|
|
400
|
+
$$css: true
|
|
401
|
+
},
|
|
402
|
+
tabSelected: {
|
|
403
|
+
kWkggS: "x11tn3as x1w11x55 x1jzqe4",
|
|
404
|
+
kMwMTN: "x19ydol1 x54addn x1k5gbb1",
|
|
405
|
+
kAXs8y: "x1g12otp",
|
|
406
|
+
$$css: true
|
|
407
|
+
},
|
|
408
|
+
panel: {
|
|
409
|
+
k1xSpc: "x1use1og",
|
|
410
|
+
k7Eaqz: "xeuugli",
|
|
411
|
+
$$css: true
|
|
412
|
+
},
|
|
413
|
+
commandBar: {
|
|
414
|
+
kGNEyG: "x6s0dn4",
|
|
415
|
+
k1xSpc: "x78zum5",
|
|
416
|
+
kjj79g: "x1qughib",
|
|
417
|
+
k7Eaqz: "xeuugli",
|
|
418
|
+
kmVPX3: "xk2ntsi",
|
|
419
|
+
$$css: true
|
|
420
|
+
},
|
|
421
|
+
commandLabels: {
|
|
422
|
+
k1xSpc: "xrvj5dj",
|
|
423
|
+
kOIVth: "xvh977a",
|
|
424
|
+
k7Eaqz: "xeuugli",
|
|
425
|
+
$$css: true
|
|
426
|
+
},
|
|
427
|
+
filename: {
|
|
428
|
+
kMwMTN: "x12x9krh xs5hli",
|
|
429
|
+
kMv6JI: "x1nbx2l5",
|
|
430
|
+
kGuDYH: "xboafo0",
|
|
431
|
+
kHjlTd: "xj0a0fe",
|
|
432
|
+
$$css: true
|
|
433
|
+
},
|
|
434
|
+
panelLabel: {
|
|
435
|
+
kGNEyG: "x6s0dn4",
|
|
436
|
+
k1xSpc: "x1s85apg x1pwdsk1",
|
|
437
|
+
kGuDYH: "xkpwil5",
|
|
438
|
+
kOIVth: "x13z6uf9",
|
|
439
|
+
kogj98: "x1ghz6dp",
|
|
440
|
+
$$css: true
|
|
441
|
+
},
|
|
442
|
+
commandText: {
|
|
443
|
+
kmVPX3: "x1xplop1",
|
|
444
|
+
$$css: true
|
|
445
|
+
},
|
|
446
|
+
code: {
|
|
447
|
+
kWkggS: "xjbqb8w",
|
|
448
|
+
kMwMTN: "x1heor9g",
|
|
449
|
+
kMv6JI: "xjb2p0i",
|
|
450
|
+
kGuDYH: "x1qlqyl8",
|
|
451
|
+
kmVPX3: "x1717udv",
|
|
452
|
+
$$css: true
|
|
453
|
+
},
|
|
454
|
+
status: {
|
|
455
|
+
kZKoxP: "xjm9jq1",
|
|
456
|
+
kMzoRj: "xc342km",
|
|
457
|
+
kz4h6p: "x1hyvwdk",
|
|
458
|
+
kzqmXN: "x1i1rx1s",
|
|
459
|
+
kogj98: "xkdpibf",
|
|
460
|
+
kVQacm: "xb3r6kr",
|
|
461
|
+
kmVPX3: "x1717udv",
|
|
462
|
+
kVAEAm: "x10l6tqk",
|
|
463
|
+
khDVqt: "xuxw1ft",
|
|
464
|
+
$$css: true
|
|
465
|
+
}
|
|
466
|
+
};
|
|
467
|
+
function agentSetupClassName(parts, caller) {
|
|
468
|
+
const active = parts.filter((part) => part !== false && part !== undefined);
|
|
469
|
+
const atoms = stylex2.props(...active.map((part) => agentSetupStyles[part])).className;
|
|
470
|
+
return [...active.map((part) => `hraness-agent-setup__${part}`), atoms, caller].filter(Boolean).join(" ");
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
// src/react/agent-setup-prompt.tsx
|
|
474
|
+
import { jsx as jsx2, jsxs, Fragment } from "react/jsx-runtime";
|
|
475
|
+
function commandSubject(entry) {
|
|
476
|
+
return `${entry.label} ${entry.filename === undefined ? "command" : "configuration"}`;
|
|
477
|
+
}
|
|
478
|
+
function assertText(value, name) {
|
|
479
|
+
if (typeof value !== "string" || value.trim() === "")
|
|
480
|
+
throw new RangeError(`${name} must contain text.`);
|
|
481
|
+
}
|
|
482
|
+
function assertEntries(entries, name) {
|
|
483
|
+
const ids = new Set;
|
|
484
|
+
for (const entry of entries) {
|
|
485
|
+
if (typeof entry.id !== "string" || !/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/u.test(entry.id) || ids.has(entry.id))
|
|
486
|
+
throw new RangeError(`${name} ids must be unique and use letters, numbers, underscores, or hyphens.`);
|
|
487
|
+
assertText(entry.label, `${name} label`);
|
|
488
|
+
ids.add(entry.id);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
function assertHref(href) {
|
|
492
|
+
if (typeof href !== "string" || /\s/u.test(href) || [...href].some((character) => character.charCodeAt(0) < 32 || character.charCodeAt(0) === 127))
|
|
493
|
+
throw new RangeError("Agent setup destinations must be valid links.");
|
|
494
|
+
try {
|
|
495
|
+
const url = new URL(href, "https://example.invalid");
|
|
496
|
+
if (!["https:", "http:", "codex:"].includes(url.protocol))
|
|
497
|
+
throw new Error("Unsupported protocol.");
|
|
498
|
+
if (href === "" || url.username !== "" || url.password !== "")
|
|
499
|
+
throw new Error("Invalid destination.");
|
|
500
|
+
} catch {
|
|
501
|
+
throw new RangeError("Agent setup destinations must be HTTP, HTTPS, or Codex links without credentials.");
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
async function copyText(text, fallback) {
|
|
505
|
+
try {
|
|
506
|
+
if (typeof navigator !== "undefined" && navigator.clipboard !== undefined) {
|
|
507
|
+
await navigator.clipboard.writeText(text);
|
|
508
|
+
return {
|
|
509
|
+
ok: true,
|
|
510
|
+
selected: false
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
} catch {}
|
|
514
|
+
const source = fallback();
|
|
515
|
+
if (source === null)
|
|
516
|
+
return {
|
|
517
|
+
ok: false,
|
|
518
|
+
selected: false
|
|
519
|
+
};
|
|
520
|
+
const documentValue = source.ownerDocument;
|
|
521
|
+
const focused = documentValue.activeElement;
|
|
522
|
+
let buffer = null;
|
|
523
|
+
let copied = false;
|
|
524
|
+
let exactEvent = false;
|
|
525
|
+
const copyExact = (event) => {
|
|
526
|
+
if (documentValue.activeElement !== buffer || event.clipboardData === null)
|
|
527
|
+
return;
|
|
528
|
+
try {
|
|
529
|
+
event.clipboardData.setData("text/plain", text);
|
|
530
|
+
event.preventDefault();
|
|
531
|
+
exactEvent = event.defaultPrevented;
|
|
532
|
+
} catch {}
|
|
533
|
+
};
|
|
534
|
+
try {
|
|
535
|
+
buffer = documentValue.createElement("textarea");
|
|
536
|
+
buffer.value = text;
|
|
537
|
+
buffer.readOnly = true;
|
|
538
|
+
buffer.tabIndex = -1;
|
|
539
|
+
buffer.setAttribute("data-hraness-copy-buffer", "");
|
|
540
|
+
buffer.style.cssText = "position:fixed;left:0;top:0;width:1px;height:1px;padding:0;border:0;opacity:0;overflow:hidden;resize:none;pointer-events:none";
|
|
541
|
+
documentValue.body.append(buffer);
|
|
542
|
+
buffer.focus({
|
|
543
|
+
preventScroll: true
|
|
544
|
+
});
|
|
545
|
+
buffer.select();
|
|
546
|
+
buffer.setSelectionRange(0, buffer.value.length);
|
|
547
|
+
documentValue.addEventListener("copy", copyExact);
|
|
548
|
+
copied = documentValue.execCommand("copy") === true && (buffer.value === text || exactEvent);
|
|
549
|
+
} catch {
|
|
550
|
+
copied = false;
|
|
551
|
+
} finally {
|
|
552
|
+
documentValue.removeEventListener("copy", copyExact);
|
|
553
|
+
buffer?.remove();
|
|
554
|
+
if (copied && focused?.isConnected === true && typeof focused.focus === "function") {
|
|
555
|
+
try {
|
|
556
|
+
focused.focus({
|
|
557
|
+
preventScroll: true
|
|
558
|
+
});
|
|
559
|
+
} catch {}
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
if (copied)
|
|
563
|
+
return {
|
|
564
|
+
ok: true,
|
|
565
|
+
selected: false
|
|
566
|
+
};
|
|
567
|
+
let selected = false;
|
|
568
|
+
try {
|
|
569
|
+
const selection = documentValue.defaultView?.getSelection();
|
|
570
|
+
if (selection !== null && selection !== undefined) {
|
|
571
|
+
const range = documentValue.createRange();
|
|
572
|
+
range.selectNodeContents(source);
|
|
573
|
+
selection.removeAllRanges();
|
|
574
|
+
selection.addRange(range);
|
|
575
|
+
source.focus();
|
|
576
|
+
selected = true;
|
|
577
|
+
}
|
|
578
|
+
return {
|
|
579
|
+
ok: false,
|
|
580
|
+
selected
|
|
581
|
+
};
|
|
582
|
+
} catch {
|
|
583
|
+
return {
|
|
584
|
+
ok: false,
|
|
585
|
+
selected
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
function useCopy(text, subject, fallback, onCopied) {
|
|
590
|
+
const [state, setState] = useState("idle");
|
|
591
|
+
const [message, setMessage] = useState("");
|
|
592
|
+
const generation = useRef(0);
|
|
593
|
+
const busy = useRef(false);
|
|
594
|
+
const latestText = useRef(text);
|
|
595
|
+
const timer = useRef(null);
|
|
596
|
+
latestText.current = text;
|
|
597
|
+
useEffect(() => {
|
|
598
|
+
generation.current += 1;
|
|
599
|
+
busy.current = false;
|
|
600
|
+
setState("idle");
|
|
601
|
+
setMessage("");
|
|
602
|
+
return () => {
|
|
603
|
+
generation.current += 1;
|
|
604
|
+
busy.current = false;
|
|
605
|
+
if (timer.current !== null)
|
|
606
|
+
clearTimeout(timer.current);
|
|
607
|
+
};
|
|
608
|
+
}, [text, subject]);
|
|
609
|
+
const copy = useCallback(async () => {
|
|
610
|
+
if (busy.current)
|
|
611
|
+
return false;
|
|
612
|
+
if (timer.current !== null)
|
|
613
|
+
clearTimeout(timer.current);
|
|
614
|
+
busy.current = true;
|
|
615
|
+
const request = ++generation.current;
|
|
616
|
+
setState("copying");
|
|
617
|
+
setMessage(`Copying ${subject}.`);
|
|
618
|
+
const result = await copyText(text, () => generation.current === request && latestText.current === text ? fallback() : null);
|
|
619
|
+
if (generation.current !== request || latestText.current !== text)
|
|
620
|
+
return false;
|
|
621
|
+
busy.current = false;
|
|
622
|
+
setState(result.ok ? "copied" : "failed");
|
|
623
|
+
setMessage(result.ok ? `Copied ${subject}.` : result.selected ? `Copy failed. The ${subject} is selected; copy it with your keyboard.` : `Copy failed. Select the ${subject} and copy it with your keyboard.`);
|
|
624
|
+
if (result.ok && onCopied !== undefined) {
|
|
625
|
+
try {
|
|
626
|
+
onCopied();
|
|
627
|
+
} catch {}
|
|
628
|
+
}
|
|
629
|
+
timer.current = setTimeout(() => {
|
|
630
|
+
if (generation.current !== request)
|
|
631
|
+
return;
|
|
632
|
+
setState("idle");
|
|
633
|
+
setMessage("");
|
|
634
|
+
}, 2000);
|
|
635
|
+
return result.ok && generation.current === request && latestText.current === text;
|
|
636
|
+
}, [fallback, onCopied, subject, text]);
|
|
637
|
+
return {
|
|
638
|
+
state,
|
|
639
|
+
message,
|
|
640
|
+
copy
|
|
641
|
+
};
|
|
642
|
+
}
|
|
643
|
+
function CopyGlyph({
|
|
644
|
+
copied
|
|
645
|
+
}) {
|
|
646
|
+
return /* @__PURE__ */ jsx2("svg", {
|
|
647
|
+
"aria-hidden": "true",
|
|
648
|
+
className: agentSetupClassName(["copyIcon"]),
|
|
649
|
+
fill: "none",
|
|
650
|
+
focusable: "false",
|
|
651
|
+
stroke: "currentColor",
|
|
652
|
+
strokeLinecap: "round",
|
|
653
|
+
strokeLinejoin: "round",
|
|
654
|
+
strokeWidth: 2,
|
|
655
|
+
viewBox: "0 0 24 24",
|
|
656
|
+
children: copied ? /* @__PURE__ */ jsx2("path", {
|
|
657
|
+
d: "M5 12.5l4.5 4.5L19 7.5"
|
|
658
|
+
}) : /* @__PURE__ */ jsxs(Fragment, {
|
|
659
|
+
children: [
|
|
660
|
+
/* @__PURE__ */ jsx2("rect", {
|
|
661
|
+
height: "12",
|
|
662
|
+
rx: "2",
|
|
663
|
+
width: "12",
|
|
664
|
+
x: "8",
|
|
665
|
+
y: "8"
|
|
666
|
+
}),
|
|
667
|
+
/* @__PURE__ */ jsx2("path", {
|
|
668
|
+
d: "M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"
|
|
669
|
+
})
|
|
670
|
+
]
|
|
671
|
+
})
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
function CopyButton({
|
|
675
|
+
copy,
|
|
676
|
+
overlay = false,
|
|
677
|
+
state,
|
|
678
|
+
subject
|
|
679
|
+
}) {
|
|
680
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
681
|
+
"aria-busy": state === "copying" || undefined,
|
|
682
|
+
"aria-label": `${state === "copied" ? "Copied" : "Copy"} ${subject}`,
|
|
683
|
+
className: agentSetupClassName(["copy", overlay && "copyOverlay"]),
|
|
684
|
+
"data-copy-state": state,
|
|
685
|
+
disabled: state === "copying",
|
|
686
|
+
onClick: () => {
|
|
687
|
+
copy();
|
|
688
|
+
},
|
|
689
|
+
type: "button",
|
|
690
|
+
children: [
|
|
691
|
+
/* @__PURE__ */ jsx2(CopyGlyph, {
|
|
692
|
+
copied: state === "copied"
|
|
693
|
+
}),
|
|
694
|
+
/* @__PURE__ */ jsx2("span", {
|
|
695
|
+
children: state === "copied" ? "Copied" : state === "copying" ? "Copying" : state === "failed" ? "Copy failed" : "Copy"
|
|
696
|
+
})
|
|
697
|
+
]
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
function CopyStatus({
|
|
701
|
+
children
|
|
702
|
+
}) {
|
|
703
|
+
return /* @__PURE__ */ jsx2("p", {
|
|
704
|
+
"aria-atomic": "true",
|
|
705
|
+
"aria-live": "polite",
|
|
706
|
+
className: agentSetupClassName(["status"]),
|
|
707
|
+
role: "status",
|
|
708
|
+
children
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
function closeReservedTab(tab) {
|
|
712
|
+
try {
|
|
713
|
+
if (tab !== null && !tab.closed)
|
|
714
|
+
tab.close();
|
|
715
|
+
} catch {}
|
|
716
|
+
}
|
|
717
|
+
function reserveTargetTab(owner) {
|
|
718
|
+
let tab = null;
|
|
719
|
+
try {
|
|
720
|
+
tab = owner?.open("about:blank", "_blank") ?? null;
|
|
721
|
+
if (tab !== null) {
|
|
722
|
+
tab.opener = null;
|
|
723
|
+
const policy = tab.document.createElement("meta");
|
|
724
|
+
policy.name = "referrer";
|
|
725
|
+
policy.content = "no-referrer";
|
|
726
|
+
tab.document.head.append(policy);
|
|
727
|
+
}
|
|
728
|
+
return tab;
|
|
729
|
+
} catch {
|
|
730
|
+
closeReservedTab(tab);
|
|
731
|
+
return null;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
function AgentSetupPrompt({
|
|
735
|
+
prompt,
|
|
736
|
+
label = "Agent setup",
|
|
737
|
+
targets = [],
|
|
738
|
+
className,
|
|
739
|
+
onCopied
|
|
740
|
+
}) {
|
|
741
|
+
assertText(prompt, "Agent setup prompt");
|
|
742
|
+
assertText(label, "Agent setup label");
|
|
743
|
+
assertEntries(targets, "Agent setup target");
|
|
744
|
+
for (const target of targets) {
|
|
745
|
+
assertHref(target.href);
|
|
746
|
+
if (target.mode !== undefined && target.mode !== "prefill" && target.mode !== "copy-and-open")
|
|
747
|
+
throw new RangeError("Unsupported agent setup target mode.");
|
|
748
|
+
}
|
|
749
|
+
const id = useId();
|
|
750
|
+
const [expanded, setExpanded] = useState(false);
|
|
751
|
+
const [handoffMessage, setHandoffMessage] = useState("");
|
|
752
|
+
const details = useRef(null);
|
|
753
|
+
const full = useRef(null);
|
|
754
|
+
const destinationKey = JSON.stringify(targets.map(({
|
|
755
|
+
id: targetId,
|
|
756
|
+
href,
|
|
757
|
+
mode
|
|
758
|
+
}) => [targetId, href, mode ?? "prefill"]));
|
|
759
|
+
const latestHandoff = useRef({
|
|
760
|
+
prompt,
|
|
761
|
+
destinationKey
|
|
762
|
+
});
|
|
763
|
+
latestHandoff.current = {
|
|
764
|
+
prompt,
|
|
765
|
+
destinationKey
|
|
766
|
+
};
|
|
767
|
+
const pendingHandoff = useRef(null);
|
|
768
|
+
const fallback = useCallback(() => {
|
|
769
|
+
if (details.current !== null)
|
|
770
|
+
details.current.open = true;
|
|
771
|
+
setExpanded(true);
|
|
772
|
+
return full.current;
|
|
773
|
+
}, []);
|
|
774
|
+
const {
|
|
775
|
+
state,
|
|
776
|
+
message,
|
|
777
|
+
copy
|
|
778
|
+
} = useCopy(prompt, "setup prompt", fallback, onCopied);
|
|
779
|
+
const copyPrompt = useCallback(() => {
|
|
780
|
+
setHandoffMessage("");
|
|
781
|
+
return copy();
|
|
782
|
+
}, [copy]);
|
|
783
|
+
useEffect(() => {
|
|
784
|
+
setHandoffMessage("");
|
|
785
|
+
return () => {
|
|
786
|
+
const pending = pendingHandoff.current;
|
|
787
|
+
pendingHandoff.current = null;
|
|
788
|
+
closeReservedTab(pending?.tab ?? null);
|
|
789
|
+
};
|
|
790
|
+
}, [destinationKey, prompt]);
|
|
791
|
+
const copyAndOpen = (event, target) => {
|
|
792
|
+
if (event.type === "auxclick" && event.button !== 1)
|
|
793
|
+
return;
|
|
794
|
+
event.preventDefault();
|
|
795
|
+
if (pendingHandoff.current !== null || state === "copying")
|
|
796
|
+
return;
|
|
797
|
+
const href = event.currentTarget.href;
|
|
798
|
+
const copying = copyPrompt();
|
|
799
|
+
const request = {
|
|
800
|
+
tab: reserveTargetTab(event.currentTarget.ownerDocument.defaultView)
|
|
801
|
+
};
|
|
802
|
+
pendingHandoff.current = request;
|
|
803
|
+
(async () => {
|
|
804
|
+
const copied = await copying;
|
|
805
|
+
if (pendingHandoff.current !== request || latestHandoff.current.prompt !== prompt || latestHandoff.current.destinationKey !== destinationKey) {
|
|
806
|
+
closeReservedTab(request.tab);
|
|
807
|
+
return;
|
|
808
|
+
}
|
|
809
|
+
pendingHandoff.current = null;
|
|
810
|
+
if (!copied) {
|
|
811
|
+
closeReservedTab(request.tab);
|
|
812
|
+
return;
|
|
813
|
+
}
|
|
814
|
+
if (request.tab !== null && !request.tab.closed) {
|
|
815
|
+
try {
|
|
816
|
+
request.tab.location.replace(href);
|
|
817
|
+
return;
|
|
818
|
+
} catch {
|
|
819
|
+
closeReservedTab(request.tab);
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
setHandoffMessage(`Copied setup prompt. Open ${target.label} in a new tab.`);
|
|
823
|
+
})();
|
|
824
|
+
};
|
|
825
|
+
useEffect(() => {
|
|
826
|
+
if (typeof window.matchMedia !== "function")
|
|
827
|
+
return;
|
|
828
|
+
const query = window.matchMedia("(forced-colors: active)");
|
|
829
|
+
const apply = () => {
|
|
830
|
+
if (query.matches) {
|
|
831
|
+
if (details.current !== null)
|
|
832
|
+
details.current.open = true;
|
|
833
|
+
setExpanded(true);
|
|
834
|
+
}
|
|
835
|
+
};
|
|
836
|
+
apply();
|
|
837
|
+
query.addEventListener("change", apply);
|
|
838
|
+
return () => {
|
|
839
|
+
query.removeEventListener("change", apply);
|
|
840
|
+
};
|
|
841
|
+
}, []);
|
|
842
|
+
return /* @__PURE__ */ jsxs("section", {
|
|
843
|
+
"aria-label": label,
|
|
844
|
+
className: agentSetupClassName(["root"], className),
|
|
845
|
+
"data-hraness-agent-setup-prompt": "",
|
|
846
|
+
children: [
|
|
847
|
+
/* @__PURE__ */ jsxs("div", {
|
|
848
|
+
className: agentSetupClassName(["layout", targets.length > 0 && "withTargets"]),
|
|
849
|
+
children: [
|
|
850
|
+
/* @__PURE__ */ jsxs("div", {
|
|
851
|
+
className: agentSetupClassName(["frame"]),
|
|
852
|
+
"data-copy-state": state,
|
|
853
|
+
children: [
|
|
854
|
+
/* @__PURE__ */ jsx2("div", {
|
|
855
|
+
className: agentSetupClassName(["preview"]),
|
|
856
|
+
hidden: expanded,
|
|
857
|
+
children: /* @__PURE__ */ jsx2("pre", {
|
|
858
|
+
"aria-label": `${label} preview`,
|
|
859
|
+
className: agentSetupClassName(["pre", "previewText"]),
|
|
860
|
+
children: prompt
|
|
861
|
+
})
|
|
862
|
+
}),
|
|
863
|
+
/* @__PURE__ */ jsxs("details", {
|
|
864
|
+
className: agentSetupClassName(["details"]),
|
|
865
|
+
onToggle: (event) => {
|
|
866
|
+
setExpanded(event.currentTarget.open);
|
|
867
|
+
},
|
|
868
|
+
open: expanded,
|
|
869
|
+
ref: details,
|
|
870
|
+
children: [
|
|
871
|
+
/* @__PURE__ */ jsx2("summary", {
|
|
872
|
+
className: agentSetupClassName(["summary"]),
|
|
873
|
+
children: expanded ? "Hide full prompt" : "Show full prompt"
|
|
874
|
+
}),
|
|
875
|
+
/* @__PURE__ */ jsx2("pre", {
|
|
876
|
+
"aria-label": `${label} full prompt`,
|
|
877
|
+
className: agentSetupClassName(["pre", "full"]),
|
|
878
|
+
ref: full,
|
|
879
|
+
tabIndex: 0,
|
|
880
|
+
children: prompt
|
|
881
|
+
})
|
|
882
|
+
]
|
|
883
|
+
}),
|
|
884
|
+
/* @__PURE__ */ jsx2(CopyButton, {
|
|
885
|
+
copy: copyPrompt,
|
|
886
|
+
overlay: true,
|
|
887
|
+
state,
|
|
888
|
+
subject: "setup prompt"
|
|
889
|
+
})
|
|
890
|
+
]
|
|
891
|
+
}),
|
|
892
|
+
targets.length === 0 ? null : /* @__PURE__ */ jsxs("aside", {
|
|
893
|
+
"aria-labelledby": `${id}-targets`,
|
|
894
|
+
className: agentSetupClassName(["targets"]),
|
|
895
|
+
children: [
|
|
896
|
+
/* @__PURE__ */ jsx2("p", {
|
|
897
|
+
className: agentSetupClassName(["targetsLabel"]),
|
|
898
|
+
id: `${id}-targets`,
|
|
899
|
+
children: "Open in"
|
|
900
|
+
}),
|
|
901
|
+
/* @__PURE__ */ jsx2("ul", {
|
|
902
|
+
className: agentSetupClassName(["targetList"]),
|
|
903
|
+
children: targets.map((target) => /* @__PURE__ */ jsx2("li", {
|
|
904
|
+
children: /* @__PURE__ */ jsxs("a", {
|
|
905
|
+
"aria-busy": target.mode === "copy-and-open" && state === "copying" || undefined,
|
|
906
|
+
"aria-disabled": target.mode === "copy-and-open" && state === "copying" || undefined,
|
|
907
|
+
"aria-label": target.mode === "copy-and-open" ? `Copy prompt and open ${target.label}` : undefined,
|
|
908
|
+
className: agentSetupClassName(["target"]),
|
|
909
|
+
"data-agent-target": target.id,
|
|
910
|
+
"data-agent-target-mode": target.mode ?? "prefill",
|
|
911
|
+
href: target.href,
|
|
912
|
+
onAuxClick: target.mode === "copy-and-open" ? (event) => {
|
|
913
|
+
copyAndOpen(event, target);
|
|
914
|
+
} : undefined,
|
|
915
|
+
onClick: target.mode === "copy-and-open" ? (event) => {
|
|
916
|
+
copyAndOpen(event, target);
|
|
917
|
+
} : undefined,
|
|
918
|
+
rel: "noopener noreferrer",
|
|
919
|
+
target: "_blank",
|
|
920
|
+
children: [
|
|
921
|
+
/* @__PURE__ */ jsx2(ProviderMark, {
|
|
922
|
+
mark: target.mark,
|
|
923
|
+
size: 20,
|
|
924
|
+
tone: "inherit"
|
|
925
|
+
}),
|
|
926
|
+
/* @__PURE__ */ jsx2("span", {
|
|
927
|
+
children: target.label
|
|
928
|
+
})
|
|
929
|
+
]
|
|
930
|
+
})
|
|
931
|
+
}, target.id))
|
|
932
|
+
})
|
|
933
|
+
]
|
|
934
|
+
})
|
|
935
|
+
]
|
|
936
|
+
}),
|
|
937
|
+
/* @__PURE__ */ jsx2(CopyStatus, {
|
|
938
|
+
children: handoffMessage || message
|
|
939
|
+
})
|
|
940
|
+
]
|
|
941
|
+
});
|
|
942
|
+
}
|
|
943
|
+
function AgentCommandTabs({
|
|
944
|
+
commands,
|
|
945
|
+
label = "Agent commands",
|
|
946
|
+
initial,
|
|
947
|
+
className
|
|
948
|
+
}) {
|
|
949
|
+
if (commands.length === 0)
|
|
950
|
+
throw new RangeError("AgentCommandTabs needs at least one command.");
|
|
951
|
+
assertText(label, "Agent command tabs label");
|
|
952
|
+
assertEntries(commands, "Agent command");
|
|
953
|
+
for (const entry of commands) {
|
|
954
|
+
assertText(entry.command, "Agent command");
|
|
955
|
+
if (entry.filename !== undefined)
|
|
956
|
+
assertText(entry.filename, "Agent configuration filename");
|
|
957
|
+
}
|
|
958
|
+
if (initial !== undefined && !commands.some((entry) => entry.id === initial))
|
|
959
|
+
throw new RangeError("Initial agent command must be listed.");
|
|
960
|
+
const first = commands[0];
|
|
961
|
+
if (first === undefined)
|
|
962
|
+
throw new RangeError("AgentCommandTabs needs at least one command.");
|
|
963
|
+
const id = useId();
|
|
964
|
+
const [selected, setSelected] = useState(initial ?? first.id);
|
|
965
|
+
const current = commands.find((entry) => entry.id === selected) ?? first;
|
|
966
|
+
const tabs = useRef(new Map);
|
|
967
|
+
const sources = useRef(new Map);
|
|
968
|
+
const fallback = useCallback(() => sources.current.get(current.id) ?? null, [current.id]);
|
|
969
|
+
const {
|
|
970
|
+
state,
|
|
971
|
+
message,
|
|
972
|
+
copy
|
|
973
|
+
} = useCopy(current.command, commandSubject(current), fallback);
|
|
974
|
+
const onTabKey = (event) => {
|
|
975
|
+
const position = commands.findIndex((entry) => entry.id === current.id);
|
|
976
|
+
let next;
|
|
977
|
+
if (event.key === "ArrowRight")
|
|
978
|
+
next = (position + 1) % commands.length;
|
|
979
|
+
else if (event.key === "ArrowLeft")
|
|
980
|
+
next = (position - 1 + commands.length) % commands.length;
|
|
981
|
+
else if (event.key === "Home")
|
|
982
|
+
next = 0;
|
|
983
|
+
else if (event.key === "End")
|
|
984
|
+
next = commands.length - 1;
|
|
985
|
+
else
|
|
986
|
+
return;
|
|
987
|
+
event.preventDefault();
|
|
988
|
+
const target = commands[next];
|
|
989
|
+
if (target === undefined)
|
|
990
|
+
return;
|
|
991
|
+
setSelected(target.id);
|
|
992
|
+
tabs.current.get(target.id)?.focus();
|
|
993
|
+
};
|
|
994
|
+
return /* @__PURE__ */ jsxs("section", {
|
|
995
|
+
"aria-label": label,
|
|
996
|
+
className: agentSetupClassName(["root", "commandRoot"], className),
|
|
997
|
+
"data-hraness-agent-command-tabs": "",
|
|
998
|
+
"data-selected-agent": current.id,
|
|
999
|
+
children: [
|
|
1000
|
+
/* @__PURE__ */ jsx2("div", {
|
|
1001
|
+
"aria-label": label,
|
|
1002
|
+
className: agentSetupClassName(["tablist"]),
|
|
1003
|
+
onKeyDown: onTabKey,
|
|
1004
|
+
role: "tablist",
|
|
1005
|
+
children: commands.map((entry) => /* @__PURE__ */ jsxs("button", {
|
|
1006
|
+
"aria-controls": `${id}-panel-${entry.id}`,
|
|
1007
|
+
"aria-selected": entry.id === current.id,
|
|
1008
|
+
className: agentSetupClassName(["tab", entry.id === current.id && "tabSelected"]),
|
|
1009
|
+
"data-agent": entry.id,
|
|
1010
|
+
id: `${id}-tab-${entry.id}`,
|
|
1011
|
+
onClick: () => {
|
|
1012
|
+
setSelected(entry.id);
|
|
1013
|
+
},
|
|
1014
|
+
ref: (node) => {
|
|
1015
|
+
if (node === null)
|
|
1016
|
+
tabs.current.delete(entry.id);
|
|
1017
|
+
else
|
|
1018
|
+
tabs.current.set(entry.id, node);
|
|
1019
|
+
},
|
|
1020
|
+
role: "tab",
|
|
1021
|
+
tabIndex: entry.id === current.id ? 0 : -1,
|
|
1022
|
+
type: "button",
|
|
1023
|
+
children: [
|
|
1024
|
+
/* @__PURE__ */ jsx2(ProviderMark, {
|
|
1025
|
+
mark: entry.mark,
|
|
1026
|
+
size: 20,
|
|
1027
|
+
tone: "inherit"
|
|
1028
|
+
}),
|
|
1029
|
+
/* @__PURE__ */ jsx2("span", {
|
|
1030
|
+
children: entry.label
|
|
1031
|
+
})
|
|
1032
|
+
]
|
|
1033
|
+
}, entry.id))
|
|
1034
|
+
}),
|
|
1035
|
+
commands.map((entry) => /* @__PURE__ */ jsx2("div", {
|
|
1036
|
+
"aria-labelledby": `${id}-tab-${entry.id}`,
|
|
1037
|
+
className: agentSetupClassName(["panel"]),
|
|
1038
|
+
"data-agent": entry.id,
|
|
1039
|
+
hidden: entry.id !== current.id,
|
|
1040
|
+
id: `${id}-panel-${entry.id}`,
|
|
1041
|
+
role: "tabpanel",
|
|
1042
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
1043
|
+
className: agentSetupClassName(["frame"]),
|
|
1044
|
+
children: [
|
|
1045
|
+
/* @__PURE__ */ jsxs("div", {
|
|
1046
|
+
className: agentSetupClassName(["commandBar"]),
|
|
1047
|
+
children: [
|
|
1048
|
+
/* @__PURE__ */ jsxs("div", {
|
|
1049
|
+
className: agentSetupClassName(["commandLabels"]),
|
|
1050
|
+
children: [
|
|
1051
|
+
/* @__PURE__ */ jsxs("p", {
|
|
1052
|
+
className: agentSetupClassName(["panelLabel"]),
|
|
1053
|
+
children: [
|
|
1054
|
+
/* @__PURE__ */ jsx2(ProviderMark, {
|
|
1055
|
+
mark: entry.mark,
|
|
1056
|
+
size: 20,
|
|
1057
|
+
tone: "inherit"
|
|
1058
|
+
}),
|
|
1059
|
+
entry.label
|
|
1060
|
+
]
|
|
1061
|
+
}),
|
|
1062
|
+
entry.filename === undefined ? null : /* @__PURE__ */ jsx2("span", {
|
|
1063
|
+
className: agentSetupClassName(["filename"]),
|
|
1064
|
+
children: entry.filename
|
|
1065
|
+
})
|
|
1066
|
+
]
|
|
1067
|
+
}),
|
|
1068
|
+
/* @__PURE__ */ jsx2(CopyButton, {
|
|
1069
|
+
copy,
|
|
1070
|
+
state: entry.id === current.id ? state : "idle",
|
|
1071
|
+
subject: commandSubject(entry)
|
|
1072
|
+
})
|
|
1073
|
+
]
|
|
1074
|
+
}),
|
|
1075
|
+
/* @__PURE__ */ jsx2("pre", {
|
|
1076
|
+
"aria-label": commandSubject(entry),
|
|
1077
|
+
className: agentSetupClassName(["pre", "commandText"]),
|
|
1078
|
+
ref: (node) => {
|
|
1079
|
+
if (node === null)
|
|
1080
|
+
sources.current.delete(entry.id);
|
|
1081
|
+
else
|
|
1082
|
+
sources.current.set(entry.id, node);
|
|
1083
|
+
},
|
|
1084
|
+
tabIndex: 0,
|
|
1085
|
+
children: /* @__PURE__ */ jsx2(SyntaxCode, {
|
|
1086
|
+
className: agentSetupClassName(["code"]),
|
|
1087
|
+
code: entry.command,
|
|
1088
|
+
styles: "classes"
|
|
1089
|
+
})
|
|
1090
|
+
})
|
|
1091
|
+
]
|
|
1092
|
+
})
|
|
1093
|
+
}, entry.id)),
|
|
1094
|
+
/* @__PURE__ */ jsx2(CopyStatus, {
|
|
1095
|
+
children: message
|
|
1096
|
+
})
|
|
1097
|
+
]
|
|
1098
|
+
});
|
|
1099
|
+
}
|
|
190
1100
|
// src/react/app-shell.tsx
|
|
191
1101
|
import { Menu01Icon } from "@hugeicons/core-free-icons";
|
|
192
1102
|
import { DialogContent, DialogTrigger, Icon, IconButton, cn as cn2 } from "@hraness/ui";
|
|
193
|
-
import * as
|
|
194
|
-
import { useEffect, useState } from "react";
|
|
1103
|
+
import * as stylex3 from "@stylexjs/stylex";
|
|
1104
|
+
import { useEffect as useEffect2, useState as useState2 } from "react";
|
|
195
1105
|
|
|
196
1106
|
// src/react/app-shell.stylex.ts
|
|
197
1107
|
var appShellStyles = {
|
|
@@ -267,7 +1177,7 @@ var appShellStyles = {
|
|
|
267
1177
|
};
|
|
268
1178
|
|
|
269
1179
|
// src/react/app-shell.tsx
|
|
270
|
-
import { jsx as
|
|
1180
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
271
1181
|
function AppShell({
|
|
272
1182
|
bottomBar,
|
|
273
1183
|
children,
|
|
@@ -278,46 +1188,46 @@ function AppShell({
|
|
|
278
1188
|
rail,
|
|
279
1189
|
topBar
|
|
280
1190
|
}) {
|
|
281
|
-
const [mobileOpen, setMobileOpen] =
|
|
282
|
-
const rootPresentation =
|
|
283
|
-
const topPresentation =
|
|
284
|
-
const railPresentation =
|
|
285
|
-
const mobileTriggerPresentation =
|
|
286
|
-
const drawerPresentation =
|
|
287
|
-
const pagePresentation =
|
|
288
|
-
const bottomPresentation =
|
|
289
|
-
|
|
1191
|
+
const [mobileOpen, setMobileOpen] = useState2(false);
|
|
1192
|
+
const rootPresentation = stylex3.props(appShellStyles.root);
|
|
1193
|
+
const topPresentation = stylex3.props(appShellStyles.top);
|
|
1194
|
+
const railPresentation = stylex3.props(appShellStyles.rail);
|
|
1195
|
+
const mobileTriggerPresentation = stylex3.props(appShellStyles.mobileTrigger);
|
|
1196
|
+
const drawerPresentation = stylex3.props(appShellStyles.drawer);
|
|
1197
|
+
const pagePresentation = stylex3.props(appShellStyles.page);
|
|
1198
|
+
const bottomPresentation = stylex3.props(appShellStyles.bottom);
|
|
1199
|
+
useEffect2(() => {
|
|
290
1200
|
setMobileOpen(false);
|
|
291
1201
|
}, [navigationKey]);
|
|
292
|
-
return /* @__PURE__ */
|
|
1202
|
+
return /* @__PURE__ */ jsxs2("div", {
|
|
293
1203
|
...rootPresentation,
|
|
294
1204
|
className: cn2("hraness-design-app-shell", rootPresentation.className, className),
|
|
295
1205
|
children: [
|
|
296
|
-
/* @__PURE__ */
|
|
1206
|
+
/* @__PURE__ */ jsx3("div", {
|
|
297
1207
|
...topPresentation,
|
|
298
1208
|
className: cn2("hraness-design-app-shell__top", topPresentation.className),
|
|
299
1209
|
children: topBar
|
|
300
1210
|
}),
|
|
301
|
-
/* @__PURE__ */
|
|
1211
|
+
/* @__PURE__ */ jsx3("div", {
|
|
302
1212
|
...railPresentation,
|
|
303
1213
|
className: cn2("hraness-design-app-shell__rail", railPresentation.className),
|
|
304
1214
|
children: rail
|
|
305
1215
|
}),
|
|
306
|
-
/* @__PURE__ */
|
|
1216
|
+
/* @__PURE__ */ jsx3("div", {
|
|
307
1217
|
...mobileTriggerPresentation,
|
|
308
1218
|
className: cn2("hraness-design-app-shell__mobile-trigger", mobileTriggerPresentation.className),
|
|
309
|
-
children: /* @__PURE__ */
|
|
1219
|
+
children: /* @__PURE__ */ jsxs2(DialogTrigger, {
|
|
310
1220
|
isOpen: mobileOpen,
|
|
311
1221
|
onOpenChange: setMobileOpen,
|
|
312
1222
|
children: [
|
|
313
|
-
/* @__PURE__ */
|
|
1223
|
+
/* @__PURE__ */ jsx3(IconButton, {
|
|
314
1224
|
"aria-label": openNavigationLabel,
|
|
315
1225
|
size: "compact",
|
|
316
|
-
children: /* @__PURE__ */
|
|
1226
|
+
children: /* @__PURE__ */ jsx3(Icon, {
|
|
317
1227
|
icon: Menu01Icon
|
|
318
1228
|
})
|
|
319
1229
|
}),
|
|
320
|
-
/* @__PURE__ */
|
|
1230
|
+
/* @__PURE__ */ jsx3(DialogContent, {
|
|
321
1231
|
className: cn2("hraness-design-app-shell__drawer", drawerPresentation.className),
|
|
322
1232
|
size: "small",
|
|
323
1233
|
title: mobileNavigationLabel,
|
|
@@ -326,12 +1236,12 @@ function AppShell({
|
|
|
326
1236
|
]
|
|
327
1237
|
})
|
|
328
1238
|
}),
|
|
329
|
-
/* @__PURE__ */
|
|
1239
|
+
/* @__PURE__ */ jsx3("div", {
|
|
330
1240
|
...pagePresentation,
|
|
331
1241
|
className: cn2("hraness-design-app-shell__page", pagePresentation.className),
|
|
332
1242
|
children
|
|
333
1243
|
}),
|
|
334
|
-
bottomBar === undefined ? null : /* @__PURE__ */
|
|
1244
|
+
bottomBar === undefined ? null : /* @__PURE__ */ jsx3("div", {
|
|
335
1245
|
...bottomPresentation,
|
|
336
1246
|
className: cn2("hraness-design-app-shell__bottom", bottomPresentation.className),
|
|
337
1247
|
children: bottomBar
|
|
@@ -341,13 +1251,13 @@ function AppShell({
|
|
|
341
1251
|
}
|
|
342
1252
|
// src/react/aurora-dots-background.tsx
|
|
343
1253
|
import { cn as cn4 } from "@hraness/ui";
|
|
344
|
-
import * as
|
|
1254
|
+
import * as stylex5 from "@stylexjs/stylex";
|
|
345
1255
|
|
|
346
1256
|
// src/react/phaser-dots.tsx
|
|
347
|
-
import { useEffect as
|
|
1257
|
+
import { useEffect as useEffect3, useRef as useRef2 } from "react";
|
|
348
1258
|
import { cn as cn3 } from "@hraness/ui";
|
|
349
|
-
import * as
|
|
350
|
-
import { jsx as
|
|
1259
|
+
import * as stylex4 from "@stylexjs/stylex";
|
|
1260
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
351
1261
|
var DOT_PATTERN = "hraness-design-phaser-dots__static";
|
|
352
1262
|
var INERT_PROPS = {
|
|
353
1263
|
inert: true
|
|
@@ -359,11 +1269,11 @@ function PhaserDots({
|
|
|
359
1269
|
dotClassName,
|
|
360
1270
|
trailClassName,
|
|
361
1271
|
style,
|
|
362
|
-
...
|
|
1272
|
+
...props5
|
|
363
1273
|
}) {
|
|
364
|
-
const containerRef =
|
|
365
|
-
const canvasRef =
|
|
366
|
-
|
|
1274
|
+
const containerRef = useRef2(null);
|
|
1275
|
+
const canvasRef = useRef2(null);
|
|
1276
|
+
useEffect3(() => {
|
|
367
1277
|
if (!mouseGlow)
|
|
368
1278
|
return;
|
|
369
1279
|
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches)
|
|
@@ -727,11 +1637,11 @@ function PhaserDots({
|
|
|
727
1637
|
maskImage: maskGradient,
|
|
728
1638
|
...style
|
|
729
1639
|
} : style;
|
|
730
|
-
const rootPresentation =
|
|
731
|
-
const staticPresentation =
|
|
732
|
-
const trailPresentation =
|
|
733
|
-
return /* @__PURE__ */
|
|
734
|
-
...
|
|
1640
|
+
const rootPresentation = stylex4.props(effectsStyles.phaserSlot, effectsStyles.phaserRoot);
|
|
1641
|
+
const staticPresentation = stylex4.props(effectsStyles.phaserSlot, effectsStyles.phaserStatic, !dotClassName && effectsStyles.phaserStaticDefault);
|
|
1642
|
+
const trailPresentation = stylex4.props(effectsStyles.phaserSlot, effectsStyles.phaserTrail, !trailClassName && effectsStyles.phaserTrailDefault);
|
|
1643
|
+
return /* @__PURE__ */ jsxs3("div", {
|
|
1644
|
+
...props5,
|
|
735
1645
|
...INERT_PROPS,
|
|
736
1646
|
ref: containerRef,
|
|
737
1647
|
role: "presentation",
|
|
@@ -739,10 +1649,10 @@ function PhaserDots({
|
|
|
739
1649
|
className: cn3("hraness-design-phaser-dots", rootPresentation.className, className),
|
|
740
1650
|
style: mergedStyle,
|
|
741
1651
|
children: [
|
|
742
|
-
/* @__PURE__ */
|
|
1652
|
+
/* @__PURE__ */ jsx4("div", {
|
|
743
1653
|
className: cn3(DOT_PATTERN, staticPresentation.className, dotClassName)
|
|
744
1654
|
}),
|
|
745
|
-
mouseGlow && /* @__PURE__ */
|
|
1655
|
+
mouseGlow && /* @__PURE__ */ jsx4("canvas", {
|
|
746
1656
|
ref: canvasRef,
|
|
747
1657
|
className: cn3("hraness-design-phaser-dots__trail", trailPresentation.className, trailClassName)
|
|
748
1658
|
})
|
|
@@ -751,20 +1661,20 @@ function PhaserDots({
|
|
|
751
1661
|
}
|
|
752
1662
|
|
|
753
1663
|
// src/react/aurora-dots-background.tsx
|
|
754
|
-
import { jsx as
|
|
1664
|
+
import { jsx as jsx5, jsxs as jsxs4, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
755
1665
|
function AuroraDotsBackground() {
|
|
756
|
-
const backgroundPresentation =
|
|
757
|
-
const dotsPresentation =
|
|
758
|
-
return /* @__PURE__ */
|
|
1666
|
+
const backgroundPresentation = stylex5.props(effectsStyles.auroraBackground);
|
|
1667
|
+
const dotsPresentation = stylex5.props(effectsStyles.auroraDots);
|
|
1668
|
+
return /* @__PURE__ */ jsxs4(Fragment2, {
|
|
759
1669
|
children: [
|
|
760
|
-
/* @__PURE__ */
|
|
1670
|
+
/* @__PURE__ */ jsx5("div", {
|
|
761
1671
|
"aria-hidden": "true",
|
|
762
1672
|
className: cn4("hraness-design-aurora-background", backgroundPresentation.className)
|
|
763
1673
|
}),
|
|
764
|
-
/* @__PURE__ */
|
|
1674
|
+
/* @__PURE__ */ jsx5("div", {
|
|
765
1675
|
"aria-hidden": "true",
|
|
766
1676
|
className: cn4("hraness-design-aurora-dots", dotsPresentation.className),
|
|
767
|
-
children: /* @__PURE__ */
|
|
1677
|
+
children: /* @__PURE__ */ jsx5(PhaserDots, {
|
|
768
1678
|
mouseGlow: true
|
|
769
1679
|
})
|
|
770
1680
|
})
|
|
@@ -773,7 +1683,7 @@ function AuroraDotsBackground() {
|
|
|
773
1683
|
}
|
|
774
1684
|
// src/react/chat.tsx
|
|
775
1685
|
import { Button, TextAreaField, cn as cn5 } from "@hraness/ui";
|
|
776
|
-
import * as
|
|
1686
|
+
import * as stylex6 from "@stylexjs/stylex";
|
|
777
1687
|
|
|
778
1688
|
// src/react/chat.stylex.ts
|
|
779
1689
|
var chatStyles = {
|
|
@@ -810,7 +1720,7 @@ var chatStyles = {
|
|
|
810
1720
|
};
|
|
811
1721
|
|
|
812
1722
|
// src/react/chat.tsx
|
|
813
|
-
import { jsx as
|
|
1723
|
+
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
814
1724
|
function ChatMessage({
|
|
815
1725
|
actions,
|
|
816
1726
|
avatar,
|
|
@@ -820,41 +1730,41 @@ function ChatMessage({
|
|
|
820
1730
|
name,
|
|
821
1731
|
role
|
|
822
1732
|
}) {
|
|
823
|
-
const messagePresentation =
|
|
824
|
-
const minInlinePresentation =
|
|
825
|
-
const rowPresentation =
|
|
826
|
-
const headerPresentation =
|
|
827
|
-
return /* @__PURE__ */
|
|
1733
|
+
const messagePresentation = stylex6.props(chatStyles.message);
|
|
1734
|
+
const minInlinePresentation = stylex6.props(chatStyles.messageMinInline);
|
|
1735
|
+
const rowPresentation = stylex6.props(chatStyles.messageRow);
|
|
1736
|
+
const headerPresentation = stylex6.props(chatStyles.messageRow, chatStyles.messageHeader);
|
|
1737
|
+
return /* @__PURE__ */ jsxs5("article", {
|
|
828
1738
|
...messagePresentation,
|
|
829
1739
|
className: cn5("hraness-design-chat-message", messagePresentation.className, className),
|
|
830
1740
|
"data-role": role,
|
|
831
1741
|
children: [
|
|
832
|
-
avatar === undefined ? null : /* @__PURE__ */
|
|
1742
|
+
avatar === undefined ? null : /* @__PURE__ */ jsx6("div", {
|
|
833
1743
|
className: "hraness-design-chat-message__avatar",
|
|
834
1744
|
children: avatar
|
|
835
1745
|
}),
|
|
836
|
-
/* @__PURE__ */
|
|
1746
|
+
/* @__PURE__ */ jsxs5("div", {
|
|
837
1747
|
...minInlinePresentation,
|
|
838
1748
|
className: cn5("hraness-design-chat-message__content", minInlinePresentation.className),
|
|
839
1749
|
children: [
|
|
840
|
-
name === undefined && meta === undefined ? null : /* @__PURE__ */
|
|
1750
|
+
name === undefined && meta === undefined ? null : /* @__PURE__ */ jsxs5("header", {
|
|
841
1751
|
...headerPresentation,
|
|
842
1752
|
className: cn5("hraness-design-chat-message__header", headerPresentation.className),
|
|
843
1753
|
children: [
|
|
844
|
-
name === undefined ? null : /* @__PURE__ */
|
|
1754
|
+
name === undefined ? null : /* @__PURE__ */ jsx6("strong", {
|
|
845
1755
|
children: name
|
|
846
1756
|
}),
|
|
847
|
-
meta === undefined ? null : /* @__PURE__ */
|
|
1757
|
+
meta === undefined ? null : /* @__PURE__ */ jsx6("span", {
|
|
848
1758
|
children: meta
|
|
849
1759
|
})
|
|
850
1760
|
]
|
|
851
1761
|
}),
|
|
852
|
-
/* @__PURE__ */
|
|
1762
|
+
/* @__PURE__ */ jsx6("div", {
|
|
853
1763
|
...minInlinePresentation,
|
|
854
1764
|
className: cn5("hraness-design-chat-message__body", minInlinePresentation.className),
|
|
855
1765
|
children
|
|
856
1766
|
}),
|
|
857
|
-
actions === undefined ? null : /* @__PURE__ */
|
|
1767
|
+
actions === undefined ? null : /* @__PURE__ */ jsx6("footer", {
|
|
858
1768
|
...rowPresentation,
|
|
859
1769
|
className: cn5("hraness-design-chat-message__actions", rowPresentation.className),
|
|
860
1770
|
children: actions
|
|
@@ -874,22 +1784,22 @@ function ChatComposer({
|
|
|
874
1784
|
placeholder,
|
|
875
1785
|
sendLabel = "Send",
|
|
876
1786
|
value,
|
|
877
|
-
...
|
|
1787
|
+
...props7
|
|
878
1788
|
}) {
|
|
879
|
-
const presentation =
|
|
1789
|
+
const presentation = stylex6.props(chatStyles.composer);
|
|
880
1790
|
const handleSubmit = (event) => {
|
|
881
1791
|
event.preventDefault();
|
|
882
1792
|
if (isDisabled || isPending || value.trim().length === 0)
|
|
883
1793
|
return;
|
|
884
1794
|
onSubmit();
|
|
885
1795
|
};
|
|
886
|
-
return /* @__PURE__ */
|
|
1796
|
+
return /* @__PURE__ */ jsxs5("form", {
|
|
887
1797
|
...presentation,
|
|
888
|
-
...
|
|
1798
|
+
...props7,
|
|
889
1799
|
className: cn5("hraness-design-chat-composer", presentation.className, className),
|
|
890
1800
|
onSubmit: handleSubmit,
|
|
891
1801
|
children: [
|
|
892
|
-
/* @__PURE__ */
|
|
1802
|
+
/* @__PURE__ */ jsx6(TextAreaField, {
|
|
893
1803
|
...placeholder === undefined ? {} : {
|
|
894
1804
|
placeholder
|
|
895
1805
|
},
|
|
@@ -904,7 +1814,7 @@ function ChatComposer({
|
|
|
904
1814
|
},
|
|
905
1815
|
value
|
|
906
1816
|
}),
|
|
907
|
-
/* @__PURE__ */
|
|
1817
|
+
/* @__PURE__ */ jsx6(Button, {
|
|
908
1818
|
className: "hraness-design-chat-composer__send",
|
|
909
1819
|
isDisabled: isDisabled || value.trim().length === 0,
|
|
910
1820
|
isPending,
|
|
@@ -917,7 +1827,7 @@ function ChatComposer({
|
|
|
917
1827
|
}
|
|
918
1828
|
// src/react/design-theme-context.tsx
|
|
919
1829
|
import { createContext, useContext, useMemo } from "react";
|
|
920
|
-
import { jsx as
|
|
1830
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
921
1831
|
var DesignThemeContext = createContext({});
|
|
922
1832
|
function DesignPortalThemeProvider({
|
|
923
1833
|
children,
|
|
@@ -932,7 +1842,7 @@ function DesignPortalThemeProvider({
|
|
|
932
1842
|
theme
|
|
933
1843
|
}
|
|
934
1844
|
}), [portalClassName, theme]);
|
|
935
|
-
return /* @__PURE__ */
|
|
1845
|
+
return /* @__PURE__ */ jsx7(DesignThemeContext.Provider, {
|
|
936
1846
|
value,
|
|
937
1847
|
children
|
|
938
1848
|
});
|
|
@@ -945,8 +1855,8 @@ function useDesignPortalClassName() {
|
|
|
945
1855
|
}
|
|
946
1856
|
// src/react/design-palette.tsx
|
|
947
1857
|
import { AppearanceIcon, cn as cn6 } from "@hraness/ui";
|
|
948
|
-
import * as
|
|
949
|
-
import { createContext as createContext2, useContext as useContext2, useEffect as
|
|
1858
|
+
import * as stylex7 from "@stylexjs/stylex";
|
|
1859
|
+
import { createContext as createContext2, useContext as useContext2, useEffect as useEffect4, useId as useId2, useMemo as useMemo2, useRef as useRef3, useState as useState3, useSyncExternalStore } from "react";
|
|
950
1860
|
|
|
951
1861
|
// src/browser/theme-color-sync.ts
|
|
952
1862
|
var themeColorSyncActiveAttribute = "data-hraness-design-theme-color-sync-active";
|
|
@@ -1406,7 +2316,7 @@ var paletteMenuStyles = {
|
|
|
1406
2316
|
};
|
|
1407
2317
|
|
|
1408
2318
|
// src/react/design-palette.tsx
|
|
1409
|
-
import { jsx as
|
|
2319
|
+
import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1410
2320
|
import { createElement } from "react";
|
|
1411
2321
|
var DesignPaletteContext = createContext2(null);
|
|
1412
2322
|
var noSubscribe = () => () => {
|
|
@@ -1427,8 +2337,8 @@ function DesignPaletteProvider({
|
|
|
1427
2337
|
...forcedPreference
|
|
1428
2338
|
}, [forcedPreference?.palette, forcedPreference?.mode]);
|
|
1429
2339
|
const serverSnapshot = useMemo2(() => designPaletteSnapshot(forced ?? fallback, false, forced !== undefined), [fallback, forced]);
|
|
1430
|
-
const [controller, setController] =
|
|
1431
|
-
|
|
2340
|
+
const [controller, setController] = useState3(null);
|
|
2341
|
+
useEffect4(() => {
|
|
1432
2342
|
const current = initDesignPalette({
|
|
1433
2343
|
defaultPreference: fallback,
|
|
1434
2344
|
...forced === undefined ? {} : {
|
|
@@ -1466,9 +2376,9 @@ function DesignPaletteProvider({
|
|
|
1466
2376
|
});
|
|
1467
2377
|
}
|
|
1468
2378
|
}), [snapshot, controller]);
|
|
1469
|
-
return /* @__PURE__ */
|
|
2379
|
+
return /* @__PURE__ */ jsx8(DesignPaletteContext.Provider, {
|
|
1470
2380
|
value,
|
|
1471
|
-
children: /* @__PURE__ */
|
|
2381
|
+
children: /* @__PURE__ */ jsx8(DesignPortalThemeProvider, {
|
|
1472
2382
|
portalClassName: snapshot.className,
|
|
1473
2383
|
theme: snapshot.resolvedMode,
|
|
1474
2384
|
children
|
|
@@ -1487,10 +2397,10 @@ function DesignPaletteMenuButton({
|
|
|
1487
2397
|
value: controlledMode
|
|
1488
2398
|
}) {
|
|
1489
2399
|
const palette = useDesignPalette();
|
|
1490
|
-
const detailsRef =
|
|
1491
|
-
const pointerInside =
|
|
1492
|
-
const groupId =
|
|
1493
|
-
|
|
2400
|
+
const detailsRef = useRef3(null);
|
|
2401
|
+
const pointerInside = useRef3(false);
|
|
2402
|
+
const groupId = useId2();
|
|
2403
|
+
useEffect4(() => {
|
|
1494
2404
|
const details = detailsRef.current;
|
|
1495
2405
|
if (details === null)
|
|
1496
2406
|
return;
|
|
@@ -1557,9 +2467,9 @@ function DesignPaletteMenuButton({
|
|
|
1557
2467
|
const mode = controlledMode ?? palette.preference.mode;
|
|
1558
2468
|
const ready = palette.ready && !palette.isForced;
|
|
1559
2469
|
const title = `${ariaLabel}: ${designPaletteLabels[palette.preference.palette]}, ${designThemeLabel(mode, labels)}`;
|
|
1560
|
-
return /* @__PURE__ */
|
|
1561
|
-
...
|
|
1562
|
-
className: cn6("hraness-design-theme-toggle", "hraness-design-palette-menu",
|
|
2470
|
+
return /* @__PURE__ */ jsxs6("details", {
|
|
2471
|
+
...stylex7.props(paletteMenuStyles.root),
|
|
2472
|
+
className: cn6("hraness-design-theme-toggle", "hraness-design-palette-menu", stylex7.props(paletteMenuStyles.root).className, className),
|
|
1563
2473
|
"data-hraness-appearance-menu": "",
|
|
1564
2474
|
"data-presentation": "menu",
|
|
1565
2475
|
"data-ready": ready ? "true" : "false",
|
|
@@ -1569,8 +2479,8 @@ function DesignPaletteMenuButton({
|
|
|
1569
2479
|
event.currentTarget.open = false;
|
|
1570
2480
|
},
|
|
1571
2481
|
children: [
|
|
1572
|
-
/* @__PURE__ */
|
|
1573
|
-
...
|
|
2482
|
+
/* @__PURE__ */ jsx8("summary", {
|
|
2483
|
+
...stylex7.props(paletteMenuStyles.trigger, size === "default" && paletteMenuStyles.triggerDefault),
|
|
1574
2484
|
"aria-disabled": !ready || undefined,
|
|
1575
2485
|
"aria-label": title,
|
|
1576
2486
|
onClick: (event) => {
|
|
@@ -1579,50 +2489,50 @@ function DesignPaletteMenuButton({
|
|
|
1579
2489
|
},
|
|
1580
2490
|
tabIndex: ready ? 0 : -1,
|
|
1581
2491
|
title,
|
|
1582
|
-
children: /* @__PURE__ */
|
|
2492
|
+
children: /* @__PURE__ */ jsx8(AppearanceIcon, {
|
|
1583
2493
|
name: mode,
|
|
1584
2494
|
xstyle: paletteMenuStyles.icon
|
|
1585
2495
|
})
|
|
1586
2496
|
}),
|
|
1587
|
-
/* @__PURE__ */
|
|
1588
|
-
...
|
|
2497
|
+
/* @__PURE__ */ jsxs6("div", {
|
|
2498
|
+
...stylex7.props(paletteMenuStyles.panel),
|
|
1589
2499
|
children: [
|
|
1590
|
-
/* @__PURE__ */
|
|
1591
|
-
...
|
|
2500
|
+
/* @__PURE__ */ jsxs6("fieldset", {
|
|
2501
|
+
...stylex7.props(paletteMenuStyles.group),
|
|
1592
2502
|
disabled: !ready,
|
|
1593
2503
|
children: [
|
|
1594
|
-
/* @__PURE__ */
|
|
1595
|
-
...
|
|
2504
|
+
/* @__PURE__ */ jsx8("legend", {
|
|
2505
|
+
...stylex7.props(paletteMenuStyles.legend),
|
|
1596
2506
|
children: "Theme"
|
|
1597
2507
|
}),
|
|
1598
2508
|
designPalettes.map((id) => /* @__PURE__ */ createElement("label", {
|
|
1599
|
-
...
|
|
2509
|
+
...stylex7.props(paletteMenuStyles.choice),
|
|
1600
2510
|
key: id
|
|
1601
|
-
}, /* @__PURE__ */
|
|
1602
|
-
...
|
|
2511
|
+
}, /* @__PURE__ */ jsx8("input", {
|
|
2512
|
+
...stylex7.props(paletteMenuStyles.radio),
|
|
1603
2513
|
checked: palette.preference.palette === id,
|
|
1604
2514
|
name: `${groupId}-palette`,
|
|
1605
2515
|
onChange: () => palette.setPalette(id),
|
|
1606
2516
|
type: "radio",
|
|
1607
2517
|
value: id
|
|
1608
|
-
}), /* @__PURE__ */
|
|
2518
|
+
}), /* @__PURE__ */ jsx8("span", {
|
|
1609
2519
|
children: designPaletteLabels[id]
|
|
1610
2520
|
})))
|
|
1611
2521
|
]
|
|
1612
2522
|
}),
|
|
1613
|
-
/* @__PURE__ */
|
|
1614
|
-
...
|
|
2523
|
+
/* @__PURE__ */ jsxs6("fieldset", {
|
|
2524
|
+
...stylex7.props(paletteMenuStyles.group),
|
|
1615
2525
|
disabled: !ready,
|
|
1616
2526
|
children: [
|
|
1617
|
-
/* @__PURE__ */
|
|
1618
|
-
...
|
|
2527
|
+
/* @__PURE__ */ jsx8("legend", {
|
|
2528
|
+
...stylex7.props(paletteMenuStyles.legend),
|
|
1619
2529
|
children: "Appearance"
|
|
1620
2530
|
}),
|
|
1621
2531
|
designThemes.map((id) => /* @__PURE__ */ createElement("label", {
|
|
1622
|
-
...
|
|
2532
|
+
...stylex7.props(paletteMenuStyles.choice),
|
|
1623
2533
|
key: id
|
|
1624
|
-
}, /* @__PURE__ */
|
|
1625
|
-
...
|
|
2534
|
+
}, /* @__PURE__ */ jsx8("input", {
|
|
2535
|
+
...stylex7.props(paletteMenuStyles.radio),
|
|
1626
2536
|
checked: mode === id,
|
|
1627
2537
|
name: `${groupId}-mode`,
|
|
1628
2538
|
onChange: () => {
|
|
@@ -1633,7 +2543,7 @@ function DesignPaletteMenuButton({
|
|
|
1633
2543
|
},
|
|
1634
2544
|
type: "radio",
|
|
1635
2545
|
value: id
|
|
1636
|
-
}), /* @__PURE__ */
|
|
2546
|
+
}), /* @__PURE__ */ jsx8("span", {
|
|
1637
2547
|
children: designThemeLabel(id, labels)
|
|
1638
2548
|
})))
|
|
1639
2549
|
]
|
|
@@ -1646,11 +2556,11 @@ function DesignPaletteMenuButton({
|
|
|
1646
2556
|
// src/react/design-gallery.tsx
|
|
1647
2557
|
import { Badge, Button as Button3, Card, CardContent, CardDescription, CardHeader, CardTitle, Icon as Icon3, LinkButton, SegmentedControl as SegmentedControl2, Slider, Tag, ViewportFrame, WrappingRow } from "@hraness/ui";
|
|
1648
2558
|
import { Chart01Icon, CodeIcon, DashboardSquare01Icon } from "@hugeicons/core-free-icons";
|
|
1649
|
-
import { useState as
|
|
2559
|
+
import { useState as useState6 } from "react";
|
|
1650
2560
|
|
|
1651
2561
|
// src/react/fader.tsx
|
|
1652
2562
|
import { Label, Slider as AriaSlider, SliderFill, SliderOutput, SliderThumb, SliderTrack } from "react-aria-components";
|
|
1653
|
-
import * as
|
|
2563
|
+
import * as stylex8 from "@stylexjs/stylex";
|
|
1654
2564
|
import { cn as cn7 } from "@hraness/ui";
|
|
1655
2565
|
|
|
1656
2566
|
// src/react/fader.stylex.ts
|
|
@@ -1737,7 +2647,7 @@ var faderStyles = {
|
|
|
1737
2647
|
};
|
|
1738
2648
|
|
|
1739
2649
|
// src/react/fader.tsx
|
|
1740
|
-
import { jsx as
|
|
2650
|
+
import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1741
2651
|
function Fader({
|
|
1742
2652
|
className,
|
|
1743
2653
|
density = "default",
|
|
@@ -1748,62 +2658,62 @@ function Fader({
|
|
|
1748
2658
|
orientation = "vertical",
|
|
1749
2659
|
showLabel = false,
|
|
1750
2660
|
showOutput = false,
|
|
1751
|
-
...
|
|
2661
|
+
...props9
|
|
1752
2662
|
}) {
|
|
1753
|
-
const rootPresentation =
|
|
1754
|
-
const labelRowPresentation =
|
|
1755
|
-
const captionPresentation =
|
|
1756
|
-
const trackPresentation =
|
|
1757
|
-
const trackRailPresentation =
|
|
1758
|
-
const fillRailPresentation =
|
|
1759
|
-
return /* @__PURE__ */
|
|
1760
|
-
...
|
|
2663
|
+
const rootPresentation = stylex8.props(faderStyles.root, density === "compact" && faderStyles.compact, orientation === "horizontal" && faderStyles.horizontalRoot);
|
|
2664
|
+
const labelRowPresentation = stylex8.props(faderStyles.labelRow);
|
|
2665
|
+
const captionPresentation = stylex8.props(faderStyles.caption);
|
|
2666
|
+
const trackPresentation = stylex8.props(faderStyles.track, orientation === "horizontal" && faderStyles.horizontalTrack);
|
|
2667
|
+
const trackRailPresentation = stylex8.props(faderStyles.rail, faderStyles.trackRail);
|
|
2668
|
+
const fillRailPresentation = stylex8.props(faderStyles.rail, faderStyles.fillRail);
|
|
2669
|
+
return /* @__PURE__ */ jsxs7(AriaSlider, {
|
|
2670
|
+
...props9,
|
|
1761
2671
|
className: cn7("hraness-design-fader", rootPresentation.className, className),
|
|
1762
2672
|
"data-density": density,
|
|
1763
2673
|
orientation,
|
|
1764
2674
|
ref: faderRef,
|
|
1765
2675
|
children: [
|
|
1766
|
-
showLabel && labelAccessory !== undefined ? /* @__PURE__ */
|
|
2676
|
+
showLabel && labelAccessory !== undefined ? /* @__PURE__ */ jsxs7("div", {
|
|
1767
2677
|
className: cn7("hraness-design-fader__label-row", labelRowPresentation.className),
|
|
1768
2678
|
children: [
|
|
1769
|
-
/* @__PURE__ */
|
|
2679
|
+
/* @__PURE__ */ jsx9(Label, {
|
|
1770
2680
|
className: cn7("hraness-design-fader__label", captionPresentation.className),
|
|
1771
2681
|
children: label
|
|
1772
2682
|
}),
|
|
1773
|
-
/* @__PURE__ */
|
|
2683
|
+
/* @__PURE__ */ jsx9("span", {
|
|
1774
2684
|
className: "hraness-design-fader__label-accessory",
|
|
1775
2685
|
children: labelAccessory
|
|
1776
2686
|
})
|
|
1777
2687
|
]
|
|
1778
|
-
}) : showLabel ? /* @__PURE__ */
|
|
2688
|
+
}) : showLabel ? /* @__PURE__ */ jsx9(Label, {
|
|
1779
2689
|
className: cn7("hraness-design-fader__label", captionPresentation.className),
|
|
1780
2690
|
children: label
|
|
1781
|
-
}) : /* @__PURE__ */
|
|
2691
|
+
}) : /* @__PURE__ */ jsx9(Label, {
|
|
1782
2692
|
className: "hraness-design-visually-hidden",
|
|
1783
2693
|
children: label
|
|
1784
2694
|
}),
|
|
1785
|
-
showOutput ? /* @__PURE__ */
|
|
2695
|
+
showOutput ? /* @__PURE__ */ jsx9(SliderOutput, {
|
|
1786
2696
|
className: cn7("hraness-design-fader__output", captionPresentation.className)
|
|
1787
2697
|
}) : null,
|
|
1788
|
-
/* @__PURE__ */
|
|
2698
|
+
/* @__PURE__ */ jsxs7(SliderTrack, {
|
|
1789
2699
|
className: cn7("hraness-design-fader__track", trackPresentation.className),
|
|
1790
2700
|
children: [
|
|
1791
|
-
/* @__PURE__ */
|
|
2701
|
+
/* @__PURE__ */ jsx9("span", {
|
|
1792
2702
|
"aria-hidden": "true",
|
|
1793
2703
|
className: cn7("hraness-design-fader__track-rail", trackRailPresentation.className)
|
|
1794
2704
|
}),
|
|
1795
|
-
/* @__PURE__ */
|
|
2705
|
+
/* @__PURE__ */ jsx9(SliderFill, {
|
|
1796
2706
|
className: "hraness-design-fader__fill",
|
|
1797
|
-
children: /* @__PURE__ */
|
|
2707
|
+
children: /* @__PURE__ */ jsx9("span", {
|
|
1798
2708
|
"aria-hidden": "true",
|
|
1799
2709
|
className: cn7("hraness-design-fader__fill-rail", fillRailPresentation.className)
|
|
1800
2710
|
})
|
|
1801
2711
|
}),
|
|
1802
|
-
/* @__PURE__ */
|
|
2712
|
+
/* @__PURE__ */ jsx9(SliderThumb, {
|
|
1803
2713
|
className: ({
|
|
1804
2714
|
isFocusVisible
|
|
1805
2715
|
}) => {
|
|
1806
|
-
const thumbPresentation =
|
|
2716
|
+
const thumbPresentation = stylex8.props(faderStyles.thumb, isFocusVisible && faderStyles.focusVisible);
|
|
1807
2717
|
return cn7("hraness-design-fader__thumb", thumbPresentation.className);
|
|
1808
2718
|
},
|
|
1809
2719
|
...inputRef === undefined ? {} : {
|
|
@@ -1817,9 +2727,9 @@ function Fader({
|
|
|
1817
2727
|
}
|
|
1818
2728
|
|
|
1819
2729
|
// src/react/foil-card-surface.tsx
|
|
1820
|
-
import * as
|
|
2730
|
+
import * as stylex9 from "@stylexjs/stylex";
|
|
1821
2731
|
import { cn as cn8 } from "@hraness/ui";
|
|
1822
|
-
import { createContext as createContext3, useCallback, useContext as useContext3, useEffect as
|
|
2732
|
+
import { createContext as createContext3, useCallback as useCallback2, useContext as useContext3, useEffect as useEffect5, useMemo as useMemo3, useRef as useRef4 } from "react";
|
|
1823
2733
|
|
|
1824
2734
|
// src/react/foil-card-math.ts
|
|
1825
2735
|
function normalizedSeed(seed) {
|
|
@@ -2158,7 +3068,7 @@ var foilCardSurfaceStyles = {
|
|
|
2158
3068
|
};
|
|
2159
3069
|
|
|
2160
3070
|
// src/react/foil-card-surface.tsx
|
|
2161
|
-
import { jsx as
|
|
3071
|
+
import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2162
3072
|
var foilCardPresets = ["prism", "aurora", "etched", "gold", "fast", "max"];
|
|
2163
3073
|
var foilCardIntensities = ["subtle", "standard", "vivid"];
|
|
2164
3074
|
var foilCardRenderModes = ["interactive", "static"];
|
|
@@ -2350,18 +3260,18 @@ function addMediaListener(media, listener) {
|
|
|
2350
3260
|
function FoilCardDeck({
|
|
2351
3261
|
children,
|
|
2352
3262
|
className,
|
|
2353
|
-
...
|
|
3263
|
+
...props10
|
|
2354
3264
|
}) {
|
|
2355
|
-
const rootRef =
|
|
2356
|
-
const registrations =
|
|
2357
|
-
const activeElement =
|
|
2358
|
-
const focusedElement =
|
|
2359
|
-
const pointerElement =
|
|
2360
|
-
const activeBounds =
|
|
2361
|
-
const pendingInteraction =
|
|
2362
|
-
const frame =
|
|
2363
|
-
const resizeObserver =
|
|
2364
|
-
const deactivate =
|
|
3265
|
+
const rootRef = useRef4(null);
|
|
3266
|
+
const registrations = useRef4(new Map);
|
|
3267
|
+
const activeElement = useRef4(null);
|
|
3268
|
+
const focusedElement = useRef4(null);
|
|
3269
|
+
const pointerElement = useRef4(null);
|
|
3270
|
+
const activeBounds = useRef4(null);
|
|
3271
|
+
const pendingInteraction = useRef4(null);
|
|
3272
|
+
const frame = useRef4(null);
|
|
3273
|
+
const resizeObserver = useRef4(null);
|
|
3274
|
+
const deactivate = useCallback2((element) => {
|
|
2365
3275
|
const registration = registrations.current.get(element);
|
|
2366
3276
|
if (registration !== undefined) {
|
|
2367
3277
|
applyPose(element, registration.seedPose);
|
|
@@ -2373,7 +3283,7 @@ function FoilCardDeck({
|
|
|
2373
3283
|
activeBounds.current = null;
|
|
2374
3284
|
}
|
|
2375
3285
|
}, []);
|
|
2376
|
-
const register =
|
|
3286
|
+
const register = useCallback2((element, registration) => {
|
|
2377
3287
|
registrations.current.set(element, registration);
|
|
2378
3288
|
return () => {
|
|
2379
3289
|
if (pendingInteraction.current?.element === element) {
|
|
@@ -2390,7 +3300,7 @@ function FoilCardDeck({
|
|
|
2390
3300
|
const contextValue = useMemo3(() => ({
|
|
2391
3301
|
register
|
|
2392
3302
|
}), [register]);
|
|
2393
|
-
|
|
3303
|
+
useEffect5(() => {
|
|
2394
3304
|
const root = rootRef.current;
|
|
2395
3305
|
if (root === null || typeof window.matchMedia !== "function" || typeof window.requestAnimationFrame !== "function" || typeof window.cancelAnimationFrame !== "function") {
|
|
2396
3306
|
return;
|
|
@@ -2586,10 +3496,10 @@ function FoilCardDeck({
|
|
|
2586
3496
|
resizeObserver.current = null;
|
|
2587
3497
|
};
|
|
2588
3498
|
}, [deactivate]);
|
|
2589
|
-
return /* @__PURE__ */
|
|
3499
|
+
return /* @__PURE__ */ jsx10(FoilDeckContext.Provider, {
|
|
2590
3500
|
value: contextValue,
|
|
2591
|
-
children: /* @__PURE__ */
|
|
2592
|
-
...
|
|
3501
|
+
children: /* @__PURE__ */ jsx10("div", {
|
|
3502
|
+
...props10,
|
|
2593
3503
|
className: cn8("hraness-design-foil-card-deck", className),
|
|
2594
3504
|
"data-foil-card-deck": "",
|
|
2595
3505
|
ref: rootRef,
|
|
@@ -2616,20 +3526,20 @@ function FoilCardSurface({
|
|
|
2616
3526
|
requirePublicValue(renderMode, foilCardRenderModes, "render mode");
|
|
2617
3527
|
requirePublicValue(ornament, foilCardOrnaments, "ornament");
|
|
2618
3528
|
const deck = useContext3(FoilDeckContext);
|
|
2619
|
-
const rootRef =
|
|
3529
|
+
const rootRef = useRef4(null);
|
|
2620
3530
|
const seedPose = useMemo3(() => createFoilCardSeedPose(seed), [seed]);
|
|
2621
3531
|
const seededStyle = poseStyle(seedPose, intensity);
|
|
2622
3532
|
const selectedPreset = presetStyles[preset];
|
|
2623
3533
|
const selectedIntensity = intensityStyles[intensity];
|
|
2624
|
-
const rootPresentation =
|
|
2625
|
-
const basePresentation =
|
|
2626
|
-
const spectrumPresentation =
|
|
2627
|
-
const sheenPresentation =
|
|
2628
|
-
const texturePresentation =
|
|
2629
|
-
const ornamentPresentation =
|
|
2630
|
-
const contentPresentation =
|
|
2631
|
-
const activePresentation =
|
|
2632
|
-
|
|
3534
|
+
const rootPresentation = stylex9.props(foilCardSurfaceStyles.base, renderMode === "interactive" ? foilCardSurfaceStyles.interactive : foilCardSurfaceStyles.static);
|
|
3535
|
+
const basePresentation = stylex9.props(foilCardSurfaceStyles.layer, foilCardSurfaceStyles.baseLayer, selectedPreset.base, selectedIntensity.base);
|
|
3536
|
+
const spectrumPresentation = stylex9.props(foilCardSurfaceStyles.layer, foilCardSurfaceStyles.spectrumLayer, selectedPreset.spectrum, selectedIntensity.spectrum);
|
|
3537
|
+
const sheenPresentation = stylex9.props(foilCardSurfaceStyles.layer, foilCardSurfaceStyles.sheenLayer, selectedIntensity.sheen);
|
|
3538
|
+
const texturePresentation = stylex9.props(foilCardSurfaceStyles.layer, foilCardSurfaceStyles.textureLayer, selectedPreset.texture, selectedIntensity.texture);
|
|
3539
|
+
const ornamentPresentation = stylex9.props(foilCardSurfaceStyles.layer, foilCardSurfaceStyles.ornamentLayer, ornamentStyles[ornament], selectedIntensity.ornament);
|
|
3540
|
+
const contentPresentation = stylex9.props(foilCardSurfaceStyles.content);
|
|
3541
|
+
const activePresentation = stylex9.props(foilCardSurfaceStyles.active);
|
|
3542
|
+
useEffect5(() => {
|
|
2633
3543
|
if (renderMode !== "interactive")
|
|
2634
3544
|
return;
|
|
2635
3545
|
const root = rootRef.current;
|
|
@@ -2743,7 +3653,7 @@ function FoilCardSurface({
|
|
|
2743
3653
|
setActive(root, activePresentation.className, false);
|
|
2744
3654
|
};
|
|
2745
3655
|
}, [activePresentation.className, deck, renderMode, seedPose]);
|
|
2746
|
-
return /* @__PURE__ */
|
|
3656
|
+
return /* @__PURE__ */ jsxs8("div", {
|
|
2747
3657
|
...rootPresentation,
|
|
2748
3658
|
className: cn8("hraness-design-foil-card-surface", rootPresentation.className, className),
|
|
2749
3659
|
"data-foil-intensity": intensity,
|
|
@@ -2754,27 +3664,27 @@ function FoilCardSurface({
|
|
|
2754
3664
|
ref: rootRef,
|
|
2755
3665
|
style: seededStyle,
|
|
2756
3666
|
children: [
|
|
2757
|
-
/* @__PURE__ */
|
|
3667
|
+
/* @__PURE__ */ jsx10("span", {
|
|
2758
3668
|
...basePresentation,
|
|
2759
3669
|
"aria-hidden": "true"
|
|
2760
3670
|
}),
|
|
2761
|
-
/* @__PURE__ */
|
|
3671
|
+
/* @__PURE__ */ jsx10("div", {
|
|
2762
3672
|
...contentPresentation,
|
|
2763
3673
|
children
|
|
2764
3674
|
}),
|
|
2765
|
-
/* @__PURE__ */
|
|
3675
|
+
/* @__PURE__ */ jsx10("span", {
|
|
2766
3676
|
...spectrumPresentation,
|
|
2767
3677
|
"aria-hidden": "true"
|
|
2768
3678
|
}),
|
|
2769
|
-
/* @__PURE__ */
|
|
3679
|
+
/* @__PURE__ */ jsx10("span", {
|
|
2770
3680
|
...sheenPresentation,
|
|
2771
3681
|
"aria-hidden": "true"
|
|
2772
3682
|
}),
|
|
2773
|
-
/* @__PURE__ */
|
|
3683
|
+
/* @__PURE__ */ jsx10("span", {
|
|
2774
3684
|
...texturePresentation,
|
|
2775
3685
|
"aria-hidden": "true"
|
|
2776
3686
|
}),
|
|
2777
|
-
/* @__PURE__ */
|
|
3687
|
+
/* @__PURE__ */ jsx10("span", {
|
|
2778
3688
|
...ornamentPresentation,
|
|
2779
3689
|
"aria-hidden": "true"
|
|
2780
3690
|
})
|
|
@@ -2784,7 +3694,7 @@ function FoilCardSurface({
|
|
|
2784
3694
|
|
|
2785
3695
|
// src/react/lantern-material-gallery.tsx
|
|
2786
3696
|
import { Button as Button2, TextField } from "@hraness/ui";
|
|
2787
|
-
import { useId as
|
|
3697
|
+
import { useId as useId3, useState as useState4 } from "react";
|
|
2788
3698
|
|
|
2789
3699
|
// src/react/lantern-material.stylex.ts
|
|
2790
3700
|
var lanternControlStyles = {
|
|
@@ -2805,7 +3715,7 @@ var lanternControlStyles = {
|
|
|
2805
3715
|
};
|
|
2806
3716
|
|
|
2807
3717
|
// src/react/lantern-material-gallery.tsx
|
|
2808
|
-
import { jsx as
|
|
3718
|
+
import { jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2809
3719
|
var materialPatterns = [{
|
|
2810
3720
|
pattern: "cells",
|
|
2811
3721
|
palette: "paper",
|
|
@@ -2845,12 +3755,12 @@ var exampleNotes = [{
|
|
|
2845
3755
|
function MaterialWorkspace({
|
|
2846
3756
|
mode
|
|
2847
3757
|
}) {
|
|
2848
|
-
const id =
|
|
2849
|
-
const [query, setQuery] =
|
|
2850
|
-
const [personalOnly, setPersonalOnly] =
|
|
2851
|
-
const [saved, setSaved] =
|
|
3758
|
+
const id = useId3();
|
|
3759
|
+
const [query, setQuery] = useState4("");
|
|
3760
|
+
const [personalOnly, setPersonalOnly] = useState4(false);
|
|
3761
|
+
const [saved, setSaved] = useState4(false);
|
|
2852
3762
|
const notes = exampleNotes.filter((note) => note.title.toLowerCase().includes(query.toLowerCase()) && (!personalOnly || note.detail.startsWith("Personal")));
|
|
2853
|
-
return /* @__PURE__ */
|
|
3763
|
+
return /* @__PURE__ */ jsxs9("div", {
|
|
2854
3764
|
className: `design-gallery__lantern-wall hraness-material-wall ${getDesignPaletteTheme("paper", mode).className}`,
|
|
2855
3765
|
"data-hraness-material": "lantern",
|
|
2856
3766
|
"data-hraness-theme": "paper",
|
|
@@ -2858,29 +3768,29 @@ function MaterialWorkspace({
|
|
|
2858
3768
|
"data-theme": mode,
|
|
2859
3769
|
"data-gallery-lantern": mode,
|
|
2860
3770
|
children: [
|
|
2861
|
-
/* @__PURE__ */
|
|
3771
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
2862
3772
|
className: "design-gallery__lantern-caption",
|
|
2863
3773
|
children: [
|
|
2864
|
-
/* @__PURE__ */
|
|
3774
|
+
/* @__PURE__ */ jsx11("h3", {
|
|
2865
3775
|
children: mode === "light" ? "Daylight" : "Lamplight"
|
|
2866
3776
|
}),
|
|
2867
|
-
/* @__PURE__ */
|
|
3777
|
+
/* @__PURE__ */ jsx11("p", {
|
|
2868
3778
|
children: "The same notebook in the Paper palette, light and dark."
|
|
2869
3779
|
})
|
|
2870
3780
|
]
|
|
2871
3781
|
}),
|
|
2872
|
-
/* @__PURE__ */
|
|
3782
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
2873
3783
|
className: "hraness-material-terminal",
|
|
2874
3784
|
children: [
|
|
2875
|
-
/* @__PURE__ */
|
|
3785
|
+
/* @__PURE__ */ jsx11("div", {
|
|
2876
3786
|
className: "hraness-material-terminal__bar",
|
|
2877
3787
|
children: "notebook · terminal"
|
|
2878
3788
|
}),
|
|
2879
|
-
/* @__PURE__ */
|
|
3789
|
+
/* @__PURE__ */ jsx11("pre", {
|
|
2880
3790
|
className: "hraness-material-code",
|
|
2881
3791
|
"aria-label": "Illustrative notebook command",
|
|
2882
3792
|
tabIndex: 0,
|
|
2883
|
-
children: /* @__PURE__ */
|
|
3793
|
+
children: /* @__PURE__ */ jsx11(SyntaxCode, {
|
|
2884
3794
|
code: `notebook search "a slower morning" --format markdown
|
|
2885
3795
|
# One matching note, on your computer.`,
|
|
2886
3796
|
language: "shell"
|
|
@@ -2888,24 +3798,24 @@ function MaterialWorkspace({
|
|
|
2888
3798
|
})
|
|
2889
3799
|
]
|
|
2890
3800
|
}),
|
|
2891
|
-
/* @__PURE__ */
|
|
3801
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
2892
3802
|
className: "design-gallery__lantern-workspace hraness-material-pane",
|
|
2893
3803
|
"data-depth": "raised",
|
|
2894
3804
|
children: [
|
|
2895
|
-
/* @__PURE__ */
|
|
3805
|
+
/* @__PURE__ */ jsx11(TopBar, {
|
|
2896
3806
|
className: "hraness-material-chrome",
|
|
2897
3807
|
position: "static",
|
|
2898
3808
|
surface: "glass",
|
|
2899
3809
|
title: "Your notebook",
|
|
2900
|
-
actions: /* @__PURE__ */
|
|
3810
|
+
actions: /* @__PURE__ */ jsx11("span", {
|
|
2901
3811
|
className: "design-gallery__lantern-local",
|
|
2902
3812
|
children: "Local workspace"
|
|
2903
3813
|
})
|
|
2904
3814
|
}),
|
|
2905
|
-
/* @__PURE__ */
|
|
3815
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
2906
3816
|
className: "design-gallery__lantern-content",
|
|
2907
3817
|
children: [
|
|
2908
|
-
/* @__PURE__ */
|
|
3818
|
+
/* @__PURE__ */ jsx11(TextField, {
|
|
2909
3819
|
controlXstyle: lanternControlStyles.inset,
|
|
2910
3820
|
inputProps: {
|
|
2911
3821
|
id: `${id}-search`
|
|
@@ -2915,10 +3825,10 @@ function MaterialWorkspace({
|
|
|
2915
3825
|
placeholder: "Search your notes",
|
|
2916
3826
|
value: query
|
|
2917
3827
|
}),
|
|
2918
|
-
/* @__PURE__ */
|
|
3828
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
2919
3829
|
className: "design-gallery__lantern-filter",
|
|
2920
3830
|
children: [
|
|
2921
|
-
/* @__PURE__ */
|
|
3831
|
+
/* @__PURE__ */ jsx11(Button2, {
|
|
2922
3832
|
"aria-pressed": personalOnly,
|
|
2923
3833
|
controlXstyle: [lanternControlStyles.edge, personalOnly && lanternControlStyles.selected],
|
|
2924
3834
|
"data-gallery-lantern-filter": "",
|
|
@@ -2926,7 +3836,7 @@ function MaterialWorkspace({
|
|
|
2926
3836
|
size: "compact",
|
|
2927
3837
|
children: "Personal only"
|
|
2928
3838
|
}),
|
|
2929
|
-
/* @__PURE__ */
|
|
3839
|
+
/* @__PURE__ */ jsxs9("span", {
|
|
2930
3840
|
"aria-live": "polite",
|
|
2931
3841
|
children: [
|
|
2932
3842
|
notes.length,
|
|
@@ -2936,41 +3846,41 @@ function MaterialWorkspace({
|
|
|
2936
3846
|
})
|
|
2937
3847
|
]
|
|
2938
3848
|
}),
|
|
2939
|
-
/* @__PURE__ */
|
|
3849
|
+
/* @__PURE__ */ jsx11("ul", {
|
|
2940
3850
|
className: "hraness-material-rows design-gallery__lantern-notes",
|
|
2941
|
-
children: notes.map((note) => /* @__PURE__ */
|
|
3851
|
+
children: notes.map((note) => /* @__PURE__ */ jsxs9("li", {
|
|
2942
3852
|
children: [
|
|
2943
|
-
/* @__PURE__ */
|
|
3853
|
+
/* @__PURE__ */ jsxs9("details", {
|
|
2944
3854
|
className: "hraness-material-disclosure",
|
|
2945
3855
|
children: [
|
|
2946
|
-
/* @__PURE__ */
|
|
3856
|
+
/* @__PURE__ */ jsx11("summary", {
|
|
2947
3857
|
children: note.title
|
|
2948
3858
|
}),
|
|
2949
|
-
/* @__PURE__ */
|
|
3859
|
+
/* @__PURE__ */ jsx11("p", {
|
|
2950
3860
|
children: "Illustrative note. Your words and decisions stay together here."
|
|
2951
3861
|
})
|
|
2952
3862
|
]
|
|
2953
3863
|
}),
|
|
2954
|
-
/* @__PURE__ */
|
|
3864
|
+
/* @__PURE__ */ jsx11("span", {
|
|
2955
3865
|
children: note.detail
|
|
2956
3866
|
})
|
|
2957
3867
|
]
|
|
2958
3868
|
}, note.title))
|
|
2959
3869
|
}),
|
|
2960
|
-
notes.length === 0 ? /* @__PURE__ */
|
|
3870
|
+
notes.length === 0 ? /* @__PURE__ */ jsx11("p", {
|
|
2961
3871
|
role: "status",
|
|
2962
3872
|
children: "No notes match. Try a shorter search or turn off the personal filter."
|
|
2963
3873
|
}) : null,
|
|
2964
|
-
/* @__PURE__ */
|
|
3874
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
2965
3875
|
className: "design-gallery__lantern-save",
|
|
2966
3876
|
children: [
|
|
2967
|
-
/* @__PURE__ */
|
|
3877
|
+
/* @__PURE__ */ jsx11(Button2, {
|
|
2968
3878
|
controlXstyle: lanternControlStyles.edge,
|
|
2969
3879
|
onPress: () => setSaved(true),
|
|
2970
3880
|
variant: "primary",
|
|
2971
3881
|
children: "Save this view"
|
|
2972
3882
|
}),
|
|
2973
|
-
/* @__PURE__ */
|
|
3883
|
+
/* @__PURE__ */ jsx11("span", {
|
|
2974
3884
|
"aria-live": "polite",
|
|
2975
3885
|
children: saved ? "View saved for this example." : "Example content. Nothing leaves this page."
|
|
2976
3886
|
})
|
|
@@ -2984,93 +3894,93 @@ function MaterialWorkspace({
|
|
|
2984
3894
|
});
|
|
2985
3895
|
}
|
|
2986
3896
|
function LanternMaterialGallery() {
|
|
2987
|
-
const [plainSelected, setPlainSelected] =
|
|
2988
|
-
const [removed, setRemoved] =
|
|
2989
|
-
return /* @__PURE__ */
|
|
3897
|
+
const [plainSelected, setPlainSelected] = useState4(true);
|
|
3898
|
+
const [removed, setRemoved] = useState4(false);
|
|
3899
|
+
return /* @__PURE__ */ jsxs9("section", {
|
|
2990
3900
|
className: "design-gallery__section",
|
|
2991
3901
|
id: "lantern",
|
|
2992
3902
|
children: [
|
|
2993
|
-
/* @__PURE__ */
|
|
3903
|
+
/* @__PURE__ */ jsx11("h2", {
|
|
2994
3904
|
children: "Lantern material"
|
|
2995
3905
|
}),
|
|
2996
|
-
/* @__PURE__ */
|
|
3906
|
+
/* @__PURE__ */ jsx11("p", {
|
|
2997
3907
|
className: "design-gallery__lantern-intro",
|
|
2998
3908
|
children: "Lantern gives reading surfaces a glowing edge and selected controls a warm fill."
|
|
2999
3909
|
}),
|
|
3000
|
-
/* @__PURE__ */
|
|
3910
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
3001
3911
|
className: "design-gallery__lantern-pair",
|
|
3002
3912
|
children: [
|
|
3003
|
-
/* @__PURE__ */
|
|
3913
|
+
/* @__PURE__ */ jsx11(MaterialWorkspace, {
|
|
3004
3914
|
mode: "light"
|
|
3005
3915
|
}),
|
|
3006
|
-
/* @__PURE__ */
|
|
3916
|
+
/* @__PURE__ */ jsx11(MaterialWorkspace, {
|
|
3007
3917
|
mode: "dark"
|
|
3008
3918
|
})
|
|
3009
3919
|
]
|
|
3010
3920
|
}),
|
|
3011
|
-
/* @__PURE__ */
|
|
3921
|
+
/* @__PURE__ */ jsx11("h3", {
|
|
3012
3922
|
children: "Patterns render as flat palette planes"
|
|
3013
3923
|
}),
|
|
3014
|
-
/* @__PURE__ */
|
|
3924
|
+
/* @__PURE__ */ jsx11("div", {
|
|
3015
3925
|
className: "design-gallery__lantern-pair",
|
|
3016
3926
|
children: materialPatterns.map(({
|
|
3017
3927
|
pattern,
|
|
3018
3928
|
palette,
|
|
3019
3929
|
label,
|
|
3020
3930
|
description
|
|
3021
|
-
}) => /* @__PURE__ */
|
|
3931
|
+
}) => /* @__PURE__ */ jsx11("div", {
|
|
3022
3932
|
className: `design-gallery__lantern-wall hraness-material-wall ${getDesignPaletteTheme(palette, "light").className}`,
|
|
3023
3933
|
"data-gallery-pattern": pattern,
|
|
3024
3934
|
"data-hraness-material": "lantern",
|
|
3025
3935
|
"data-hraness-pattern": pattern,
|
|
3026
3936
|
"data-palette": palette,
|
|
3027
3937
|
"data-theme": "light",
|
|
3028
|
-
children: /* @__PURE__ */
|
|
3938
|
+
children: /* @__PURE__ */ jsxs9("div", {
|
|
3029
3939
|
className: "design-gallery__lantern-caption",
|
|
3030
3940
|
children: [
|
|
3031
|
-
/* @__PURE__ */
|
|
3941
|
+
/* @__PURE__ */ jsx11("h4", {
|
|
3032
3942
|
children: label
|
|
3033
3943
|
}),
|
|
3034
|
-
/* @__PURE__ */
|
|
3944
|
+
/* @__PURE__ */ jsx11("p", {
|
|
3035
3945
|
children: description
|
|
3036
3946
|
})
|
|
3037
3947
|
]
|
|
3038
3948
|
})
|
|
3039
3949
|
}, pattern))
|
|
3040
3950
|
}),
|
|
3041
|
-
/* @__PURE__ */
|
|
3951
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
3042
3952
|
className: `design-gallery__lantern-states hraness-material-pane ${getDesignPaletteTheme("paper", "light").className}`,
|
|
3043
3953
|
"data-hraness-material": "lantern",
|
|
3044
3954
|
"data-hraness-theme": "paper",
|
|
3045
3955
|
"data-palette": "paper",
|
|
3046
3956
|
"data-theme": "light",
|
|
3047
3957
|
children: [
|
|
3048
|
-
/* @__PURE__ */
|
|
3958
|
+
/* @__PURE__ */ jsx11("h3", {
|
|
3049
3959
|
children: "Controls keep their meaning"
|
|
3050
3960
|
}),
|
|
3051
|
-
/* @__PURE__ */
|
|
3961
|
+
/* @__PURE__ */ jsx11("p", {
|
|
3052
3962
|
children: "Keyboard focus, errors, and unavailable actions stay clearly marked under Lantern."
|
|
3053
3963
|
}),
|
|
3054
|
-
/* @__PURE__ */
|
|
3964
|
+
/* @__PURE__ */ jsxs9("div", {
|
|
3055
3965
|
className: "design-gallery__lantern-state-actions",
|
|
3056
3966
|
children: [
|
|
3057
|
-
/* @__PURE__ */
|
|
3967
|
+
/* @__PURE__ */ jsx11(Button2, {
|
|
3058
3968
|
controlXstyle: lanternControlStyles.edge,
|
|
3059
3969
|
isDisabled: true,
|
|
3060
3970
|
children: "Unavailable action"
|
|
3061
3971
|
}),
|
|
3062
|
-
/* @__PURE__ */
|
|
3972
|
+
/* @__PURE__ */ jsx11(Button2, {
|
|
3063
3973
|
controlXstyle: lanternControlStyles.edge,
|
|
3064
3974
|
isPending: true,
|
|
3065
3975
|
children: "Saving changes"
|
|
3066
3976
|
}),
|
|
3067
|
-
/* @__PURE__ */
|
|
3977
|
+
/* @__PURE__ */ jsx11(Button2, {
|
|
3068
3978
|
controlXstyle: lanternControlStyles.edge,
|
|
3069
3979
|
onPress: () => setRemoved(true),
|
|
3070
3980
|
variant: "danger",
|
|
3071
3981
|
children: "Remove example"
|
|
3072
3982
|
}),
|
|
3073
|
-
/* @__PURE__ */
|
|
3983
|
+
/* @__PURE__ */ jsx11("button", {
|
|
3074
3984
|
className: "design-gallery__lantern-plain hraness-material-choice",
|
|
3075
3985
|
"aria-pressed": plainSelected,
|
|
3076
3986
|
onClick: () => setPlainSelected(!plainSelected),
|
|
@@ -3079,11 +3989,11 @@ function LanternMaterialGallery() {
|
|
|
3079
3989
|
})
|
|
3080
3990
|
]
|
|
3081
3991
|
}),
|
|
3082
|
-
/* @__PURE__ */
|
|
3992
|
+
/* @__PURE__ */ jsx11("p", {
|
|
3083
3993
|
"aria-live": "polite",
|
|
3084
3994
|
children: removed ? "Example removed for this visit." : ""
|
|
3085
3995
|
}),
|
|
3086
|
-
/* @__PURE__ */
|
|
3996
|
+
/* @__PURE__ */ jsx11(TextField, {
|
|
3087
3997
|
controlXstyle: lanternControlStyles.inset,
|
|
3088
3998
|
defaultValue: "",
|
|
3089
3999
|
errorMessage: "Give the notebook a name before saving.",
|
|
@@ -3098,7 +4008,7 @@ function LanternMaterialGallery() {
|
|
|
3098
4008
|
|
|
3099
4009
|
// src/react/navigation-rail.tsx
|
|
3100
4010
|
import { Link, cn as cn9 } from "@hraness/ui";
|
|
3101
|
-
import * as
|
|
4011
|
+
import * as stylex10 from "@stylexjs/stylex";
|
|
3102
4012
|
|
|
3103
4013
|
// src/react/navigation-rail.stylex.ts
|
|
3104
4014
|
var navigationRailStyles = {
|
|
@@ -3217,36 +4127,36 @@ var navigationRailStyles = {
|
|
|
3217
4127
|
};
|
|
3218
4128
|
|
|
3219
4129
|
// src/react/navigation-rail.tsx
|
|
3220
|
-
import { jsx as
|
|
4130
|
+
import { jsx as jsx12, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
3221
4131
|
function NavigationRail({
|
|
3222
4132
|
"aria-label": ariaLabel = "Primary navigation",
|
|
3223
4133
|
children,
|
|
3224
4134
|
className,
|
|
3225
4135
|
footer,
|
|
3226
4136
|
header,
|
|
3227
|
-
...
|
|
4137
|
+
...props11
|
|
3228
4138
|
}) {
|
|
3229
|
-
const rootPresentation =
|
|
3230
|
-
const edgePresentation =
|
|
3231
|
-
const navigationPresentation =
|
|
3232
|
-
return /* @__PURE__ */
|
|
4139
|
+
const rootPresentation = stylex10.props(navigationRailStyles.rail);
|
|
4140
|
+
const edgePresentation = stylex10.props(navigationRailStyles.railEdge);
|
|
4141
|
+
const navigationPresentation = stylex10.props(navigationRailStyles.navigation);
|
|
4142
|
+
return /* @__PURE__ */ jsxs10("aside", {
|
|
3233
4143
|
...rootPresentation,
|
|
3234
|
-
...
|
|
4144
|
+
...props11,
|
|
3235
4145
|
"aria-label": ariaLabel,
|
|
3236
4146
|
className: cn9("hraness-design-navigation-rail", rootPresentation.className, className),
|
|
3237
4147
|
children: [
|
|
3238
|
-
header === undefined ? null : /* @__PURE__ */
|
|
4148
|
+
header === undefined ? null : /* @__PURE__ */ jsx12("header", {
|
|
3239
4149
|
...edgePresentation,
|
|
3240
4150
|
className: cn9("hraness-design-navigation-rail__header", edgePresentation.className),
|
|
3241
4151
|
children: header
|
|
3242
4152
|
}),
|
|
3243
|
-
/* @__PURE__ */
|
|
4153
|
+
/* @__PURE__ */ jsx12("nav", {
|
|
3244
4154
|
...navigationPresentation,
|
|
3245
4155
|
"aria-label": ariaLabel,
|
|
3246
4156
|
className: cn9("hraness-design-navigation-rail__navigation", navigationPresentation.className),
|
|
3247
4157
|
children
|
|
3248
4158
|
}),
|
|
3249
|
-
footer === undefined ? null : /* @__PURE__ */
|
|
4159
|
+
footer === undefined ? null : /* @__PURE__ */ jsx12("footer", {
|
|
3250
4160
|
...edgePresentation,
|
|
3251
4161
|
className: cn9("hraness-design-navigation-rail__footer", edgePresentation.className),
|
|
3252
4162
|
children: footer
|
|
@@ -3259,23 +4169,23 @@ function RailSection({
|
|
|
3259
4169
|
className,
|
|
3260
4170
|
title,
|
|
3261
4171
|
titleAs = "h2",
|
|
3262
|
-
...
|
|
4172
|
+
...props11
|
|
3263
4173
|
}) {
|
|
3264
4174
|
const Heading = titleAs;
|
|
3265
|
-
const rootPresentation =
|
|
3266
|
-
const titlePresentation =
|
|
3267
|
-
const itemsPresentation =
|
|
3268
|
-
return /* @__PURE__ */
|
|
4175
|
+
const rootPresentation = stylex10.props(navigationRailStyles.section);
|
|
4176
|
+
const titlePresentation = stylex10.props(navigationRailStyles.sectionTitle);
|
|
4177
|
+
const itemsPresentation = stylex10.props(navigationRailStyles.sectionItems);
|
|
4178
|
+
return /* @__PURE__ */ jsxs10("section", {
|
|
3269
4179
|
...rootPresentation,
|
|
3270
|
-
...
|
|
4180
|
+
...props11,
|
|
3271
4181
|
className: cn9("hraness-design-rail-section", rootPresentation.className, className),
|
|
3272
4182
|
children: [
|
|
3273
|
-
title === undefined ? null : /* @__PURE__ */
|
|
4183
|
+
title === undefined ? null : /* @__PURE__ */ jsx12(Heading, {
|
|
3274
4184
|
...titlePresentation,
|
|
3275
4185
|
className: cn9("hraness-design-rail-section__title", titlePresentation.className),
|
|
3276
4186
|
children: title
|
|
3277
4187
|
}),
|
|
3278
|
-
/* @__PURE__ */
|
|
4188
|
+
/* @__PURE__ */ jsx12("div", {
|
|
3279
4189
|
...itemsPresentation,
|
|
3280
4190
|
className: cn9("hraness-design-rail-section__items", itemsPresentation.className),
|
|
3281
4191
|
children
|
|
@@ -3292,42 +4202,42 @@ function RailItem({
|
|
|
3292
4202
|
isActive = false,
|
|
3293
4203
|
label,
|
|
3294
4204
|
xstyle,
|
|
3295
|
-
...
|
|
4205
|
+
...props11
|
|
3296
4206
|
}) {
|
|
3297
|
-
const iconPresentation =
|
|
3298
|
-
const copyPresentation =
|
|
3299
|
-
const labelPresentation =
|
|
3300
|
-
const descriptionPresentation =
|
|
3301
|
-
return /* @__PURE__ */
|
|
3302
|
-
...
|
|
4207
|
+
const iconPresentation = stylex10.props(navigationRailStyles.itemIcon);
|
|
4208
|
+
const copyPresentation = stylex10.props(navigationRailStyles.itemCopy);
|
|
4209
|
+
const labelPresentation = stylex10.props(navigationRailStyles.itemLabel);
|
|
4210
|
+
const descriptionPresentation = stylex10.props(navigationRailStyles.itemDescription);
|
|
4211
|
+
return /* @__PURE__ */ jsxs10(Link, {
|
|
4212
|
+
...props11,
|
|
3303
4213
|
"aria-current": isActive ? "page" : undefined,
|
|
3304
4214
|
className: cn9("hraness-design-rail-item", className),
|
|
3305
4215
|
href,
|
|
3306
4216
|
xstyle: [navigationRailStyles.item, navigationRailStyles.itemNativeInteractionFallbacks, isActive && navigationRailStyles.itemActive, xstyle],
|
|
3307
4217
|
children: [
|
|
3308
|
-
icon === undefined ? null : /* @__PURE__ */
|
|
4218
|
+
icon === undefined ? null : /* @__PURE__ */ jsx12("span", {
|
|
3309
4219
|
...iconPresentation,
|
|
3310
4220
|
"aria-hidden": "true",
|
|
3311
4221
|
className: cn9("hraness-design-rail-item__icon", iconPresentation.className),
|
|
3312
4222
|
children: icon
|
|
3313
4223
|
}),
|
|
3314
|
-
/* @__PURE__ */
|
|
4224
|
+
/* @__PURE__ */ jsxs10("span", {
|
|
3315
4225
|
...copyPresentation,
|
|
3316
4226
|
className: cn9("hraness-design-rail-item__copy", copyPresentation.className),
|
|
3317
4227
|
children: [
|
|
3318
|
-
/* @__PURE__ */
|
|
4228
|
+
/* @__PURE__ */ jsx12("span", {
|
|
3319
4229
|
...labelPresentation,
|
|
3320
4230
|
className: cn9("hraness-design-rail-item__label", labelPresentation.className),
|
|
3321
4231
|
children: label
|
|
3322
4232
|
}),
|
|
3323
|
-
description === undefined ? null : /* @__PURE__ */
|
|
4233
|
+
description === undefined ? null : /* @__PURE__ */ jsx12("span", {
|
|
3324
4234
|
...descriptionPresentation,
|
|
3325
4235
|
className: cn9("hraness-design-rail-item__description", descriptionPresentation.className),
|
|
3326
4236
|
children: description
|
|
3327
4237
|
})
|
|
3328
4238
|
]
|
|
3329
4239
|
}),
|
|
3330
|
-
badge === undefined ? null : /* @__PURE__ */
|
|
4240
|
+
badge === undefined ? null : /* @__PURE__ */ jsx12("span", {
|
|
3331
4241
|
className: "hraness-design-rail-item__badge",
|
|
3332
4242
|
children: badge
|
|
3333
4243
|
})
|
|
@@ -3338,7 +4248,7 @@ function RailItem({
|
|
|
3338
4248
|
// src/react/playback-transport.tsx
|
|
3339
4249
|
import { PlayIcon, StopIcon } from "@hugeicons/core-free-icons";
|
|
3340
4250
|
import { Icon as Icon2, IconButton as IconButton2, Spinner, Toolbar, cn as cn10 } from "@hraness/ui";
|
|
3341
|
-
import * as
|
|
4251
|
+
import * as stylex11 from "@stylexjs/stylex";
|
|
3342
4252
|
|
|
3343
4253
|
// src/react/playback-transport.stylex.ts
|
|
3344
4254
|
var playbackTransportStyles = {
|
|
@@ -3357,7 +4267,7 @@ var playbackTransportStyles = {
|
|
|
3357
4267
|
};
|
|
3358
4268
|
|
|
3359
4269
|
// src/react/playback-transport.tsx
|
|
3360
|
-
import { jsx as
|
|
4270
|
+
import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
3361
4271
|
function PlaybackTransport({
|
|
3362
4272
|
buttonAriaKeyShortcuts,
|
|
3363
4273
|
buttonId,
|
|
@@ -3376,14 +4286,14 @@ function PlaybackTransport({
|
|
|
3376
4286
|
const isPending = status === "pending";
|
|
3377
4287
|
const isIdle = status === "idle";
|
|
3378
4288
|
const commandLabel = isIdle ? playLabel : isPending ? pendingLabel : stopLabel;
|
|
3379
|
-
const rootPresentation =
|
|
3380
|
-
const glyphPresentation =
|
|
3381
|
-
return /* @__PURE__ */
|
|
4289
|
+
const rootPresentation = stylex11.props(playbackTransportStyles.root);
|
|
4290
|
+
const glyphPresentation = stylex11.props(playbackTransportStyles.glyph);
|
|
4291
|
+
return /* @__PURE__ */ jsxs11(Toolbar, {
|
|
3382
4292
|
...accessibleName,
|
|
3383
4293
|
className: cn10("hraness-design-playback-transport", rootPresentation.className, className),
|
|
3384
4294
|
"data-playback-status": status,
|
|
3385
4295
|
children: [
|
|
3386
|
-
/* @__PURE__ */
|
|
4296
|
+
/* @__PURE__ */ jsx13(IconButton2, {
|
|
3387
4297
|
"aria-busy": isPending || undefined,
|
|
3388
4298
|
"aria-label": commandLabel,
|
|
3389
4299
|
...buttonAriaKeyShortcuts === undefined ? {} : {
|
|
@@ -3408,9 +4318,9 @@ function PlaybackTransport({
|
|
|
3408
4318
|
},
|
|
3409
4319
|
size: "large",
|
|
3410
4320
|
variant: "primary",
|
|
3411
|
-
children: isPending ? /* @__PURE__ */
|
|
4321
|
+
children: isPending ? /* @__PURE__ */ jsx13(Spinner, {
|
|
3412
4322
|
...glyphPresentation
|
|
3413
|
-
}) : /* @__PURE__ */
|
|
4323
|
+
}) : /* @__PURE__ */ jsx13(Icon2, {
|
|
3414
4324
|
...glyphPresentation.className === undefined ? {} : {
|
|
3415
4325
|
className: glyphPresentation.className
|
|
3416
4326
|
},
|
|
@@ -3425,8 +4335,8 @@ function PlaybackTransport({
|
|
|
3425
4335
|
|
|
3426
4336
|
// src/react/route-state.tsx
|
|
3427
4337
|
import { Skeleton, Spinner as Spinner2, cn as cn12 } from "@hraness/ui";
|
|
3428
|
-
import * as
|
|
3429
|
-
import { useEffect as
|
|
4338
|
+
import * as stylex13 from "@stylexjs/stylex";
|
|
4339
|
+
import { useEffect as useEffect7, useId as useId4, useRef as useRef6 } from "react";
|
|
3430
4340
|
|
|
3431
4341
|
// src/browser/foil.ts
|
|
3432
4342
|
var REST = 50;
|
|
@@ -3735,11 +4645,11 @@ function attachStatusField(code, options = {}) {
|
|
|
3735
4645
|
return [r / 255, g / 255, b / 255, a / 255];
|
|
3736
4646
|
};
|
|
3737
4647
|
const readColors = () => {
|
|
3738
|
-
const
|
|
4648
|
+
const ink2 = rgba(view.getComputedStyle(glyph).color);
|
|
3739
4649
|
const accent = rgba(view.getComputedStyle(canvas).color);
|
|
3740
|
-
gl.uniform3f(uInk,
|
|
4650
|
+
gl.uniform3f(uInk, ink2[0], ink2[1], ink2[2]);
|
|
3741
4651
|
gl.uniform3f(uAccent, accent[0], accent[1], accent[2]);
|
|
3742
|
-
gl.uniform1f(uAlpha, Math.max(0.35,
|
|
4652
|
+
gl.uniform1f(uAlpha, Math.max(0.35, ink2[3]));
|
|
3743
4653
|
};
|
|
3744
4654
|
const sample = () => {
|
|
3745
4655
|
const bounds = canvas.getBoundingClientRect();
|
|
@@ -4198,9 +5108,9 @@ var routeStateStyles = {
|
|
|
4198
5108
|
|
|
4199
5109
|
// src/react/theme.tsx
|
|
4200
5110
|
import { AppearanceIcon as AppearanceIcon2, IconButton as IconButton3, Menu, MenuItem, MenuTrigger, SegmentedControl, cn as cn11 } from "@hraness/ui";
|
|
4201
|
-
import * as
|
|
5111
|
+
import * as stylex12 from "@stylexjs/stylex";
|
|
4202
5112
|
import { ThemeProvider as NextThemeProvider, useTheme } from "next-themes";
|
|
4203
|
-
import { useEffect as
|
|
5113
|
+
import { useEffect as useEffect6, useRef as useRef5, useSyncExternalStore as useSyncExternalStore2 } from "react";
|
|
4204
5114
|
|
|
4205
5115
|
// src/react/theme-resolution.ts
|
|
4206
5116
|
function resolveEffectiveTheme(forcedTheme, resolvedTheme) {
|
|
@@ -4375,7 +5285,7 @@ var themeStyles = {
|
|
|
4375
5285
|
};
|
|
4376
5286
|
|
|
4377
5287
|
// src/react/theme.tsx
|
|
4378
|
-
import { jsx as
|
|
5288
|
+
import { jsx as jsx14, jsxs as jsxs12, Fragment as Fragment3 } from "react/jsx-runtime";
|
|
4379
5289
|
var concreteThemes = ["light", "dark"];
|
|
4380
5290
|
var emptySubscribe = () => () => {
|
|
4381
5291
|
return;
|
|
@@ -4392,7 +5302,7 @@ function PersistedThemeNormalizer() {
|
|
|
4392
5302
|
setTheme,
|
|
4393
5303
|
theme
|
|
4394
5304
|
} = useTheme();
|
|
4395
|
-
|
|
5305
|
+
useEffect6(() => {
|
|
4396
5306
|
if (theme !== undefined && !isDesignTheme(theme))
|
|
4397
5307
|
setTheme(defaultDesignTheme);
|
|
4398
5308
|
}, [setTheme, theme]);
|
|
@@ -4406,7 +5316,7 @@ function PortalThemeBridge({
|
|
|
4406
5316
|
resolvedTheme
|
|
4407
5317
|
} = useTheme();
|
|
4408
5318
|
const portalTheme = resolveEffectiveTheme(forcedTheme, resolvedTheme);
|
|
4409
|
-
return /* @__PURE__ */
|
|
5319
|
+
return /* @__PURE__ */ jsx14(DesignPortalThemeProvider, {
|
|
4410
5320
|
theme: portalTheme,
|
|
4411
5321
|
children
|
|
4412
5322
|
});
|
|
@@ -4417,9 +5327,9 @@ function DesignThemeProvider({
|
|
|
4417
5327
|
nonce,
|
|
4418
5328
|
storageKey = designThemeStorageKey
|
|
4419
5329
|
}) {
|
|
4420
|
-
return /* @__PURE__ */
|
|
5330
|
+
return /* @__PURE__ */ jsxs12(Fragment3, {
|
|
4421
5331
|
children: [
|
|
4422
|
-
forcedTheme === undefined ? /* @__PURE__ */
|
|
5332
|
+
forcedTheme === undefined ? /* @__PURE__ */ jsx14("script", {
|
|
4423
5333
|
...nonce === undefined ? {} : {
|
|
4424
5334
|
nonce
|
|
4425
5335
|
},
|
|
@@ -4429,7 +5339,7 @@ function DesignThemeProvider({
|
|
|
4429
5339
|
},
|
|
4430
5340
|
suppressHydrationWarning: true
|
|
4431
5341
|
}) : null,
|
|
4432
|
-
/* @__PURE__ */
|
|
5342
|
+
/* @__PURE__ */ jsxs12(NextThemeProvider, {
|
|
4433
5343
|
...nonce === undefined ? {} : {
|
|
4434
5344
|
nonce
|
|
4435
5345
|
},
|
|
@@ -4441,8 +5351,8 @@ function DesignThemeProvider({
|
|
|
4441
5351
|
storageKey,
|
|
4442
5352
|
themes: [...concreteThemes],
|
|
4443
5353
|
children: [
|
|
4444
|
-
forcedTheme === undefined ? /* @__PURE__ */
|
|
4445
|
-
/* @__PURE__ */
|
|
5354
|
+
forcedTheme === undefined ? /* @__PURE__ */ jsx14(PersistedThemeNormalizer, {}) : null,
|
|
5355
|
+
/* @__PURE__ */ jsx14(PortalThemeBridge, {
|
|
4446
5356
|
forcedTheme,
|
|
4447
5357
|
children
|
|
4448
5358
|
})
|
|
@@ -4467,7 +5377,7 @@ function themeToggleItems(labels) {
|
|
|
4467
5377
|
}];
|
|
4468
5378
|
}
|
|
4469
5379
|
function themeToggleIcon(id) {
|
|
4470
|
-
return /* @__PURE__ */
|
|
5380
|
+
return /* @__PURE__ */ jsx14(AppearanceIcon2, {
|
|
4471
5381
|
name: id
|
|
4472
5382
|
});
|
|
4473
5383
|
}
|
|
@@ -4508,7 +5418,7 @@ function ThemeToggle({
|
|
|
4508
5418
|
const resolvedPresentation = presentation ?? (display === undefined ? "menu" : "segmented");
|
|
4509
5419
|
const resolvedDisplay = display ?? "icons";
|
|
4510
5420
|
const items = resolvedDisplay === "icons" ? themeToggleIconItems(labels) : themeToggleItems(labels);
|
|
4511
|
-
const presentationStyles =
|
|
5421
|
+
const presentationStyles = stylex12.props(themeStyles.root, resolvedPresentation === "menu" && themeStyles.menuRoot, !ready && themeStyles.notReady);
|
|
4512
5422
|
const changeTheme = (nextTheme) => {
|
|
4513
5423
|
if (controlled)
|
|
4514
5424
|
onChange?.(nextTheme);
|
|
@@ -4516,7 +5426,7 @@ function ThemeToggle({
|
|
|
4516
5426
|
setTheme(nextTheme);
|
|
4517
5427
|
};
|
|
4518
5428
|
const currentLabel = themeToggleLabel(value, labels);
|
|
4519
|
-
return /* @__PURE__ */
|
|
5429
|
+
return /* @__PURE__ */ jsx14("div", {
|
|
4520
5430
|
...presentationStyles,
|
|
4521
5431
|
"aria-busy": !ready || undefined,
|
|
4522
5432
|
className: cn11("hraness-design-theme-toggle", presentationStyles.className, className),
|
|
@@ -4526,9 +5436,9 @@ function ThemeToggle({
|
|
|
4526
5436
|
"data-presentation": resolvedPresentation,
|
|
4527
5437
|
"data-ready": ready ? "true" : "false",
|
|
4528
5438
|
"data-theme-value": value,
|
|
4529
|
-
children: resolvedPresentation === "menu" ? /* @__PURE__ */
|
|
5439
|
+
children: resolvedPresentation === "menu" ? /* @__PURE__ */ jsxs12(MenuTrigger, {
|
|
4530
5440
|
children: [
|
|
4531
|
-
/* @__PURE__ */
|
|
5441
|
+
/* @__PURE__ */ jsx14(IconButton3, {
|
|
4532
5442
|
"aria-label": `${ariaLabel}: ${currentLabel}`,
|
|
4533
5443
|
controlClassName: "hraness-design-theme-toggle__trigger",
|
|
4534
5444
|
controlXstyle: themeStyles.trigger,
|
|
@@ -4537,7 +5447,7 @@ function ThemeToggle({
|
|
|
4537
5447
|
tooltip: `${ariaLabel}: ${currentLabel}`,
|
|
4538
5448
|
children: themeToggleIcon(value)
|
|
4539
5449
|
}),
|
|
4540
|
-
/* @__PURE__ */
|
|
5450
|
+
/* @__PURE__ */ jsx14(Menu, {
|
|
4541
5451
|
"aria-label": ariaLabel,
|
|
4542
5452
|
className: "hraness-design-theme-toggle__menu",
|
|
4543
5453
|
disallowEmptySelection: true,
|
|
@@ -4550,7 +5460,7 @@ function ThemeToggle({
|
|
|
4550
5460
|
selectedKeys: [value],
|
|
4551
5461
|
selectionMode: "single",
|
|
4552
5462
|
xstyle: themeStyles.menu,
|
|
4553
|
-
children: designThemes.map((id) => /* @__PURE__ */
|
|
5463
|
+
children: designThemes.map((id) => /* @__PURE__ */ jsx14(MenuItem, {
|
|
4554
5464
|
className: "hraness-design-theme-toggle__item",
|
|
4555
5465
|
"data-theme-value": id,
|
|
4556
5466
|
id,
|
|
@@ -4561,7 +5471,7 @@ function ThemeToggle({
|
|
|
4561
5471
|
}, id))
|
|
4562
5472
|
})
|
|
4563
5473
|
]
|
|
4564
|
-
}) : /* @__PURE__ */
|
|
5474
|
+
}) : /* @__PURE__ */ jsx14(SegmentedControl, {
|
|
4565
5475
|
"aria-label": ariaLabel,
|
|
4566
5476
|
isDisabled: !ready,
|
|
4567
5477
|
items,
|
|
@@ -4571,14 +5481,14 @@ function ThemeToggle({
|
|
|
4571
5481
|
})
|
|
4572
5482
|
});
|
|
4573
5483
|
}
|
|
4574
|
-
function ThemeMenuButton(
|
|
5484
|
+
function ThemeMenuButton(props13) {
|
|
4575
5485
|
const palette = useDesignPalette();
|
|
4576
5486
|
if (palette !== null)
|
|
4577
|
-
return /* @__PURE__ */
|
|
4578
|
-
...
|
|
5487
|
+
return /* @__PURE__ */ jsx14(DesignPaletteMenuButton, {
|
|
5488
|
+
...props13
|
|
4579
5489
|
});
|
|
4580
|
-
return /* @__PURE__ */
|
|
4581
|
-
...
|
|
5490
|
+
return /* @__PURE__ */ jsx14(ThemeToggle, {
|
|
5491
|
+
...props13,
|
|
4582
5492
|
presentation: "menu"
|
|
4583
5493
|
});
|
|
4584
5494
|
}
|
|
@@ -4596,16 +5506,16 @@ function ThemeColorSync({
|
|
|
4596
5506
|
resolvedTheme
|
|
4597
5507
|
} = useTheme();
|
|
4598
5508
|
const effectiveTheme = resolveEffectiveTheme(forcedTheme, resolvedTheme);
|
|
4599
|
-
const registrationId =
|
|
4600
|
-
const registration =
|
|
5509
|
+
const registrationId = useRef5(Symbol("hraness-design-theme-color"));
|
|
5510
|
+
const registration = useRef5(null);
|
|
4601
5511
|
const resolvedColor = palette !== null ? metaName !== "theme-color" && palette.ready ? palette.background : undefined : effectiveTheme !== undefined ? themeColorFor(effectiveTheme, {
|
|
4602
5512
|
dark: darkColor,
|
|
4603
5513
|
light: lightColor
|
|
4604
5514
|
}) : undefined;
|
|
4605
5515
|
const hasResolvedColor = resolvedColor !== undefined;
|
|
4606
|
-
const latestColor =
|
|
5516
|
+
const latestColor = useRef5(resolvedColor);
|
|
4607
5517
|
latestColor.current = resolvedColor;
|
|
4608
|
-
|
|
5518
|
+
useEffect6(() => {
|
|
4609
5519
|
if (!hasResolvedColor || latestColor.current === undefined)
|
|
4610
5520
|
return;
|
|
4611
5521
|
const current = acquireThemeColorMeta(document, metaName, registrationId.current, latestColor.current);
|
|
@@ -4616,7 +5526,7 @@ function ThemeColorSync({
|
|
|
4616
5526
|
current.release();
|
|
4617
5527
|
};
|
|
4618
5528
|
}, [hasResolvedColor, metaName]);
|
|
4619
|
-
|
|
5529
|
+
useEffect6(() => {
|
|
4620
5530
|
if (resolvedColor !== undefined)
|
|
4621
5531
|
registration.current?.update(resolvedColor);
|
|
4622
5532
|
}, [resolvedColor]);
|
|
@@ -4624,7 +5534,7 @@ function ThemeColorSync({
|
|
|
4624
5534
|
}
|
|
4625
5535
|
|
|
4626
5536
|
// src/react/route-state.tsx
|
|
4627
|
-
import { jsx as
|
|
5537
|
+
import { jsx as jsx15, jsxs as jsxs13, Fragment as Fragment4 } from "react/jsx-runtime";
|
|
4628
5538
|
var lowerHeading = {
|
|
4629
5539
|
h1: "h2",
|
|
4630
5540
|
h2: "h3",
|
|
@@ -4642,26 +5552,26 @@ function StatusPage({
|
|
|
4642
5552
|
...content
|
|
4643
5553
|
}) {
|
|
4644
5554
|
const page = resolveStatusPage(content);
|
|
4645
|
-
const rootRef =
|
|
4646
|
-
const focusId = `${
|
|
5555
|
+
const rootRef = useRef6(null);
|
|
5556
|
+
const focusId = `${useId4()}-status`;
|
|
4647
5557
|
const error = page.kind === "error";
|
|
4648
5558
|
const notFound = page.kind === "not-found";
|
|
4649
5559
|
const routes = notFound ? statusPageRoutesAttribute(page.routes) : undefined;
|
|
4650
5560
|
const Root = canvasAs;
|
|
4651
5561
|
const Title = titleAs;
|
|
4652
5562
|
const NextHeading = lowerHeading[titleAs];
|
|
4653
|
-
const headerPresentation =
|
|
4654
|
-
|
|
5563
|
+
const headerPresentation = stylex13.props(routeStateStyles.header);
|
|
5564
|
+
useEffect7(() => {
|
|
4655
5565
|
const root = rootRef.current;
|
|
4656
5566
|
if (!root)
|
|
4657
5567
|
return;
|
|
4658
5568
|
return attachStatusPage(root);
|
|
4659
5569
|
}, [routes]);
|
|
4660
|
-
|
|
5570
|
+
useEffect7(() => {
|
|
4661
5571
|
if (error && autoFocus)
|
|
4662
5572
|
rootRef.current?.focus();
|
|
4663
5573
|
}, [autoFocus, error]);
|
|
4664
|
-
return /* @__PURE__ */
|
|
5574
|
+
return /* @__PURE__ */ jsxs13(Root, {
|
|
4665
5575
|
"aria-label": error ? page.title : undefined,
|
|
4666
5576
|
"aria-live": error && announce ? "assertive" : undefined,
|
|
4667
5577
|
className: "hraness-status-page",
|
|
@@ -4671,54 +5581,54 @@ function StatusPage({
|
|
|
4671
5581
|
ref: rootRef,
|
|
4672
5582
|
tabIndex: error ? -1 : undefined,
|
|
4673
5583
|
children: [
|
|
4674
|
-
showThemeToggle ? /* @__PURE__ */
|
|
5584
|
+
showThemeToggle ? /* @__PURE__ */ jsx15("header", {
|
|
4675
5585
|
...headerPresentation,
|
|
4676
5586
|
className: cn12("hraness-design-route-state__header", headerPresentation.className),
|
|
4677
|
-
children: /* @__PURE__ */
|
|
5587
|
+
children: /* @__PURE__ */ jsx15(ThemeMenuButton, {})
|
|
4678
5588
|
}) : null,
|
|
4679
|
-
/* @__PURE__ */
|
|
5589
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
4680
5590
|
className: "hraness-status-page__inner",
|
|
4681
5591
|
children: [
|
|
4682
|
-
/* @__PURE__ */
|
|
5592
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
4683
5593
|
"aria-hidden": "true",
|
|
4684
5594
|
className: "hraness-status-page__code",
|
|
4685
5595
|
children: [
|
|
4686
|
-
/* @__PURE__ */
|
|
5596
|
+
/* @__PURE__ */ jsx15("span", {
|
|
4687
5597
|
className: "hraness-status-page__glyph",
|
|
4688
5598
|
children: page.glyph
|
|
4689
5599
|
}),
|
|
4690
|
-
/* @__PURE__ */
|
|
5600
|
+
/* @__PURE__ */ jsx15("canvas", {
|
|
4691
5601
|
className: "hraness-status-page__field"
|
|
4692
5602
|
})
|
|
4693
5603
|
]
|
|
4694
5604
|
}),
|
|
4695
|
-
/* @__PURE__ */
|
|
5605
|
+
/* @__PURE__ */ jsx15(Title, {
|
|
4696
5606
|
className: "hraness-status-page__title",
|
|
4697
5607
|
children: page.title
|
|
4698
5608
|
}),
|
|
4699
|
-
/* @__PURE__ */
|
|
5609
|
+
/* @__PURE__ */ jsx15("p", {
|
|
4700
5610
|
className: "hraness-status-page__summary",
|
|
4701
5611
|
children: page.summary
|
|
4702
5612
|
}),
|
|
4703
|
-
notFound ? /* @__PURE__ */
|
|
5613
|
+
notFound ? /* @__PURE__ */ jsxs13("p", {
|
|
4704
5614
|
className: "hraness-status-page__hint",
|
|
4705
5615
|
hidden: true,
|
|
4706
5616
|
children: [
|
|
4707
5617
|
STATUS_PAGE_HINT_PREFIX,
|
|
4708
5618
|
" ",
|
|
4709
|
-
/* @__PURE__ */
|
|
5619
|
+
/* @__PURE__ */ jsx15("a", {
|
|
4710
5620
|
className: "hraness-status-page__hint-link",
|
|
4711
5621
|
href: "/"
|
|
4712
5622
|
}),
|
|
4713
5623
|
"?"
|
|
4714
5624
|
]
|
|
4715
5625
|
}) : null,
|
|
4716
|
-
/* @__PURE__ */
|
|
5626
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
4717
5627
|
className: "hraness-status-page__actions",
|
|
4718
5628
|
children: [
|
|
4719
|
-
onRetry ? /* @__PURE__ */
|
|
5629
|
+
onRetry ? /* @__PURE__ */ jsxs13(Fragment4, {
|
|
4720
5630
|
children: [
|
|
4721
|
-
/* @__PURE__ */
|
|
5631
|
+
/* @__PURE__ */ jsx15("button", {
|
|
4722
5632
|
className: "hraness-status-page__action hraness-foil",
|
|
4723
5633
|
"data-emphasis": "primary",
|
|
4724
5634
|
"data-foil": "",
|
|
@@ -4726,20 +5636,20 @@ function StatusPage({
|
|
|
4726
5636
|
type: "button",
|
|
4727
5637
|
children: "Try again"
|
|
4728
5638
|
}),
|
|
4729
|
-
/* @__PURE__ */
|
|
5639
|
+
/* @__PURE__ */ jsx15("a", {
|
|
4730
5640
|
className: "hraness-status-page__action",
|
|
4731
5641
|
href: page.primaryAction.href,
|
|
4732
5642
|
children: page.primaryAction.label
|
|
4733
5643
|
})
|
|
4734
5644
|
]
|
|
4735
|
-
}) : /* @__PURE__ */
|
|
5645
|
+
}) : /* @__PURE__ */ jsx15("a", {
|
|
4736
5646
|
className: "hraness-status-page__action hraness-foil",
|
|
4737
5647
|
"data-emphasis": "primary",
|
|
4738
5648
|
"data-foil": "",
|
|
4739
5649
|
href: page.primaryAction.href,
|
|
4740
5650
|
children: page.primaryAction.label
|
|
4741
5651
|
}),
|
|
4742
|
-
/* @__PURE__ */
|
|
5652
|
+
/* @__PURE__ */ jsx15("a", {
|
|
4743
5653
|
className: "hraness-status-page__back",
|
|
4744
5654
|
hidden: true,
|
|
4745
5655
|
href: "/",
|
|
@@ -4747,27 +5657,27 @@ function StatusPage({
|
|
|
4747
5657
|
})
|
|
4748
5658
|
]
|
|
4749
5659
|
}),
|
|
4750
|
-
page.next.length === 0 ? null : /* @__PURE__ */
|
|
5660
|
+
page.next.length === 0 ? null : /* @__PURE__ */ jsxs13("nav", {
|
|
4751
5661
|
"aria-labelledby": STATUS_PAGE_NEXT_HEADING_ID,
|
|
4752
5662
|
className: "hraness-status-page__next",
|
|
4753
5663
|
children: [
|
|
4754
|
-
/* @__PURE__ */
|
|
5664
|
+
/* @__PURE__ */ jsx15(NextHeading, {
|
|
4755
5665
|
className: "hraness-status-page__next-heading",
|
|
4756
5666
|
id: STATUS_PAGE_NEXT_HEADING_ID,
|
|
4757
5667
|
children: page.nextHeading
|
|
4758
5668
|
}),
|
|
4759
|
-
/* @__PURE__ */
|
|
5669
|
+
/* @__PURE__ */ jsx15("ul", {
|
|
4760
5670
|
className: "hraness-status-page__next-list",
|
|
4761
|
-
children: page.next.map((link, index) => /* @__PURE__ */
|
|
4762
|
-
children: /* @__PURE__ */
|
|
5671
|
+
children: page.next.map((link, index) => /* @__PURE__ */ jsx15("li", {
|
|
5672
|
+
children: /* @__PURE__ */ jsxs13("a", {
|
|
4763
5673
|
className: "hraness-status-page__next-link",
|
|
4764
5674
|
href: link.href,
|
|
4765
5675
|
children: [
|
|
4766
|
-
/* @__PURE__ */
|
|
5676
|
+
/* @__PURE__ */ jsx15("span", {
|
|
4767
5677
|
className: "hraness-status-page__next-label",
|
|
4768
5678
|
children: link.label
|
|
4769
5679
|
}),
|
|
4770
|
-
link.description === undefined ? null : /* @__PURE__ */
|
|
5680
|
+
link.description === undefined ? null : /* @__PURE__ */ jsx15("span", {
|
|
4771
5681
|
className: "hraness-status-page__next-description",
|
|
4772
5682
|
children: link.description
|
|
4773
5683
|
})
|
|
@@ -4777,12 +5687,12 @@ function StatusPage({
|
|
|
4777
5687
|
})
|
|
4778
5688
|
]
|
|
4779
5689
|
}),
|
|
4780
|
-
page.agentIndexHref === undefined ? null : /* @__PURE__ */
|
|
5690
|
+
page.agentIndexHref === undefined ? null : /* @__PURE__ */ jsxs13("p", {
|
|
4781
5691
|
className: "hraness-status-page__agent",
|
|
4782
5692
|
children: [
|
|
4783
5693
|
STATUS_PAGE_AGENT_PREFIX,
|
|
4784
5694
|
" ",
|
|
4785
|
-
/* @__PURE__ */
|
|
5695
|
+
/* @__PURE__ */ jsx15("a", {
|
|
4786
5696
|
href: page.agentIndexHref,
|
|
4787
5697
|
children: page.agentIndexHref
|
|
4788
5698
|
})
|
|
@@ -4793,9 +5703,9 @@ function StatusPage({
|
|
|
4793
5703
|
]
|
|
4794
5704
|
});
|
|
4795
5705
|
}
|
|
4796
|
-
function RouteNotFoundPage(
|
|
4797
|
-
return /* @__PURE__ */
|
|
4798
|
-
...
|
|
5706
|
+
function RouteNotFoundPage(props14 = {}) {
|
|
5707
|
+
return /* @__PURE__ */ jsx15(StatusPage, {
|
|
5708
|
+
...props14,
|
|
4799
5709
|
kind: "not-found"
|
|
4800
5710
|
});
|
|
4801
5711
|
}
|
|
@@ -4810,7 +5720,7 @@ function RouteErrorPage({
|
|
|
4810
5720
|
siteName,
|
|
4811
5721
|
titleAs = "h1"
|
|
4812
5722
|
}) {
|
|
4813
|
-
return /* @__PURE__ */
|
|
5723
|
+
return /* @__PURE__ */ jsx15(StatusPage, {
|
|
4814
5724
|
announce,
|
|
4815
5725
|
autoFocus,
|
|
4816
5726
|
canvasAs,
|
|
@@ -4828,45 +5738,45 @@ function RouteLoadingPage({
|
|
|
4828
5738
|
announce = true,
|
|
4829
5739
|
canvasAs = "main"
|
|
4830
5740
|
} = {}) {
|
|
4831
|
-
const rootPresentation =
|
|
4832
|
-
const loadingPresentation =
|
|
4833
|
-
const titlePresentation =
|
|
4834
|
-
const skeletonPresentation =
|
|
4835
|
-
return /* @__PURE__ */
|
|
5741
|
+
const rootPresentation = stylex13.props(routeStateStyles.root);
|
|
5742
|
+
const loadingPresentation = stylex13.props(routeStateStyles.loading);
|
|
5743
|
+
const titlePresentation = stylex13.props(routeStateStyles.row);
|
|
5744
|
+
const skeletonPresentation = stylex13.props(routeStateStyles.skeletons);
|
|
5745
|
+
return /* @__PURE__ */ jsx15(PageCanvas, {
|
|
4836
5746
|
"aria-busy": announce ? "true" : undefined,
|
|
4837
5747
|
as: canvasAs,
|
|
4838
5748
|
className: cn12("hraness-design-route-state", rootPresentation.className),
|
|
4839
|
-
children: /* @__PURE__ */
|
|
5749
|
+
children: /* @__PURE__ */ jsxs13("section", {
|
|
4840
5750
|
...loadingPresentation,
|
|
4841
5751
|
className: cn12("hraness-design-route-state__loading", loadingPresentation.className),
|
|
4842
5752
|
role: announce ? "status" : undefined,
|
|
4843
5753
|
children: [
|
|
4844
|
-
/* @__PURE__ */
|
|
5754
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
4845
5755
|
...titlePresentation,
|
|
4846
5756
|
className: cn12("hraness-design-route-state__loading-title", titlePresentation.className),
|
|
4847
5757
|
children: [
|
|
4848
|
-
/* @__PURE__ */
|
|
4849
|
-
/* @__PURE__ */
|
|
5758
|
+
/* @__PURE__ */ jsx15(Spinner2, {}),
|
|
5759
|
+
/* @__PURE__ */ jsx15("strong", {
|
|
4850
5760
|
children: "Loading page"
|
|
4851
5761
|
})
|
|
4852
5762
|
]
|
|
4853
5763
|
}),
|
|
4854
|
-
/* @__PURE__ */
|
|
5764
|
+
/* @__PURE__ */ jsxs13("div", {
|
|
4855
5765
|
...skeletonPresentation,
|
|
4856
5766
|
"aria-hidden": "true",
|
|
4857
5767
|
className: cn12("hraness-design-route-state__skeletons", skeletonPresentation.className),
|
|
4858
5768
|
children: [
|
|
4859
|
-
/* @__PURE__ */
|
|
5769
|
+
/* @__PURE__ */ jsx15(Skeleton, {
|
|
4860
5770
|
height: "1rem",
|
|
4861
5771
|
isText: true,
|
|
4862
5772
|
width: "88%"
|
|
4863
5773
|
}),
|
|
4864
|
-
/* @__PURE__ */
|
|
5774
|
+
/* @__PURE__ */ jsx15(Skeleton, {
|
|
4865
5775
|
height: "1rem",
|
|
4866
5776
|
isText: true,
|
|
4867
5777
|
width: "64%"
|
|
4868
5778
|
}),
|
|
4869
|
-
/* @__PURE__ */
|
|
5779
|
+
/* @__PURE__ */ jsx15(Skeleton, {
|
|
4870
5780
|
height: "8rem",
|
|
4871
5781
|
width: "100%"
|
|
4872
5782
|
})
|
|
@@ -4882,52 +5792,52 @@ function GlobalErrorDocument({
|
|
|
4882
5792
|
diagnostics,
|
|
4883
5793
|
lightColor = colors.light.background,
|
|
4884
5794
|
theme = defaultDesignTheme,
|
|
4885
|
-
...
|
|
5795
|
+
...props14
|
|
4886
5796
|
}) {
|
|
4887
|
-
const content = /* @__PURE__ */
|
|
5797
|
+
const content = /* @__PURE__ */ jsxs13(Fragment4, {
|
|
4888
5798
|
children: [
|
|
4889
5799
|
diagnostics,
|
|
4890
|
-
/* @__PURE__ */
|
|
4891
|
-
...
|
|
5800
|
+
/* @__PURE__ */ jsx15(RouteErrorPage, {
|
|
5801
|
+
...props14,
|
|
4892
5802
|
showThemeToggle: false
|
|
4893
5803
|
})
|
|
4894
5804
|
]
|
|
4895
5805
|
});
|
|
4896
|
-
return /* @__PURE__ */
|
|
5806
|
+
return /* @__PURE__ */ jsxs13("html", {
|
|
4897
5807
|
"data-theme": theme === "system" ? "light" : theme,
|
|
4898
5808
|
lang: "en",
|
|
4899
5809
|
suppressHydrationWarning: true,
|
|
4900
5810
|
children: [
|
|
4901
|
-
/* @__PURE__ */
|
|
5811
|
+
/* @__PURE__ */ jsxs13("head", {
|
|
4902
5812
|
children: [
|
|
4903
|
-
/* @__PURE__ */
|
|
5813
|
+
/* @__PURE__ */ jsx15("meta", {
|
|
4904
5814
|
content: theme === "system" ? "light dark" : theme,
|
|
4905
5815
|
name: "color-scheme"
|
|
4906
5816
|
}),
|
|
4907
|
-
theme === "system" ? /* @__PURE__ */
|
|
5817
|
+
theme === "system" ? /* @__PURE__ */ jsxs13(Fragment4, {
|
|
4908
5818
|
children: [
|
|
4909
|
-
/* @__PURE__ */
|
|
5819
|
+
/* @__PURE__ */ jsx15("meta", {
|
|
4910
5820
|
content: lightColor,
|
|
4911
5821
|
media: "(prefers-color-scheme: light)",
|
|
4912
5822
|
name: "theme-color"
|
|
4913
5823
|
}),
|
|
4914
|
-
/* @__PURE__ */
|
|
5824
|
+
/* @__PURE__ */ jsx15("meta", {
|
|
4915
5825
|
content: darkColor,
|
|
4916
5826
|
media: "(prefers-color-scheme: dark)",
|
|
4917
5827
|
name: "theme-color"
|
|
4918
5828
|
})
|
|
4919
5829
|
]
|
|
4920
|
-
}) : /* @__PURE__ */
|
|
5830
|
+
}) : /* @__PURE__ */ jsx15("meta", {
|
|
4921
5831
|
content: theme === "dark" ? darkColor : lightColor,
|
|
4922
5832
|
name: "theme-color"
|
|
4923
5833
|
})
|
|
4924
5834
|
]
|
|
4925
5835
|
}),
|
|
4926
|
-
/* @__PURE__ */
|
|
5836
|
+
/* @__PURE__ */ jsx15("body", {
|
|
4927
5837
|
className: bodyClassName,
|
|
4928
|
-
children: theme === "system" ? /* @__PURE__ */
|
|
5838
|
+
children: theme === "system" ? /* @__PURE__ */ jsxs13(DesignThemeProvider, {
|
|
4929
5839
|
children: [
|
|
4930
|
-
/* @__PURE__ */
|
|
5840
|
+
/* @__PURE__ */ jsx15(ThemeColorSync, {
|
|
4931
5841
|
darkColor,
|
|
4932
5842
|
lightColor
|
|
4933
5843
|
}),
|
|
@@ -4940,7 +5850,7 @@ function GlobalErrorDocument({
|
|
|
4940
5850
|
}
|
|
4941
5851
|
|
|
4942
5852
|
// src/react/production-data-preview-notice.tsx
|
|
4943
|
-
import * as
|
|
5853
|
+
import * as stylex14 from "@stylexjs/stylex";
|
|
4944
5854
|
|
|
4945
5855
|
// src/react/production-data-preview-notice.stylex.ts
|
|
4946
5856
|
var productionDataPreviewNoticeStyles = {
|
|
@@ -4985,25 +5895,25 @@ var productionDataPreviewNoticeStyles = {
|
|
|
4985
5895
|
};
|
|
4986
5896
|
|
|
4987
5897
|
// src/react/production-data-preview-notice.tsx
|
|
4988
|
-
import { jsx as
|
|
5898
|
+
import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
4989
5899
|
function ProductionDataPreviewNotice({
|
|
4990
5900
|
surfaceOrigin
|
|
4991
5901
|
}) {
|
|
4992
5902
|
if (surfaceOrigin === undefined || surfaceOrigin === "")
|
|
4993
5903
|
return null;
|
|
4994
|
-
const noticePresentation =
|
|
4995
|
-
const emphasisPresentation =
|
|
4996
|
-
return /* @__PURE__ */
|
|
5904
|
+
const noticePresentation = stylex14.props(productionDataPreviewNoticeStyles.root);
|
|
5905
|
+
const emphasisPresentation = stylex14.props(productionDataPreviewNoticeStyles.emphasis);
|
|
5906
|
+
return /* @__PURE__ */ jsxs14("aside", {
|
|
4997
5907
|
...noticePresentation,
|
|
4998
5908
|
"aria-label": "Production data preview warning",
|
|
4999
5909
|
className: `hraness-design-production-data-preview-notice ${noticePresentation.className}`,
|
|
5000
5910
|
role: "alert",
|
|
5001
5911
|
children: [
|
|
5002
|
-
/* @__PURE__ */
|
|
5912
|
+
/* @__PURE__ */ jsx16("strong", {
|
|
5003
5913
|
...emphasisPresentation,
|
|
5004
5914
|
children: "Production data preview"
|
|
5005
5915
|
}),
|
|
5006
|
-
/* @__PURE__ */
|
|
5916
|
+
/* @__PURE__ */ jsx16("span", {
|
|
5007
5917
|
children: "This preview uses production data. Actions are real and affect production."
|
|
5008
5918
|
})
|
|
5009
5919
|
]
|
|
@@ -5011,7 +5921,7 @@ function ProductionDataPreviewNotice({
|
|
|
5011
5921
|
}
|
|
5012
5922
|
|
|
5013
5923
|
// src/react/relative-time.tsx
|
|
5014
|
-
import { useEffect as
|
|
5924
|
+
import { useEffect as useEffect8, useState as useState5 } from "react";
|
|
5015
5925
|
import { createElement as createElement2 } from "react";
|
|
5016
5926
|
var maximumTimeout = 2147483647;
|
|
5017
5927
|
var autoDelays = {
|
|
@@ -5049,8 +5959,8 @@ function RelativeTime({
|
|
|
5049
5959
|
const instant = parseRelativeTimeInput(value, "RelativeTime value");
|
|
5050
5960
|
const refresh = parseRefresh(refreshInterval);
|
|
5051
5961
|
const time = instant.getTime();
|
|
5052
|
-
const [clock, setClock] =
|
|
5053
|
-
|
|
5962
|
+
const [clock, setClock] = useState5(null);
|
|
5963
|
+
useEffect8(() => {
|
|
5054
5964
|
setClock(Date.now());
|
|
5055
5965
|
if (refresh === "off")
|
|
5056
5966
|
return;
|
|
@@ -5086,7 +5996,7 @@ function RelativeTime({
|
|
|
5086
5996
|
}
|
|
5087
5997
|
|
|
5088
5998
|
// src/react/design-gallery.tsx
|
|
5089
|
-
import { jsx as
|
|
5999
|
+
import { jsx as jsx17, jsxs as jsxs15, Fragment as Fragment5 } from "react/jsx-runtime";
|
|
5090
6000
|
var designGallerySections = [{
|
|
5091
6001
|
id: "foundation",
|
|
5092
6002
|
label: "Foundation"
|
|
@@ -5190,35 +6100,35 @@ var foilDeckExamples = [{
|
|
|
5190
6100
|
function DesignSystemGallery({
|
|
5191
6101
|
isNestedInMain = false
|
|
5192
6102
|
}) {
|
|
5193
|
-
const [density, setDensity] =
|
|
5194
|
-
const [chatDraft, setChatDraft] =
|
|
5195
|
-
const [chatSubmission, setChatSubmission] =
|
|
5196
|
-
const [faderValue, setFaderValue] =
|
|
5197
|
-
const [playbackStatus, setPlaybackStatus] =
|
|
6103
|
+
const [density, setDensity] = useState6("default");
|
|
6104
|
+
const [chatDraft, setChatDraft] = useState6("Review the presentation contract");
|
|
6105
|
+
const [chatSubmission, setChatSubmission] = useState6("");
|
|
6106
|
+
const [faderValue, setFaderValue] = useState6(64);
|
|
6107
|
+
const [playbackStatus, setPlaybackStatus] = useState6("idle");
|
|
5198
6108
|
const Root = isNestedInMain ? "div" : "main";
|
|
5199
|
-
return /* @__PURE__ */
|
|
6109
|
+
return /* @__PURE__ */ jsxs15(Root, {
|
|
5200
6110
|
className: "design-gallery",
|
|
5201
6111
|
"data-design-gallery": "public",
|
|
5202
6112
|
"data-design-gallery-nested": isNestedInMain ? "true" : "false",
|
|
5203
6113
|
children: [
|
|
5204
|
-
/* @__PURE__ */
|
|
6114
|
+
/* @__PURE__ */ jsxs15("header", {
|
|
5205
6115
|
className: "design-gallery__intro",
|
|
5206
6116
|
children: [
|
|
5207
|
-
/* @__PURE__ */
|
|
6117
|
+
/* @__PURE__ */ jsx17(Badge, {
|
|
5208
6118
|
tone: "info",
|
|
5209
6119
|
children: "@hraness/design-kit"
|
|
5210
6120
|
}),
|
|
5211
|
-
/* @__PURE__ */
|
|
6121
|
+
/* @__PURE__ */ jsx17("h1", {
|
|
5212
6122
|
children: "Presentation and composition reference"
|
|
5213
6123
|
}),
|
|
5214
|
-
/* @__PURE__ */
|
|
6124
|
+
/* @__PURE__ */ jsx17("p", {
|
|
5215
6125
|
children: "Portable controls come from @hraness/ui. This package adds application shells, charts, effects, syntax, and haptics."
|
|
5216
6126
|
}),
|
|
5217
|
-
/* @__PURE__ */
|
|
6127
|
+
/* @__PURE__ */ jsx17("p", {
|
|
5218
6128
|
children: "System follows your device on the first visit. Choosing Light, Dark, or System saves that preference."
|
|
5219
6129
|
}),
|
|
5220
|
-
/* @__PURE__ */
|
|
5221
|
-
children: /* @__PURE__ */
|
|
6130
|
+
/* @__PURE__ */ jsx17(WrappingRow, {
|
|
6131
|
+
children: /* @__PURE__ */ jsx17(SegmentedControl2, {
|
|
5222
6132
|
"aria-label": "Gallery density",
|
|
5223
6133
|
items: [{
|
|
5224
6134
|
id: "compact",
|
|
@@ -5234,43 +6144,43 @@ function DesignSystemGallery({
|
|
|
5234
6144
|
})
|
|
5235
6145
|
]
|
|
5236
6146
|
}),
|
|
5237
|
-
/* @__PURE__ */
|
|
6147
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
5238
6148
|
className: "design-gallery__section",
|
|
5239
6149
|
id: "foundation",
|
|
5240
6150
|
children: [
|
|
5241
|
-
/* @__PURE__ */
|
|
6151
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
5242
6152
|
children: "Foundation boundary"
|
|
5243
6153
|
}),
|
|
5244
|
-
/* @__PURE__ */
|
|
6154
|
+
/* @__PURE__ */ jsx17(ProductionDataPreviewNotice, {
|
|
5245
6155
|
surfaceOrigin: "https://preview.example.test"
|
|
5246
6156
|
}),
|
|
5247
|
-
/* @__PURE__ */
|
|
6157
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
5248
6158
|
className: "design-gallery__grid",
|
|
5249
6159
|
children: [
|
|
5250
|
-
/* @__PURE__ */
|
|
6160
|
+
/* @__PURE__ */ jsxs15(Card, {
|
|
5251
6161
|
children: [
|
|
5252
|
-
/* @__PURE__ */
|
|
6162
|
+
/* @__PURE__ */ jsxs15(CardHeader, {
|
|
5253
6163
|
children: [
|
|
5254
|
-
/* @__PURE__ */
|
|
6164
|
+
/* @__PURE__ */ jsx17(CardTitle, {
|
|
5255
6165
|
children: "Portable control"
|
|
5256
6166
|
}),
|
|
5257
|
-
/* @__PURE__ */
|
|
6167
|
+
/* @__PURE__ */ jsx17(CardDescription, {
|
|
5258
6168
|
children: "Rendered directly by @hraness/ui."
|
|
5259
6169
|
})
|
|
5260
6170
|
]
|
|
5261
6171
|
}),
|
|
5262
|
-
/* @__PURE__ */
|
|
5263
|
-
children: /* @__PURE__ */
|
|
6172
|
+
/* @__PURE__ */ jsx17(CardContent, {
|
|
6173
|
+
children: /* @__PURE__ */ jsxs15(WrappingRow, {
|
|
5264
6174
|
children: [
|
|
5265
|
-
/* @__PURE__ */
|
|
6175
|
+
/* @__PURE__ */ jsx17(Button3, {
|
|
5266
6176
|
variant: "primary",
|
|
5267
6177
|
children: "Primary action"
|
|
5268
6178
|
}),
|
|
5269
|
-
/* @__PURE__ */
|
|
6179
|
+
/* @__PURE__ */ jsx17(LinkButton, {
|
|
5270
6180
|
href: "#shells",
|
|
5271
6181
|
children: "Open shells"
|
|
5272
6182
|
}),
|
|
5273
|
-
/* @__PURE__ */
|
|
6183
|
+
/* @__PURE__ */ jsx17(Tag, {
|
|
5274
6184
|
variant: "outline",
|
|
5275
6185
|
children: "public core"
|
|
5276
6186
|
})
|
|
@@ -5279,27 +6189,27 @@ function DesignSystemGallery({
|
|
|
5279
6189
|
})
|
|
5280
6190
|
]
|
|
5281
6191
|
}),
|
|
5282
|
-
/* @__PURE__ */
|
|
6192
|
+
/* @__PURE__ */ jsxs15(Card, {
|
|
5283
6193
|
children: [
|
|
5284
|
-
/* @__PURE__ */
|
|
6194
|
+
/* @__PURE__ */ jsxs15(CardHeader, {
|
|
5285
6195
|
children: [
|
|
5286
|
-
/* @__PURE__ */
|
|
6196
|
+
/* @__PURE__ */ jsx17(CardTitle, {
|
|
5287
6197
|
children: "Typography roles"
|
|
5288
6198
|
}),
|
|
5289
|
-
/* @__PURE__ */
|
|
6199
|
+
/* @__PURE__ */ jsx17(CardDescription, {
|
|
5290
6200
|
children: "Nebula Sans for proportional text; mono stays explicit."
|
|
5291
6201
|
})
|
|
5292
6202
|
]
|
|
5293
6203
|
}),
|
|
5294
|
-
/* @__PURE__ */
|
|
5295
|
-
children: /* @__PURE__ */
|
|
6204
|
+
/* @__PURE__ */ jsx17(CardContent, {
|
|
6205
|
+
children: /* @__PURE__ */ jsxs15("div", {
|
|
5296
6206
|
className: "design-gallery__type-specimen",
|
|
5297
6207
|
children: [
|
|
5298
|
-
/* @__PURE__ */
|
|
6208
|
+
/* @__PURE__ */ jsx17("p", {
|
|
5299
6209
|
"data-gallery-font": "proportional",
|
|
5300
6210
|
children: "Nebula Sans sets both headings and body text."
|
|
5301
6211
|
}),
|
|
5302
|
-
/* @__PURE__ */
|
|
6212
|
+
/* @__PURE__ */ jsx17("code", {
|
|
5303
6213
|
"data-gallery-font": "mono",
|
|
5304
6214
|
children: 'const role = "mono";'
|
|
5305
6215
|
})
|
|
@@ -5308,57 +6218,57 @@ function DesignSystemGallery({
|
|
|
5308
6218
|
})
|
|
5309
6219
|
]
|
|
5310
6220
|
}),
|
|
5311
|
-
/* @__PURE__ */
|
|
6221
|
+
/* @__PURE__ */ jsxs15(Card, {
|
|
5312
6222
|
children: [
|
|
5313
|
-
/* @__PURE__ */
|
|
6223
|
+
/* @__PURE__ */ jsxs15(CardHeader, {
|
|
5314
6224
|
children: [
|
|
5315
|
-
/* @__PURE__ */
|
|
6225
|
+
/* @__PURE__ */ jsx17(CardTitle, {
|
|
5316
6226
|
children: "Provider marks"
|
|
5317
6227
|
}),
|
|
5318
|
-
/* @__PURE__ */
|
|
6228
|
+
/* @__PURE__ */ jsx17(CardDescription, {
|
|
5319
6229
|
children: "Vendored agent and vendor artwork on accent-tinted tiles."
|
|
5320
6230
|
})
|
|
5321
6231
|
]
|
|
5322
6232
|
}),
|
|
5323
|
-
/* @__PURE__ */
|
|
5324
|
-
children: /* @__PURE__ */
|
|
6233
|
+
/* @__PURE__ */ jsx17(CardContent, {
|
|
6234
|
+
children: /* @__PURE__ */ jsxs15(WrappingRow, {
|
|
5325
6235
|
children: [
|
|
5326
|
-
/* @__PURE__ */
|
|
6236
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5327
6237
|
mark: "claudecode",
|
|
5328
6238
|
label: "Claude Code",
|
|
5329
6239
|
size: 40
|
|
5330
6240
|
}),
|
|
5331
|
-
/* @__PURE__ */
|
|
6241
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5332
6242
|
mark: "codex",
|
|
5333
6243
|
label: "Codex",
|
|
5334
6244
|
size: 40
|
|
5335
6245
|
}),
|
|
5336
|
-
/* @__PURE__ */
|
|
6246
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5337
6247
|
mark: "opencode",
|
|
5338
6248
|
label: "opencode",
|
|
5339
6249
|
size: 40
|
|
5340
6250
|
}),
|
|
5341
|
-
/* @__PURE__ */
|
|
6251
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5342
6252
|
mark: "crush",
|
|
5343
6253
|
label: "Crush",
|
|
5344
6254
|
size: 40
|
|
5345
6255
|
}),
|
|
5346
|
-
/* @__PURE__ */
|
|
6256
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5347
6257
|
mark: "aider",
|
|
5348
6258
|
label: "Aider",
|
|
5349
6259
|
size: 40
|
|
5350
6260
|
}),
|
|
5351
|
-
/* @__PURE__ */
|
|
6261
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5352
6262
|
mark: "goose",
|
|
5353
6263
|
label: "Goose",
|
|
5354
6264
|
size: 40
|
|
5355
6265
|
}),
|
|
5356
|
-
/* @__PURE__ */
|
|
6266
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5357
6267
|
mark: "gemini",
|
|
5358
6268
|
label: "Gemini",
|
|
5359
6269
|
size: 40
|
|
5360
6270
|
}),
|
|
5361
|
-
/* @__PURE__ */
|
|
6271
|
+
/* @__PURE__ */ jsx17(ProviderMark, {
|
|
5362
6272
|
mark: "nvidia",
|
|
5363
6273
|
label: "NVIDIA",
|
|
5364
6274
|
size: 40
|
|
@@ -5370,30 +6280,30 @@ function DesignSystemGallery({
|
|
|
5370
6280
|
})
|
|
5371
6281
|
]
|
|
5372
6282
|
}),
|
|
5373
|
-
/* @__PURE__ */
|
|
6283
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
5374
6284
|
"aria-label": "Plain site link presentation",
|
|
5375
6285
|
className: "design-gallery__plain-theme plain-site plain-publication",
|
|
5376
6286
|
children: [
|
|
5377
|
-
/* @__PURE__ */
|
|
6287
|
+
/* @__PURE__ */ jsx17("header", {
|
|
5378
6288
|
className: "plain-header",
|
|
5379
|
-
children: /* @__PURE__ */
|
|
6289
|
+
children: /* @__PURE__ */ jsxs15("div", {
|
|
5380
6290
|
className: "plain-header__inner",
|
|
5381
6291
|
"data-layout": "responsive-wrap",
|
|
5382
6292
|
children: [
|
|
5383
|
-
/* @__PURE__ */
|
|
6293
|
+
/* @__PURE__ */ jsx17("a", {
|
|
5384
6294
|
className: "plain-wordmark",
|
|
5385
6295
|
href: "#foundation",
|
|
5386
6296
|
children: "project-name.example"
|
|
5387
6297
|
}),
|
|
5388
|
-
/* @__PURE__ */
|
|
6298
|
+
/* @__PURE__ */ jsxs15("nav", {
|
|
5389
6299
|
"aria-label": "Plain site example",
|
|
5390
6300
|
className: "plain-nav",
|
|
5391
6301
|
children: [
|
|
5392
|
-
/* @__PURE__ */
|
|
6302
|
+
/* @__PURE__ */ jsx17("a", {
|
|
5393
6303
|
href: "#foundation",
|
|
5394
6304
|
children: "Articles"
|
|
5395
6305
|
}),
|
|
5396
|
-
/* @__PURE__ */
|
|
6306
|
+
/* @__PURE__ */ jsx17("a", {
|
|
5397
6307
|
href: "#shells",
|
|
5398
6308
|
children: "About"
|
|
5399
6309
|
})
|
|
@@ -5402,13 +6312,13 @@ function DesignSystemGallery({
|
|
|
5402
6312
|
]
|
|
5403
6313
|
})
|
|
5404
6314
|
}),
|
|
5405
|
-
/* @__PURE__ */
|
|
6315
|
+
/* @__PURE__ */ jsx17("div", {
|
|
5406
6316
|
className: "plain-page",
|
|
5407
|
-
children: /* @__PURE__ */
|
|
6317
|
+
children: /* @__PURE__ */ jsxs15("p", {
|
|
5408
6318
|
className: "design-gallery__plain-link-example",
|
|
5409
6319
|
children: [
|
|
5410
6320
|
"Ordinary ",
|
|
5411
|
-
/* @__PURE__ */
|
|
6321
|
+
/* @__PURE__ */ jsx17("a", {
|
|
5412
6322
|
href: "#foundation",
|
|
5413
6323
|
children: "blue links"
|
|
5414
6324
|
}),
|
|
@@ -5420,22 +6330,22 @@ function DesignSystemGallery({
|
|
|
5420
6330
|
})
|
|
5421
6331
|
]
|
|
5422
6332
|
}),
|
|
5423
|
-
/* @__PURE__ */
|
|
6333
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
5424
6334
|
className: "design-gallery__section",
|
|
5425
6335
|
id: "paper-theme",
|
|
5426
6336
|
children: [
|
|
5427
|
-
/* @__PURE__ */
|
|
6337
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
5428
6338
|
children: "Paper theme"
|
|
5429
6339
|
}),
|
|
5430
|
-
/* @__PURE__ */
|
|
6340
|
+
/* @__PURE__ */ jsx17("p", {
|
|
5431
6341
|
children: "Import paper-theme.css to share warm neutral colors and compact typography without replacing layouts or saved appearance choices."
|
|
5432
6342
|
}),
|
|
5433
|
-
/* @__PURE__ */
|
|
6343
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
5434
6344
|
className: "design-gallery__paper",
|
|
5435
6345
|
"data-hraness-theme": "paper",
|
|
5436
6346
|
"data-theme": "light",
|
|
5437
6347
|
children: [
|
|
5438
|
-
/* @__PURE__ */
|
|
6348
|
+
/* @__PURE__ */ jsx17(MarketingSiteHeader, {
|
|
5439
6349
|
brand: "Light paper",
|
|
5440
6350
|
brandHref: "#paper-theme",
|
|
5441
6351
|
links: [{
|
|
@@ -5444,36 +6354,36 @@ function DesignSystemGallery({
|
|
|
5444
6354
|
}],
|
|
5445
6355
|
sticky: false
|
|
5446
6356
|
}),
|
|
5447
|
-
/* @__PURE__ */
|
|
6357
|
+
/* @__PURE__ */ jsx17(TopBar, {
|
|
5448
6358
|
surface: "glass",
|
|
5449
6359
|
title: "Glass application header",
|
|
5450
6360
|
"data-gallery-glass-top-bar": ""
|
|
5451
6361
|
}),
|
|
5452
|
-
/* @__PURE__ */
|
|
6362
|
+
/* @__PURE__ */ jsx17("h3", {
|
|
5453
6363
|
children: "Light paper"
|
|
5454
6364
|
}),
|
|
5455
|
-
/* @__PURE__ */
|
|
6365
|
+
/* @__PURE__ */ jsx17("p", {
|
|
5456
6366
|
children: "Headers blur scrolling content and become opaque when reduced transparency is preferred."
|
|
5457
6367
|
}),
|
|
5458
|
-
/* @__PURE__ */
|
|
5459
|
-
children: /* @__PURE__ */
|
|
6368
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6369
|
+
children: /* @__PURE__ */ jsx17("a", {
|
|
5460
6370
|
className: "design-gallery__paper-link",
|
|
5461
6371
|
href: "#foundation",
|
|
5462
6372
|
children: "Read about the foundation"
|
|
5463
6373
|
})
|
|
5464
6374
|
}),
|
|
5465
|
-
/* @__PURE__ */
|
|
6375
|
+
/* @__PURE__ */ jsx17(Button3, {
|
|
5466
6376
|
variant: "primary",
|
|
5467
6377
|
children: "Create note"
|
|
5468
6378
|
})
|
|
5469
6379
|
]
|
|
5470
6380
|
}),
|
|
5471
|
-
/* @__PURE__ */
|
|
6381
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
5472
6382
|
className: "design-gallery__paper",
|
|
5473
6383
|
"data-hraness-theme": "paper",
|
|
5474
6384
|
"data-theme": "dark",
|
|
5475
6385
|
children: [
|
|
5476
|
-
/* @__PURE__ */
|
|
6386
|
+
/* @__PURE__ */ jsx17(MarketingSiteHeader, {
|
|
5477
6387
|
brand: "Dark paper",
|
|
5478
6388
|
brandHref: "#paper-theme",
|
|
5479
6389
|
links: [{
|
|
@@ -5482,25 +6392,25 @@ function DesignSystemGallery({
|
|
|
5482
6392
|
}],
|
|
5483
6393
|
sticky: false
|
|
5484
6394
|
}),
|
|
5485
|
-
/* @__PURE__ */
|
|
6395
|
+
/* @__PURE__ */ jsx17(TopBar, {
|
|
5486
6396
|
surface: "glass",
|
|
5487
6397
|
title: "Glass application header",
|
|
5488
6398
|
"data-gallery-glass-top-bar": ""
|
|
5489
6399
|
}),
|
|
5490
|
-
/* @__PURE__ */
|
|
6400
|
+
/* @__PURE__ */ jsx17("h3", {
|
|
5491
6401
|
children: "Dark paper"
|
|
5492
6402
|
}),
|
|
5493
|
-
/* @__PURE__ */
|
|
6403
|
+
/* @__PURE__ */ jsx17("p", {
|
|
5494
6404
|
children: "The same header treatment follows an explicit dark preference."
|
|
5495
6405
|
}),
|
|
5496
|
-
/* @__PURE__ */
|
|
5497
|
-
children: /* @__PURE__ */
|
|
6406
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6407
|
+
children: /* @__PURE__ */ jsx17("a", {
|
|
5498
6408
|
className: "design-gallery__paper-link",
|
|
5499
6409
|
href: "#foundation",
|
|
5500
6410
|
children: "Read about the foundation"
|
|
5501
6411
|
})
|
|
5502
6412
|
}),
|
|
5503
|
-
/* @__PURE__ */
|
|
6413
|
+
/* @__PURE__ */ jsx17(Button3, {
|
|
5504
6414
|
variant: "primary",
|
|
5505
6415
|
children: "Open notes"
|
|
5506
6416
|
})
|
|
@@ -5508,18 +6418,18 @@ function DesignSystemGallery({
|
|
|
5508
6418
|
})
|
|
5509
6419
|
]
|
|
5510
6420
|
}),
|
|
5511
|
-
/* @__PURE__ */
|
|
5512
|
-
/* @__PURE__ */
|
|
6421
|
+
/* @__PURE__ */ jsx17(LanternMaterialGallery, {}),
|
|
6422
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
5513
6423
|
className: "design-gallery__section",
|
|
5514
6424
|
id: "marketing",
|
|
5515
6425
|
children: [
|
|
5516
|
-
/* @__PURE__ */
|
|
6426
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
5517
6427
|
children: "Product-marketing grammar"
|
|
5518
6428
|
}),
|
|
5519
|
-
/* @__PURE__ */
|
|
6429
|
+
/* @__PURE__ */ jsxs15(MarketingPage, {
|
|
5520
6430
|
className: "design-gallery__marketing",
|
|
5521
6431
|
children: [
|
|
5522
|
-
/* @__PURE__ */
|
|
6432
|
+
/* @__PURE__ */ jsx17(MarketingSiteHeader, {
|
|
5523
6433
|
action: {
|
|
5524
6434
|
href: "#gallery-install",
|
|
5525
6435
|
label: "Install Relay"
|
|
@@ -5538,9 +6448,9 @@ function DesignSystemGallery({
|
|
|
5538
6448
|
label: "Docs"
|
|
5539
6449
|
}]
|
|
5540
6450
|
}),
|
|
5541
|
-
/* @__PURE__ */
|
|
6451
|
+
/* @__PURE__ */ jsxs15(MarketingMain, {
|
|
5542
6452
|
children: [
|
|
5543
|
-
/* @__PURE__ */
|
|
6453
|
+
/* @__PURE__ */ jsx17(ProductHero, {
|
|
5544
6454
|
actions: [{
|
|
5545
6455
|
href: "#gallery-install",
|
|
5546
6456
|
label: "Install Relay"
|
|
@@ -5566,11 +6476,11 @@ function DesignSystemGallery({
|
|
|
5566
6476
|
value: "CLI + SDK"
|
|
5567
6477
|
}],
|
|
5568
6478
|
factsColumns: 3,
|
|
5569
|
-
frame: /* @__PURE__ */
|
|
6479
|
+
frame: /* @__PURE__ */ jsx17(MarketingProofFrame, {
|
|
5570
6480
|
caption: "The log written by the example job.",
|
|
5571
6481
|
credit: "Captured 5 September 2026",
|
|
5572
6482
|
title: "relay run job-01",
|
|
5573
|
-
children: /* @__PURE__ */
|
|
6483
|
+
children: /* @__PURE__ */ jsx17(MarketingCodeBlock, {
|
|
5574
6484
|
className: "design-gallery__marketing-command",
|
|
5575
6485
|
code: '{"status":"complete","job":"job-01","durationMs":412}',
|
|
5576
6486
|
language: "json"
|
|
@@ -5580,13 +6490,13 @@ function DesignSystemGallery({
|
|
|
5580
6490
|
headingId: "design-gallery-marketing-title",
|
|
5581
6491
|
headingLevel: 3,
|
|
5582
6492
|
name: "Relay",
|
|
5583
|
-
notice: /* @__PURE__ */
|
|
6493
|
+
notice: /* @__PURE__ */ jsx17("p", {
|
|
5584
6494
|
"data-gallery-marketing-slot": "notice",
|
|
5585
6495
|
children: "This example release runs locally."
|
|
5586
6496
|
}),
|
|
5587
6497
|
summary: "Relay runs the same job wherever you start it and writes a log you can read afterward: inputs, outputs, and how long it took."
|
|
5588
6498
|
}),
|
|
5589
|
-
/* @__PURE__ */
|
|
6499
|
+
/* @__PURE__ */ jsx17(MarketingPillars, {
|
|
5590
6500
|
ariaLabel: "Relay in three points",
|
|
5591
6501
|
columns: 3,
|
|
5592
6502
|
pillars: [{
|
|
@@ -5600,18 +6510,18 @@ function DesignSystemGallery({
|
|
|
5600
6510
|
summary: "Source files and credentials never leave your machine."
|
|
5601
6511
|
}]
|
|
5602
6512
|
}),
|
|
5603
|
-
/* @__PURE__ */
|
|
6513
|
+
/* @__PURE__ */ jsxs15(MarketingInstallPanel, {
|
|
5604
6514
|
eyebrow: "Local release",
|
|
5605
6515
|
heading: "Install Relay and run your first job.",
|
|
5606
6516
|
headingId: "design-gallery-install-title",
|
|
5607
6517
|
headingLevel: 3,
|
|
5608
6518
|
id: "gallery-install",
|
|
5609
|
-
note: /* @__PURE__ */
|
|
6519
|
+
note: /* @__PURE__ */ jsx17("p", {
|
|
5610
6520
|
"data-gallery-marketing-slot": "note",
|
|
5611
6521
|
children: "Requires Bun 1.3.14."
|
|
5612
6522
|
}),
|
|
5613
6523
|
children: [
|
|
5614
|
-
/* @__PURE__ */
|
|
6524
|
+
/* @__PURE__ */ jsx17(PlatformInstall, {
|
|
5615
6525
|
id: "design-gallery-platform-install",
|
|
5616
6526
|
platforms: [{
|
|
5617
6527
|
alternatives: [{
|
|
@@ -5636,18 +6546,18 @@ function DesignSystemGallery({
|
|
|
5636
6546
|
id: "windows",
|
|
5637
6547
|
shell: "WSL2 terminal",
|
|
5638
6548
|
unavailable: true,
|
|
5639
|
-
unavailableNote: /* @__PURE__ */
|
|
6549
|
+
unavailableNote: /* @__PURE__ */ jsx17("p", {
|
|
5640
6550
|
children: "No native Windows build yet. Relay runs in WSL2."
|
|
5641
6551
|
})
|
|
5642
6552
|
}]
|
|
5643
6553
|
}),
|
|
5644
|
-
/* @__PURE__ */
|
|
6554
|
+
/* @__PURE__ */ jsx17(PlatformBadges, {
|
|
5645
6555
|
platforms: ["macos", "linux", {
|
|
5646
6556
|
id: "windows",
|
|
5647
6557
|
note: "via WSL2"
|
|
5648
6558
|
}]
|
|
5649
6559
|
}),
|
|
5650
|
-
/* @__PURE__ */
|
|
6560
|
+
/* @__PURE__ */ jsx17(MarketingFlow, {
|
|
5651
6561
|
ariaLabel: "First Relay job",
|
|
5652
6562
|
steps: [{
|
|
5653
6563
|
code: "relay init",
|
|
@@ -5665,7 +6575,49 @@ function DesignSystemGallery({
|
|
|
5665
6575
|
})
|
|
5666
6576
|
]
|
|
5667
6577
|
}),
|
|
5668
|
-
/* @__PURE__ */
|
|
6578
|
+
/* @__PURE__ */ jsxs15(MarketingSection, {
|
|
6579
|
+
heading: "Ask your agent to set it up.",
|
|
6580
|
+
headingId: "gallery-agent-setup",
|
|
6581
|
+
headingLevel: 3,
|
|
6582
|
+
label: "Agent setup",
|
|
6583
|
+
children: [
|
|
6584
|
+
/* @__PURE__ */ jsx17(AgentSetupPrompt, {
|
|
6585
|
+
label: "Relay agent setup",
|
|
6586
|
+
prompt: `Install Relay from https://relay.example/install.sh.
|
|
6587
|
+
Read the project instructions before making changes.
|
|
6588
|
+
Run relay init in this workspace and create a job named sample.
|
|
6589
|
+
Run the job, then show me its log.`,
|
|
6590
|
+
targets: [{
|
|
6591
|
+
href: "https://claude.ai/new",
|
|
6592
|
+
id: "claude",
|
|
6593
|
+
label: "Claude",
|
|
6594
|
+
mark: "claudecode",
|
|
6595
|
+
mode: "copy-and-open"
|
|
6596
|
+
}, {
|
|
6597
|
+
href: "https://chatgpt.com/",
|
|
6598
|
+
id: "chatgpt",
|
|
6599
|
+
label: "ChatGPT",
|
|
6600
|
+
mark: "codex",
|
|
6601
|
+
mode: "copy-and-open"
|
|
6602
|
+
}]
|
|
6603
|
+
}),
|
|
6604
|
+
/* @__PURE__ */ jsx17(AgentCommandTabs, {
|
|
6605
|
+
commands: [{
|
|
6606
|
+
command: "claude mcp add relay -- relay serve",
|
|
6607
|
+
id: "claude",
|
|
6608
|
+
label: "Claude Code",
|
|
6609
|
+
mark: "claudecode"
|
|
6610
|
+
}, {
|
|
6611
|
+
command: "codex mcp add relay -- relay serve",
|
|
6612
|
+
id: "codex",
|
|
6613
|
+
label: "Codex",
|
|
6614
|
+
mark: "codex"
|
|
6615
|
+
}],
|
|
6616
|
+
label: "Relay agent commands"
|
|
6617
|
+
})
|
|
6618
|
+
]
|
|
6619
|
+
}),
|
|
6620
|
+
/* @__PURE__ */ jsx17(MarketingPrimitives, {
|
|
5669
6621
|
heading: "Three objects cover most work.",
|
|
5670
6622
|
headingId: "design-gallery-primitives-title",
|
|
5671
6623
|
headingLevel: 3,
|
|
@@ -5682,27 +6634,38 @@ function DesignSystemGallery({
|
|
|
5682
6634
|
label: "Primitives",
|
|
5683
6635
|
summary: "People and agents use the same three objects, so a job you start by hand is one an agent can rerun."
|
|
5684
6636
|
}),
|
|
5685
|
-
/* @__PURE__ */
|
|
6637
|
+
/* @__PURE__ */ jsxs15(MarketingSection, {
|
|
5686
6638
|
heading: "A job keeps its name everywhere.",
|
|
6639
|
+
headingContent: /* @__PURE__ */ jsxs15(Fragment5, {
|
|
6640
|
+
children: [
|
|
6641
|
+
/* @__PURE__ */ jsx17(MarketingCodeBlock, {
|
|
6642
|
+
code: "relay run job-01"
|
|
6643
|
+
}),
|
|
6644
|
+
/* @__PURE__ */ jsx17(MarketingActionLink, {
|
|
6645
|
+
href: "#gallery-install",
|
|
6646
|
+
label: "Run your first job"
|
|
6647
|
+
})
|
|
6648
|
+
]
|
|
6649
|
+
}),
|
|
5687
6650
|
headingId: "gallery-marketing-section",
|
|
5688
6651
|
headingLevel: 3,
|
|
5689
6652
|
label: "Workflow",
|
|
5690
6653
|
layout: "split-reverse",
|
|
5691
6654
|
summary: "Start it from the CLI and check on it from code; both see the same job.",
|
|
5692
6655
|
children: [
|
|
5693
|
-
/* @__PURE__ */
|
|
6656
|
+
/* @__PURE__ */ jsx17(MarketingSectionLabel, {
|
|
5694
6657
|
size: "body",
|
|
5695
6658
|
children: "Reference"
|
|
5696
6659
|
}),
|
|
5697
|
-
/* @__PURE__ */
|
|
6660
|
+
/* @__PURE__ */ jsxs15("p", {
|
|
5698
6661
|
children: [
|
|
5699
6662
|
"Consumer-owned content can include ",
|
|
5700
|
-
/* @__PURE__ */
|
|
6663
|
+
/* @__PURE__ */ jsx17("a", {
|
|
5701
6664
|
href: "#gallery-install",
|
|
5702
6665
|
children: "links"
|
|
5703
6666
|
}),
|
|
5704
6667
|
" and ",
|
|
5705
|
-
/* @__PURE__ */
|
|
6668
|
+
/* @__PURE__ */ jsx17("code", {
|
|
5706
6669
|
children: "inline code"
|
|
5707
6670
|
}),
|
|
5708
6671
|
"."
|
|
@@ -5710,7 +6673,7 @@ function DesignSystemGallery({
|
|
|
5710
6673
|
})
|
|
5711
6674
|
]
|
|
5712
6675
|
}),
|
|
5713
|
-
/* @__PURE__ */
|
|
6676
|
+
/* @__PURE__ */ jsx17(MarketingInterfaceGrid, {
|
|
5714
6677
|
heading: "Choose your interface.",
|
|
5715
6678
|
headingId: "gallery-marketing-interfaces",
|
|
5716
6679
|
headingLevel: 3,
|
|
@@ -5718,7 +6681,7 @@ function DesignSystemGallery({
|
|
|
5718
6681
|
interfaces: [{
|
|
5719
6682
|
label: "CLI",
|
|
5720
6683
|
summary: "Run a named job.",
|
|
5721
|
-
example: /* @__PURE__ */
|
|
6684
|
+
example: /* @__PURE__ */ jsx17(MarketingCodeBlock, {
|
|
5722
6685
|
code: "relay run job-01"
|
|
5723
6686
|
})
|
|
5724
6687
|
}, {
|
|
@@ -5726,15 +6689,15 @@ function DesignSystemGallery({
|
|
|
5726
6689
|
summary: "Use typed application code."
|
|
5727
6690
|
}]
|
|
5728
6691
|
}),
|
|
5729
|
-
/* @__PURE__ */
|
|
6692
|
+
/* @__PURE__ */ jsx17(MarketingCardRow, {
|
|
5730
6693
|
ariaLabel: "Release radar",
|
|
5731
6694
|
cards: [{
|
|
5732
|
-
art: /* @__PURE__ */
|
|
6695
|
+
art: /* @__PURE__ */ jsx17("svg", {
|
|
5733
6696
|
"aria-hidden": "true",
|
|
5734
6697
|
viewBox: "0 0 24 24",
|
|
5735
6698
|
width: "24",
|
|
5736
6699
|
height: "24",
|
|
5737
|
-
children: /* @__PURE__ */
|
|
6700
|
+
children: /* @__PURE__ */ jsx17("circle", {
|
|
5738
6701
|
cx: "12",
|
|
5739
6702
|
cy: "12",
|
|
5740
6703
|
r: "8"
|
|
@@ -5744,12 +6707,12 @@ function DesignSystemGallery({
|
|
|
5744
6707
|
title: "Grok 4.7",
|
|
5745
6708
|
meta: "First observed 21 September 2026."
|
|
5746
6709
|
}, {
|
|
5747
|
-
art: /* @__PURE__ */
|
|
6710
|
+
art: /* @__PURE__ */ jsx17("svg", {
|
|
5748
6711
|
"aria-hidden": "true",
|
|
5749
6712
|
viewBox: "0 0 24 24",
|
|
5750
6713
|
width: "24",
|
|
5751
6714
|
height: "24",
|
|
5752
|
-
children: /* @__PURE__ */
|
|
6715
|
+
children: /* @__PURE__ */ jsx17("rect", {
|
|
5753
6716
|
x: "4",
|
|
5754
6717
|
y: "4",
|
|
5755
6718
|
width: "16",
|
|
@@ -5762,7 +6725,7 @@ function DesignSystemGallery({
|
|
|
5762
6725
|
meta: "First observed 26 August 2026. Early DeepSWE coverage on OpenRouter."
|
|
5763
6726
|
}]
|
|
5764
6727
|
}),
|
|
5765
|
-
/* @__PURE__ */
|
|
6728
|
+
/* @__PURE__ */ jsx17(MarketingTrustBoundary, {
|
|
5766
6729
|
heading: "What leaves your machine.",
|
|
5767
6730
|
headingId: "gallery-marketing-trust",
|
|
5768
6731
|
headingLevel: 3,
|
|
@@ -5775,7 +6738,7 @@ function DesignSystemGallery({
|
|
|
5775
6738
|
detail: "Only the logs you choose to sync."
|
|
5776
6739
|
}]
|
|
5777
6740
|
}),
|
|
5778
|
-
/* @__PURE__ */
|
|
6741
|
+
/* @__PURE__ */ jsx17(MarketingStatStrip, {
|
|
5779
6742
|
ariaLabel: "Relay usage",
|
|
5780
6743
|
columns: 3,
|
|
5781
6744
|
source: "Counted from the public example repository on 5 September 2026.",
|
|
@@ -5791,7 +6754,7 @@ function DesignSystemGallery({
|
|
|
5791
6754
|
value: "0"
|
|
5792
6755
|
}]
|
|
5793
6756
|
}),
|
|
5794
|
-
/* @__PURE__ */
|
|
6757
|
+
/* @__PURE__ */ jsx17(MarketingDataTable, {
|
|
5795
6758
|
caption: "Cold-run timing across interfaces",
|
|
5796
6759
|
columns: [{
|
|
5797
6760
|
label: "Interface"
|
|
@@ -5817,7 +6780,7 @@ function DesignSystemGallery({
|
|
|
5817
6780
|
tone: "negative"
|
|
5818
6781
|
}]]
|
|
5819
6782
|
}),
|
|
5820
|
-
/* @__PURE__ */
|
|
6783
|
+
/* @__PURE__ */ jsx17(MarketingQuoteGrid, {
|
|
5821
6784
|
heading: "From the people building with it.",
|
|
5822
6785
|
headingId: "design-gallery-quotes-title",
|
|
5823
6786
|
headingLevel: 3,
|
|
@@ -5828,7 +6791,7 @@ function DesignSystemGallery({
|
|
|
5828
6791
|
role: "@example"
|
|
5829
6792
|
}]
|
|
5830
6793
|
}),
|
|
5831
|
-
/* @__PURE__ */
|
|
6794
|
+
/* @__PURE__ */ jsx17(MarketingPricing, {
|
|
5832
6795
|
heading: "Free for local use.",
|
|
5833
6796
|
headingId: "design-gallery-pricing-title",
|
|
5834
6797
|
headingLevel: 3,
|
|
@@ -5857,24 +6820,24 @@ function DesignSystemGallery({
|
|
|
5857
6820
|
summary: "Keep logs in step across your machines."
|
|
5858
6821
|
}]
|
|
5859
6822
|
}),
|
|
5860
|
-
/* @__PURE__ */
|
|
6823
|
+
/* @__PURE__ */ jsx17(MarketingQuestionList, {
|
|
5861
6824
|
heading: "Questions before installing.",
|
|
5862
6825
|
headingId: "design-gallery-questions-title",
|
|
5863
6826
|
headingLevel: 3,
|
|
5864
6827
|
label: "Questions",
|
|
5865
6828
|
questions: [{
|
|
5866
|
-
answer: /* @__PURE__ */
|
|
6829
|
+
answer: /* @__PURE__ */ jsx17("p", {
|
|
5867
6830
|
children: "No. The local workflow works without one."
|
|
5868
6831
|
}),
|
|
5869
6832
|
question: "Does it require an account?"
|
|
5870
6833
|
}, {
|
|
5871
|
-
answer: /* @__PURE__ */
|
|
6834
|
+
answer: /* @__PURE__ */ jsx17("p", {
|
|
5872
6835
|
children: "Nothing leaves your machine unless you turn on sync."
|
|
5873
6836
|
}),
|
|
5874
6837
|
question: "Does it phone home?"
|
|
5875
6838
|
}]
|
|
5876
6839
|
}),
|
|
5877
|
-
/* @__PURE__ */
|
|
6840
|
+
/* @__PURE__ */ jsx17(MarketingRelated, {
|
|
5878
6841
|
groups: [{
|
|
5879
6842
|
heading: "Sibling tools",
|
|
5880
6843
|
headingId: "design-gallery-related-tools",
|
|
@@ -5903,7 +6866,7 @@ function DesignSystemGallery({
|
|
|
5903
6866
|
label: "Related",
|
|
5904
6867
|
summary: "Each is a separate release. Its card says how it works with Relay."
|
|
5905
6868
|
}),
|
|
5906
|
-
/* @__PURE__ */
|
|
6869
|
+
/* @__PURE__ */ jsx17(MarketingMaker, {
|
|
5907
6870
|
heading: "Who builds Relay",
|
|
5908
6871
|
headingId: "design-gallery-maker-title",
|
|
5909
6872
|
headingLevel: 3,
|
|
@@ -5913,11 +6876,11 @@ function DesignSystemGallery({
|
|
|
5913
6876
|
href: "#marketing",
|
|
5914
6877
|
label: "Personal site"
|
|
5915
6878
|
}],
|
|
5916
|
-
children: /* @__PURE__ */
|
|
6879
|
+
children: /* @__PURE__ */ jsx17("p", {
|
|
5917
6880
|
children: "A short, plain-words bio: who made it, what they did before, where they are, and why this product exists."
|
|
5918
6881
|
})
|
|
5919
6882
|
}),
|
|
5920
|
-
/* @__PURE__ */
|
|
6883
|
+
/* @__PURE__ */ jsx17(MarketingCallToAction, {
|
|
5921
6884
|
actions: [{
|
|
5922
6885
|
href: "#gallery-install",
|
|
5923
6886
|
label: "Install Relay"
|
|
@@ -5927,46 +6890,46 @@ function DesignSystemGallery({
|
|
|
5927
6890
|
headingId: "design-gallery-cta-title",
|
|
5928
6891
|
headingLevel: 3
|
|
5929
6892
|
}),
|
|
5930
|
-
/* @__PURE__ */
|
|
6893
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
5931
6894
|
className: "design-gallery__foil-note",
|
|
5932
6895
|
children: [
|
|
5933
|
-
/* @__PURE__ */
|
|
6896
|
+
/* @__PURE__ */ jsxs15("p", {
|
|
5934
6897
|
children: [
|
|
5935
6898
|
"Metallic wordmarks and exact-shape marks share a restrained rainbow reflection. Wordmarks use",
|
|
5936
6899
|
" ",
|
|
5937
|
-
/* @__PURE__ */
|
|
6900
|
+
/* @__PURE__ */ jsx17("code", {
|
|
5938
6901
|
children: ".hraness-foil-text"
|
|
5939
6902
|
}),
|
|
5940
6903
|
", primary calls to action use ",
|
|
5941
|
-
/* @__PURE__ */
|
|
6904
|
+
/* @__PURE__ */ jsx17("code", {
|
|
5942
6905
|
children: ".hraness-foil"
|
|
5943
6906
|
}),
|
|
5944
6907
|
", and ",
|
|
5945
|
-
/* @__PURE__ */
|
|
6908
|
+
/* @__PURE__ */ jsx17("code", {
|
|
5946
6909
|
children: "attachFoil"
|
|
5947
6910
|
}),
|
|
5948
6911
|
" eases the pointer inputs on ",
|
|
5949
|
-
/* @__PURE__ */
|
|
6912
|
+
/* @__PURE__ */ jsx17("code", {
|
|
5950
6913
|
children: "data-foil"
|
|
5951
6914
|
}),
|
|
5952
6915
|
" targets."
|
|
5953
6916
|
]
|
|
5954
6917
|
}),
|
|
5955
|
-
/* @__PURE__ */
|
|
6918
|
+
/* @__PURE__ */ jsxs15("p", {
|
|
5956
6919
|
className: "design-gallery__foil-row",
|
|
5957
6920
|
children: [
|
|
5958
|
-
/* @__PURE__ */
|
|
6921
|
+
/* @__PURE__ */ jsxs15("a", {
|
|
5959
6922
|
className: foilClassName("text", "design-gallery__foil-wordmark"),
|
|
5960
6923
|
"data-foil": "",
|
|
5961
6924
|
href: "#marketing",
|
|
5962
6925
|
children: [
|
|
5963
|
-
/* @__PURE__ */
|
|
6926
|
+
/* @__PURE__ */ jsx17(FoilMark, {
|
|
5964
6927
|
src: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM13 13h8v8h-8z'/%3E%3C/svg%3E"
|
|
5965
6928
|
}),
|
|
5966
6929
|
" Relay"
|
|
5967
6930
|
]
|
|
5968
6931
|
}),
|
|
5969
|
-
/* @__PURE__ */
|
|
6932
|
+
/* @__PURE__ */ jsx17("a", {
|
|
5970
6933
|
className: foilClassName("surface", "design-gallery__foil-action"),
|
|
5971
6934
|
"data-foil": "",
|
|
5972
6935
|
href: "#gallery-install",
|
|
@@ -5980,11 +6943,11 @@ function DesignSystemGallery({
|
|
|
5980
6943
|
})
|
|
5981
6944
|
]
|
|
5982
6945
|
}),
|
|
5983
|
-
/* @__PURE__ */
|
|
6946
|
+
/* @__PURE__ */ jsxs15(MarketingPage, {
|
|
5984
6947
|
preset: "editorial",
|
|
5985
6948
|
className: "design-gallery__marketing-preset",
|
|
5986
6949
|
children: [
|
|
5987
|
-
/* @__PURE__ */
|
|
6950
|
+
/* @__PURE__ */ jsx17(MarketingSiteHeader, {
|
|
5988
6951
|
action: {
|
|
5989
6952
|
href: "#gallery-install",
|
|
5990
6953
|
label: "Install"
|
|
@@ -6009,8 +6972,8 @@ function DesignSystemGallery({
|
|
|
6009
6972
|
}],
|
|
6010
6973
|
sticky: false
|
|
6011
6974
|
}),
|
|
6012
|
-
/* @__PURE__ */
|
|
6013
|
-
children: /* @__PURE__ */
|
|
6975
|
+
/* @__PURE__ */ jsx17(MarketingField, {
|
|
6976
|
+
children: /* @__PURE__ */ jsx17(ProductHero, {
|
|
6014
6977
|
actions: [{
|
|
6015
6978
|
href: "#gallery-install",
|
|
6016
6979
|
label: "Install Relay"
|
|
@@ -6022,9 +6985,9 @@ function DesignSystemGallery({
|
|
|
6022
6985
|
align: "start",
|
|
6023
6986
|
boundary: "MIT license · macOS and Linux · free for local use",
|
|
6024
6987
|
eyebrow: "Job runner",
|
|
6025
|
-
frame: /* @__PURE__ */
|
|
6988
|
+
frame: /* @__PURE__ */ jsx17(MarketingProofFrame, {
|
|
6026
6989
|
title: "relay run job-01",
|
|
6027
|
-
children: /* @__PURE__ */
|
|
6990
|
+
children: /* @__PURE__ */ jsx17(MarketingCodeBlock, {
|
|
6028
6991
|
className: "design-gallery__marketing-command",
|
|
6029
6992
|
code: `$ relay run job-01
|
|
6030
6993
|
{"status":"complete","job":"job-01","durationMs":412}`
|
|
@@ -6037,19 +7000,19 @@ function DesignSystemGallery({
|
|
|
6037
7000
|
summary: "The editorial preset sets one large sans heading on the flat palette background, a short summary, one next step, and one real proof."
|
|
6038
7001
|
})
|
|
6039
7002
|
}),
|
|
6040
|
-
/* @__PURE__ */
|
|
7003
|
+
/* @__PURE__ */ jsx17(MarketingSection, {
|
|
6041
7004
|
heading: "Keep every limit next to what it limits.",
|
|
6042
7005
|
headingId: "gallery-quiet-limits",
|
|
6043
7006
|
headingLevel: 3,
|
|
6044
7007
|
label: "Limits",
|
|
6045
7008
|
summary: "Sections sit between hairline rules, each with one short paragraph and one concrete element.",
|
|
6046
|
-
children: /* @__PURE__ */
|
|
7009
|
+
children: /* @__PURE__ */ jsxs15("ol", {
|
|
6047
7010
|
className: "design-gallery__quiet-steps",
|
|
6048
7011
|
children: [
|
|
6049
|
-
/* @__PURE__ */
|
|
7012
|
+
/* @__PURE__ */ jsx17("li", {
|
|
6050
7013
|
children: "Local jobs only; sync is a separate plan."
|
|
6051
7014
|
}),
|
|
6052
|
-
/* @__PURE__ */
|
|
7015
|
+
/* @__PURE__ */ jsx17("li", {
|
|
6053
7016
|
children: "Logs older than 30 days are pruned unless pinned."
|
|
6054
7017
|
})
|
|
6055
7018
|
]
|
|
@@ -6057,28 +7020,28 @@ function DesignSystemGallery({
|
|
|
6057
7020
|
})
|
|
6058
7021
|
]
|
|
6059
7022
|
}),
|
|
6060
|
-
/* @__PURE__ */
|
|
7023
|
+
/* @__PURE__ */ jsxs15(MarketingPage, {
|
|
6061
7024
|
preset: "minimal",
|
|
6062
7025
|
className: "design-gallery__marketing-preset",
|
|
6063
7026
|
children: [
|
|
6064
|
-
/* @__PURE__ */
|
|
7027
|
+
/* @__PURE__ */ jsx17(MarketingSiteHeader, {
|
|
6065
7028
|
brand: "Relay",
|
|
6066
7029
|
brandHref: "#marketing",
|
|
6067
7030
|
links: [],
|
|
6068
7031
|
sticky: false
|
|
6069
7032
|
}),
|
|
6070
|
-
/* @__PURE__ */
|
|
7033
|
+
/* @__PURE__ */ jsx17(ProductHero, {
|
|
6071
7034
|
name: "Relay",
|
|
6072
7035
|
heading: "A quieter public page.",
|
|
6073
7036
|
headingId: "gallery-minimal-title",
|
|
6074
7037
|
headingLevel: 3,
|
|
6075
7038
|
summary: "The same shared system, with compact sans headings and a plain surface."
|
|
6076
7039
|
}),
|
|
6077
|
-
/* @__PURE__ */
|
|
6078
|
-
brand: /* @__PURE__ */
|
|
7040
|
+
/* @__PURE__ */ jsx17(MarketingSiteFooter, {
|
|
7041
|
+
brand: /* @__PURE__ */ jsx17("svg", {
|
|
6079
7042
|
"aria-hidden": "true",
|
|
6080
7043
|
viewBox: "0 0 24 24",
|
|
6081
|
-
children: /* @__PURE__ */
|
|
7044
|
+
children: /* @__PURE__ */ jsx17("path", {
|
|
6082
7045
|
d: "M4 4h16v16H4z",
|
|
6083
7046
|
fill: "currentColor"
|
|
6084
7047
|
})
|
|
@@ -6095,15 +7058,15 @@ function DesignSystemGallery({
|
|
|
6095
7058
|
})
|
|
6096
7059
|
]
|
|
6097
7060
|
}),
|
|
6098
|
-
/* @__PURE__ */
|
|
7061
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
6099
7062
|
className: "design-gallery__section",
|
|
6100
7063
|
id: "articles",
|
|
6101
7064
|
children: [
|
|
6102
|
-
/* @__PURE__ */
|
|
7065
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6103
7066
|
children: "Article layer"
|
|
6104
7067
|
}),
|
|
6105
|
-
/* @__PURE__ */
|
|
6106
|
-
after: /* @__PURE__ */
|
|
7068
|
+
/* @__PURE__ */ jsxs15(MarketingArticle, {
|
|
7069
|
+
after: /* @__PURE__ */ jsx17(ArticleSources, {
|
|
6107
7070
|
headingId: "gallery-article-sources",
|
|
6108
7071
|
sources: [{
|
|
6109
7072
|
checkedOn: "2026-09-20",
|
|
@@ -6137,76 +7100,76 @@ function DesignSystemGallery({
|
|
|
6137
7100
|
}],
|
|
6138
7101
|
updated: "2026-09-20",
|
|
6139
7102
|
children: [
|
|
6140
|
-
/* @__PURE__ */
|
|
7103
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6141
7104
|
id: "gallery-article-problem",
|
|
6142
7105
|
children: "The problem"
|
|
6143
7106
|
}),
|
|
6144
|
-
/* @__PURE__ */
|
|
7107
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6145
7108
|
children: "A provider signs the exact request body. Parsing the JSON and serializing it again changes whitespace and key order, and the signature check then fails on every retry."
|
|
6146
7109
|
}),
|
|
6147
|
-
/* @__PURE__ */
|
|
7110
|
+
/* @__PURE__ */ jsx17(ArticleCallout, {
|
|
6148
7111
|
label: "Limit",
|
|
6149
7112
|
tone: "limit",
|
|
6150
7113
|
children: "This applies to providers that sign the raw body. Header-only schemes need no stored copy."
|
|
6151
7114
|
}),
|
|
6152
|
-
/* @__PURE__ */
|
|
7115
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6153
7116
|
id: "gallery-article-approach",
|
|
6154
7117
|
children: "The approach"
|
|
6155
7118
|
}),
|
|
6156
|
-
/* @__PURE__ */
|
|
7119
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6157
7120
|
children: "Store the body as bytes next to the parsed event, and send those bytes on replay."
|
|
6158
7121
|
}),
|
|
6159
|
-
/* @__PURE__ */
|
|
6160
|
-
children: /* @__PURE__ */
|
|
7122
|
+
/* @__PURE__ */ jsx17("pre", {
|
|
7123
|
+
children: /* @__PURE__ */ jsx17("code", {
|
|
6161
7124
|
children: "await replay(event.id, { body: stored.raw });"
|
|
6162
7125
|
})
|
|
6163
7126
|
}),
|
|
6164
|
-
/* @__PURE__ */
|
|
7127
|
+
/* @__PURE__ */ jsxs15("figure", {
|
|
6165
7128
|
children: [
|
|
6166
|
-
/* @__PURE__ */
|
|
7129
|
+
/* @__PURE__ */ jsxs15("table", {
|
|
6167
7130
|
children: [
|
|
6168
|
-
/* @__PURE__ */
|
|
6169
|
-
children: /* @__PURE__ */
|
|
7131
|
+
/* @__PURE__ */ jsx17("thead", {
|
|
7132
|
+
children: /* @__PURE__ */ jsxs15("tr", {
|
|
6170
7133
|
children: [
|
|
6171
|
-
/* @__PURE__ */
|
|
7134
|
+
/* @__PURE__ */ jsx17("th", {
|
|
6172
7135
|
scope: "col",
|
|
6173
7136
|
children: "Step"
|
|
6174
7137
|
}),
|
|
6175
|
-
/* @__PURE__ */
|
|
7138
|
+
/* @__PURE__ */ jsx17("th", {
|
|
6176
7139
|
scope: "col",
|
|
6177
7140
|
children: "Stored"
|
|
6178
7141
|
}),
|
|
6179
|
-
/* @__PURE__ */
|
|
7142
|
+
/* @__PURE__ */ jsx17("th", {
|
|
6180
7143
|
scope: "col",
|
|
6181
7144
|
children: "Sent on replay"
|
|
6182
7145
|
})
|
|
6183
7146
|
]
|
|
6184
7147
|
})
|
|
6185
7148
|
}),
|
|
6186
|
-
/* @__PURE__ */
|
|
7149
|
+
/* @__PURE__ */ jsxs15("tbody", {
|
|
6187
7150
|
children: [
|
|
6188
|
-
/* @__PURE__ */
|
|
7151
|
+
/* @__PURE__ */ jsxs15("tr", {
|
|
6189
7152
|
children: [
|
|
6190
|
-
/* @__PURE__ */
|
|
7153
|
+
/* @__PURE__ */ jsx17("td", {
|
|
6191
7154
|
children: "Receive"
|
|
6192
7155
|
}),
|
|
6193
|
-
/* @__PURE__ */
|
|
7156
|
+
/* @__PURE__ */ jsx17("td", {
|
|
6194
7157
|
children: "Raw body and headers"
|
|
6195
7158
|
}),
|
|
6196
|
-
/* @__PURE__ */
|
|
7159
|
+
/* @__PURE__ */ jsx17("td", {
|
|
6197
7160
|
children: "Nothing"
|
|
6198
7161
|
})
|
|
6199
7162
|
]
|
|
6200
7163
|
}),
|
|
6201
|
-
/* @__PURE__ */
|
|
7164
|
+
/* @__PURE__ */ jsxs15("tr", {
|
|
6202
7165
|
children: [
|
|
6203
|
-
/* @__PURE__ */
|
|
7166
|
+
/* @__PURE__ */ jsx17("td", {
|
|
6204
7167
|
children: "Retry"
|
|
6205
7168
|
}),
|
|
6206
|
-
/* @__PURE__ */
|
|
7169
|
+
/* @__PURE__ */ jsx17("td", {
|
|
6207
7170
|
children: "Attempt count"
|
|
6208
7171
|
}),
|
|
6209
|
-
/* @__PURE__ */
|
|
7172
|
+
/* @__PURE__ */ jsx17("td", {
|
|
6210
7173
|
children: "The stored raw body"
|
|
6211
7174
|
})
|
|
6212
7175
|
]
|
|
@@ -6215,14 +7178,14 @@ function DesignSystemGallery({
|
|
|
6215
7178
|
})
|
|
6216
7179
|
]
|
|
6217
7180
|
}),
|
|
6218
|
-
/* @__PURE__ */
|
|
7181
|
+
/* @__PURE__ */ jsx17("figcaption", {
|
|
6219
7182
|
children: "What Relay keeps for each delivery, and what a replay sends."
|
|
6220
7183
|
})
|
|
6221
7184
|
]
|
|
6222
7185
|
})
|
|
6223
7186
|
]
|
|
6224
7187
|
}),
|
|
6225
|
-
/* @__PURE__ */
|
|
7188
|
+
/* @__PURE__ */ jsx17(ArticleIndex, {
|
|
6226
7189
|
heading: "Recent writing",
|
|
6227
7190
|
headingId: "gallery-article-index",
|
|
6228
7191
|
headingLevel: 3,
|
|
@@ -6241,38 +7204,38 @@ function DesignSystemGallery({
|
|
|
6241
7204
|
title: "Relay 2.4 adds per-endpoint retry limits"
|
|
6242
7205
|
}]
|
|
6243
7206
|
}),
|
|
6244
|
-
/* @__PURE__ */
|
|
7207
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6245
7208
|
className: "hraness-prose",
|
|
6246
7209
|
children: [
|
|
6247
|
-
/* @__PURE__ */
|
|
7210
|
+
/* @__PURE__ */ jsx17("h3", {
|
|
6248
7211
|
children: "Shared reading scale"
|
|
6249
7212
|
}),
|
|
6250
|
-
/* @__PURE__ */
|
|
7213
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6251
7214
|
children: 'The `.hraness-prose` grammar carries the shared `--hraness-type-*` scale to docs and guide surfaces that do not run the publication shell. Headings step up on wide windows and a serif face opts in with `data-hraness-reading-face="serif"`.'
|
|
6252
7215
|
}),
|
|
6253
|
-
/* @__PURE__ */
|
|
7216
|
+
/* @__PURE__ */ jsx17("h4", {
|
|
6254
7217
|
children: "Section spacing"
|
|
6255
7218
|
}),
|
|
6256
|
-
/* @__PURE__ */
|
|
7219
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6257
7220
|
children: "Sections separate on the shared space token; subsections tighten to the subsection space and small heads keep the text face."
|
|
6258
7221
|
})
|
|
6259
7222
|
]
|
|
6260
7223
|
})
|
|
6261
7224
|
]
|
|
6262
7225
|
}),
|
|
6263
|
-
/* @__PURE__ */
|
|
7226
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
6264
7227
|
className: "design-gallery__section",
|
|
6265
7228
|
id: "status-pages",
|
|
6266
7229
|
children: [
|
|
6267
|
-
/* @__PURE__ */
|
|
7230
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6268
7231
|
children: "Status pages"
|
|
6269
7232
|
}),
|
|
6270
|
-
/* @__PURE__ */
|
|
7233
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6271
7234
|
children: "One page for missing addresses and recoverable errors. It leads with the product's main action, offers the closest known page for a mistyped link, and lists at most three places to start. Move the pointer over the glyph, or click it."
|
|
6272
7235
|
}),
|
|
6273
|
-
/* @__PURE__ */
|
|
7236
|
+
/* @__PURE__ */ jsx17(ViewportFrame, {
|
|
6274
7237
|
className: "design-gallery__status-preview",
|
|
6275
|
-
children: /* @__PURE__ */
|
|
7238
|
+
children: /* @__PURE__ */ jsx17(StatusPage, {
|
|
6276
7239
|
agentIndexHref: "/llms.txt",
|
|
6277
7240
|
canvasAs: "div",
|
|
6278
7241
|
next: [{
|
|
@@ -6298,18 +7261,18 @@ function DesignSystemGallery({
|
|
|
6298
7261
|
})
|
|
6299
7262
|
]
|
|
6300
7263
|
}),
|
|
6301
|
-
/* @__PURE__ */
|
|
7264
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
6302
7265
|
className: "design-gallery__section",
|
|
6303
7266
|
id: "shells",
|
|
6304
7267
|
children: [
|
|
6305
|
-
/* @__PURE__ */
|
|
7268
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6306
7269
|
children: "Site shell"
|
|
6307
7270
|
}),
|
|
6308
|
-
/* @__PURE__ */
|
|
7271
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6309
7272
|
children: "The main content fills available height so the footer follows short and long pages."
|
|
6310
7273
|
}),
|
|
6311
|
-
/* @__PURE__ */
|
|
6312
|
-
children: /* @__PURE__ */
|
|
7274
|
+
/* @__PURE__ */ jsx17("pre", {
|
|
7275
|
+
children: /* @__PURE__ */ jsx17("code", {
|
|
6313
7276
|
children: `<body class="hraness-site-shell">
|
|
6314
7277
|
<header>Project</header>
|
|
6315
7278
|
<main>Payment complete</main>
|
|
@@ -6317,45 +7280,45 @@ function DesignSystemGallery({
|
|
|
6317
7280
|
</body>`
|
|
6318
7281
|
})
|
|
6319
7282
|
}),
|
|
6320
|
-
/* @__PURE__ */
|
|
7283
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6321
7284
|
children: "Application shells"
|
|
6322
7285
|
}),
|
|
6323
|
-
/* @__PURE__ */
|
|
7286
|
+
/* @__PURE__ */ jsx17(ViewportFrame, {
|
|
6324
7287
|
className: "design-gallery__shell-preview",
|
|
6325
|
-
children: /* @__PURE__ */
|
|
6326
|
-
bottomBar: /* @__PURE__ */
|
|
6327
|
-
actions: /* @__PURE__ */
|
|
7288
|
+
children: /* @__PURE__ */ jsx17(AppShell, {
|
|
7289
|
+
bottomBar: /* @__PURE__ */ jsx17(BottomBar, {
|
|
7290
|
+
actions: /* @__PURE__ */ jsx17("span", {
|
|
6328
7291
|
children: "Synced"
|
|
6329
7292
|
}),
|
|
6330
7293
|
"data-gallery-layout-bottom-bar": "",
|
|
6331
|
-
leading: /* @__PURE__ */
|
|
7294
|
+
leading: /* @__PURE__ */ jsx17("span", {
|
|
6332
7295
|
children: "Ready"
|
|
6333
7296
|
}),
|
|
6334
7297
|
children: "Reference footer"
|
|
6335
7298
|
}),
|
|
6336
7299
|
navigationKey: "gallery",
|
|
6337
|
-
rail: /* @__PURE__ */
|
|
6338
|
-
children: /* @__PURE__ */
|
|
7300
|
+
rail: /* @__PURE__ */ jsx17(NavigationRail, {
|
|
7301
|
+
children: /* @__PURE__ */ jsxs15(RailSection, {
|
|
6339
7302
|
title: "Workspace",
|
|
6340
7303
|
children: [
|
|
6341
|
-
/* @__PURE__ */
|
|
7304
|
+
/* @__PURE__ */ jsx17(RailItem, {
|
|
6342
7305
|
href: "#foundation",
|
|
6343
|
-
icon: /* @__PURE__ */
|
|
7306
|
+
icon: /* @__PURE__ */ jsx17(Icon3, {
|
|
6344
7307
|
icon: DashboardSquare01Icon
|
|
6345
7308
|
}),
|
|
6346
7309
|
isActive: true,
|
|
6347
7310
|
label: "Overview"
|
|
6348
7311
|
}),
|
|
6349
|
-
/* @__PURE__ */
|
|
7312
|
+
/* @__PURE__ */ jsx17(RailItem, {
|
|
6350
7313
|
href: "#data",
|
|
6351
|
-
icon: /* @__PURE__ */
|
|
7314
|
+
icon: /* @__PURE__ */ jsx17(Icon3, {
|
|
6352
7315
|
icon: Chart01Icon
|
|
6353
7316
|
}),
|
|
6354
7317
|
label: "Data"
|
|
6355
7318
|
}),
|
|
6356
|
-
/* @__PURE__ */
|
|
7319
|
+
/* @__PURE__ */ jsx17(RailItem, {
|
|
6357
7320
|
href: "#syntax",
|
|
6358
|
-
icon: /* @__PURE__ */
|
|
7321
|
+
icon: /* @__PURE__ */ jsx17(Icon3, {
|
|
6359
7322
|
icon: CodeIcon
|
|
6360
7323
|
}),
|
|
6361
7324
|
label: "Syntax"
|
|
@@ -6363,29 +7326,29 @@ function DesignSystemGallery({
|
|
|
6363
7326
|
]
|
|
6364
7327
|
})
|
|
6365
7328
|
}),
|
|
6366
|
-
topBar: /* @__PURE__ */
|
|
7329
|
+
topBar: /* @__PURE__ */ jsx17(TopBar, {
|
|
6367
7330
|
"data-gallery-layout-top-bar": "",
|
|
6368
7331
|
title: "Reference workspace"
|
|
6369
7332
|
}),
|
|
6370
|
-
children: /* @__PURE__ */
|
|
7333
|
+
children: /* @__PURE__ */ jsx17(PageCanvas, {
|
|
6371
7334
|
as: "div",
|
|
6372
7335
|
"data-gallery-layout-page-canvas": "",
|
|
6373
|
-
children: /* @__PURE__ */
|
|
7336
|
+
children: /* @__PURE__ */ jsx17(AnimatedRailStage, {
|
|
6374
7337
|
className: "design-gallery__animated-rail-stage",
|
|
6375
7338
|
stageKey: density,
|
|
6376
|
-
children: /* @__PURE__ */
|
|
7339
|
+
children: /* @__PURE__ */ jsxs15(DitherSurface, {
|
|
6377
7340
|
as: "section",
|
|
6378
7341
|
"data-gallery-dither": "",
|
|
6379
7342
|
density: density === "compact" ? "fine" : "medium",
|
|
6380
7343
|
tone: "card",
|
|
6381
7344
|
children: [
|
|
6382
|
-
/* @__PURE__ */
|
|
7345
|
+
/* @__PURE__ */ jsxs15("h3", {
|
|
6383
7346
|
children: [
|
|
6384
7347
|
density === "compact" ? "Compact" : "Default",
|
|
6385
7348
|
" composition"
|
|
6386
7349
|
]
|
|
6387
7350
|
}),
|
|
6388
|
-
/* @__PURE__ */
|
|
7351
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6389
7352
|
children: "The route body changes while persistent navigation remains in place."
|
|
6390
7353
|
})
|
|
6391
7354
|
]
|
|
@@ -6394,14 +7357,14 @@ function DesignSystemGallery({
|
|
|
6394
7357
|
})
|
|
6395
7358
|
})
|
|
6396
7359
|
}),
|
|
6397
|
-
/* @__PURE__ */
|
|
7360
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6398
7361
|
className: "design-gallery__docked-footer-preview",
|
|
6399
7362
|
"data-gallery-layout-docked-frame": "",
|
|
6400
7363
|
children: [
|
|
6401
|
-
/* @__PURE__ */
|
|
7364
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6402
7365
|
children: "Docked commands remain inside their positioning owner."
|
|
6403
7366
|
}),
|
|
6404
|
-
/* @__PURE__ */
|
|
7367
|
+
/* @__PURE__ */ jsx17(DockedFooter, {
|
|
6405
7368
|
"data-gallery-layout-docked-footer": "",
|
|
6406
7369
|
density: "compact",
|
|
6407
7370
|
position: "absolute",
|
|
@@ -6411,34 +7374,34 @@ function DesignSystemGallery({
|
|
|
6411
7374
|
})
|
|
6412
7375
|
]
|
|
6413
7376
|
}),
|
|
6414
|
-
/* @__PURE__ */
|
|
7377
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
6415
7378
|
className: "design-gallery__section",
|
|
6416
7379
|
id: "data",
|
|
6417
7380
|
children: [
|
|
6418
|
-
/* @__PURE__ */
|
|
7381
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6419
7382
|
children: "Data and instrument compositions"
|
|
6420
7383
|
}),
|
|
6421
|
-
/* @__PURE__ */
|
|
7384
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6422
7385
|
className: "design-gallery__grid",
|
|
6423
7386
|
children: [
|
|
6424
|
-
/* @__PURE__ */
|
|
7387
|
+
/* @__PURE__ */ jsx17(BarListChart, {
|
|
6425
7388
|
"aria-label": "Example request volume",
|
|
6426
7389
|
data: barData
|
|
6427
7390
|
}),
|
|
6428
|
-
/* @__PURE__ */
|
|
7391
|
+
/* @__PURE__ */ jsx17(RangePlotChart, {
|
|
6429
7392
|
"aria-label": "Example regional ranges",
|
|
6430
7393
|
data: rangeData
|
|
6431
7394
|
}),
|
|
6432
|
-
/* @__PURE__ */
|
|
7395
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6433
7396
|
className: "design-gallery__instrument",
|
|
6434
7397
|
children: [
|
|
6435
|
-
/* @__PURE__ */
|
|
7398
|
+
/* @__PURE__ */ jsx17(Fader, {
|
|
6436
7399
|
"aria-label": "Example level",
|
|
6437
7400
|
className: "design-gallery__vertical-fader",
|
|
6438
7401
|
"data-gallery-fader": "vertical",
|
|
6439
7402
|
density: "default",
|
|
6440
7403
|
label: "Level",
|
|
6441
|
-
labelAccessory: /* @__PURE__ */
|
|
7404
|
+
labelAccessory: /* @__PURE__ */ jsx17("span", {
|
|
6442
7405
|
"data-gallery-fader-accessory": "",
|
|
6443
7406
|
children: "dB"
|
|
6444
7407
|
}),
|
|
@@ -6449,7 +7412,7 @@ function DesignSystemGallery({
|
|
|
6449
7412
|
showOutput: true,
|
|
6450
7413
|
value: faderValue
|
|
6451
7414
|
}),
|
|
6452
|
-
/* @__PURE__ */
|
|
7415
|
+
/* @__PURE__ */ jsx17(Fader, {
|
|
6453
7416
|
"aria-label": "Example horizontal level",
|
|
6454
7417
|
className: "design-gallery__horizontal-fader",
|
|
6455
7418
|
"data-gallery-fader": "horizontal",
|
|
@@ -6463,13 +7426,13 @@ function DesignSystemGallery({
|
|
|
6463
7426
|
showOutput: true,
|
|
6464
7427
|
value: faderValue
|
|
6465
7428
|
}),
|
|
6466
|
-
/* @__PURE__ */
|
|
7429
|
+
/* @__PURE__ */ jsx17(Slider, {
|
|
6467
7430
|
label: "Balance",
|
|
6468
7431
|
maxValue: 100,
|
|
6469
7432
|
minValue: 0,
|
|
6470
7433
|
value: 50
|
|
6471
7434
|
}),
|
|
6472
|
-
/* @__PURE__ */
|
|
7435
|
+
/* @__PURE__ */ jsx17(PlaybackTransport, {
|
|
6473
7436
|
"aria-label": "Preview transport",
|
|
6474
7437
|
buttonAriaKeyShortcuts: "Space",
|
|
6475
7438
|
buttonId: "design-gallery-playback-command",
|
|
@@ -6482,23 +7445,23 @@ function DesignSystemGallery({
|
|
|
6482
7445
|
})
|
|
6483
7446
|
]
|
|
6484
7447
|
}),
|
|
6485
|
-
/* @__PURE__ */
|
|
7448
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6486
7449
|
className: "design-gallery__chat",
|
|
6487
7450
|
"data-gallery-chat": "",
|
|
6488
7451
|
"data-gallery-chat-submission": chatSubmission,
|
|
6489
7452
|
children: [
|
|
6490
|
-
/* @__PURE__ */
|
|
6491
|
-
actions: /* @__PURE__ */
|
|
7453
|
+
/* @__PURE__ */ jsx17(ChatMessage, {
|
|
7454
|
+
actions: /* @__PURE__ */ jsx17(Button3, {
|
|
6492
7455
|
variant: "quiet",
|
|
6493
7456
|
children: "Copy response"
|
|
6494
7457
|
}),
|
|
6495
|
-
avatar: /* @__PURE__ */
|
|
7458
|
+
avatar: /* @__PURE__ */ jsx17("span", {
|
|
6496
7459
|
"aria-hidden": "true",
|
|
6497
7460
|
className: "design-gallery__chat-avatar",
|
|
6498
7461
|
children: "AI"
|
|
6499
7462
|
}),
|
|
6500
7463
|
className: "design-gallery__chat-message",
|
|
6501
|
-
meta: /* @__PURE__ */
|
|
7464
|
+
meta: /* @__PURE__ */ jsx17(RelativeTime, {
|
|
6502
7465
|
locale: "en-US",
|
|
6503
7466
|
now: designGalleryRelativeTimeNow,
|
|
6504
7467
|
refreshInterval: "off",
|
|
@@ -6506,17 +7469,17 @@ function DesignSystemGallery({
|
|
|
6506
7469
|
}),
|
|
6507
7470
|
name: "Assistant",
|
|
6508
7471
|
role: "assistant",
|
|
6509
|
-
children: /* @__PURE__ */
|
|
7472
|
+
children: /* @__PURE__ */ jsx17("p", {
|
|
6510
7473
|
children: "A complete message keeps its ordinary article and slot semantics."
|
|
6511
7474
|
})
|
|
6512
7475
|
}),
|
|
6513
|
-
/* @__PURE__ */
|
|
7476
|
+
/* @__PURE__ */ jsx17(ChatMessage, {
|
|
6514
7477
|
role: "user",
|
|
6515
|
-
children: /* @__PURE__ */
|
|
7478
|
+
children: /* @__PURE__ */ jsx17("p", {
|
|
6516
7479
|
children: "Responsive composition belongs to the extracted package recipe."
|
|
6517
7480
|
})
|
|
6518
7481
|
}),
|
|
6519
|
-
/* @__PURE__ */
|
|
7482
|
+
/* @__PURE__ */ jsx17(ChatComposer, {
|
|
6520
7483
|
action: "/gallery-chat-submit",
|
|
6521
7484
|
"aria-label": "Gallery message composer",
|
|
6522
7485
|
className: "design-gallery__chat-composer",
|
|
@@ -6531,15 +7494,15 @@ function DesignSystemGallery({
|
|
|
6531
7494
|
})
|
|
6532
7495
|
]
|
|
6533
7496
|
}),
|
|
6534
|
-
/* @__PURE__ */
|
|
7497
|
+
/* @__PURE__ */ jsx17("ul", {
|
|
6535
7498
|
"aria-label": "Relative time examples",
|
|
6536
7499
|
className: "design-gallery__relative-times",
|
|
6537
7500
|
"data-gallery-relative-time": "",
|
|
6538
7501
|
children: relativeTimeExamples.map(({
|
|
6539
7502
|
id,
|
|
6540
7503
|
value
|
|
6541
|
-
}) => /* @__PURE__ */
|
|
6542
|
-
children: /* @__PURE__ */
|
|
7504
|
+
}) => /* @__PURE__ */ jsx17("li", {
|
|
7505
|
+
children: /* @__PURE__ */ jsx17(RelativeTime, {
|
|
6543
7506
|
"data-gallery-relative-time-example": id,
|
|
6544
7507
|
locale: "en-US",
|
|
6545
7508
|
now: designGalleryRelativeTimeNow,
|
|
@@ -6550,36 +7513,36 @@ function DesignSystemGallery({
|
|
|
6550
7513
|
})
|
|
6551
7514
|
]
|
|
6552
7515
|
}),
|
|
6553
|
-
/* @__PURE__ */
|
|
7516
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
6554
7517
|
className: "design-gallery__section",
|
|
6555
7518
|
id: "effects",
|
|
6556
7519
|
children: [
|
|
6557
|
-
/* @__PURE__ */
|
|
7520
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6558
7521
|
children: "Decorative effects"
|
|
6559
7522
|
}),
|
|
6560
|
-
/* @__PURE__ */
|
|
7523
|
+
/* @__PURE__ */ jsx17(FoilCardDeck, {
|
|
6561
7524
|
"aria-label": "Delegated foil ornament examples",
|
|
6562
7525
|
className: "design-gallery__foil-deck",
|
|
6563
|
-
children: foilDeckExamples.map((example) => /* @__PURE__ */
|
|
7526
|
+
children: foilDeckExamples.map((example) => /* @__PURE__ */ jsx17(FoilCardSurface, {
|
|
6564
7527
|
className: "design-gallery__foil-example",
|
|
6565
7528
|
intensity: "standard",
|
|
6566
7529
|
ornament: example.ornament,
|
|
6567
7530
|
preset: example.preset,
|
|
6568
7531
|
renderMode: "interactive",
|
|
6569
7532
|
seed: `public-gallery-foil-${example.ornament}`,
|
|
6570
|
-
children: /* @__PURE__ */
|
|
7533
|
+
children: /* @__PURE__ */ jsxs15("article", {
|
|
6571
7534
|
className: "design-gallery__foil-card",
|
|
6572
7535
|
children: [
|
|
6573
|
-
/* @__PURE__ */
|
|
7536
|
+
/* @__PURE__ */ jsx17(Tag, {
|
|
6574
7537
|
variant: "outline",
|
|
6575
7538
|
children: example.label
|
|
6576
7539
|
}),
|
|
6577
|
-
/* @__PURE__ */
|
|
7540
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6578
7541
|
children: [
|
|
6579
|
-
/* @__PURE__ */
|
|
7542
|
+
/* @__PURE__ */ jsx17("h3", {
|
|
6580
7543
|
children: "Semantic card content"
|
|
6581
7544
|
}),
|
|
6582
|
-
/* @__PURE__ */
|
|
7545
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6583
7546
|
children: "One deck controller decorates ordinary articles."
|
|
6584
7547
|
})
|
|
6585
7548
|
]
|
|
@@ -6588,21 +7551,21 @@ function DesignSystemGallery({
|
|
|
6588
7551
|
})
|
|
6589
7552
|
}, example.ornament))
|
|
6590
7553
|
}),
|
|
6591
|
-
/* @__PURE__ */
|
|
7554
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6592
7555
|
className: "design-gallery__effect",
|
|
6593
7556
|
children: [
|
|
6594
|
-
/* @__PURE__ */
|
|
6595
|
-
/* @__PURE__ */
|
|
7557
|
+
/* @__PURE__ */ jsx17(AuroraDotsBackground, {}),
|
|
7558
|
+
/* @__PURE__ */ jsx17(ProceduralBackdrop, {
|
|
6596
7559
|
seed: "public-gallery",
|
|
6597
7560
|
variant: "composite"
|
|
6598
7561
|
}),
|
|
6599
|
-
/* @__PURE__ */
|
|
7562
|
+
/* @__PURE__ */ jsxs15("div", {
|
|
6600
7563
|
className: "design-gallery__effect-copy",
|
|
6601
7564
|
children: [
|
|
6602
|
-
/* @__PURE__ */
|
|
7565
|
+
/* @__PURE__ */ jsx17("h3", {
|
|
6603
7566
|
children: "Semantic content stays ordinary DOM"
|
|
6604
7567
|
}),
|
|
6605
|
-
/* @__PURE__ */
|
|
7568
|
+
/* @__PURE__ */ jsx17("p", {
|
|
6606
7569
|
children: "Decorative paint is pointer-transparent and removable in forced colors. Marketing actions use system button colors so their labels stay readable."
|
|
6607
7570
|
})
|
|
6608
7571
|
]
|
|
@@ -6611,16 +7574,16 @@ function DesignSystemGallery({
|
|
|
6611
7574
|
})
|
|
6612
7575
|
]
|
|
6613
7576
|
}),
|
|
6614
|
-
/* @__PURE__ */
|
|
7577
|
+
/* @__PURE__ */ jsxs15("section", {
|
|
6615
7578
|
className: "design-gallery__section",
|
|
6616
7579
|
id: "syntax",
|
|
6617
7580
|
children: [
|
|
6618
|
-
/* @__PURE__ */
|
|
7581
|
+
/* @__PURE__ */ jsx17("h2", {
|
|
6619
7582
|
children: "Server syntax"
|
|
6620
7583
|
}),
|
|
6621
|
-
/* @__PURE__ */
|
|
7584
|
+
/* @__PURE__ */ jsx17("pre", {
|
|
6622
7585
|
className: "design-gallery__syntax",
|
|
6623
|
-
children: /* @__PURE__ */
|
|
7586
|
+
children: /* @__PURE__ */ jsx17(SyntaxCode, {
|
|
6624
7587
|
code: `import { AppShell } from "@hraness/design-kit/react";
|
|
6625
7588
|
|
|
6626
7589
|
export const shell = <AppShell rail={null}>Content</AppShell>;`,
|
|
@@ -6633,7 +7596,7 @@ export const shell = <AppShell rail={null}>Content</AppShell>;`,
|
|
|
6633
7596
|
});
|
|
6634
7597
|
}
|
|
6635
7598
|
// src/react/haptics.ts
|
|
6636
|
-
import { useCallback as
|
|
7599
|
+
import { useCallback as useCallback3, useEffect as useEffect9 } from "react";
|
|
6637
7600
|
var HAPTIC_FEEDBACK_EVENT_NAME = "hraness-design:haptic-feedback";
|
|
6638
7601
|
function isHapticBrowserEnvironment(environment = globalThis) {
|
|
6639
7602
|
return typeof environment.window === "object" && typeof environment.document === "object" && typeof environment.navigator === "object";
|
|
@@ -6771,14 +7734,14 @@ function disposeHapticFeedback() {
|
|
|
6771
7734
|
browserHaptics.dispose();
|
|
6772
7735
|
}
|
|
6773
7736
|
function useHapticFeedback(enabled = true) {
|
|
6774
|
-
|
|
7737
|
+
useEffect9(() => {
|
|
6775
7738
|
if (enabled)
|
|
6776
7739
|
prepareHapticFeedback();
|
|
6777
7740
|
}, [enabled]);
|
|
6778
|
-
return
|
|
7741
|
+
return useCallback3(async (feedback = "press") => enabled ? await triggerHapticFeedback(feedback) : false, [enabled]);
|
|
6779
7742
|
}
|
|
6780
7743
|
// src/react/keyboard-shortcuts.ts
|
|
6781
|
-
import { useEffect as
|
|
7744
|
+
import { useEffect as useEffect10, useRef as useRef7 } from "react";
|
|
6782
7745
|
var interactiveTargetSelector = ["a[href]", "area[href]", "button", "input", "select", "summary", "textarea", "[contenteditable]:not([contenteditable='false'])", "[role='button']", "[role='checkbox']", "[role='combobox']", "[role='gridcell']", "[role='link']", "[role='menuitem']", "[role='option']", "[role='radio']", "[role='slider']", "[role='spinbutton']", "[role='switch']", "[role='tab']", "[role='textbox']", "[tabindex]:not([tabindex='-1'])"].join(",");
|
|
6783
7746
|
var textEntryTargetSelector = ["input:not([type='button']):not([type='checkbox']):not([type='color']):not([type='file']):not([type='hidden']):not([type='image']):not([type='radio']):not([type='range']):not([type='reset']):not([type='submit'])", "select", "textarea", "[contenteditable]:not([contenteditable='false'])", "[role='combobox']", "[role='textbox']"].join(",");
|
|
6784
7747
|
function hasClosest(target) {
|
|
@@ -6859,7 +7822,7 @@ function isNode2(target) {
|
|
|
6859
7822
|
return target !== null && typeof Node !== "undefined" && target instanceof Node;
|
|
6860
7823
|
}
|
|
6861
7824
|
function useKeyboardShortcuts(bindings, options = {}) {
|
|
6862
|
-
const latestRef =
|
|
7825
|
+
const latestRef = useRef7({
|
|
6863
7826
|
bindings,
|
|
6864
7827
|
isDisabled: options.isDisabled ?? false
|
|
6865
7828
|
});
|
|
@@ -6868,7 +7831,7 @@ function useKeyboardShortcuts(bindings, options = {}) {
|
|
|
6868
7831
|
isDisabled: options.isDisabled ?? false
|
|
6869
7832
|
};
|
|
6870
7833
|
const scopeRef = options.scopeRef;
|
|
6871
|
-
|
|
7834
|
+
useEffect10(() => {
|
|
6872
7835
|
const onKeyDown = (event) => {
|
|
6873
7836
|
if (scopeRef !== undefined) {
|
|
6874
7837
|
const scope = scopeRef.current;
|
|
@@ -6892,7 +7855,7 @@ function useKeyboardShortcuts(bindings, options = {}) {
|
|
|
6892
7855
|
}, [scopeRef]);
|
|
6893
7856
|
}
|
|
6894
7857
|
// src/react/sticky-offset.tsx
|
|
6895
|
-
import { useEffect as
|
|
7858
|
+
import { useEffect as useEffect11 } from "react";
|
|
6896
7859
|
|
|
6897
7860
|
// src/browser/sticky-offset.ts
|
|
6898
7861
|
var stickyOffsetCustomProperty = "--hraness-sticky-offset";
|
|
@@ -6962,14 +7925,14 @@ function syncStickyOffset(options = {}) {
|
|
|
6962
7925
|
function StickyOffsetSync({
|
|
6963
7926
|
header
|
|
6964
7927
|
} = {}) {
|
|
6965
|
-
|
|
7928
|
+
useEffect11(() => syncStickyOffset(header === undefined ? {} : {
|
|
6966
7929
|
header
|
|
6967
7930
|
}), [header]);
|
|
6968
7931
|
return null;
|
|
6969
7932
|
}
|
|
6970
7933
|
// src/react/social-kit-panel.tsx
|
|
6971
|
-
import { useCallback as
|
|
6972
|
-
import { jsx as
|
|
7934
|
+
import { useCallback as useCallback4, useId as useId5, useState as useState7 } from "react";
|
|
7935
|
+
import { jsx as jsx18, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
6973
7936
|
function kitEntries(kit) {
|
|
6974
7937
|
const thread = (channel, label, posts, measure, limit) => posts.map((text, index) => ({
|
|
6975
7938
|
key: `${channel}.${index}`,
|
|
@@ -7011,39 +7974,39 @@ function SocialKitPanel({
|
|
|
7011
7974
|
kit,
|
|
7012
7975
|
summary = "Social posts for this launch"
|
|
7013
7976
|
}) {
|
|
7014
|
-
const id =
|
|
7015
|
-
const [status, setStatus] =
|
|
7016
|
-
const copy =
|
|
7977
|
+
const id = useId5();
|
|
7978
|
+
const [status, setStatus] = useState7(null);
|
|
7979
|
+
const copy = useCallback4(async (entry) => {
|
|
7017
7980
|
setStatus({
|
|
7018
7981
|
key: entry.key,
|
|
7019
7982
|
ok: await writeClipboard(entry.text)
|
|
7020
7983
|
});
|
|
7021
7984
|
}, []);
|
|
7022
7985
|
const entries = kitEntries(kit);
|
|
7023
|
-
return /* @__PURE__ */
|
|
7986
|
+
return /* @__PURE__ */ jsxs16("details", {
|
|
7024
7987
|
className: ["plain-publication__social-kit", className].filter(Boolean).join(" "),
|
|
7025
7988
|
"data-hraness-social-kit": "",
|
|
7026
7989
|
children: [
|
|
7027
|
-
/* @__PURE__ */
|
|
7990
|
+
/* @__PURE__ */ jsx18("summary", {
|
|
7028
7991
|
children: summary
|
|
7029
7992
|
}),
|
|
7030
|
-
/* @__PURE__ */
|
|
7993
|
+
/* @__PURE__ */ jsx18("ol", {
|
|
7031
7994
|
className: "plain-publication__social-kit-list",
|
|
7032
7995
|
children: entries.map((entry) => {
|
|
7033
7996
|
const over = entry.length > entry.limit;
|
|
7034
7997
|
const counterId = `${id}-${entry.key}-count`;
|
|
7035
|
-
return /* @__PURE__ */
|
|
7998
|
+
return /* @__PURE__ */ jsxs16("li", {
|
|
7036
7999
|
className: "plain-publication__social-kit-item",
|
|
7037
8000
|
"data-over": over ? "" : undefined,
|
|
7038
8001
|
children: [
|
|
7039
|
-
/* @__PURE__ */
|
|
8002
|
+
/* @__PURE__ */ jsxs16("div", {
|
|
7040
8003
|
className: "plain-publication__social-kit-head",
|
|
7041
8004
|
children: [
|
|
7042
|
-
/* @__PURE__ */
|
|
8005
|
+
/* @__PURE__ */ jsx18("span", {
|
|
7043
8006
|
className: "plain-publication__social-kit-label",
|
|
7044
8007
|
children: entry.label
|
|
7045
8008
|
}),
|
|
7046
|
-
/* @__PURE__ */
|
|
8009
|
+
/* @__PURE__ */ jsxs16("span", {
|
|
7047
8010
|
className: "plain-publication__social-kit-count",
|
|
7048
8011
|
id: counterId,
|
|
7049
8012
|
children: [
|
|
@@ -7052,14 +8015,14 @@ function SocialKitPanel({
|
|
|
7052
8015
|
entry.limit
|
|
7053
8016
|
]
|
|
7054
8017
|
}),
|
|
7055
|
-
/* @__PURE__ */
|
|
8018
|
+
/* @__PURE__ */ jsxs16("button", {
|
|
7056
8019
|
"aria-describedby": counterId,
|
|
7057
8020
|
className: "plain-publication__social-kit-copy",
|
|
7058
8021
|
onClick: () => void copy(entry),
|
|
7059
8022
|
type: "button",
|
|
7060
8023
|
children: [
|
|
7061
8024
|
status?.key === entry.key ? status.ok ? "Copied" : "Copy failed" : "Copy",
|
|
7062
|
-
/* @__PURE__ */
|
|
8025
|
+
/* @__PURE__ */ jsxs16("span", {
|
|
7063
8026
|
className: "plain-publication__visually-hidden",
|
|
7064
8027
|
children: [
|
|
7065
8028
|
" ",
|
|
@@ -7070,7 +8033,7 @@ function SocialKitPanel({
|
|
|
7070
8033
|
})
|
|
7071
8034
|
]
|
|
7072
8035
|
}),
|
|
7073
|
-
/* @__PURE__ */
|
|
8036
|
+
/* @__PURE__ */ jsx18("p", {
|
|
7074
8037
|
className: "plain-publication__social-kit-text",
|
|
7075
8038
|
children: entry.text
|
|
7076
8039
|
})
|
|
@@ -7078,20 +8041,20 @@ function SocialKitPanel({
|
|
|
7078
8041
|
}, entry.key);
|
|
7079
8042
|
})
|
|
7080
8043
|
}),
|
|
7081
|
-
kit.showHnFacts.length === 0 ? null : /* @__PURE__ */
|
|
8044
|
+
kit.showHnFacts.length === 0 ? null : /* @__PURE__ */ jsxs16("div", {
|
|
7082
8045
|
className: "plain-publication__social-kit-facts",
|
|
7083
8046
|
children: [
|
|
7084
|
-
/* @__PURE__ */
|
|
8047
|
+
/* @__PURE__ */ jsx18("p", {
|
|
7085
8048
|
children: "Facts for your own post"
|
|
7086
8049
|
}),
|
|
7087
|
-
/* @__PURE__ */
|
|
7088
|
-
children: kit.showHnFacts.map((fact) => /* @__PURE__ */
|
|
8050
|
+
/* @__PURE__ */ jsx18("ul", {
|
|
8051
|
+
children: kit.showHnFacts.map((fact) => /* @__PURE__ */ jsx18("li", {
|
|
7089
8052
|
children: fact
|
|
7090
8053
|
}, fact))
|
|
7091
8054
|
})
|
|
7092
8055
|
]
|
|
7093
8056
|
}),
|
|
7094
|
-
/* @__PURE__ */
|
|
8057
|
+
/* @__PURE__ */ jsx18("p", {
|
|
7095
8058
|
"aria-live": "polite",
|
|
7096
8059
|
className: "plain-publication__visually-hidden",
|
|
7097
8060
|
children: status === null ? "" : status.ok ? "Copied to the clipboard." : "Copying failed. Select the text and copy it."
|
|
@@ -7215,6 +8178,7 @@ export {
|
|
|
7215
8178
|
MarketingCard,
|
|
7216
8179
|
MarketingCallToAction,
|
|
7217
8180
|
MarketingArticle,
|
|
8181
|
+
MarketingActionLink,
|
|
7218
8182
|
LaunchBeats,
|
|
7219
8183
|
LanternMaterialGallery,
|
|
7220
8184
|
HeroBackdrop,
|
|
@@ -7248,5 +8212,7 @@ export {
|
|
|
7248
8212
|
ArticleByline,
|
|
7249
8213
|
ArticleBarChart,
|
|
7250
8214
|
AppShell,
|
|
7251
|
-
AnimatedRailStage
|
|
8215
|
+
AnimatedRailStage,
|
|
8216
|
+
AgentSetupPrompt,
|
|
8217
|
+
AgentCommandTabs
|
|
7252
8218
|
};
|