pi-studio 0.9.16 → 0.9.18

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/client/studio.css CHANGED
@@ -1530,6 +1530,98 @@
1530
1530
  background: var(--table-alt-bg);
1531
1531
  }
1532
1532
 
1533
+ .delimited-preview {
1534
+ display: flex;
1535
+ flex-direction: column;
1536
+ gap: 10px;
1537
+ max-width: 100%;
1538
+ }
1539
+
1540
+ .delimited-preview-header {
1541
+ display: flex;
1542
+ align-items: center;
1543
+ justify-content: space-between;
1544
+ gap: 12px;
1545
+ color: var(--text);
1546
+ }
1547
+
1548
+ .delimited-preview-header strong {
1549
+ display: block;
1550
+ font-size: 0.95rem;
1551
+ font-weight: 650;
1552
+ }
1553
+
1554
+ .delimited-preview-header span {
1555
+ display: block;
1556
+ margin-top: 2px;
1557
+ color: var(--muted);
1558
+ font-size: 0.82rem;
1559
+ }
1560
+
1561
+ .delimited-preview-table-wrap {
1562
+ max-width: 100%;
1563
+ overflow: auto;
1564
+ border: 1px solid var(--md-table-border);
1565
+ border-radius: 10px;
1566
+ background: var(--panel);
1567
+ }
1568
+
1569
+ .rendered-markdown .delimited-preview-table-wrap table {
1570
+ display: table;
1571
+ width: max-content;
1572
+ min-width: 100%;
1573
+ margin: 0;
1574
+ border-collapse: separate;
1575
+ border-spacing: 0;
1576
+ }
1577
+
1578
+ .rendered-markdown .delimited-preview-table-wrap th,
1579
+ .rendered-markdown .delimited-preview-table-wrap td {
1580
+ max-width: 420px;
1581
+ padding: 7px 10px;
1582
+ vertical-align: top;
1583
+ white-space: pre-wrap;
1584
+ overflow-wrap: anywhere;
1585
+ border-top: 0;
1586
+ border-left: 0;
1587
+ }
1588
+
1589
+ .rendered-markdown .delimited-preview-table-wrap thead th {
1590
+ position: sticky;
1591
+ top: 0;
1592
+ z-index: 2;
1593
+ background: var(--panel-2);
1594
+ }
1595
+
1596
+ .rendered-markdown .delimited-preview-row-number {
1597
+ position: sticky;
1598
+ left: 0;
1599
+ z-index: 1;
1600
+ width: 1%;
1601
+ min-width: 44px;
1602
+ color: var(--muted);
1603
+ text-align: right;
1604
+ background: var(--panel-2);
1605
+ }
1606
+
1607
+ .rendered-markdown .delimited-preview-table-wrap thead .delimited-preview-row-number {
1608
+ z-index: 3;
1609
+ }
1610
+
1611
+ .delimited-preview-empty,
1612
+ .delimited-preview-empty-cell {
1613
+ color: var(--muted);
1614
+ }
1615
+
1616
+ .delimited-preview-notice {
1617
+ margin: 0;
1618
+ }
1619
+
1620
+ .delimited-preview-truncation {
1621
+ color: var(--muted);
1622
+ font-weight: 700;
1623
+ }
1624
+
1533
1625
  .rendered-markdown hr {
1534
1626
  border: 0;
1535
1627
  border-top: 1px solid var(--md-hr);
@@ -1738,7 +1830,8 @@
1738
1830
  }
1739
1831
 
1740
1832
  body.studio-pdf-focus-open,
1741
- body.studio-html-focus-open {
1833
+ body.studio-html-focus-open,
1834
+ body.studio-image-focus-open {
1742
1835
  overflow: hidden;
1743
1836
  }
1744
1837
 
@@ -1894,6 +1987,82 @@
1894
1987
  background: #fff;
1895
1988
  }
1896
1989
 
1990
+ .studio-image-focus-dialog {
1991
+ background: var(--panel);
1992
+ }
1993
+
1994
+ .studio-image-focus-actions {
1995
+ gap: 6px;
1996
+ flex-wrap: wrap;
1997
+ justify-content: flex-end;
1998
+ }
1999
+
2000
+ .studio-image-focus-zoom-btn {
2001
+ min-height: 29px;
2002
+ padding: 4px 8px;
2003
+ }
2004
+
2005
+ .studio-image-focus-zoom-label {
2006
+ min-width: 44px;
2007
+ text-align: center;
2008
+ color: var(--studio-info-text, var(--muted));
2009
+ font-size: 12px;
2010
+ font-weight: 650;
2011
+ font-variant-numeric: tabular-nums;
2012
+ }
2013
+
2014
+ .studio-image-focus-slot {
2015
+ flex: 1 1 auto;
2016
+ min-height: 0;
2017
+ overflow: auto;
2018
+ display: flex;
2019
+ background:
2020
+ linear-gradient(45deg, color-mix(in srgb, var(--panel) 92%, white) 25%, transparent 25%),
2021
+ linear-gradient(-45deg, color-mix(in srgb, var(--panel) 92%, white) 25%, transparent 25%),
2022
+ linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--panel) 92%, white) 75%),
2023
+ linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--panel) 92%, white) 75%),
2024
+ var(--panel);
2025
+ background-size: 28px 28px;
2026
+ background-position: 0 0, 0 14px, 14px -14px, -14px 0;
2027
+ }
2028
+
2029
+ .studio-image-focus-slot.is-fit {
2030
+ align-items: center;
2031
+ justify-content: center;
2032
+ padding: 12px;
2033
+ overflow: hidden;
2034
+ }
2035
+
2036
+ .studio-image-focus-slot.is-zoomed {
2037
+ align-items: flex-start;
2038
+ justify-content: flex-start;
2039
+ padding: 18px;
2040
+ }
2041
+
2042
+ .studio-image-focus-img {
2043
+ display: block;
2044
+ flex: 0 0 auto;
2045
+ object-fit: contain;
2046
+ box-shadow: 0 8px 28px color-mix(in srgb, var(--shadow-color) 65%, transparent);
2047
+ background: transparent;
2048
+ }
2049
+
2050
+ .studio-image-focus-slot.is-zoomed .studio-image-focus-img {
2051
+ margin: auto;
2052
+ }
2053
+
2054
+ .rendered-markdown img.studio-image-focus-target,
2055
+ .trace-image-card img.studio-image-focus-target {
2056
+ cursor: zoom-in;
2057
+ }
2058
+
2059
+ .rendered-markdown img.studio-image-focus-target:focus-visible,
2060
+ .trace-image-card img.studio-image-focus-target:focus-visible {
2061
+ outline: 2px solid var(--accent);
2062
+ outline-offset: 3px;
2063
+ border-radius: 4px;
2064
+ }
2065
+
1897
2066
  body.studio-quiz-open {
1898
2067
  overflow: hidden;
1899
2068
  }
@@ -3791,6 +3960,11 @@
3791
3960
  background: var(--panel);
3792
3961
  }
3793
3962
 
3963
+ .shortcuts-body:focus-visible {
3964
+ outline: 2px solid var(--accent);
3965
+ outline-offset: -3px;
3966
+ }
3967
+
3794
3968
  .shortcuts-group {
3795
3969
  display: block;
3796
3970
  min-height: auto;
@@ -4336,7 +4510,8 @@
4336
4510
  }
4337
4511
 
4338
4512
  body.studio-ui-refresh .studio-refresh-header-utility {
4339
- grid-template-columns: minmax(0, 1fr) auto;
4513
+ grid-template-columns: minmax(0, 1fr);
4514
+ justify-items: start;
4340
4515
  }
4341
4516
 
4342
4517
  body.studio-ui-refresh .studio-refresh-pane-identity {
@@ -4353,12 +4528,18 @@
4353
4528
  flex-wrap: nowrap;
4354
4529
  }
4355
4530
 
4356
- body.studio-ui-refresh .studio-refresh-context-group,
4357
- body.studio-ui-refresh .studio-refresh-utility-left {
4531
+ body.studio-ui-refresh .studio-refresh-context-group {
4358
4532
  overflow: hidden;
4359
4533
  white-space: nowrap;
4360
4534
  }
4361
4535
 
4536
+ body.studio-ui-refresh .studio-refresh-utility-left {
4537
+ overflow: visible;
4538
+ white-space: nowrap;
4539
+ justify-content: flex-start;
4540
+ justify-self: start;
4541
+ }
4542
+
4362
4543
  body.studio-ui-refresh .studio-refresh-title-group {
4363
4544
  position: relative;
4364
4545
  z-index: 2;
@@ -4462,12 +4643,14 @@
4462
4643
  border-color: transparent;
4463
4644
  background: transparent;
4464
4645
  padding: 3px 5px;
4465
- font-size: 13px;
4646
+ font-size: 12px;
4647
+ font-weight: 400;
4648
+ line-height: 1.25;
4466
4649
  border-radius: 8px;
4467
4650
  }
4468
4651
 
4469
4652
  body.studio-ui-refresh #sourceBadge {
4470
- color: var(--text);
4653
+ color: var(--studio-info-text, var(--muted));
4471
4654
  max-width: min(34rem, 54vw);
4472
4655
  min-width: 0;
4473
4656
  overflow: hidden;
@@ -4475,7 +4658,6 @@
4475
4658
  white-space: nowrap;
4476
4659
  }
4477
4660
 
4478
- body.studio-ui-refresh #resourceDirBtn,
4479
4661
  body.studio-ui-refresh #reviewNotesBtn,
4480
4662
  body.studio-ui-refresh #outlineBtn,
4481
4663
  body.studio-ui-refresh #scratchpadBtn,
@@ -4483,11 +4665,19 @@
4483
4665
  color: var(--text);
4484
4666
  }
4485
4667
 
4668
+ body.studio-ui-refresh #resourceDirBtn,
4486
4669
  body.studio-ui-refresh #resourceDirLabel {
4487
4670
  color: var(--studio-info-text, var(--muted));
4488
4671
  font-weight: 400;
4489
4672
  }
4490
4673
 
4674
+ body.studio-ui-refresh #resourceDirBtn:hover,
4675
+ body.studio-ui-refresh #resourceDirLabel:hover {
4676
+ color: var(--text);
4677
+ background: var(--studio-header-action-hover-bg, var(--panel-2));
4678
+ border-color: transparent;
4679
+ }
4680
+
4491
4681
  body.studio-ui-refresh #resourceDirInputWrap.visible {
4492
4682
  display: inline-flex;
4493
4683
  }
@@ -4501,9 +4691,11 @@
4501
4691
  border-radius: 999px;
4502
4692
  padding: 2px 7px;
4503
4693
  background: transparent;
4504
- color: var(--muted);
4505
- opacity: 0.82;
4506
- font-weight: 450;
4694
+ color: var(--studio-info-text, var(--muted));
4695
+ opacity: 1;
4696
+ font-size: 12px;
4697
+ font-weight: 400;
4698
+ line-height: 1.25;
4507
4699
  }
4508
4700
 
4509
4701
  body.studio-ui-refresh #syncBadge[hidden] {
@@ -4519,6 +4711,11 @@
4519
4711
  opacity: 0.72;
4520
4712
  }
4521
4713
 
4714
+ body.studio-ui-refresh #syncBadge.out-of-sync::before {
4715
+ background: var(--warning, var(--accent));
4716
+ opacity: 0.95;
4717
+ }
4718
+
4522
4719
  body.studio-ui-refresh #reviewNotesBtn,
4523
4720
  body.studio-ui-refresh #outlineBtn,
4524
4721
  body.studio-ui-refresh #scratchpadBtn,
@@ -4536,9 +4733,10 @@
4536
4733
  body.studio-zen-mode #exportPdfBtn,
4537
4734
  body.studio-zen-mode .studio-refresh-tool-tab,
4538
4735
  body.studio-zen-mode .studio-refresh-toolbar-state,
4539
- body.studio-zen-mode .studio-refresh-toolbar-actions .studio-refresh-action-line:nth-child(n+3),
4736
+ body.studio-zen-mode .studio-refresh-toolbar-actions .studio-refresh-utility-action-line,
4540
4737
  body.studio-zen-mode .source-actions-row:nth-child(n+3),
4541
4738
  body.studio-zen-mode #copyDraftBtn,
4739
+ body.studio-zen-mode #suggestCompletionBtn,
4542
4740
  body.studio-zen-mode #openCompanionBtn,
4543
4741
  body.studio-zen-mode #sendEditorBtn {
4544
4742
  display: none !important;
@@ -4805,6 +5003,19 @@
4805
5003
  width: min(320px, calc(100vw - 48px));
4806
5004
  }
4807
5005
 
5006
+ body.studio-ui-refresh .studio-refresh-title-group .studio-refresh-context-anchor .studio-refresh-chip {
5007
+ color: var(--studio-info-text, var(--muted));
5008
+ font-size: 13px;
5009
+ font-weight: 500;
5010
+ padding: 3px 5px;
5011
+ }
5012
+
5013
+ body.studio-ui-refresh .studio-refresh-context-anchor .studio-refresh-menu {
5014
+ left: 0;
5015
+ right: auto;
5016
+ width: min(360px, calc(100vw - 48px));
5017
+ }
5018
+
4808
5019
  body.studio-ui-refresh .studio-refresh-menu[hidden] {
4809
5020
  display: none !important;
4810
5021
  }
@@ -4852,6 +5063,11 @@
4852
5063
  text-align: left;
4853
5064
  }
4854
5065
 
5066
+ body.studio-ui-refresh .completion-context-option.is-selected {
5067
+ color: var(--text);
5068
+ font-weight: 650;
5069
+ }
5070
+
4855
5071
  body.studio-ui-refresh .studio-refresh-menu-item > button:not(:disabled):hover,
4856
5072
  body.studio-ui-refresh .studio-refresh-menu-item > select:not(:disabled):hover {
4857
5073
  background: var(--studio-header-action-hover-bg, var(--panel-2));