@fairfox/polly 0.71.0 → 0.73.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/dist/src/client/index.js +2 -2
- package/dist/src/client/index.js.map +2 -2
- package/dist/src/elysia/index.js +464 -4
- package/dist/src/elysia/index.js.map +6 -4
- package/dist/src/peer.d.ts +2 -0
- package/dist/src/peer.js +468 -4
- package/dist/src/peer.js.map +8 -5
- package/dist/src/polly-ui/ActionInput.d.ts +12 -2
- package/dist/src/polly-ui/ActionSelect.d.ts +36 -0
- package/dist/src/polly-ui/Button.d.ts +4 -0
- package/dist/src/polly-ui/Cluster.d.ts +36 -0
- package/dist/src/polly-ui/Code.d.ts +18 -0
- package/dist/src/polly-ui/Surface.d.ts +12 -1
- package/dist/src/polly-ui/Text.d.ts +43 -0
- package/dist/src/polly-ui/index.css +320 -194
- package/dist/src/polly-ui/index.d.ts +5 -1
- package/dist/src/polly-ui/index.js +533 -284
- package/dist/src/polly-ui/index.js.map +14 -8
- package/dist/src/polly-ui/internal/dispatch-action.d.ts +13 -0
- package/dist/src/polly-ui/internal/passthrough.d.ts +25 -0
- package/dist/src/polly-ui/markdown.js +3 -3
- package/dist/src/polly-ui/markdown.js.map +2 -2
- package/dist/src/polly-ui/styles.css +345 -194
- package/dist/src/polly-ui/theme.css +1 -0
- package/dist/src/shared/lib/peer-repo-server.d.ts +18 -0
- package/dist/src/shared/lib/sweep-sealed.d.ts +111 -0
- package/dist/tools/quality/src/cli.js +6 -2
- package/dist/tools/quality/src/cli.js.map +3 -3
- package/dist/tools/quality/src/index.js +6 -2
- package/dist/tools/quality/src/index.js.map +3 -3
- package/dist/tools/test/src/browser/run.js +89 -49
- package/dist/tools/test/src/browser/run.js.map +6 -5
- package/dist/tools/test/src/browser/runner-core.d.ts +32 -0
- package/dist/tools/test/src/e2e-mesh/index.js +193 -171
- package/dist/tools/test/src/e2e-mesh/index.js.map +4 -4
- package/dist/tools/test/src/visual/index.js +270 -251
- package/dist/tools/test/src/visual/index.js.map +5 -5
- package/dist/tools/verify/specs/tla/MeshSeed.cfg +27 -0
- package/dist/tools/verify/specs/tla/MeshSeed.tla +179 -0
- package/dist/tools/verify/specs/tla/README.md +11 -1
- package/dist/tools/verify/src/cli.js +136 -51
- package/dist/tools/verify/src/cli.js.map +9 -7
- package/dist/tools/visualize/src/cli.js +72 -2
- package/dist/tools/visualize/src/cli.js.map +5 -5
- package/package.json +3 -2
|
@@ -66,6 +66,16 @@
|
|
|
66
66
|
line-height: var(--polly-line-height-tight);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
/* Monospace baseline for inline code, keyboard, and sample text so a
|
|
70
|
+
* bare <code> reads correctly without a consumer class. The <Code>
|
|
71
|
+
* component layers the tinted-pill treatment on top; this rule only
|
|
72
|
+
* guarantees the font. :where() keeps specificity at zero so any
|
|
73
|
+
* class or id wins. */
|
|
74
|
+
:where(code, kbd, samp, pre) {
|
|
75
|
+
font-family: var(--polly-font-mono);
|
|
76
|
+
font-size: var(--polly-text-sm);
|
|
77
|
+
}
|
|
78
|
+
|
|
69
79
|
/* Text overflow utilities. Both are opt-in: any element receives the
|
|
70
80
|
* behaviour by carrying the data attribute. They stay compatible with
|
|
71
81
|
* Layout (a grid) because the utilities change the element's OWN display,
|
|
@@ -94,6 +104,15 @@
|
|
|
94
104
|
min-inline-size: 0;
|
|
95
105
|
}
|
|
96
106
|
|
|
107
|
+
/* data-polly-wrap — full, unbounded wrapping of a long unbreakable
|
|
108
|
+
* string: a pairing URL, a recovery blob, a hex id. Where truncate and
|
|
109
|
+
* clamp HIDE overflow, wrap breaks the string so all of it stays
|
|
110
|
+
* visible. min-inline-size: 0 lets it shrink inside a Layout grid track. */
|
|
111
|
+
[data-polly-wrap] {
|
|
112
|
+
overflow-wrap: anywhere;
|
|
113
|
+
min-inline-size: 0;
|
|
114
|
+
}
|
|
115
|
+
|
|
97
116
|
/* Honour reduced-motion by zeroing every motion token. The components
|
|
98
117
|
* read only these tokens for their transitions, so a consumer preference
|
|
99
118
|
* of "reduce" makes every animation instant. */
|
|
@@ -122,6 +141,12 @@
|
|
|
122
141
|
min-block-size: 44px;
|
|
123
142
|
}
|
|
124
143
|
|
|
144
|
+
/* Pointer affordance for non-<Button> clickables — whole-row click
|
|
145
|
+
* targets and the like. Applies regardless of hit-target sizing. */
|
|
146
|
+
[data-polly-interactive] {
|
|
147
|
+
cursor: pointer;
|
|
148
|
+
}
|
|
149
|
+
|
|
125
150
|
/* Scroll lock — toggled by OverlayRoot when the overlay stack is
|
|
126
151
|
* non-empty. The padding-right compensates for the scrollbar so content
|
|
127
152
|
* behind the overlay does not reflow. */
|
|
@@ -210,6 +235,191 @@
|
|
|
210
235
|
}
|
|
211
236
|
}
|
|
212
237
|
|
|
238
|
+
/* src/polly-ui/Dropdown.module.css */
|
|
239
|
+
@layer polly-components {
|
|
240
|
+
.dropdown_HX48zA {
|
|
241
|
+
position: relative;
|
|
242
|
+
display: inline-block;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.trigger_HX48zA {
|
|
246
|
+
display: inline-block;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.menu_HX48zA {
|
|
250
|
+
position: absolute;
|
|
251
|
+
inset: unset;
|
|
252
|
+
z-index: var(--polly-z-raised);
|
|
253
|
+
margin: var(--polly-space-xs) 0 0;
|
|
254
|
+
padding: var(--polly-space-xs) 0;
|
|
255
|
+
border: var(--polly-border-width-default) solid var(--polly-border);
|
|
256
|
+
border-radius: var(--polly-radius-md);
|
|
257
|
+
background-color: var(--polly-surface);
|
|
258
|
+
box-shadow: var(--polly-shadow-md);
|
|
259
|
+
box-sizing: border-box;
|
|
260
|
+
overflow-y: auto;
|
|
261
|
+
min-width: 160px;
|
|
262
|
+
max-height: 280px;
|
|
263
|
+
top: 100%;
|
|
264
|
+
left: 0;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.alignRight_HX48zA {
|
|
268
|
+
left: auto;
|
|
269
|
+
right: 0;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/* src/polly-ui/Layout.module.css */
|
|
274
|
+
@layer polly-components {
|
|
275
|
+
.layout_QgwWPg {
|
|
276
|
+
--l-cols: none;
|
|
277
|
+
--l-rows: none;
|
|
278
|
+
--l-gap: 0;
|
|
279
|
+
--l-p: 0;
|
|
280
|
+
--l-h: auto;
|
|
281
|
+
--l-mh: auto;
|
|
282
|
+
--l-mis: none;
|
|
283
|
+
--l-ji: stretch;
|
|
284
|
+
--l-ai: start;
|
|
285
|
+
--l-jc: normal;
|
|
286
|
+
--l-ac: normal;
|
|
287
|
+
--l-js: auto;
|
|
288
|
+
--l-as: auto;
|
|
289
|
+
--l-flow: row;
|
|
290
|
+
--l-arows: auto;
|
|
291
|
+
--l-acols: auto;
|
|
292
|
+
--l-col: auto;
|
|
293
|
+
display: grid;
|
|
294
|
+
box-sizing: border-box;
|
|
295
|
+
max-inline-size: var(--l-mis);
|
|
296
|
+
grid-template-columns: var(--l-cols);
|
|
297
|
+
grid-template-rows: var(--l-rows);
|
|
298
|
+
gap: var(--l-gap);
|
|
299
|
+
padding: var(--l-p);
|
|
300
|
+
height: var(--l-h);
|
|
301
|
+
min-height: var(--l-mh);
|
|
302
|
+
justify-items: var(--l-ji);
|
|
303
|
+
align-items: var(--l-ai);
|
|
304
|
+
justify-content: var(--l-jc);
|
|
305
|
+
align-content: var(--l-ac);
|
|
306
|
+
justify-self: var(--l-js);
|
|
307
|
+
align-self: var(--l-as);
|
|
308
|
+
grid-auto-flow: var(--l-flow);
|
|
309
|
+
grid-auto-rows: var(--l-arows);
|
|
310
|
+
grid-auto-columns: var(--l-acols);
|
|
311
|
+
grid-column: var(--l-col);
|
|
312
|
+
inline-size: 100%;
|
|
313
|
+
margin-inline-start: auto;
|
|
314
|
+
margin-inline-end: auto;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.inline_QgwWPg {
|
|
318
|
+
display: inline-grid;
|
|
319
|
+
inline-size: auto;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
@media (max-width: 640px) {
|
|
323
|
+
.stackOnMobile_QgwWPg {
|
|
324
|
+
grid-template-columns: 1fr;
|
|
325
|
+
grid-auto-flow: row;
|
|
326
|
+
grid-column: auto;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/* src/polly-ui/Select.module.css */
|
|
332
|
+
@layer polly-components {
|
|
333
|
+
.select_daofbw {
|
|
334
|
+
display: inline-block;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.label_daofbw {
|
|
338
|
+
display: block;
|
|
339
|
+
margin-bottom: var(--polly-space-xs);
|
|
340
|
+
font-size: var(--polly-text-sm);
|
|
341
|
+
font-weight: var(--polly-weight-medium);
|
|
342
|
+
color: var(--polly-text-muted);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.trigger_daofbw {
|
|
346
|
+
display: inline-block;
|
|
347
|
+
padding: var(--polly-space-sm) var(--polly-space-md);
|
|
348
|
+
border: var(--polly-border-width-default) solid var(--polly-border);
|
|
349
|
+
border-radius: var(--polly-radius-sm);
|
|
350
|
+
background-color: var(--polly-surface);
|
|
351
|
+
font-family: inherit;
|
|
352
|
+
font-size: var(--polly-text-md);
|
|
353
|
+
color: var(--polly-text);
|
|
354
|
+
text-align: left;
|
|
355
|
+
cursor: pointer;
|
|
356
|
+
white-space: nowrap;
|
|
357
|
+
overflow: hidden;
|
|
358
|
+
text-overflow: ellipsis;
|
|
359
|
+
min-width: 140px;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
.trigger_daofbw:disabled {
|
|
363
|
+
opacity: var(--polly-opacity-disabled);
|
|
364
|
+
cursor: not-allowed;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
.placeholder_daofbw {
|
|
368
|
+
color: var(--polly-text-muted);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.actions_daofbw {
|
|
372
|
+
padding: var(--polly-space-xs) var(--polly-space-sm);
|
|
373
|
+
border-bottom: var(--polly-border-width-default) solid var(--polly-border);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.actionBtn_daofbw {
|
|
377
|
+
display: inline-block;
|
|
378
|
+
padding: var(--polly-space-xs) var(--polly-space-sm);
|
|
379
|
+
border-radius: var(--polly-radius-sm);
|
|
380
|
+
font-family: inherit;
|
|
381
|
+
font-size: var(--polly-text-xs);
|
|
382
|
+
color: var(--polly-accent);
|
|
383
|
+
cursor: pointer;
|
|
384
|
+
text-align: center;
|
|
385
|
+
background: none;
|
|
386
|
+
border: none;
|
|
387
|
+
width: 100%;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.actionBtn_daofbw:hover {
|
|
391
|
+
background-color: var(--polly-surface-sunken);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.option_daofbw {
|
|
395
|
+
display: block;
|
|
396
|
+
padding: var(--polly-space-sm) var(--polly-space-md);
|
|
397
|
+
font-family: inherit;
|
|
398
|
+
font-size: var(--polly-text-sm);
|
|
399
|
+
color: var(--polly-text);
|
|
400
|
+
text-align: left;
|
|
401
|
+
cursor: pointer;
|
|
402
|
+
background: none;
|
|
403
|
+
border: none;
|
|
404
|
+
width: 100%;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.option_daofbw:hover {
|
|
408
|
+
background-color: var(--polly-surface-sunken);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
.optionSelected_daofbw {
|
|
412
|
+
background-color: color-mix(in srgb, var(--polly-accent) 8%, var(--polly-surface));
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.optionCheck_daofbw {
|
|
416
|
+
accent-color: var(--polly-accent);
|
|
417
|
+
margin-right: var(--polly-space-sm);
|
|
418
|
+
vertical-align: middle;
|
|
419
|
+
pointer-events: none;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
|
|
213
423
|
/* src/polly-ui/Badge.module.css */
|
|
214
424
|
@layer polly-components {
|
|
215
425
|
.badge_cZd0Aw {
|
|
@@ -358,64 +568,6 @@
|
|
|
358
568
|
}
|
|
359
569
|
}
|
|
360
570
|
|
|
361
|
-
/* src/polly-ui/Layout.module.css */
|
|
362
|
-
@layer polly-components {
|
|
363
|
-
.layout_QgwWPg {
|
|
364
|
-
--l-cols: none;
|
|
365
|
-
--l-rows: none;
|
|
366
|
-
--l-gap: 0;
|
|
367
|
-
--l-p: 0;
|
|
368
|
-
--l-h: auto;
|
|
369
|
-
--l-mh: auto;
|
|
370
|
-
--l-mis: none;
|
|
371
|
-
--l-ji: stretch;
|
|
372
|
-
--l-ai: start;
|
|
373
|
-
--l-jc: normal;
|
|
374
|
-
--l-ac: normal;
|
|
375
|
-
--l-js: auto;
|
|
376
|
-
--l-as: auto;
|
|
377
|
-
--l-flow: row;
|
|
378
|
-
--l-arows: auto;
|
|
379
|
-
--l-acols: auto;
|
|
380
|
-
--l-col: auto;
|
|
381
|
-
display: grid;
|
|
382
|
-
box-sizing: border-box;
|
|
383
|
-
max-inline-size: var(--l-mis);
|
|
384
|
-
grid-template-columns: var(--l-cols);
|
|
385
|
-
grid-template-rows: var(--l-rows);
|
|
386
|
-
gap: var(--l-gap);
|
|
387
|
-
padding: var(--l-p);
|
|
388
|
-
height: var(--l-h);
|
|
389
|
-
min-height: var(--l-mh);
|
|
390
|
-
justify-items: var(--l-ji);
|
|
391
|
-
align-items: var(--l-ai);
|
|
392
|
-
justify-content: var(--l-jc);
|
|
393
|
-
align-content: var(--l-ac);
|
|
394
|
-
justify-self: var(--l-js);
|
|
395
|
-
align-self: var(--l-as);
|
|
396
|
-
grid-auto-flow: var(--l-flow);
|
|
397
|
-
grid-auto-rows: var(--l-arows);
|
|
398
|
-
grid-auto-columns: var(--l-acols);
|
|
399
|
-
grid-column: var(--l-col);
|
|
400
|
-
inline-size: 100%;
|
|
401
|
-
margin-inline-start: auto;
|
|
402
|
-
margin-inline-end: auto;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
.inline_QgwWPg {
|
|
406
|
-
display: inline-grid;
|
|
407
|
-
inline-size: auto;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
@media (max-width: 640px) {
|
|
411
|
-
.stackOnMobile_QgwWPg {
|
|
412
|
-
grid-template-columns: 1fr;
|
|
413
|
-
grid-auto-flow: row;
|
|
414
|
-
grid-column: auto;
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
|
|
419
571
|
/* src/polly-ui/Surface.module.css */
|
|
420
572
|
@layer polly-components {
|
|
421
573
|
.surface_pQCFqA {
|
|
@@ -424,18 +576,22 @@
|
|
|
424
576
|
--s-radius: 0;
|
|
425
577
|
--s-border-color: transparent;
|
|
426
578
|
--s-border-width: 0;
|
|
579
|
+
--s-border-style: solid;
|
|
427
580
|
--s-shadow: none;
|
|
428
581
|
--s-w: auto;
|
|
429
582
|
--s-h: auto;
|
|
430
583
|
--s-mh: auto;
|
|
584
|
+
--s-maxh: none;
|
|
431
585
|
--s-mis: none;
|
|
586
|
+
--s-overflow: visible;
|
|
432
587
|
--s-position: static;
|
|
433
588
|
--s-inset: auto;
|
|
589
|
+
--s-transform: none;
|
|
434
590
|
--s-z: auto;
|
|
435
591
|
box-sizing: border-box;
|
|
436
592
|
padding: var(--s-p);
|
|
437
593
|
background: var(--s-bg);
|
|
438
|
-
border-style:
|
|
594
|
+
border-style: var(--s-border-style);
|
|
439
595
|
border-color: var(--s-border-color);
|
|
440
596
|
border-width: var(--s-border-width);
|
|
441
597
|
border-radius: var(--s-radius);
|
|
@@ -443,9 +599,12 @@
|
|
|
443
599
|
inline-size: var(--s-w);
|
|
444
600
|
block-size: var(--s-h);
|
|
445
601
|
min-block-size: var(--s-mh);
|
|
602
|
+
max-block-size: var(--s-maxh);
|
|
446
603
|
max-inline-size: var(--s-mis);
|
|
604
|
+
overflow: var(--s-overflow);
|
|
447
605
|
position: var(--s-position);
|
|
448
606
|
inset: var(--s-inset);
|
|
607
|
+
transform: var(--s-transform);
|
|
449
608
|
z-index: var(--s-z);
|
|
450
609
|
}
|
|
451
610
|
|
|
@@ -456,34 +615,32 @@
|
|
|
456
615
|
|
|
457
616
|
.sides-block-start_pQCFqA {
|
|
458
617
|
border-style: none;
|
|
459
|
-
border-block-start-style:
|
|
618
|
+
border-block-start-style: var(--s-border-style);
|
|
460
619
|
}
|
|
461
620
|
|
|
462
621
|
.sides-block-end_pQCFqA {
|
|
463
622
|
border-style: none;
|
|
464
|
-
border-block-end-style:
|
|
623
|
+
border-block-end-style: var(--s-border-style);
|
|
465
624
|
}
|
|
466
625
|
|
|
467
626
|
.sides-inline-start_pQCFqA {
|
|
468
627
|
border-style: none;
|
|
469
|
-
border-inline-start-style:
|
|
628
|
+
border-inline-start-style: var(--s-border-style);
|
|
470
629
|
}
|
|
471
630
|
|
|
472
631
|
.sides-inline-end_pQCFqA {
|
|
473
632
|
border-style: none;
|
|
474
|
-
border-inline-end-style:
|
|
633
|
+
border-inline-end-style: var(--s-border-style);
|
|
475
634
|
}
|
|
476
635
|
|
|
477
636
|
.sides-block_pQCFqA {
|
|
478
637
|
border-style: none;
|
|
479
|
-
border-block-
|
|
480
|
-
border-block-end-style: solid;
|
|
638
|
+
border-block-style: var(--s-border-style);
|
|
481
639
|
}
|
|
482
640
|
|
|
483
641
|
.sides-inline_pQCFqA {
|
|
484
642
|
border-style: none;
|
|
485
|
-
border-
|
|
486
|
-
border-right-style: solid;
|
|
643
|
+
border-inline-style: var(--s-border-style);
|
|
487
644
|
}
|
|
488
645
|
}
|
|
489
646
|
|
|
@@ -516,6 +673,55 @@
|
|
|
516
673
|
}
|
|
517
674
|
}
|
|
518
675
|
|
|
676
|
+
/* src/polly-ui/Cluster.module.css */
|
|
677
|
+
@layer polly-components {
|
|
678
|
+
.cluster_pNLz5g {
|
|
679
|
+
--c-gap: 0;
|
|
680
|
+
--c-p: 0;
|
|
681
|
+
--c-jc: flex-start;
|
|
682
|
+
--c-ai: center;
|
|
683
|
+
display: flex;
|
|
684
|
+
box-sizing: border-box;
|
|
685
|
+
gap: var(--c-gap);
|
|
686
|
+
padding: var(--c-p);
|
|
687
|
+
justify-content: var(--c-jc);
|
|
688
|
+
align-items: var(--c-ai);
|
|
689
|
+
flex-wrap: wrap;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
.inline_pNLz5g {
|
|
693
|
+
display: inline-flex;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
/* src/polly-ui/Code.module.css */
|
|
698
|
+
@layer polly-components {
|
|
699
|
+
.code_Vc8yiw {
|
|
700
|
+
font-family: var(--polly-font-mono);
|
|
701
|
+
font-size: var(--polly-text-sm);
|
|
702
|
+
padding: .1em var(--polly-space-xs);
|
|
703
|
+
border-radius: var(--polly-radius-sm);
|
|
704
|
+
background-color: var(--polly-surface-sunken);
|
|
705
|
+
color: var(--polly-text);
|
|
706
|
+
word-break: break-word;
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
.block_Vc8yiw {
|
|
710
|
+
padding: var(--polly-space-md);
|
|
711
|
+
border-radius: var(--polly-radius-md);
|
|
712
|
+
background-color: var(--polly-surface-sunken);
|
|
713
|
+
overflow-x: auto;
|
|
714
|
+
margin: 0;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
.block_Vc8yiw code {
|
|
718
|
+
font-family: var(--polly-font-mono);
|
|
719
|
+
font-size: var(--polly-text-sm);
|
|
720
|
+
color: var(--polly-text);
|
|
721
|
+
white-space: pre;
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
|
|
519
725
|
/* src/polly-ui/Collapsible.module.css */
|
|
520
726
|
@layer polly-components {
|
|
521
727
|
.collapsible_sEhnPw {
|
|
@@ -685,133 +891,6 @@
|
|
|
685
891
|
}
|
|
686
892
|
}
|
|
687
893
|
|
|
688
|
-
/* src/polly-ui/Dropdown.module.css */
|
|
689
|
-
@layer polly-components {
|
|
690
|
-
.dropdown_HX48zA {
|
|
691
|
-
position: relative;
|
|
692
|
-
display: inline-block;
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
.trigger_HX48zA {
|
|
696
|
-
display: inline-block;
|
|
697
|
-
}
|
|
698
|
-
|
|
699
|
-
.menu_HX48zA {
|
|
700
|
-
position: absolute;
|
|
701
|
-
inset: unset;
|
|
702
|
-
z-index: var(--polly-z-raised);
|
|
703
|
-
margin: var(--polly-space-xs) 0 0;
|
|
704
|
-
padding: var(--polly-space-xs) 0;
|
|
705
|
-
border: var(--polly-border-width-default) solid var(--polly-border);
|
|
706
|
-
border-radius: var(--polly-radius-md);
|
|
707
|
-
background-color: var(--polly-surface);
|
|
708
|
-
box-shadow: var(--polly-shadow-md);
|
|
709
|
-
box-sizing: border-box;
|
|
710
|
-
overflow-y: auto;
|
|
711
|
-
min-width: 160px;
|
|
712
|
-
max-height: 280px;
|
|
713
|
-
top: 100%;
|
|
714
|
-
left: 0;
|
|
715
|
-
}
|
|
716
|
-
|
|
717
|
-
.alignRight_HX48zA {
|
|
718
|
-
left: auto;
|
|
719
|
-
right: 0;
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
/* src/polly-ui/Select.module.css */
|
|
724
|
-
@layer polly-components {
|
|
725
|
-
.select_daofbw {
|
|
726
|
-
display: inline-block;
|
|
727
|
-
}
|
|
728
|
-
|
|
729
|
-
.label_daofbw {
|
|
730
|
-
display: block;
|
|
731
|
-
margin-bottom: var(--polly-space-xs);
|
|
732
|
-
font-size: var(--polly-text-sm);
|
|
733
|
-
font-weight: var(--polly-weight-medium);
|
|
734
|
-
color: var(--polly-text-muted);
|
|
735
|
-
}
|
|
736
|
-
|
|
737
|
-
.trigger_daofbw {
|
|
738
|
-
display: inline-block;
|
|
739
|
-
padding: var(--polly-space-sm) var(--polly-space-md);
|
|
740
|
-
border: var(--polly-border-width-default) solid var(--polly-border);
|
|
741
|
-
border-radius: var(--polly-radius-sm);
|
|
742
|
-
background-color: var(--polly-surface);
|
|
743
|
-
font-family: inherit;
|
|
744
|
-
font-size: var(--polly-text-md);
|
|
745
|
-
color: var(--polly-text);
|
|
746
|
-
text-align: left;
|
|
747
|
-
cursor: pointer;
|
|
748
|
-
white-space: nowrap;
|
|
749
|
-
overflow: hidden;
|
|
750
|
-
text-overflow: ellipsis;
|
|
751
|
-
min-width: 140px;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
.trigger_daofbw:disabled {
|
|
755
|
-
opacity: var(--polly-opacity-disabled);
|
|
756
|
-
cursor: not-allowed;
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
.placeholder_daofbw {
|
|
760
|
-
color: var(--polly-text-muted);
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
.actions_daofbw {
|
|
764
|
-
padding: var(--polly-space-xs) var(--polly-space-sm);
|
|
765
|
-
border-bottom: var(--polly-border-width-default) solid var(--polly-border);
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
.actionBtn_daofbw {
|
|
769
|
-
display: inline-block;
|
|
770
|
-
padding: var(--polly-space-xs) var(--polly-space-sm);
|
|
771
|
-
border-radius: var(--polly-radius-sm);
|
|
772
|
-
font-family: inherit;
|
|
773
|
-
font-size: var(--polly-text-xs);
|
|
774
|
-
color: var(--polly-accent);
|
|
775
|
-
cursor: pointer;
|
|
776
|
-
text-align: center;
|
|
777
|
-
background: none;
|
|
778
|
-
border: none;
|
|
779
|
-
width: 100%;
|
|
780
|
-
}
|
|
781
|
-
|
|
782
|
-
.actionBtn_daofbw:hover {
|
|
783
|
-
background-color: var(--polly-surface-sunken);
|
|
784
|
-
}
|
|
785
|
-
|
|
786
|
-
.option_daofbw {
|
|
787
|
-
display: block;
|
|
788
|
-
padding: var(--polly-space-sm) var(--polly-space-md);
|
|
789
|
-
font-family: inherit;
|
|
790
|
-
font-size: var(--polly-text-sm);
|
|
791
|
-
color: var(--polly-text);
|
|
792
|
-
text-align: left;
|
|
793
|
-
cursor: pointer;
|
|
794
|
-
background: none;
|
|
795
|
-
border: none;
|
|
796
|
-
width: 100%;
|
|
797
|
-
}
|
|
798
|
-
|
|
799
|
-
.option_daofbw:hover {
|
|
800
|
-
background-color: var(--polly-surface-sunken);
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
.optionSelected_daofbw {
|
|
804
|
-
background-color: color-mix(in srgb, var(--polly-accent) 8%, var(--polly-surface));
|
|
805
|
-
}
|
|
806
|
-
|
|
807
|
-
.optionCheck_daofbw {
|
|
808
|
-
accent-color: var(--polly-accent);
|
|
809
|
-
margin-right: var(--polly-space-sm);
|
|
810
|
-
vertical-align: middle;
|
|
811
|
-
pointer-events: none;
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
|
|
815
894
|
/* src/polly-ui/Skeleton.module.css */
|
|
816
895
|
@layer polly-components {
|
|
817
896
|
@keyframes pollyShimmer_gpBHJA {
|
|
@@ -891,6 +970,78 @@
|
|
|
891
970
|
}
|
|
892
971
|
}
|
|
893
972
|
|
|
973
|
+
/* src/polly-ui/Text.module.css */
|
|
974
|
+
@layer polly-components {
|
|
975
|
+
.text_75HKdQ {
|
|
976
|
+
color: var(--polly-text);
|
|
977
|
+
font-family: inherit;
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
.muted_75HKdQ {
|
|
981
|
+
color: var(--polly-text-muted);
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
.danger_75HKdQ {
|
|
985
|
+
color: var(--polly-status-danger-text);
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
.warning_75HKdQ {
|
|
989
|
+
color: var(--polly-status-warning-text);
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
.success_75HKdQ {
|
|
993
|
+
color: var(--polly-status-success-text);
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
.italic_75HKdQ {
|
|
997
|
+
font-style: italic;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
.tight_75HKdQ {
|
|
1001
|
+
line-height: var(--polly-line-height-tight);
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
.base_75HKdQ {
|
|
1005
|
+
line-height: var(--polly-line-height-base);
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
.loose_75HKdQ {
|
|
1009
|
+
line-height: var(--polly-line-height-loose);
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
.xs_75HKdQ {
|
|
1013
|
+
font-size: var(--polly-text-xs);
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
.sm_75HKdQ {
|
|
1017
|
+
font-size: var(--polly-text-sm);
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
.md_75HKdQ {
|
|
1021
|
+
font-size: var(--polly-text-md);
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
.lg_75HKdQ {
|
|
1025
|
+
font-size: var(--polly-text-lg);
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
.xl_75HKdQ {
|
|
1029
|
+
font-size: var(--polly-text-xl);
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
.normal_75HKdQ {
|
|
1033
|
+
font-weight: var(--polly-weight-normal);
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
.medium_75HKdQ {
|
|
1037
|
+
font-weight: var(--polly-weight-medium);
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
.bold_75HKdQ {
|
|
1041
|
+
font-weight: var(--polly-weight-bold);
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
|
|
894
1045
|
/* src/polly-ui/TextInput.module.css */
|
|
895
1046
|
@layer polly-components {
|
|
896
1047
|
.input_ez4_Vg {
|
|
@@ -38,6 +38,7 @@ import type { Repo as RepoType } from "@automerge/automerge-repo/slim";
|
|
|
38
38
|
import type { WebSocketServerAdapter as WebSocketServerAdapterType } from "@automerge/automerge-repo-network-websocket";
|
|
39
39
|
import type { NodeFSStorageAdapter as NodeFSStorageAdapterType } from "@automerge/automerge-repo-storage-nodefs";
|
|
40
40
|
import type * as wsType from "ws";
|
|
41
|
+
import type { SweepResult } from "./sweep-sealed";
|
|
41
42
|
type WebSocketServer = wsType.WebSocketServer;
|
|
42
43
|
export interface CreatePeerRepoServerOptions {
|
|
43
44
|
/** Port to listen on. The factory creates its own `WebSocketServer` and
|
|
@@ -69,6 +70,23 @@ export interface PeerRepoServer {
|
|
|
69
70
|
* underlying WebSocket server. Returns a promise that resolves once the
|
|
70
71
|
* tear-down is complete. */
|
|
71
72
|
close: () => Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Garbage-collect sealed mesh-doc bytes from {@link storage}. Walks the
|
|
75
|
+
* storage adapter, removes documents the `isSealed` predicate
|
|
76
|
+
* recognises as sealed longer ago than `olderThan`, and skips any
|
|
77
|
+
* document with an open handle on {@link repo}. With `dryRun`, reports
|
|
78
|
+
* the candidates without removing anything.
|
|
79
|
+
*
|
|
80
|
+
* Convenience binding of the standalone `sweepSealed` to this server's
|
|
81
|
+
* `repo` and `storage`. See `sweepSealed` for the full contract,
|
|
82
|
+
* including the redirect-index-not-yet-synced hazard that `olderThan`
|
|
83
|
+
* is sized to bound. polly never runs this on a timer — call it
|
|
84
|
+
* explicitly. */
|
|
85
|
+
sweepSealed: (options: {
|
|
86
|
+
isSealed: (doc: unknown) => number | undefined;
|
|
87
|
+
olderThan: number;
|
|
88
|
+
dryRun?: boolean;
|
|
89
|
+
}) => Promise<SweepResult>;
|
|
72
90
|
}
|
|
73
91
|
/**
|
|
74
92
|
* Construct a Polly peer-relay server. Returns a Repo that participates as
|