@polishd/next 0.2.3-dev.4 → 0.2.3-dev.6
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/CHANGELOG.md +63 -0
- package/README.md +12 -5
- package/bin/init.mjs +4 -1
- package/dist/ai/actions.d.ts +7 -1
- package/dist/ai/actions.d.ts.map +1 -1
- package/dist/ai/actions.js +10 -1
- package/dist/ai/actions.js.map +1 -1
- package/dist/ai/design.d.ts +5 -1
- package/dist/ai/design.d.ts.map +1 -1
- package/dist/ai/design.js +21 -4
- package/dist/ai/design.js.map +1 -1
- package/dist/ai/issues.d.ts +22 -11
- package/dist/ai/issues.d.ts.map +1 -1
- package/dist/ai/issues.js +102 -43
- package/dist/ai/issues.js.map +1 -1
- package/dist/ai/types.d.ts +3 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/dashboard/design-review-card.d.ts +3 -1
- package/dist/dashboard/design-review-card.d.ts.map +1 -1
- package/dist/dashboard/design-review-card.js +14 -6
- package/dist/dashboard/design-review-card.js.map +1 -1
- package/dist/dashboard/design.d.ts.map +1 -1
- package/dist/dashboard/design.js +75 -17
- package/dist/dashboard/design.js.map +1 -1
- package/dist/dashboard/file-bug-button.d.ts +14 -0
- package/dist/dashboard/file-bug-button.d.ts.map +1 -0
- package/dist/dashboard/file-bug-button.js +37 -0
- package/dist/dashboard/file-bug-button.js.map +1 -0
- package/dist/dashboard/snapshot-actions.d.ts +15 -5
- package/dist/dashboard/snapshot-actions.d.ts.map +1 -1
- package/dist/dashboard/snapshot-actions.js +69 -24
- package/dist/dashboard/snapshot-actions.js.map +1 -1
- package/dist/dashboard/snapshots.d.ts.map +1 -1
- package/dist/dashboard/snapshots.js +58 -8
- package/dist/dashboard/snapshots.js.map +1 -1
- package/dist/dashboard/summary.d.ts.map +1 -1
- package/dist/dashboard/summary.js +8 -36
- package/dist/dashboard/summary.js.map +1 -1
- package/dist/dashboard/ui.d.ts +1 -0
- package/dist/dashboard/ui.d.ts.map +1 -1
- package/dist/dashboard/ui.js +1 -0
- package/dist/dashboard/ui.js.map +1 -1
- package/dist/dashboard/value-preview.d.ts +47 -0
- package/dist/dashboard/value-preview.d.ts.map +1 -0
- package/dist/dashboard/value-preview.js +138 -0
- package/dist/dashboard/value-preview.js.map +1 -0
- package/dist/dashboard.css +170 -50
- package/dist/server/snapshots.d.ts +69 -10
- package/dist/server/snapshots.d.ts.map +1 -1
- package/dist/server/snapshots.js +407 -158
- package/dist/server/snapshots.js.map +1 -1
- package/dist/server/value-previews.d.ts +47 -0
- package/dist/server/value-previews.d.ts.map +1 -0
- package/dist/server/value-previews.js +313 -0
- package/dist/server/value-previews.js.map +1 -0
- package/dist/shared/design-values.d.ts +71 -0
- package/dist/shared/design-values.d.ts.map +1 -0
- package/dist/shared/design-values.js +98 -0
- package/dist/shared/design-values.js.map +1 -0
- package/docs/SETUP.md +10 -0
- package/package.json +1 -1
package/dist/dashboard.css
CHANGED
|
@@ -108,6 +108,7 @@
|
|
|
108
108
|
--font-weight-medium: 500;
|
|
109
109
|
--font-weight-semibold: 600;
|
|
110
110
|
--font-weight-bold: 700;
|
|
111
|
+
--font-weight-extrabold: 800;
|
|
111
112
|
--tracking-tight: -.025em;
|
|
112
113
|
--tracking-normal: 0em;
|
|
113
114
|
--tracking-wider: .05em;
|
|
@@ -118,6 +119,7 @@
|
|
|
118
119
|
--radius-lg: .5rem;
|
|
119
120
|
--radius-xl: .75rem;
|
|
120
121
|
--ease-out: cubic-bezier(0, 0, .2, 1);
|
|
122
|
+
--ease-in-out: cubic-bezier(.4, 0, .2, 1);
|
|
121
123
|
--animate-spin: spin 1s linear infinite;
|
|
122
124
|
--animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
|
|
123
125
|
--default-transition-duration: .15s;
|
|
@@ -220,6 +222,10 @@
|
|
|
220
222
|
border-top-width: 1px;
|
|
221
223
|
}
|
|
222
224
|
|
|
225
|
+
.polishd-root.polishd-root .\[container-type\:inline-size\] {
|
|
226
|
+
container-type: inline-size;
|
|
227
|
+
}
|
|
228
|
+
|
|
223
229
|
.polishd-root.polishd-root .pointer-events-none {
|
|
224
230
|
pointer-events: none;
|
|
225
231
|
}
|
|
@@ -390,6 +396,14 @@
|
|
|
390
396
|
}
|
|
391
397
|
}
|
|
392
398
|
|
|
399
|
+
.polishd-root.polishd-root .-m-1\.5 {
|
|
400
|
+
margin: calc(var(--spacing) * -1.5);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
.polishd-root.polishd-root .-mx-1\.5 {
|
|
404
|
+
margin-inline: calc(var(--spacing) * -1.5);
|
|
405
|
+
}
|
|
406
|
+
|
|
393
407
|
.polishd-root.polishd-root .mx-1\.5 {
|
|
394
408
|
margin-inline: calc(var(--spacing) * 1.5);
|
|
395
409
|
}
|
|
@@ -398,6 +412,10 @@
|
|
|
398
412
|
margin-inline: calc(var(--spacing) * 4);
|
|
399
413
|
}
|
|
400
414
|
|
|
415
|
+
.polishd-root.polishd-root .mx-\[0\.02em\] {
|
|
416
|
+
margin-inline: .02em;
|
|
417
|
+
}
|
|
418
|
+
|
|
401
419
|
.polishd-root.polishd-root .mx-auto {
|
|
402
420
|
margin-inline: auto;
|
|
403
421
|
}
|
|
@@ -450,6 +468,10 @@
|
|
|
450
468
|
margin-top: calc(var(--spacing) * 7);
|
|
451
469
|
}
|
|
452
470
|
|
|
471
|
+
.polishd-root.polishd-root .mt-8 {
|
|
472
|
+
margin-top: calc(var(--spacing) * 8);
|
|
473
|
+
}
|
|
474
|
+
|
|
453
475
|
.polishd-root.polishd-root .mt-9 {
|
|
454
476
|
margin-top: calc(var(--spacing) * 9);
|
|
455
477
|
}
|
|
@@ -462,10 +484,6 @@
|
|
|
462
484
|
margin-top: calc(var(--spacing) * 14);
|
|
463
485
|
}
|
|
464
486
|
|
|
465
|
-
.polishd-root.polishd-root .mt-16 {
|
|
466
|
-
margin-top: calc(var(--spacing) * 16);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
487
|
.polishd-root.polishd-root .mt-\[5px\] {
|
|
470
488
|
margin-top: 5px;
|
|
471
489
|
}
|
|
@@ -478,14 +496,6 @@
|
|
|
478
496
|
margin-top: 18px;
|
|
479
497
|
}
|
|
480
498
|
|
|
481
|
-
.polishd-root.polishd-root .mt-\[22px\] {
|
|
482
|
-
margin-top: 22px;
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
.polishd-root.polishd-root .mt-\[26px\] {
|
|
486
|
-
margin-top: 26px;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
499
|
.polishd-root.polishd-root .mt-\[34px\] {
|
|
490
500
|
margin-top: 34px;
|
|
491
501
|
}
|
|
@@ -570,6 +580,10 @@
|
|
|
570
580
|
aspect-ratio: 4 / 5;
|
|
571
581
|
}
|
|
572
582
|
|
|
583
|
+
.polishd-root.polishd-root .aspect-\[16\/10\] {
|
|
584
|
+
aspect-ratio: 16 / 10;
|
|
585
|
+
}
|
|
586
|
+
|
|
573
587
|
.polishd-root.polishd-root .h-1 {
|
|
574
588
|
height: var(--spacing);
|
|
575
589
|
}
|
|
@@ -630,6 +644,10 @@
|
|
|
630
644
|
height: calc(var(--spacing) * 16);
|
|
631
645
|
}
|
|
632
646
|
|
|
647
|
+
.polishd-root.polishd-root .h-\[0\.73em\] {
|
|
648
|
+
height: .73em;
|
|
649
|
+
}
|
|
650
|
+
|
|
633
651
|
.polishd-root.polishd-root .h-\[5px\] {
|
|
634
652
|
height: 5px;
|
|
635
653
|
}
|
|
@@ -662,6 +680,10 @@
|
|
|
662
680
|
height: 1px;
|
|
663
681
|
}
|
|
664
682
|
|
|
683
|
+
.polishd-root.polishd-root .max-h-\[56vh\] {
|
|
684
|
+
max-height: 56vh;
|
|
685
|
+
}
|
|
686
|
+
|
|
665
687
|
.polishd-root.polishd-root .max-h-\[80vh\] {
|
|
666
688
|
max-height: 80vh;
|
|
667
689
|
}
|
|
@@ -782,6 +804,10 @@
|
|
|
782
804
|
width: 74px;
|
|
783
805
|
}
|
|
784
806
|
|
|
807
|
+
.polishd-root.polishd-root .w-\[88vw\] {
|
|
808
|
+
width: 88vw;
|
|
809
|
+
}
|
|
810
|
+
|
|
785
811
|
.polishd-root.polishd-root .w-\[92\%\] {
|
|
786
812
|
width: 92%;
|
|
787
813
|
}
|
|
@@ -834,12 +860,12 @@
|
|
|
834
860
|
max-width: 46ch;
|
|
835
861
|
}
|
|
836
862
|
|
|
837
|
-
.polishd-root.polishd-root .max-w-\[
|
|
838
|
-
max-width:
|
|
863
|
+
.polishd-root.polishd-root .max-w-\[56ch\] {
|
|
864
|
+
max-width: 56ch;
|
|
839
865
|
}
|
|
840
866
|
|
|
841
|
-
.polishd-root.polishd-root .max-w-\[
|
|
842
|
-
max-width:
|
|
867
|
+
.polishd-root.polishd-root .max-w-\[62ch\] {
|
|
868
|
+
max-width: 62ch;
|
|
843
869
|
}
|
|
844
870
|
|
|
845
871
|
.polishd-root.polishd-root .max-w-\[68ch\] {
|
|
@@ -1135,6 +1161,10 @@
|
|
|
1135
1161
|
margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
|
|
1136
1162
|
}
|
|
1137
1163
|
|
|
1164
|
+
.polishd-root.polishd-root .gap-x-1\.5 {
|
|
1165
|
+
column-gap: calc(var(--spacing) * 1.5);
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1138
1168
|
.polishd-root.polishd-root .gap-x-2 {
|
|
1139
1169
|
column-gap: calc(var(--spacing) * 2);
|
|
1140
1170
|
}
|
|
@@ -1185,6 +1215,10 @@
|
|
|
1185
1215
|
overflow-x: auto;
|
|
1186
1216
|
}
|
|
1187
1217
|
|
|
1218
|
+
.polishd-root.polishd-root .overflow-x-clip {
|
|
1219
|
+
overflow-x: clip;
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1188
1222
|
.polishd-root.polishd-root .overflow-y-auto {
|
|
1189
1223
|
overflow-y: auto;
|
|
1190
1224
|
}
|
|
@@ -1620,6 +1654,10 @@
|
|
|
1620
1654
|
background-color: var(--color-white);
|
|
1621
1655
|
}
|
|
1622
1656
|
|
|
1657
|
+
.polishd-root.polishd-root .object-contain {
|
|
1658
|
+
object-fit: contain;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1623
1661
|
.polishd-root.polishd-root .object-cover {
|
|
1624
1662
|
object-fit: cover;
|
|
1625
1663
|
}
|
|
@@ -1632,6 +1670,14 @@
|
|
|
1632
1670
|
padding: calc(var(--spacing) * .5);
|
|
1633
1671
|
}
|
|
1634
1672
|
|
|
1673
|
+
.polishd-root.polishd-root .p-1\.5 {
|
|
1674
|
+
padding: calc(var(--spacing) * 1.5);
|
|
1675
|
+
}
|
|
1676
|
+
|
|
1677
|
+
.polishd-root.polishd-root .p-3 {
|
|
1678
|
+
padding: calc(var(--spacing) * 3);
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1635
1681
|
.polishd-root.polishd-root .p-4 {
|
|
1636
1682
|
padding: calc(var(--spacing) * 4);
|
|
1637
1683
|
}
|
|
@@ -1680,10 +1726,6 @@
|
|
|
1680
1726
|
padding-inline: 9px;
|
|
1681
1727
|
}
|
|
1682
1728
|
|
|
1683
|
-
.polishd-root.polishd-root .px-\[22px\] {
|
|
1684
|
-
padding-inline: 22px;
|
|
1685
|
-
}
|
|
1686
|
-
|
|
1687
1729
|
.polishd-root.polishd-root .py-0\.5 {
|
|
1688
1730
|
padding-block: calc(var(--spacing) * .5);
|
|
1689
1731
|
}
|
|
@@ -1784,8 +1826,8 @@
|
|
|
1784
1826
|
padding-top: calc(var(--spacing) * 9);
|
|
1785
1827
|
}
|
|
1786
1828
|
|
|
1787
|
-
.polishd-root.polishd-root .pt
|
|
1788
|
-
padding-top:
|
|
1829
|
+
.polishd-root.polishd-root .pt-16 {
|
|
1830
|
+
padding-top: calc(var(--spacing) * 16);
|
|
1789
1831
|
}
|
|
1790
1832
|
|
|
1791
1833
|
.polishd-root.polishd-root .pt-\[88px\] {
|
|
@@ -1948,10 +1990,6 @@
|
|
|
1948
1990
|
font-size: 14px;
|
|
1949
1991
|
}
|
|
1950
1992
|
|
|
1951
|
-
.polishd-root.polishd-root .text-\[15\.5px\] {
|
|
1952
|
-
font-size: 15.5px;
|
|
1953
|
-
}
|
|
1954
|
-
|
|
1955
1993
|
.polishd-root.polishd-root .text-\[15px\] {
|
|
1956
1994
|
font-size: 15px;
|
|
1957
1995
|
}
|
|
@@ -1988,8 +2026,8 @@
|
|
|
1988
2026
|
font-size: 44px;
|
|
1989
2027
|
}
|
|
1990
2028
|
|
|
1991
|
-
.polishd-root.polishd-root .text-\[clamp\(
|
|
1992
|
-
font-size: clamp(
|
|
2029
|
+
.polishd-root.polishd-root .text-\[clamp\(19px\,2\.6vw\,26px\)\] {
|
|
2030
|
+
font-size: clamp(19px, 2.6vw, 26px);
|
|
1993
2031
|
}
|
|
1994
2032
|
|
|
1995
2033
|
.polishd-root.polishd-root .text-\[clamp\(22px\,3\.2vw\,32px\)\] {
|
|
@@ -2004,13 +2042,13 @@
|
|
|
2004
2042
|
font-size: clamp(34px, 7vw, 74px);
|
|
2005
2043
|
}
|
|
2006
2044
|
|
|
2007
|
-
.polishd-root.polishd-root .text-\[clamp\(
|
|
2008
|
-
font-size: clamp(
|
|
2045
|
+
.polishd-root.polishd-root .text-\[clamp\(64px\,13vw\,160px\)\] {
|
|
2046
|
+
font-size: clamp(64px, 13vw, 160px);
|
|
2009
2047
|
}
|
|
2010
2048
|
|
|
2011
|
-
.polishd-root.polishd-root .leading-\[0\.
|
|
2012
|
-
--tw-leading: .
|
|
2013
|
-
line-height: .
|
|
2049
|
+
.polishd-root.polishd-root .leading-\[0\.95\] {
|
|
2050
|
+
--tw-leading: .95;
|
|
2051
|
+
line-height: .95;
|
|
2014
2052
|
}
|
|
2015
2053
|
|
|
2016
2054
|
.polishd-root.polishd-root .leading-\[1\.02\] {
|
|
@@ -2078,6 +2116,11 @@
|
|
|
2078
2116
|
font-weight: var(--font-weight-bold);
|
|
2079
2117
|
}
|
|
2080
2118
|
|
|
2119
|
+
.polishd-root.polishd-root .font-extrabold {
|
|
2120
|
+
--tw-font-weight: var(--font-weight-extrabold);
|
|
2121
|
+
font-weight: var(--font-weight-extrabold);
|
|
2122
|
+
}
|
|
2123
|
+
|
|
2081
2124
|
.polishd-root.polishd-root .font-medium {
|
|
2082
2125
|
--tw-font-weight: var(--font-weight-medium);
|
|
2083
2126
|
font-weight: var(--font-weight-medium);
|
|
@@ -2118,19 +2161,9 @@
|
|
|
2118
2161
|
letter-spacing: -.025em;
|
|
2119
2162
|
}
|
|
2120
2163
|
|
|
2121
|
-
.polishd-root.polishd-root .tracking-\[
|
|
2122
|
-
--tw-tracking:
|
|
2123
|
-
letter-spacing:
|
|
2124
|
-
}
|
|
2125
|
-
|
|
2126
|
-
.polishd-root.polishd-root .tracking-\[-0\.045em\] {
|
|
2127
|
-
--tw-tracking: -.045em;
|
|
2128
|
-
letter-spacing: -.045em;
|
|
2129
|
-
}
|
|
2130
|
-
|
|
2131
|
-
.polishd-root.polishd-root .tracking-\[0\.06em\] {
|
|
2132
|
-
--tw-tracking: .06em;
|
|
2133
|
-
letter-spacing: .06em;
|
|
2164
|
+
.polishd-root.polishd-root .tracking-\[0\.005em\] {
|
|
2165
|
+
--tw-tracking: .005em;
|
|
2166
|
+
letter-spacing: .005em;
|
|
2134
2167
|
}
|
|
2135
2168
|
|
|
2136
2169
|
.polishd-root.polishd-root .tracking-\[0\.07em\] {
|
|
@@ -2153,6 +2186,11 @@
|
|
|
2153
2186
|
letter-spacing: .14em;
|
|
2154
2187
|
}
|
|
2155
2188
|
|
|
2189
|
+
.polishd-root.polishd-root .tracking-\[0\.015em\] {
|
|
2190
|
+
--tw-tracking: .015em;
|
|
2191
|
+
letter-spacing: .015em;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2156
2194
|
.polishd-root.polishd-root .tracking-normal {
|
|
2157
2195
|
--tw-tracking: var(--tracking-normal);
|
|
2158
2196
|
letter-spacing: var(--tracking-normal);
|
|
@@ -2248,10 +2286,18 @@
|
|
|
2248
2286
|
color: #e4e4e4;
|
|
2249
2287
|
}
|
|
2250
2288
|
|
|
2289
|
+
.polishd-root.polishd-root .text-\[\#e5e5e5\] {
|
|
2290
|
+
color: #e5e5e5;
|
|
2291
|
+
}
|
|
2292
|
+
|
|
2251
2293
|
.polishd-root.polishd-root .text-\[\#f5a623\] {
|
|
2252
2294
|
color: #f5a623;
|
|
2253
2295
|
}
|
|
2254
2296
|
|
|
2297
|
+
.polishd-root.polishd-root .text-\[\#f5e17a\] {
|
|
2298
|
+
color: #f5e17a;
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2255
2301
|
.polishd-root.polishd-root .text-amber-300 {
|
|
2256
2302
|
color: var(--color-amber-300);
|
|
2257
2303
|
}
|
|
@@ -2338,6 +2384,10 @@
|
|
|
2338
2384
|
text-transform: capitalize;
|
|
2339
2385
|
}
|
|
2340
2386
|
|
|
2387
|
+
.polishd-root.polishd-root .lowercase {
|
|
2388
|
+
text-transform: lowercase;
|
|
2389
|
+
}
|
|
2390
|
+
|
|
2341
2391
|
.polishd-root.polishd-root .normal-case {
|
|
2342
2392
|
text-transform: none;
|
|
2343
2393
|
}
|
|
@@ -2477,11 +2527,30 @@
|
|
|
2477
2527
|
transition-timing-function: cubic-bezier(.2, .8, .2, 1);
|
|
2478
2528
|
}
|
|
2479
2529
|
|
|
2530
|
+
.polishd-root.polishd-root .ease-in-out {
|
|
2531
|
+
--tw-ease: var(--ease-in-out);
|
|
2532
|
+
transition-timing-function: var(--ease-in-out);
|
|
2533
|
+
}
|
|
2534
|
+
|
|
2480
2535
|
.polishd-root.polishd-root .ease-out {
|
|
2481
2536
|
--tw-ease: var(--ease-out);
|
|
2482
2537
|
transition-timing-function: var(--ease-out);
|
|
2483
2538
|
}
|
|
2484
2539
|
|
|
2540
|
+
.polishd-root.polishd-root .will-change-transform {
|
|
2541
|
+
will-change: transform;
|
|
2542
|
+
}
|
|
2543
|
+
|
|
2544
|
+
.polishd-root.polishd-root .outline-none {
|
|
2545
|
+
--tw-outline-style: none;
|
|
2546
|
+
outline-style: none;
|
|
2547
|
+
}
|
|
2548
|
+
|
|
2549
|
+
.polishd-root.polishd-root .select-none {
|
|
2550
|
+
-webkit-user-select: none;
|
|
2551
|
+
user-select: none;
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2485
2554
|
@media (hover: hover) {
|
|
2486
2555
|
.polishd-root.polishd-root .group-hover\:scale-100:is(:where(.group):hover *) {
|
|
2487
2556
|
--tw-scale-x: 100%;
|
|
@@ -2627,6 +2696,25 @@
|
|
|
2627
2696
|
border-color: #777;
|
|
2628
2697
|
}
|
|
2629
2698
|
|
|
2699
|
+
.polishd-root.polishd-root .focus-visible\:bg-\[\#111\]:focus-visible {
|
|
2700
|
+
background-color: #111;
|
|
2701
|
+
}
|
|
2702
|
+
|
|
2703
|
+
.polishd-root.polishd-root .focus-visible\:ring-1:focus-visible {
|
|
2704
|
+
--tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2705
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2706
|
+
}
|
|
2707
|
+
|
|
2708
|
+
.polishd-root.polishd-root .focus-visible\:ring-amber-500\/60:focus-visible {
|
|
2709
|
+
--tw-ring-color: #f99c0099;
|
|
2710
|
+
}
|
|
2711
|
+
|
|
2712
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2713
|
+
.polishd-root.polishd-root .focus-visible\:ring-amber-500\/60:focus-visible {
|
|
2714
|
+
--tw-ring-color: color-mix(in oklab, var(--color-amber-500) 60%, transparent);
|
|
2715
|
+
}
|
|
2716
|
+
}
|
|
2717
|
+
|
|
2630
2718
|
.polishd-root.polishd-root .disabled\:cursor-default:disabled {
|
|
2631
2719
|
cursor: default;
|
|
2632
2720
|
}
|
|
@@ -2774,6 +2862,34 @@
|
|
|
2774
2862
|
}
|
|
2775
2863
|
|
|
2776
2864
|
@media (min-width: 48rem) {
|
|
2865
|
+
.polishd-root.polishd-root .md\:mt-12 {
|
|
2866
|
+
margin-top: calc(var(--spacing) * 12);
|
|
2867
|
+
}
|
|
2868
|
+
|
|
2869
|
+
.polishd-root.polishd-root .md\:max-h-none {
|
|
2870
|
+
max-height: none;
|
|
2871
|
+
}
|
|
2872
|
+
|
|
2873
|
+
.polishd-root.polishd-root .md\:min-h-\[390px\] {
|
|
2874
|
+
min-height: 390px;
|
|
2875
|
+
}
|
|
2876
|
+
|
|
2877
|
+
.polishd-root.polishd-root .md\:min-h-screen {
|
|
2878
|
+
min-height: 100vh;
|
|
2879
|
+
}
|
|
2880
|
+
|
|
2881
|
+
.polishd-root.polishd-root .md\:w-\[80vw\] {
|
|
2882
|
+
width: 80vw;
|
|
2883
|
+
}
|
|
2884
|
+
|
|
2885
|
+
.polishd-root.polishd-root .md\:flex-1 {
|
|
2886
|
+
flex: 1;
|
|
2887
|
+
}
|
|
2888
|
+
|
|
2889
|
+
.polishd-root.polishd-root .md\:basis-0 {
|
|
2890
|
+
flex-basis: 0;
|
|
2891
|
+
}
|
|
2892
|
+
|
|
2777
2893
|
.polishd-root.polishd-root .md\:grid-cols-2 {
|
|
2778
2894
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2779
2895
|
}
|
|
@@ -2786,21 +2902,25 @@
|
|
|
2786
2902
|
padding-block: calc(var(--spacing) * 28);
|
|
2787
2903
|
}
|
|
2788
2904
|
|
|
2789
|
-
.polishd-root.polishd-root .md\:pt
|
|
2790
|
-
padding-top:
|
|
2905
|
+
.polishd-root.polishd-root .md\:pt-20 {
|
|
2906
|
+
padding-top: calc(var(--spacing) * 20);
|
|
2791
2907
|
}
|
|
2792
2908
|
|
|
2793
2909
|
.polishd-root.polishd-root .md\:pt-\[132px\] {
|
|
2794
2910
|
padding-top: 132px;
|
|
2795
2911
|
}
|
|
2796
2912
|
|
|
2797
|
-
.polishd-root.polishd-root .md\:pb
|
|
2798
|
-
padding-bottom:
|
|
2913
|
+
.polishd-root.polishd-root .md\:pb-0 {
|
|
2914
|
+
padding-bottom: 0;
|
|
2799
2915
|
}
|
|
2800
2916
|
|
|
2801
2917
|
.polishd-root.polishd-root .md\:pb-\[108px\] {
|
|
2802
2918
|
padding-bottom: 108px;
|
|
2803
2919
|
}
|
|
2920
|
+
|
|
2921
|
+
.polishd-root.polishd-root .md\:text-\[13\.5px\] {
|
|
2922
|
+
font-size: 13.5px;
|
|
2923
|
+
}
|
|
2804
2924
|
}
|
|
2805
2925
|
|
|
2806
2926
|
@media (min-width: 64rem) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DesignPreviewTarget } from "../shared/design-values";
|
|
1
2
|
/** One captured (or deliberately skipped) screenshot within a snapshot. */
|
|
2
3
|
export interface PolishdSnapshotShot {
|
|
3
4
|
/** Route path, e.g. "/pricing". */
|
|
@@ -20,6 +21,23 @@ export interface PolishdSnapshotShot {
|
|
|
20
21
|
/** Why the cell has no image, when it doesn't. */
|
|
21
22
|
skipped?: string;
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* A cropped picture of one flagged design value in place — the element that
|
|
26
|
+
* carries a one-off type style, color, radius or off-grid padding, ringed,
|
|
27
|
+
* with the component around it. Shot during the capture, from the same
|
|
28
|
+
* rendering as the route's full shots.
|
|
29
|
+
*/
|
|
30
|
+
export interface PolishdSnapshotPreview {
|
|
31
|
+
/** The value pictured — `designValueKey` of its target. */
|
|
32
|
+
key: string;
|
|
33
|
+
route: string;
|
|
34
|
+
device: string;
|
|
35
|
+
theme: string;
|
|
36
|
+
/** Image filename inside the snapshot's `previews/` subdirectory. */
|
|
37
|
+
file: string;
|
|
38
|
+
/** Where the image uploaded, for Blob-stored previews. */
|
|
39
|
+
url?: string;
|
|
40
|
+
}
|
|
23
41
|
/** One capture run: every page of the site at one moment in time. */
|
|
24
42
|
export interface PolishdSnapshot {
|
|
25
43
|
id: string;
|
|
@@ -37,26 +55,51 @@ export interface PolishdSnapshot {
|
|
|
37
55
|
authWalled: string[];
|
|
38
56
|
/** True when the site rendered identically in light and dark. */
|
|
39
57
|
noDarkMode: boolean;
|
|
58
|
+
/** Pictures of the flagged values, where each one renders. Absent on older snapshots. */
|
|
59
|
+
previews?: PolishdSnapshotPreview[];
|
|
60
|
+
/**
|
|
61
|
+
* Values this capture looked for on their pages and never found on screen
|
|
62
|
+
* — rendered only after an interaction, or only at a width it didn't shoot.
|
|
63
|
+
*/
|
|
64
|
+
previewMisses?: string[];
|
|
40
65
|
}
|
|
41
66
|
/** Cap on routes shot per run, to bound how long the capture action holds. */
|
|
42
67
|
export declare const MAX_SNAPSHOT_ROUTES = 12;
|
|
43
68
|
/** Every recorded snapshot, newest first. Read-only; `[]` when none/no store. */
|
|
44
69
|
export declare function listSnapshots(): Promise<PolishdSnapshot[]>;
|
|
45
70
|
/**
|
|
46
|
-
* Read one shot's image as a data URL, or null
|
|
47
|
-
* filename is only accepted when the index lists it
|
|
48
|
-
* caller can never read outside a snapshot directory —
|
|
49
|
-
* are only ever fetched from the URL the index recorded
|
|
71
|
+
* Read one shot's — or one value preview's — image as a data URL, or null
|
|
72
|
+
* when it doesn't exist. The filename is only accepted when the index lists it
|
|
73
|
+
* for that snapshot, so a caller can never read outside a snapshot directory —
|
|
74
|
+
* and Blob-stored images are only ever fetched from the URL the index recorded
|
|
75
|
+
* at capture time.
|
|
50
76
|
*/
|
|
51
77
|
export declare function readSnapshotImage(snapshotId: string, file: string): Promise<string | null>;
|
|
52
|
-
export interface
|
|
78
|
+
export interface BeginSnapshotInput {
|
|
53
79
|
/** The site to shoot, scheme included. */
|
|
54
80
|
origin: string;
|
|
55
81
|
/** Paths to shoot — discovery is skipped, these are shot exactly. */
|
|
56
82
|
routes: string[];
|
|
57
83
|
/** Design-metrics fingerprint at capture time, for later pairing. */
|
|
58
84
|
fingerprint: string | null;
|
|
85
|
+
/** Flagged values to picture in place, each on the pages it was measured on. */
|
|
86
|
+
targets?: DesignPreviewTarget[];
|
|
59
87
|
}
|
|
88
|
+
export type BeginSnapshotResult = {
|
|
89
|
+
ok: true;
|
|
90
|
+
id: string;
|
|
91
|
+
routes: string[];
|
|
92
|
+
} | {
|
|
93
|
+
ok: false;
|
|
94
|
+
message: string;
|
|
95
|
+
};
|
|
96
|
+
export type CaptureRouteResult = {
|
|
97
|
+
ok: true;
|
|
98
|
+
shots: PolishdSnapshotShot[];
|
|
99
|
+
} | {
|
|
100
|
+
ok: false;
|
|
101
|
+
message: string;
|
|
102
|
+
};
|
|
60
103
|
export type CaptureSnapshotResult = {
|
|
61
104
|
ok: true;
|
|
62
105
|
snapshot: PolishdSnapshot;
|
|
@@ -64,6 +107,27 @@ export type CaptureSnapshotResult = {
|
|
|
64
107
|
ok: false;
|
|
65
108
|
message: string;
|
|
66
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Start a capture: run the environment preflight, sweep any unfinished
|
|
112
|
+
* predecessor's images, and park the plan in the store. The returned routes
|
|
113
|
+
* are what the caller should then feed to `captureSnapshotRoute`, one call
|
|
114
|
+
* each, before `finishSnapshot` records the run.
|
|
115
|
+
*/
|
|
116
|
+
export declare function beginSnapshot(input: BeginSnapshotInput): Promise<BeginSnapshotResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Shoot one route of the capture `beginSnapshot` started — both devices, both
|
|
119
|
+
* themes — store its images, and append the results to the pending record.
|
|
120
|
+
* Bounded work per call by design: this is the request that has to fit inside
|
|
121
|
+
* a serverless host's function time limit.
|
|
122
|
+
*/
|
|
123
|
+
export declare function captureSnapshotRoute(id: string, route: string): Promise<CaptureRouteResult>;
|
|
124
|
+
/**
|
|
125
|
+
* Close out the capture: record the accumulated shots in the snapshot index
|
|
126
|
+
* and prune old snapshots past `MAX_SNAPSHOTS`, images included. Called once
|
|
127
|
+
* every route has been attempted — routes whose calls failed outright are
|
|
128
|
+
* simply absent from the snapshot.
|
|
129
|
+
*/
|
|
130
|
+
export declare function finishSnapshot(id: string): Promise<CaptureSnapshotResult>;
|
|
67
131
|
/**
|
|
68
132
|
* A problem that will make the next capture fail, detectable from the
|
|
69
133
|
* environment alone — or null when none is. Covers the two setup gaps a
|
|
@@ -75,9 +139,4 @@ export type CaptureSnapshotResult = {
|
|
|
75
139
|
* the dashboard.
|
|
76
140
|
*/
|
|
77
141
|
export declare function snapshotCaptureIssue(): Promise<string | null>;
|
|
78
|
-
/**
|
|
79
|
-
* Shoot the given routes and record the run in the snapshot index. Old
|
|
80
|
-
* snapshots past `MAX_SNAPSHOTS` are pruned, images included.
|
|
81
|
-
*/
|
|
82
|
-
export declare function captureSnapshot(input: CaptureSnapshotInput): Promise<CaptureSnapshotResult>;
|
|
83
142
|
//# sourceMappingURL=snapshots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/server/snapshots.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/server/snapshots.ts"],"names":[],"mappings":"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"}
|