@polishd/next 0.2.0 → 0.2.1-dev.1

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +49 -2
  3. package/dist/ai/actions.d.ts +7 -1
  4. package/dist/ai/actions.d.ts.map +1 -1
  5. package/dist/ai/actions.js +10 -0
  6. package/dist/ai/actions.js.map +1 -1
  7. package/dist/ai/design.d.ts +28 -0
  8. package/dist/ai/design.d.ts.map +1 -0
  9. package/dist/ai/design.js +245 -0
  10. package/dist/ai/design.js.map +1 -0
  11. package/dist/ai/types.d.ts +47 -0
  12. package/dist/ai/types.d.ts.map +1 -1
  13. package/dist/client/design-scan.d.ts +37 -0
  14. package/dist/client/design-scan.d.ts.map +1 -0
  15. package/dist/client/design-scan.js +325 -0
  16. package/dist/client/design-scan.js.map +1 -0
  17. package/dist/client/init.d.ts.map +1 -1
  18. package/dist/client/init.js +16 -0
  19. package/dist/client/init.js.map +1 -1
  20. package/dist/config.d.ts +12 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +34 -0
  23. package/dist/config.js.map +1 -1
  24. package/dist/dashboard/design-review-card.d.ts +15 -0
  25. package/dist/dashboard/design-review-card.d.ts.map +1 -0
  26. package/dist/dashboard/design-review-card.js +82 -0
  27. package/dist/dashboard/design-review-card.js.map +1 -0
  28. package/dist/dashboard/design.d.ts +10 -0
  29. package/dist/dashboard/design.d.ts.map +1 -0
  30. package/dist/dashboard/design.js +118 -0
  31. package/dist/dashboard/design.js.map +1 -0
  32. package/dist/dashboard/index.d.ts +11 -0
  33. package/dist/dashboard/index.d.ts.map +1 -1
  34. package/dist/dashboard/index.js +58 -8
  35. package/dist/dashboard/index.js.map +1 -1
  36. package/dist/dashboard/journeys.d.ts.map +1 -1
  37. package/dist/dashboard/journeys.js +1 -0
  38. package/dist/dashboard/journeys.js.map +1 -1
  39. package/dist/dashboard/show-more.d.ts +17 -0
  40. package/dist/dashboard/show-more.d.ts.map +1 -0
  41. package/dist/dashboard/show-more.js +18 -0
  42. package/dist/dashboard/show-more.js.map +1 -0
  43. package/dist/dashboard.css +159 -0
  44. package/dist/server/design.d.ts +93 -0
  45. package/dist/server/design.d.ts.map +1 -0
  46. package/dist/server/design.js +405 -0
  47. package/dist/server/design.js.map +1 -0
  48. package/dist/server/ingest.d.ts.map +1 -1
  49. package/dist/server/ingest.js +15 -3
  50. package/dist/server/ingest.js.map +1 -1
  51. package/dist/server/queries.d.ts +22 -0
  52. package/dist/server/queries.d.ts.map +1 -1
  53. package/dist/server/queries.js +22 -25
  54. package/dist/server/queries.js.map +1 -1
  55. package/dist/shared/types.d.ts +31 -1
  56. package/dist/shared/types.d.ts.map +1 -1
  57. package/dist/shared/types.js +1 -0
  58. package/dist/shared/types.js.map +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Polishd — collapse long lists behind a "Show more" toggle.
5
+ *
6
+ * The Design tab's sections are server-rendered; this is the one client-side
7
+ * piece they share. The server passes the overflow rows as `children`, so the
8
+ * hidden content is already rendered and toggling costs nothing — no state
9
+ * beyond a boolean, no refetch.
10
+ */
11
+ import { useState } from "react";
12
+ export default function ShowMore({ count, label, children, }) {
13
+ const [open, setOpen] = useState(false);
14
+ if (count <= 0)
15
+ return _jsx(_Fragment, { children: children });
16
+ return (_jsxs(_Fragment, { children: [open && children, _jsx("div", { className: "border-t border-[#2e2e2e] px-4 py-2.5 sm:px-5", children: _jsx("button", { type: "button", onClick: () => setOpen((o) => !o), className: "text-[11px] font-medium text-[#888] transition-colors hover:text-white", children: open ? `Show less ↑` : `Show ${count} more ${label} ↓` }) })] }));
17
+ }
18
+ //# sourceMappingURL=show-more.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-more.js","sourceRoot":"","sources":["../../src/dashboard/show-more.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEjD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,QAAQ,GAOT;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACvC,OAAO,CACL,8BACG,IAAI,IAAI,QAAQ,EACjB,cAAK,SAAS,EAAC,+CAA+C,YAC5D,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EACjC,SAAS,EAAC,wEAAwE,YAEjF,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,KAAK,IAAI,GAChD,GACL,IACL,CACJ,CAAC;AACJ,CAAC"}
@@ -78,6 +78,7 @@
78
78
  --color-red-950: oklch(25.8% .092 26.042);
79
79
  --color-amber-300: oklch(87.9% .169 91.605);
80
80
  --color-amber-400: oklch(82.8% .189 84.429);
81
+ --color-amber-500: oklch(76.9% .188 70.08);
81
82
  --color-amber-900: oklch(41.4% .112 45.904);
82
83
  --color-amber-950: oklch(27.9% .077 45.635);
83
84
  --color-emerald-400: oklch(76.5% .177 163.223);
@@ -100,6 +101,7 @@
100
101
  --container-lg: 32rem;
101
102
  --container-xl: 36rem;
102
103
  --container-5xl: 64rem;
104
+ --container-6xl: 72rem;
103
105
  --font-weight-normal: 400;
104
106
  --font-weight-medium: 500;
105
107
  --font-weight-semibold: 600;
@@ -109,6 +111,7 @@
109
111
  --tracking-wider: .05em;
110
112
  --leading-snug: 1.375;
111
113
  --leading-relaxed: 1.625;
114
+ --radius-sm: .25rem;
112
115
  --radius-md: .375rem;
113
116
  --radius-lg: .5rem;
114
117
  --radius-xl: .75rem;
@@ -218,6 +221,10 @@
218
221
  pointer-events: none;
219
222
  }
220
223
 
224
+ .polishd-root.polishd-root .collapse {
225
+ visibility: collapse;
226
+ }
227
+
221
228
  .polishd-root.polishd-root .invisible {
222
229
  visibility: hidden;
223
230
  }
@@ -428,6 +435,10 @@
428
435
  margin-top: 5px;
429
436
  }
430
437
 
438
+ .polishd-root.polishd-root .mt-\[7px\] {
439
+ margin-top: 7px;
440
+ }
441
+
431
442
  .polishd-root.polishd-root .mt-\[18px\] {
432
443
  margin-top: 18px;
433
444
  }
@@ -540,6 +551,10 @@
540
551
  height: calc(var(--spacing) * 3.5);
541
552
  }
542
553
 
554
+ .polishd-root.polishd-root .h-4 {
555
+ height: calc(var(--spacing) * 4);
556
+ }
557
+
543
558
  .polishd-root.polishd-root .h-5 {
544
559
  height: calc(var(--spacing) * 5);
545
560
  }
@@ -548,6 +563,18 @@
548
563
  height: calc(var(--spacing) * 7);
549
564
  }
550
565
 
566
+ .polishd-root.polishd-root .h-9 {
567
+ height: calc(var(--spacing) * 9);
568
+ }
569
+
570
+ .polishd-root.polishd-root .h-12 {
571
+ height: calc(var(--spacing) * 12);
572
+ }
573
+
574
+ .polishd-root.polishd-root .h-16 {
575
+ height: calc(var(--spacing) * 16);
576
+ }
577
+
551
578
  .polishd-root.polishd-root .h-\[5px\] {
552
579
  height: 5px;
553
580
  }
@@ -592,6 +619,10 @@
592
619
  min-height: 100dvh;
593
620
  }
594
621
 
622
+ .polishd-root.polishd-root .w-1 {
623
+ width: var(--spacing);
624
+ }
625
+
595
626
  .polishd-root.polishd-root .w-1\.5 {
596
627
  width: calc(var(--spacing) * 1.5);
597
628
  }
@@ -608,6 +639,10 @@
608
639
  width: calc(var(--spacing) * 3.5);
609
640
  }
610
641
 
642
+ .polishd-root.polishd-root .w-4 {
643
+ width: calc(var(--spacing) * 4);
644
+ }
645
+
611
646
  .polishd-root.polishd-root .w-7 {
612
647
  width: calc(var(--spacing) * 7);
613
648
  }
@@ -620,6 +655,10 @@
620
655
  width: calc(var(--spacing) * 12);
621
656
  }
622
657
 
658
+ .polishd-root.polishd-root .w-14 {
659
+ width: calc(var(--spacing) * 14);
660
+ }
661
+
623
662
  .polishd-root.polishd-root .w-16 {
624
663
  width: calc(var(--spacing) * 16);
625
664
  }
@@ -672,6 +711,10 @@
672
711
  max-width: var(--container-5xl);
673
712
  }
674
713
 
714
+ .polishd-root.polishd-root .max-w-6xl {
715
+ max-width: var(--container-6xl);
716
+ }
717
+
675
718
  .polishd-root.polishd-root .max-w-\[15ch\] {
676
719
  max-width: 15ch;
677
720
  }
@@ -833,6 +876,10 @@
833
876
  grid-template-columns: repeat(2, minmax(0, 1fr));
834
877
  }
835
878
 
879
+ .polishd-root.polishd-root .grid-cols-3 {
880
+ grid-template-columns: repeat(3, minmax(0, 1fr));
881
+ }
882
+
836
883
  .polishd-root.polishd-root .flex-col {
837
884
  flex-direction: column;
838
885
  }
@@ -873,6 +920,10 @@
873
920
  gap: calc(var(--spacing) * .5);
874
921
  }
875
922
 
923
+ .polishd-root.polishd-root .gap-1 {
924
+ gap: var(--spacing);
925
+ }
926
+
876
927
  .polishd-root.polishd-root .gap-1\.5 {
877
928
  gap: calc(var(--spacing) * 1.5);
878
929
  }
@@ -901,6 +952,10 @@
901
952
  gap: calc(var(--spacing) * 5);
902
953
  }
903
954
 
955
+ .polishd-root.polishd-root .gap-6 {
956
+ gap: calc(var(--spacing) * 6);
957
+ }
958
+
904
959
  .polishd-root.polishd-root .gap-10 {
905
960
  gap: calc(var(--spacing) * 10);
906
961
  }
@@ -947,6 +1002,10 @@
947
1002
  column-gap: calc(var(--spacing) * 3);
948
1003
  }
949
1004
 
1005
+ .polishd-root.polishd-root .gap-x-4 {
1006
+ column-gap: calc(var(--spacing) * 4);
1007
+ }
1008
+
950
1009
  .polishd-root.polishd-root .gap-y-0\.5 {
951
1010
  row-gap: calc(var(--spacing) * .5);
952
1011
  }
@@ -1013,6 +1072,10 @@
1013
1072
  border-radius: var(--radius-md);
1014
1073
  }
1015
1074
 
1075
+ .polishd-root.polishd-root .rounded-sm {
1076
+ border-radius: var(--radius-sm);
1077
+ }
1078
+
1016
1079
  .polishd-root.polishd-root .rounded-t-xl {
1017
1080
  border-top-left-radius: var(--radius-xl);
1018
1081
  border-top-right-radius: var(--radius-xl);
@@ -1057,6 +1120,10 @@
1057
1120
  border-color: #1a1a1a;
1058
1121
  }
1059
1122
 
1123
+ .polishd-root.polishd-root .border-\[\#1e3a5f\]\/60 {
1124
+ border-color: oklab(34.6182% -.0177443 -.0713795 / .6);
1125
+ }
1126
+
1060
1127
  .polishd-root.polishd-root .border-\[\#2e2e2e\] {
1061
1128
  border-color: #2e2e2e;
1062
1129
  }
@@ -1111,6 +1178,10 @@
1111
1178
  background-color: #0a0a0a;
1112
1179
  }
1113
1180
 
1181
+ .polishd-root.polishd-root .bg-\[\#0c1a2b\]\/60 {
1182
+ background-color: oklab(21.479% -.0106614 -.037564 / .6);
1183
+ }
1184
+
1114
1185
  .polishd-root.polishd-root .bg-\[\#1a1a1a\] {
1115
1186
  background-color: #1a1a1a;
1116
1187
  }
@@ -1119,6 +1190,10 @@
1119
1190
  background-color: #2e2e2e;
1120
1191
  }
1121
1192
 
1193
+ .polishd-root.polishd-root .bg-\[\#7fb2e5\] {
1194
+ background-color: #7fb2e5;
1195
+ }
1196
+
1122
1197
  .polishd-root.polishd-root .bg-\[\#101c14\] {
1123
1198
  background-color: #101c14;
1124
1199
  }
@@ -1159,10 +1234,28 @@
1159
1234
  background-color: #141414;
1160
1235
  }
1161
1236
 
1237
+ .polishd-root.polishd-root .bg-\[\#161616\] {
1238
+ background-color: #161616;
1239
+ }
1240
+
1162
1241
  .polishd-root.polishd-root .bg-\[\#f5a623\] {
1163
1242
  background-color: #f5a623;
1164
1243
  }
1165
1244
 
1245
+ .polishd-root.polishd-root .bg-amber-400 {
1246
+ background-color: var(--color-amber-400);
1247
+ }
1248
+
1249
+ .polishd-root.polishd-root .bg-amber-500\/70 {
1250
+ background-color: #f99c00b3;
1251
+ }
1252
+
1253
+ @supports (color: color-mix(in lab, red, red)) {
1254
+ .polishd-root.polishd-root .bg-amber-500\/70 {
1255
+ background-color: color-mix(in oklab, var(--color-amber-500) 70%, transparent);
1256
+ }
1257
+ }
1258
+
1166
1259
  .polishd-root.polishd-root .bg-amber-950 {
1167
1260
  background-color: var(--color-amber-950);
1168
1261
  }
@@ -1221,6 +1314,16 @@
1221
1314
  background-color: var(--color-blue-500);
1222
1315
  }
1223
1316
 
1317
+ .polishd-root.polishd-root .bg-blue-500\/80 {
1318
+ background-color: #3080ffcc;
1319
+ }
1320
+
1321
+ @supports (color: color-mix(in lab, red, red)) {
1322
+ .polishd-root.polishd-root .bg-blue-500\/80 {
1323
+ background-color: color-mix(in oklab, var(--color-blue-500) 80%, transparent);
1324
+ }
1325
+ }
1326
+
1224
1327
  .polishd-root.polishd-root .bg-blue-950 {
1225
1328
  background-color: var(--color-blue-950);
1226
1329
  }
@@ -1405,6 +1508,10 @@
1405
1508
  padding-top: 88px;
1406
1509
  }
1407
1510
 
1511
+ .polishd-root.polishd-root .pr-2\.5 {
1512
+ padding-right: calc(var(--spacing) * 2.5);
1513
+ }
1514
+
1408
1515
  .polishd-root.polishd-root .pr-3 {
1409
1516
  padding-right: calc(var(--spacing) * 3);
1410
1517
  }
@@ -1421,10 +1528,18 @@
1421
1528
  padding-right: calc(var(--spacing) * 6);
1422
1529
  }
1423
1530
 
1531
+ .polishd-root.polishd-root .pb-1 {
1532
+ padding-bottom: var(--spacing);
1533
+ }
1534
+
1424
1535
  .polishd-root.polishd-root .pb-3 {
1425
1536
  padding-bottom: calc(var(--spacing) * 3);
1426
1537
  }
1427
1538
 
1539
+ .polishd-root.polishd-root .pb-4 {
1540
+ padding-bottom: calc(var(--spacing) * 4);
1541
+ }
1542
+
1428
1543
  .polishd-root.polishd-root .pb-6 {
1429
1544
  padding-bottom: calc(var(--spacing) * 6);
1430
1545
  }
@@ -1441,6 +1556,10 @@
1441
1556
  padding-bottom: 72px;
1442
1557
  }
1443
1558
 
1559
+ .polishd-root.polishd-root .pl-1\.5 {
1560
+ padding-left: calc(var(--spacing) * 1.5);
1561
+ }
1562
+
1444
1563
  .polishd-root.polishd-root .pl-4 {
1445
1564
  padding-left: calc(var(--spacing) * 4);
1446
1565
  }
@@ -1760,6 +1879,10 @@
1760
1879
  color: #0cce6b;
1761
1880
  }
1762
1881
 
1882
+ .polishd-root.polishd-root .text-\[\#7fb2e5\] {
1883
+ color: #7fb2e5;
1884
+ }
1885
+
1763
1886
  .polishd-root.polishd-root .text-\[\#444\] {
1764
1887
  color: #444;
1765
1888
  }
@@ -2032,6 +2155,10 @@
2032
2155
  border-color: #555;
2033
2156
  }
2034
2157
 
2158
+ .polishd-root.polishd-root .hover\:bg-\[\#0f0f0f\]:hover {
2159
+ background-color: #0f0f0f;
2160
+ }
2161
+
2035
2162
  .polishd-root.polishd-root .hover\:bg-\[\#1a1a1a\]:hover {
2036
2163
  background-color: #1a1a1a;
2037
2164
  }
@@ -2153,6 +2280,10 @@
2153
2280
  grid-template-columns: repeat(4, minmax(0, 1fr));
2154
2281
  }
2155
2282
 
2283
+ .polishd-root.polishd-root .sm\:grid-cols-6 {
2284
+ grid-template-columns: repeat(6, minmax(0, 1fr));
2285
+ }
2286
+
2156
2287
  .polishd-root.polishd-root .sm\:gap-4 {
2157
2288
  gap: calc(var(--spacing) * 4);
2158
2289
  }
@@ -2221,14 +2352,30 @@
2221
2352
  position: sticky;
2222
2353
  }
2223
2354
 
2355
+ .polishd-root.polishd-root .lg\:top-8 {
2356
+ top: calc(var(--spacing) * 8);
2357
+ }
2358
+
2224
2359
  .polishd-root.polishd-root .lg\:top-\[128px\] {
2225
2360
  top: 128px;
2226
2361
  }
2227
2362
 
2363
+ .polishd-root.polishd-root .lg\:mt-5 {
2364
+ margin-top: calc(var(--spacing) * 5);
2365
+ }
2366
+
2367
+ .polishd-root.polishd-root .lg\:block {
2368
+ display: block;
2369
+ }
2370
+
2228
2371
  .polishd-root.polishd-root .lg\:min-h-\[52vh\] {
2229
2372
  min-height: 52vh;
2230
2373
  }
2231
2374
 
2375
+ .polishd-root.polishd-root .lg\:w-44 {
2376
+ width: calc(var(--spacing) * 44);
2377
+ }
2378
+
2232
2379
  .polishd-root.polishd-root .lg\:grid-cols-3 {
2233
2380
  grid-template-columns: repeat(3, minmax(0, 1fr));
2234
2381
  }
@@ -2245,6 +2392,18 @@
2245
2392
  grid-template-columns: 380px 1fr;
2246
2393
  }
2247
2394
 
2395
+ .polishd-root.polishd-root .lg\:flex-col {
2396
+ flex-direction: column;
2397
+ }
2398
+
2399
+ .polishd-root.polishd-root .lg\:flex-row {
2400
+ flex-direction: row;
2401
+ }
2402
+
2403
+ .polishd-root.polishd-root .lg\:gap-10 {
2404
+ gap: calc(var(--spacing) * 10);
2405
+ }
2406
+
2248
2407
  .polishd-root.polishd-root .lg\:gap-16 {
2249
2408
  gap: calc(var(--spacing) * 16);
2250
2409
  }
@@ -0,0 +1,93 @@
1
+ export interface DesignFontUsage {
2
+ family: string;
3
+ sizePx: number;
4
+ weight: number;
5
+ /** Elements across all pages rendering this exact combination. */
6
+ count: number;
7
+ /** Real text sampled from the site in this style. */
8
+ sample: string | null;
9
+ /** Tag names seen carrying it (h1, p, button…). */
10
+ tags: string[];
11
+ pages: string[];
12
+ /** True when this looks like a one-off rather than part of the type scale. */
13
+ outlier: boolean;
14
+ }
15
+ export type DesignColorRole = "text" | "background" | "border";
16
+ export interface DesignColorUsage {
17
+ hex: string;
18
+ /** Total tallies across roles. */
19
+ count: number;
20
+ roles: Record<DesignColorRole, number>;
21
+ pages: string[];
22
+ /** Share of all color tallies, 0–100. */
23
+ pct: number;
24
+ outlier: boolean;
25
+ }
26
+ export interface DesignContrastPair {
27
+ fg: string;
28
+ bg: string;
29
+ count: number;
30
+ /** Smallest font size this pair was seen at, px. */
31
+ minSizePx: number;
32
+ /** WCAG 2.x contrast ratio, e.g. 4.53. */
33
+ ratio: number;
34
+ /** The AA threshold that applies at `minSizePx` (3 for large text, else 4.5). */
35
+ required: number;
36
+ passes: boolean;
37
+ pages: string[];
38
+ }
39
+ export interface DesignRadiusUsage {
40
+ /** "8px", "9999px (full)" style label. */
41
+ value: string;
42
+ count: number;
43
+ pages: string[];
44
+ outlier: boolean;
45
+ }
46
+ export interface DesignSpacingUsage {
47
+ px: number;
48
+ count: number;
49
+ pages: string[];
50
+ /** True when the value sits off the site's dominant spacing grid. */
51
+ offGrid: boolean;
52
+ }
53
+ export type DesignFlagSection = "typography" | "color" | "contrast" | "radius" | "spacing";
54
+ export interface DesignFlag {
55
+ section: DesignFlagSection;
56
+ severity: "warn" | "info";
57
+ message: string;
58
+ }
59
+ export interface DesignPageScan {
60
+ path: string;
61
+ scannedAt: number;
62
+ elements: number;
63
+ }
64
+ export interface PolishdDesignData {
65
+ ready: boolean;
66
+ /** Pages with a scan, newest first. */
67
+ pages: DesignPageScan[];
68
+ fonts: DesignFontUsage[];
69
+ /** Distinct font families, most used first. */
70
+ families: {
71
+ family: string;
72
+ count: number;
73
+ }[];
74
+ colors: DesignColorUsage[];
75
+ contrast: DesignContrastPair[];
76
+ radii: DesignRadiusUsage[];
77
+ spacing: DesignSpacingUsage[];
78
+ flags: DesignFlag[];
79
+ }
80
+ export declare const EMPTY_DESIGN_DATA: PolishdDesignData;
81
+ /** WCAG 2.x contrast ratio between two hex colors, or null if unparseable. */
82
+ export declare function contrastRatio(a: string, b: string): number | null;
83
+ /**
84
+ * Build the full design dataset: merge per-page tallies site-wide, then run
85
+ * the deterministic checks. Read-only; degrades to `EMPTY_DESIGN_DATA`.
86
+ */
87
+ export declare function getDesignData(): Promise<PolishdDesignData>;
88
+ /**
89
+ * Rule-based checks over the aggregated data. Pure function of its input so
90
+ * it's easy to test and the AI layer can quote the same findings verbatim.
91
+ */
92
+ export declare function buildDesignFlags(data: PolishdDesignData): DesignFlag[];
93
+ //# sourceMappingURL=design.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../src/server/design.ts"],"names":[],"mappings":"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"}