@brett_lamy/docstream 1.21.0 → 1.22.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/src/styles.css CHANGED
@@ -4437,6 +4437,553 @@
4437
4437
  }
4438
4438
  }
4439
4439
 
4440
+ /* ── Replay DevTools: the Console / Network buttons in the top bar and the panel over the page ──
4441
+ Chrome's DevTools, in the player's tokens. Failed requests and errors read --destructive, warnings --warning. */
4442
+ @layer docstream.replay {
4443
+ :where([data-slot="replay-preview-actions"]) {
4444
+ display: flex;
4445
+ flex-shrink: 0;
4446
+ justify-content: flex-end;
4447
+ min-width: 47px;
4448
+ }
4449
+
4450
+ :where([data-slot="replay-devtools-buttons"]) {
4451
+ display: flex;
4452
+ gap: 2px;
4453
+ }
4454
+
4455
+ :where([data-slot="replay-devtools-button"]) {
4456
+ display: inline-flex;
4457
+ align-items: center;
4458
+ gap: 5px;
4459
+ height: 26px;
4460
+ min-width: 0;
4461
+ margin: 0;
4462
+ padding: 0 7px;
4463
+ border: 0;
4464
+ border-radius: 7px;
4465
+ outline: none;
4466
+ cursor: pointer;
4467
+ appearance: none;
4468
+ color: var(--muted-foreground, #71717a);
4469
+ background: transparent;
4470
+ font: inherit;
4471
+ font-size: 11.5px;
4472
+ font-weight: 600;
4473
+ font-variant-numeric: tabular-nums;
4474
+ transition: background-color 0.12s ease-out, color 0.12s ease-out;
4475
+ }
4476
+
4477
+ :where([data-slot="replay-devtools-button"]:hover),
4478
+ :where([data-slot="replay-devtools-button"][aria-pressed="true"]) {
4479
+ color: var(--foreground, #18181b);
4480
+ background: color-mix(in srgb, var(--foreground, #18181b) 8%, transparent);
4481
+ }
4482
+
4483
+ :where([data-slot="replay-devtools-button"]:focus-visible) {
4484
+ box-shadow: 0 0 0 2px var(--ring, #6366f1);
4485
+ }
4486
+
4487
+ :where([data-slot="replay-devtools-button"] [data-part="count"]) {
4488
+ color: var(--foreground, #18181b);
4489
+ }
4490
+
4491
+ :where([data-slot="replay-preview"] [data-part="failed"]) {
4492
+ color: var(--destructive, #dc2626);
4493
+ font-weight: 600;
4494
+ }
4495
+
4496
+ :where([data-slot="replay-preview"] [data-part="warn"]) {
4497
+ color: var(--warning, #b45309);
4498
+ font-weight: 600;
4499
+ }
4500
+
4501
+ /* The panel: docked to the bottom of the page, like DevTools docked to the bottom of a window. */
4502
+ :where([data-slot="replay-devtools"]) {
4503
+ position: absolute;
4504
+ inset-inline: 0;
4505
+ bottom: 0;
4506
+ z-index: 4;
4507
+ display: flex;
4508
+ flex-direction: column;
4509
+ min-height: 120px;
4510
+ overflow: hidden;
4511
+ outline: none;
4512
+ color: var(--foreground, #18181b);
4513
+ background: var(--card, #ffffff);
4514
+ border-top: 1px solid var(--border, #e4e4e7);
4515
+ box-shadow: 0 -12px 32px -16px rgba(0, 0, 0, 0.3);
4516
+ font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
4517
+ font-size: 12px;
4518
+ line-height: 1.4;
4519
+ animation: docstream-replay-devtools-in 0.18s cubic-bezier(0.32, 0.72, 0, 1);
4520
+ }
4521
+
4522
+ :where([data-slot="replay-devtools-resize"]) {
4523
+ position: absolute;
4524
+ inset-inline: 0;
4525
+ top: -3px;
4526
+ z-index: 1;
4527
+ height: 7px;
4528
+ cursor: row-resize;
4529
+ }
4530
+
4531
+ :where([data-slot="replay-devtools-tabs"], [data-slot="replay-devtools-detail-tabs"]) {
4532
+ display: flex;
4533
+ flex-shrink: 0;
4534
+ align-items: stretch;
4535
+ height: 30px;
4536
+ padding-inline: 4px;
4537
+ border-bottom: 1px solid var(--border, #e4e4e7);
4538
+ background: color-mix(in srgb, var(--muted, #f4f4f5) 70%, transparent);
4539
+ }
4540
+
4541
+ :where([data-slot="replay-devtools-tabs"] > button, [data-slot="replay-devtools-detail-tabs"] > button) {
4542
+ display: inline-flex;
4543
+ align-items: center;
4544
+ gap: 5px;
4545
+ margin: 0;
4546
+ padding: 0 10px;
4547
+ border: 0;
4548
+ border-bottom: 2px solid transparent;
4549
+ outline: none;
4550
+ cursor: pointer;
4551
+ appearance: none;
4552
+ color: var(--muted-foreground, #71717a);
4553
+ background: transparent;
4554
+ font: inherit;
4555
+ }
4556
+
4557
+ :where([data-slot="replay-devtools-tabs"] > button[aria-selected="true"], [data-slot="replay-devtools-detail-tabs"] > button[aria-selected="true"]) {
4558
+ color: var(--foreground, #18181b);
4559
+ border-bottom-color: var(--primary, #2563eb);
4560
+ }
4561
+
4562
+ :where([data-slot="replay-devtools-tabs"] > button:focus-visible, [data-slot="replay-devtools-detail-tabs"] > button:focus-visible) {
4563
+ box-shadow: inset 0 0 0 2px var(--ring, #6366f1);
4564
+ }
4565
+
4566
+ :where([data-slot="replay-devtools-tabs"] [data-part="at"]) {
4567
+ display: inline-flex;
4568
+ align-items: center;
4569
+ margin-inline-start: auto;
4570
+ padding-inline: 8px;
4571
+ color: var(--muted-foreground, #71717a);
4572
+ font-variant-numeric: tabular-nums;
4573
+ }
4574
+
4575
+ :where([data-slot="replay-devtools-tabs"] > [data-slot="replay-devtools-close"], [data-slot="replay-devtools-detail-tabs"] > [data-slot="replay-devtools-close"]) {
4576
+ padding: 0 8px;
4577
+ }
4578
+
4579
+ :where([data-slot="replay-devtools-pane"]) {
4580
+ display: flex;
4581
+ flex: 1 1 0%;
4582
+ flex-direction: column;
4583
+ min-height: 0;
4584
+ }
4585
+
4586
+ :where([data-slot="replay-devtools-toolbar"]) {
4587
+ display: flex;
4588
+ flex-shrink: 0;
4589
+ align-items: center;
4590
+ gap: 6px;
4591
+ height: 30px;
4592
+ padding: 0 6px;
4593
+ border-bottom: 1px solid var(--border, #e4e4e7);
4594
+ }
4595
+
4596
+ :where([data-slot="replay-devtools-toolbar"] input, [data-slot="replay-devtools-toolbar"] select) {
4597
+ height: 22px;
4598
+ margin: 0;
4599
+ padding: 0 7px;
4600
+ border: 1px solid var(--border, #e4e4e7);
4601
+ border-radius: 5px;
4602
+ outline: none;
4603
+ color: inherit;
4604
+ background: var(--background, #ffffff);
4605
+ font: inherit;
4606
+ }
4607
+
4608
+ :where([data-slot="replay-devtools-toolbar"] input) {
4609
+ width: 180px;
4610
+ min-width: 0;
4611
+ }
4612
+
4613
+ :where([data-slot="replay-devtools-toolbar"] input:focus-visible, [data-slot="replay-devtools-toolbar"] select:focus-visible) {
4614
+ border-color: var(--ring, #6366f1);
4615
+ }
4616
+
4617
+ :where([data-slot="replay-devtools-toolbar"] [data-part="summary"]) {
4618
+ display: flex;
4619
+ gap: 10px;
4620
+ margin-inline-start: auto;
4621
+ padding-inline-end: 4px;
4622
+ }
4623
+
4624
+ :where([data-slot="replay-devtools-chips"]) {
4625
+ display: flex;
4626
+ gap: 2px;
4627
+ }
4628
+
4629
+ :where([data-slot="replay-devtools-chips"] > button) {
4630
+ height: 22px;
4631
+ margin: 0;
4632
+ padding: 0 8px;
4633
+ border: 0;
4634
+ border-radius: 5px;
4635
+ outline: none;
4636
+ cursor: pointer;
4637
+ appearance: none;
4638
+ color: var(--muted-foreground, #71717a);
4639
+ background: transparent;
4640
+ font: inherit;
4641
+ }
4642
+
4643
+ :where([data-slot="replay-devtools-chips"] > button[aria-checked="true"]) {
4644
+ color: var(--foreground, #18181b);
4645
+ background: color-mix(in srgb, var(--foreground, #18181b) 9%, transparent);
4646
+ }
4647
+
4648
+ :where([data-slot="replay-devtools-chips"] > button:focus-visible) {
4649
+ box-shadow: 0 0 0 2px var(--ring, #6366f1);
4650
+ }
4651
+
4652
+ /* Console */
4653
+ :where([data-slot="replay-devtools-list"]) {
4654
+ flex: 1 1 0%;
4655
+ min-height: 0;
4656
+ overflow: auto;
4657
+ overscroll-behavior: contain;
4658
+ }
4659
+
4660
+ :where([data-slot="replay-devtools-message"]) {
4661
+ display: flex;
4662
+ align-items: flex-start;
4663
+ gap: 8px;
4664
+ padding: 3px 8px 3px 6px;
4665
+ border-bottom: 1px solid color-mix(in srgb, var(--border, #e4e4e7) 70%, transparent);
4666
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
4667
+ font-size: 11.5px;
4668
+ line-height: 1.5;
4669
+ }
4670
+
4671
+ :where([data-slot="replay-devtools-message"][data-level="warn"]) {
4672
+ color: color-mix(in srgb, var(--warning, #b45309) 80%, var(--foreground, #18181b));
4673
+ background: color-mix(in srgb, var(--warning, #f59e0b) 10%, transparent);
4674
+ border-bottom-color: color-mix(in srgb, var(--warning, #f59e0b) 25%, transparent);
4675
+ }
4676
+
4677
+ :where([data-slot="replay-devtools-message"][data-level="error"]) {
4678
+ color: var(--destructive, #dc2626);
4679
+ background: color-mix(in srgb, var(--destructive, #dc2626) 8%, transparent);
4680
+ border-bottom-color: color-mix(in srgb, var(--destructive, #dc2626) 22%, transparent);
4681
+ }
4682
+
4683
+ :where([data-slot="replay-devtools-message"][data-level="debug"]) {
4684
+ color: var(--muted-foreground, #71717a);
4685
+ }
4686
+
4687
+ :where([data-slot="replay-devtools-message"] > details, [data-slot="replay-devtools-message"] > [data-part="line"]) {
4688
+ flex: 1 1 0%;
4689
+ min-width: 0;
4690
+ }
4691
+
4692
+ :where([data-slot="replay-devtools-message"] summary, [data-slot="replay-devtools-message"] [data-part="line"]) {
4693
+ display: flex;
4694
+ gap: 6px;
4695
+ list-style: none;
4696
+ }
4697
+
4698
+ :where([data-slot="replay-devtools-message"] summary) {
4699
+ cursor: pointer;
4700
+ }
4701
+
4702
+ :where([data-slot="replay-devtools-message"] summary::-webkit-details-marker, [data-slot="replay-devtools-section"] > summary::-webkit-details-marker) {
4703
+ display: none;
4704
+ }
4705
+
4706
+ :where([data-slot="replay-devtools-message"] [data-part="icon"]) {
4707
+ display: grid;
4708
+ flex-shrink: 0;
4709
+ place-items: center;
4710
+ width: 12px;
4711
+ height: 17px;
4712
+ }
4713
+
4714
+ :where([data-slot="replay-devtools-message"] [data-part="message"]) {
4715
+ min-width: 0;
4716
+ white-space: pre-wrap;
4717
+ overflow-wrap: anywhere;
4718
+ }
4719
+
4720
+ :where([data-slot="replay-devtools-message"] [data-part="trace"]) {
4721
+ margin: 2px 0 2px 18px;
4722
+ padding: 0;
4723
+ list-style: none;
4724
+ opacity: 0.85;
4725
+ }
4726
+
4727
+ :where([data-slot="replay-devtools-message"] [data-part="trace"] > li) {
4728
+ padding-inline-start: 14px;
4729
+ }
4730
+
4731
+ :where([data-slot="replay-devtools"] [data-part="time"]) {
4732
+ flex-shrink: 0;
4733
+ margin: 0;
4734
+ padding: 0 2px;
4735
+ border: 0;
4736
+ border-radius: 3px;
4737
+ outline: none;
4738
+ cursor: pointer;
4739
+ appearance: none;
4740
+ color: var(--muted-foreground, #71717a);
4741
+ background: transparent;
4742
+ font: inherit;
4743
+ font-variant-numeric: tabular-nums;
4744
+ text-decoration: underline;
4745
+ text-decoration-color: transparent;
4746
+ }
4747
+
4748
+ :where([data-slot="replay-devtools"] [data-part="time"]:hover) {
4749
+ text-decoration-color: currentColor;
4750
+ }
4751
+
4752
+ :where([data-slot="replay-devtools"] [data-part="time"]:focus-visible) {
4753
+ box-shadow: 0 0 0 2px var(--ring, #6366f1);
4754
+ }
4755
+
4756
+ :where([data-slot="replay-devtools-empty"], [data-slot="replay-devtools-later"]) {
4757
+ margin: 0;
4758
+ padding: 10px 12px;
4759
+ color: var(--muted-foreground, #71717a);
4760
+ }
4761
+
4762
+ :where([data-slot="replay-devtools-later"]) {
4763
+ font-style: italic;
4764
+ }
4765
+
4766
+ /* Network */
4767
+ :where([data-slot="replay-devtools-network"]) {
4768
+ display: flex;
4769
+ flex: 1 1 0%;
4770
+ min-height: 0;
4771
+ }
4772
+
4773
+ :where([data-slot="replay-devtools-table-wrap"]) {
4774
+ flex: 1 1 0%;
4775
+ min-width: 0;
4776
+ overflow: auto;
4777
+ overscroll-behavior: contain;
4778
+ }
4779
+
4780
+ :where([data-slot="replay-devtools-pane"][data-detail] [data-slot="replay-devtools-table-wrap"]) {
4781
+ flex: 0 0 34%;
4782
+ border-inline-end: 1px solid var(--border, #e4e4e7);
4783
+ }
4784
+
4785
+ :where([data-slot="replay-devtools-table"]) {
4786
+ width: 100%;
4787
+ border-collapse: collapse;
4788
+ table-layout: fixed;
4789
+ font-variant-numeric: tabular-nums;
4790
+ }
4791
+
4792
+ :where([data-slot="replay-devtools-table"] th) {
4793
+ position: sticky;
4794
+ top: 0;
4795
+ z-index: 1;
4796
+ height: 22px;
4797
+ padding: 0 8px;
4798
+ border-bottom: 1px solid var(--border, #e4e4e7);
4799
+ color: var(--muted-foreground, #71717a);
4800
+ background: var(--card, #ffffff);
4801
+ font-weight: 500;
4802
+ text-align: start;
4803
+ white-space: nowrap;
4804
+ }
4805
+
4806
+ :where([data-slot="replay-devtools-table"] th:first-child) {
4807
+ width: 38%;
4808
+ }
4809
+
4810
+ :where([data-slot="replay-devtools-pane"][data-detail] [data-slot="replay-devtools-table"] th:first-child) {
4811
+ width: 70%;
4812
+ }
4813
+
4814
+ :where([data-slot="replay-devtools-table"] th[data-col="waterfall"]) {
4815
+ width: 24%;
4816
+ }
4817
+
4818
+ :where([data-slot="replay-devtools-table"] td) {
4819
+ height: 22px;
4820
+ padding: 0 8px;
4821
+ overflow: hidden;
4822
+ border-bottom: 1px solid color-mix(in srgb, var(--border, #e4e4e7) 60%, transparent);
4823
+ text-overflow: ellipsis;
4824
+ white-space: nowrap;
4825
+ }
4826
+
4827
+ :where([data-slot="replay-devtools-table"] tbody tr) {
4828
+ outline: none;
4829
+ cursor: default;
4830
+ }
4831
+
4832
+ :where([data-slot="replay-devtools-table"] tbody tr:nth-child(even)) {
4833
+ background: color-mix(in srgb, var(--muted, #f4f4f5) 45%, transparent);
4834
+ }
4835
+
4836
+ :where([data-slot="replay-devtools-table"] tbody tr:hover) {
4837
+ background: color-mix(in srgb, var(--primary, #2563eb) 7%, transparent);
4838
+ }
4839
+
4840
+ :where([data-slot="replay-devtools-table"] tbody tr[aria-selected="true"]) {
4841
+ background: color-mix(in srgb, var(--primary, #2563eb) 16%, transparent);
4842
+ }
4843
+
4844
+ :where([data-slot="replay-devtools-table"] tbody tr:focus-visible) {
4845
+ box-shadow: inset 0 0 0 2px var(--ring, #6366f1);
4846
+ }
4847
+
4848
+ :where([data-slot="replay-devtools-table"] tr[data-failed]) {
4849
+ color: var(--destructive, #dc2626);
4850
+ }
4851
+
4852
+ :where([data-slot="replay-devtools-table"] tr[data-pending]) {
4853
+ color: var(--muted-foreground, #71717a);
4854
+ }
4855
+
4856
+ :where([data-slot="replay-devtools-table"] td[data-col="waterfall"]) {
4857
+ position: relative;
4858
+ }
4859
+
4860
+ :where([data-slot="replay-devtools-table"] [data-part="bar"]) {
4861
+ position: absolute;
4862
+ top: 50%;
4863
+ height: 8px;
4864
+ margin-top: -4px;
4865
+ border-radius: 2px;
4866
+ background: color-mix(in srgb, var(--primary, #2563eb) 70%, transparent);
4867
+ }
4868
+
4869
+ :where([data-slot="replay-devtools-table"] tr[data-failed] [data-part="bar"]) {
4870
+ background: var(--destructive, #dc2626);
4871
+ }
4872
+
4873
+ :where([data-slot="replay-devtools-table"] tr[data-pending] [data-part="bar"]) {
4874
+ background: color-mix(in srgb, var(--muted-foreground, #71717a) 50%, transparent);
4875
+ }
4876
+
4877
+ :where([data-slot="replay-devtools-status"]) {
4878
+ display: flex;
4879
+ flex-shrink: 0;
4880
+ align-items: center;
4881
+ gap: 12px;
4882
+ height: 22px;
4883
+ padding: 0 8px;
4884
+ border-top: 1px solid var(--border, #e4e4e7);
4885
+ color: var(--muted-foreground, #71717a);
4886
+ font-variant-numeric: tabular-nums;
4887
+ }
4888
+
4889
+ :where([data-slot="replay-devtools-detail"]) {
4890
+ display: flex;
4891
+ flex: 1 1 0%;
4892
+ flex-direction: column;
4893
+ min-width: 0;
4894
+ }
4895
+
4896
+ :where([data-slot="replay-devtools-detail-body"]) {
4897
+ flex: 1 1 0%;
4898
+ min-height: 0;
4899
+ padding: 6px 0;
4900
+ overflow: auto;
4901
+ overscroll-behavior: contain;
4902
+ }
4903
+
4904
+ :where([data-slot="replay-devtools-section"]) {
4905
+ padding-bottom: 6px;
4906
+ }
4907
+
4908
+ :where([data-slot="replay-devtools-section"] > summary) {
4909
+ display: flex;
4910
+ align-items: center;
4911
+ gap: 4px;
4912
+ padding: 3px 8px;
4913
+ cursor: pointer;
4914
+ list-style: none;
4915
+ font-weight: 600;
4916
+ }
4917
+
4918
+ :where([data-slot="replay-devtools-section"] [data-part="chevron"]) {
4919
+ transition: transform 0.12s ease-out;
4920
+ }
4921
+
4922
+ :where([data-slot="replay-devtools-section"][open] [data-part="chevron"]) {
4923
+ transform: rotate(90deg);
4924
+ }
4925
+
4926
+ :where([data-slot="replay-devtools-section"] dl) {
4927
+ margin: 0;
4928
+ padding: 0 12px 0 24px;
4929
+ }
4930
+
4931
+ :where([data-slot="replay-devtools-section"] dl > div) {
4932
+ display: flex;
4933
+ gap: 10px;
4934
+ padding: 1px 0;
4935
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
4936
+ font-size: 11.5px;
4937
+ }
4938
+
4939
+ :where([data-slot="replay-devtools-section"] dt) {
4940
+ flex-shrink: 0;
4941
+ min-width: 130px;
4942
+ color: var(--muted-foreground, #71717a);
4943
+ }
4944
+
4945
+ :where([data-slot="replay-devtools-section"] dd) {
4946
+ margin: 0;
4947
+ min-width: 0;
4948
+ overflow-wrap: anywhere;
4949
+ }
4950
+
4951
+ :where([data-slot="replay-devtools-body"]) {
4952
+ margin: 0;
4953
+ padding: 4px 12px;
4954
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
4955
+ font-size: 11.5px;
4956
+ white-space: pre-wrap;
4957
+ overflow-wrap: anywhere;
4958
+ }
4959
+
4960
+ :where([data-slot="replay-devtools-jump"]) {
4961
+ margin: 4px 0 0 24px;
4962
+ padding: 0;
4963
+ border: 0;
4964
+ outline: none;
4965
+ cursor: pointer;
4966
+ appearance: none;
4967
+ color: var(--primary, #2563eb);
4968
+ background: transparent;
4969
+ font: inherit;
4970
+ }
4971
+
4972
+ :where([data-slot="replay-devtools-jump"]:focus-visible) {
4973
+ box-shadow: 0 0 0 2px var(--ring, #6366f1);
4974
+ }
4975
+ }
4976
+
4977
+ @keyframes docstream-replay-devtools-in {
4978
+ from { transform: translateY(12px); opacity: 0; }
4979
+ }
4980
+
4981
+ @media (prefers-reduced-motion: reduce) {
4982
+ @layer docstream.replay {
4983
+ :where([data-slot="replay-devtools"]) { animation: none; }
4984
+ }
4985
+ }
4986
+
4440
4987
  /* Keep every rendered table variant flush, after the shared block spacing rules. */
4441
4988
  :is([data-docstream], .docs-article) [data-docstream-blocks] > :is(.docs-table, table, .docs-cards) {
4442
4989
  margin-block-start: 0;