pi-studio 0.9.17 → 0.9.19

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
  }
@@ -2984,7 +3153,7 @@
2984
3153
  .trace-card {
2985
3154
  display: flex;
2986
3155
  flex-direction: column;
2987
- gap: 8px;
3156
+ gap: 10px;
2988
3157
  padding: 10px 12px;
2989
3158
  border: 1px solid var(--panel-border);
2990
3159
  border-radius: 10px;
@@ -3010,10 +3179,23 @@
3010
3179
  .trace-section {
3011
3180
  display: flex;
3012
3181
  flex-direction: column;
3013
- gap: 4px;
3182
+ gap: 6px;
3183
+ padding: 8px;
3184
+ border: 1px solid var(--border-subtle);
3185
+ border-radius: 10px;
3186
+ background: var(--panel);
3187
+ }
3188
+
3189
+ .trace-section + .trace-section {
3190
+ margin-top: 2px;
3014
3191
  }
3015
3192
 
3016
3193
  .trace-section-label {
3194
+ align-self: flex-start;
3195
+ padding: 2px 7px;
3196
+ border: 1px solid var(--border-subtle);
3197
+ border-radius: 999px;
3198
+ background: var(--panel-2);
3017
3199
  font-size: 11px;
3018
3200
  font-weight: 600;
3019
3201
  color: var(--muted);
@@ -3791,6 +3973,11 @@
3791
3973
  background: var(--panel);
3792
3974
  }
3793
3975
 
3976
+ .shortcuts-body:focus-visible {
3977
+ outline: 2px solid var(--accent);
3978
+ outline-offset: -3px;
3979
+ }
3980
+
3794
3981
  .shortcuts-group {
3795
3982
  display: block;
3796
3983
  min-height: auto;