sunpeak 0.3.8 → 0.4.2

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 (32) hide show
  1. package/README.md +5 -5
  2. package/dist/chatgpt/chatgpt-simulator.d.ts +13 -3
  3. package/dist/chatgpt/index.d.ts +1 -0
  4. package/dist/index.cjs +24 -6
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +24 -6
  7. package/dist/index.js.map +1 -1
  8. package/dist/style.css +179 -7
  9. package/package.json +1 -1
  10. package/template/data/albums.json +112 -0
  11. package/template/data/places.json +49 -0
  12. package/template/dev/main.tsx +4 -59
  13. package/template/index.html +1 -1
  14. package/template/mcp/server.ts +4 -50
  15. package/template/src/App.tsx +87 -39
  16. package/template/src/components/album/album-card.tsx +45 -0
  17. package/template/src/components/album/albums.tsx +77 -0
  18. package/template/src/components/album/film-strip.tsx +50 -0
  19. package/template/src/components/album/fullscreen-viewer.tsx +60 -0
  20. package/template/src/components/album/index.ts +4 -0
  21. package/template/src/components/{openai-card.test.tsx → card/card.test.tsx} +12 -12
  22. package/template/src/components/{openai-card.tsx → card/card.tsx} +8 -8
  23. package/template/src/components/card/index.ts +1 -0
  24. package/template/src/components/{openai-carousel.test.tsx → carousel/carousel.test.tsx} +10 -10
  25. package/template/src/components/{openai-carousel.tsx → carousel/carousel.tsx} +7 -7
  26. package/template/src/components/carousel/index.ts +1 -0
  27. package/template/src/components/index.ts +4 -2
  28. package/template/src/components/simulations/albums-simulation.tsx +20 -0
  29. package/template/src/components/simulations/app-simulation.tsx +13 -0
  30. package/template/src/components/simulations/carousel-simulation.tsx +63 -0
  31. package/template/src/components/simulations/index.tsx +14 -0
  32. package/template/src/styles/globals.css +2 -0
package/dist/style.css CHANGED
@@ -35,6 +35,7 @@
35
35
  --tw-ring-offset-width: 0px;
36
36
  --tw-ring-offset-color: #fff;
37
37
  --tw-ring-offset-shadow: 0 0 #0000;
38
+ --tw-outline-style: solid;
38
39
  --tw-blur: initial;
39
40
  --tw-brightness: initial;
40
41
  --tw-contrast: initial;
@@ -54,7 +55,6 @@
54
55
  --tw-scale-x: 1;
55
56
  --tw-scale-y: 1;
56
57
  --tw-scale-z: 1;
57
- --tw-outline-style: solid;
58
58
  }
59
59
  }
60
60
  }
@@ -69,6 +69,7 @@
69
69
  --breakpoint-lg: 1024px;
70
70
  --breakpoint-xl: 1280px;
71
71
  --breakpoint-2xl: 1536px;
72
+ --container-md: 28rem;
72
73
  --leading-tight: 1.25;
73
74
  --leading-normal: 1.5;
74
75
  --default-transition-duration: .15s;
@@ -106,6 +107,14 @@
106
107
  --text-xs--line-height: var(--font-text-xs-line-height);
107
108
  --text-xs--font-weight: var(--font-text-xs-weight);
108
109
  --text-xs--letter-spacing: var(--font-text-xs-tracking);
110
+ --text-3xl: var(--font-heading-xl-size);
111
+ --text-3xl--line-height: var(--font-heading-xl-line-height);
112
+ --text-3xl--font-weight: var(--font-text-lg-weight);
113
+ --text-3xl--letter-spacing: var(--font-heading-xl-tracking);
114
+ --text-6xl: var(--font-heading-4xl-size);
115
+ --text-6xl--line-height: var(--font-heading-4xl-line-height);
116
+ --text-6xl--font-weight: var(--font-text-lg-weight);
117
+ --text-6xl--letter-spacing: var(--font-heading-4xl-tracking);
109
118
  --tracking-wide: var(--font-tracking-wide);
110
119
  --tracking-normal: var(--font-tracking-normal);
111
120
  --tracking-tight: var(--font-tracking-tight);
@@ -3051,6 +3060,10 @@
3051
3060
  @layer components;
3052
3061
 
3053
3062
  @layer utilities {
3063
+ .pointer-events-auto {
3064
+ pointer-events: auto;
3065
+ }
3066
+
3054
3067
  .pointer-events-none {
3055
3068
  pointer-events: none;
3056
3069
  }
@@ -3079,6 +3092,10 @@
3079
3092
  position: relative;
3080
3093
  }
3081
3094
 
3095
+ .inset-0 {
3096
+ inset: calc(var(--spacing) * 0);
3097
+ }
3098
+
3082
3099
  .top-0 {
3083
3100
  top: calc(var(--spacing) * 0);
3084
3101
  }
@@ -3099,6 +3116,10 @@
3099
3116
  right: calc(var(--spacing) * 6);
3100
3117
  }
3101
3118
 
3119
+ .bottom-0 {
3120
+ bottom: calc(var(--spacing) * 0);
3121
+ }
3122
+
3102
3123
  .bottom-20 {
3103
3124
  bottom: calc(var(--spacing) * 20);
3104
3125
  }
@@ -3163,6 +3184,10 @@
3163
3184
  }
3164
3185
  }
3165
3186
 
3187
+ .m-auto {
3188
+ margin: auto;
3189
+ }
3190
+
3166
3191
  .mx-auto {
3167
3192
  margin-inline: auto;
3168
3193
  }
@@ -3202,6 +3227,10 @@
3202
3227
  overflow: hidden;
3203
3228
  }
3204
3229
 
3230
+ .block {
3231
+ display: block;
3232
+ }
3233
+
3205
3234
  .contents {
3206
3235
  display: contents;
3207
3236
  }
@@ -3222,6 +3251,14 @@
3222
3251
  display: inline-flex;
3223
3252
  }
3224
3253
 
3254
+ .aspect-\[4\/3\] {
3255
+ aspect-ratio: 4 / 3;
3256
+ }
3257
+
3258
+ .aspect-\[5\/3\] {
3259
+ aspect-ratio: 5 / 3;
3260
+ }
3261
+
3225
3262
  .aspect-square {
3226
3263
  aspect-ratio: 1;
3227
3264
  }
@@ -3259,6 +3296,10 @@
3259
3296
  max-height: min(400px, 100vh - 200px);
3260
3297
  }
3261
3298
 
3299
+ .max-h-full {
3300
+ max-height: 100%;
3301
+ }
3302
+
3262
3303
  .min-h-8 {
3263
3304
  min-height: calc(var(--spacing) * 8);
3264
3305
  }
@@ -3279,6 +3320,10 @@
3279
3320
  width: calc(var(--spacing) * 12);
3280
3321
  }
3281
3322
 
3323
+ .w-40 {
3324
+ width: calc(var(--spacing) * 40);
3325
+ }
3326
+
3282
3327
  .w-64 {
3283
3328
  width: calc(var(--spacing) * 64);
3284
3329
  }
@@ -3303,6 +3348,10 @@
3303
3348
  max-width: 100%;
3304
3349
  }
3305
3350
 
3351
+ .max-w-md {
3352
+ max-width: var(--container-md);
3353
+ }
3354
+
3306
3355
  .min-w-0 {
3307
3356
  min-width: calc(var(--spacing) * 0);
3308
3357
  }
@@ -3323,6 +3372,10 @@
3323
3372
  flex: none;
3324
3373
  }
3325
3374
 
3375
+ .flex-shrink-0 {
3376
+ flex-shrink: 0;
3377
+ }
3378
+
3326
3379
  .grow {
3327
3380
  flex-grow: 1;
3328
3381
  }
@@ -3353,6 +3406,10 @@
3353
3406
  flex-direction: column;
3354
3407
  }
3355
3408
 
3409
+ .flex-row {
3410
+ flex-direction: row;
3411
+ }
3412
+
3356
3413
  .flex-wrap {
3357
3414
  flex-wrap: wrap;
3358
3415
  }
@@ -3401,6 +3458,12 @@
3401
3458
  margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
3402
3459
  }
3403
3460
 
3461
+ :where(.space-y-5 > :not(:last-child)) {
3462
+ --tw-space-y-reverse: 0;
3463
+ margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
3464
+ margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
3465
+ }
3466
+
3404
3467
  :where(.space-y-6 > :not(:last-child)) {
3405
3468
  --tw-space-y-reverse: 0;
3406
3469
  margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
@@ -3435,6 +3498,10 @@
3435
3498
  border-radius: var(--radius-3xl);
3436
3499
  }
3437
3500
 
3501
+ .rounded-\[10px\] {
3502
+ border-radius: 10px;
3503
+ }
3504
+
3438
3505
  .rounded-\[18px\] {
3439
3506
  border-radius: 18px;
3440
3507
  }
@@ -3451,6 +3518,10 @@
3451
3518
  border-radius: var(--radius-full);
3452
3519
  }
3453
3520
 
3521
+ .rounded-lg {
3522
+ border-radius: var(--radius-lg);
3523
+ }
3524
+
3454
3525
  .rounded-xl {
3455
3526
  border-radius: var(--radius-xl);
3456
3527
  }
@@ -3487,6 +3558,10 @@
3487
3558
  border-color: var(--color-border-subtle);
3488
3559
  }
3489
3560
 
3561
+ .border-transparent {
3562
+ border-color: #0000;
3563
+ }
3564
+
3490
3565
  .bg-\[var\(--color-background-primary\)\] {
3491
3566
  background-color: var(--color-background-primary);
3492
3567
  }
@@ -3503,6 +3578,10 @@
3503
3578
  background-color: var(--color-surface);
3504
3579
  }
3505
3580
 
3581
+ .bg-surface-secondary {
3582
+ background-color: var(--color-surface-secondary);
3583
+ }
3584
+
3506
3585
  .bg-gradient-to-l {
3507
3586
  --tw-gradient-position: to left in oklab;
3508
3587
  background-image: linear-gradient(var(--tw-gradient-stops));
@@ -3518,6 +3597,10 @@
3518
3597
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
3519
3598
  }
3520
3599
 
3600
+ .object-contain {
3601
+ object-fit: contain;
3602
+ }
3603
+
3521
3604
  .object-cover {
3522
3605
  object-fit: cover;
3523
3606
  }
@@ -3526,14 +3609,34 @@
3526
3609
  padding: calc(var(--spacing) * 0);
3527
3610
  }
3528
3611
 
3612
+ .p-2 {
3613
+ padding: calc(var(--spacing) * 2);
3614
+ }
3615
+
3529
3616
  .p-4 {
3530
3617
  padding: calc(var(--spacing) * 4);
3531
3618
  }
3532
3619
 
3620
+ .p-5 {
3621
+ padding: calc(var(--spacing) * 5);
3622
+ }
3623
+
3624
+ .p-8 {
3625
+ padding: calc(var(--spacing) * 8);
3626
+ }
3627
+
3628
+ .p-\[1px\] {
3629
+ padding: 1px;
3630
+ }
3631
+
3533
3632
  .p-\[var\(--menu-gutter\)\] {
3534
3633
  padding: var(--menu-gutter);
3535
3634
  }
3536
3635
 
3636
+ .px-1\.5 {
3637
+ padding-inline: calc(var(--spacing) * 1.5);
3638
+ }
3639
+
3537
3640
  .px-4 {
3538
3641
  padding-inline: calc(var(--spacing) * 4);
3539
3642
  }
@@ -3542,6 +3645,10 @@
3542
3645
  padding-inline: calc(var(--spacing) * 5);
3543
3646
  }
3544
3647
 
3648
+ .px-40 {
3649
+ padding-inline: calc(var(--spacing) * 40);
3650
+ }
3651
+
3545
3652
  .px-\[var\(--control-gutter-sm\)\] {
3546
3653
  padding-inline: var(--control-gutter-sm);
3547
3654
  }
@@ -3550,6 +3657,10 @@
3550
3657
  padding-inline: var(--menu-item-padding-x, 12px);
3551
3658
  }
3552
3659
 
3660
+ .py-0\.5 {
3661
+ padding-block: calc(var(--spacing) * .5);
3662
+ }
3663
+
3553
3664
  .py-3 {
3554
3665
  padding-block: calc(var(--spacing) * 3);
3555
3666
  }
@@ -3558,6 +3669,10 @@
3558
3669
  padding-block: calc(var(--spacing) * 4);
3559
3670
  }
3560
3671
 
3672
+ .py-10 {
3673
+ padding-block: calc(var(--spacing) * 10);
3674
+ }
3675
+
3561
3676
  .py-\[var\(--menu-item-padding-y\,8px\)\] {
3562
3677
  padding-block: var(--menu-item-padding-y, 8px);
3563
3678
  }
@@ -3574,6 +3689,10 @@
3574
3689
  padding-bottom: calc(var(--spacing) * 10);
3575
3690
  }
3576
3691
 
3692
+ .text-center {
3693
+ text-align: center;
3694
+ }
3695
+
3577
3696
  .text-left {
3578
3697
  text-align: left;
3579
3698
  }
@@ -3582,6 +3701,20 @@
3582
3701
  text-align: start;
3583
3702
  }
3584
3703
 
3704
+ .text-3xl {
3705
+ font-size: var(--text-3xl);
3706
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
3707
+ letter-spacing: var(--tw-tracking, var(--text-3xl--letter-spacing));
3708
+ font-weight: var(--tw-font-weight, var(--text-3xl--font-weight));
3709
+ }
3710
+
3711
+ .text-6xl {
3712
+ font-size: var(--text-6xl);
3713
+ line-height: var(--tw-leading, var(--text-6xl--line-height));
3714
+ letter-spacing: var(--tw-tracking, var(--text-6xl--letter-spacing));
3715
+ font-weight: var(--tw-font-weight, var(--text-6xl--font-weight));
3716
+ }
3717
+
3585
3718
  .text-base {
3586
3719
  font-size: var(--text-base);
3587
3720
  line-height: var(--tw-leading, var(--text-base--line-height));
@@ -3630,6 +3763,11 @@
3630
3763
  line-height: var(--leading-tight);
3631
3764
  }
3632
3765
 
3766
+ .font-bold {
3767
+ --tw-font-weight: var(--font-weight-bold);
3768
+ font-weight: var(--font-weight-bold);
3769
+ }
3770
+
3633
3771
  .font-medium {
3634
3772
  --tw-font-weight: var(--font-weight-medium);
3635
3773
  font-weight: var(--font-weight-medium);
@@ -3677,10 +3815,18 @@
3677
3815
  color: var(--menu-font-size);
3678
3816
  }
3679
3817
 
3818
+ .text-primary {
3819
+ color: var(--color-text-primary);
3820
+ }
3821
+
3680
3822
  .text-secondary {
3681
3823
  color: var(--color-text-secondary);
3682
3824
  }
3683
3825
 
3826
+ .opacity-60 {
3827
+ opacity: .6;
3828
+ }
3829
+
3684
3830
  .opacity-75 {
3685
3831
  opacity: .75;
3686
3832
  }
@@ -3704,6 +3850,11 @@
3704
3850
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3705
3851
  }
3706
3852
 
3853
+ .shadow-sm {
3854
+ --tw-shadow: var(--shadow-100);
3855
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3856
+ }
3857
+
3707
3858
  .shadow-xl {
3708
3859
  --tw-shadow: var(--shadow-400);
3709
3860
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -3713,6 +3864,11 @@
3713
3864
  box-shadow: var(--shadow), var(--shadow-hairline);
3714
3865
  }
3715
3866
 
3867
+ .outline {
3868
+ outline-style: var(--tw-outline-style);
3869
+ outline-width: 1px;
3870
+ }
3871
+
3716
3872
  .filter {
3717
3873
  filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
3718
3874
  }
@@ -3906,6 +4062,14 @@
3906
4062
  }
3907
4063
 
3908
4064
  @media (hover: hover) and (pointer: fine) {
4065
+ .hover\:bg-transparent:hover {
4066
+ background-color: #0000;
4067
+ }
4068
+
4069
+ .hover\:opacity-100:hover {
4070
+ opacity: 1;
4071
+ }
4072
+
3909
4073
  .hover\:before\:shadow-\[0_0_0_1px_var\(--input-outline-border-color-hover\)_inset\]:hover:before {
3910
4074
  content: var(--tw-content);
3911
4075
  --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--input-outline-border-color-hover)) inset;
@@ -3941,6 +4105,10 @@
3941
4105
  }
3942
4106
 
3943
4107
  @media (min-width: 768px) {
4108
+ .md\:block {
4109
+ display: block;
4110
+ }
4111
+
3944
4112
  .md\:flex {
3945
4113
  display: flex;
3946
4114
  }
@@ -3954,6 +4122,10 @@
3954
4122
  border-style: var(--tw-border-style);
3955
4123
  border-width: 1px;
3956
4124
  }
4125
+
4126
+ .\[\&\:hover\]\:bg-transparent:hover {
4127
+ background-color: #0000;
4128
+ }
3957
4129
  }
3958
4130
 
3959
4131
  @property --tw-translate-x {
@@ -4141,6 +4313,12 @@
4141
4313
  initial-value: 0 0 #0000;
4142
4314
  }
4143
4315
 
4316
+ @property --tw-outline-style {
4317
+ syntax: "*";
4318
+ inherits: false;
4319
+ initial-value: solid;
4320
+ }
4321
+
4144
4322
  @property --tw-blur {
4145
4323
  syntax: "*";
4146
4324
  inherits: false
@@ -4240,9 +4418,3 @@
4240
4418
  inherits: false;
4241
4419
  initial-value: 1;
4242
4420
  }
4243
-
4244
- @property --tw-outline-style {
4245
- syntax: "*";
4246
- inherits: false;
4247
- initial-value: solid;
4248
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sunpeak",
3
- "version": "0.3.8",
3
+ "version": "0.4.2",
4
4
  "description": "The ChatGPT Apps UI SDK. Build and test your ChatGPT App UI locally with OpenAI apps-sdk-ui components.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -0,0 +1,112 @@
1
+ {
2
+ "albums": [
3
+ {
4
+ "id": "summer-escape",
5
+ "title": "Summer Slice",
6
+ "cover": "https://persistent.oaistatic.com/pizzaz/pizzaz-1.png",
7
+ "photos": [
8
+ {
9
+ "id": "s1",
10
+ "title": "Waves",
11
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-2.png"
12
+ },
13
+ {
14
+ "id": "s2",
15
+ "title": "Palm trees",
16
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-3.png"
17
+ },
18
+ {
19
+ "id": "s3",
20
+ "title": "Sunset",
21
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-6.png"
22
+ }
23
+ ]
24
+ },
25
+ {
26
+ "id": "city-lights",
27
+ "title": "Pepperoni Nights",
28
+ "cover": "https://persistent.oaistatic.com/pizzaz/pizzaz-4.png",
29
+ "photos": [
30
+ {
31
+ "id": "c1",
32
+ "title": "Downtown",
33
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-5.png"
34
+ },
35
+ {
36
+ "id": "c2",
37
+ "title": "Neon",
38
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-1.png"
39
+ },
40
+ {
41
+ "id": "c3",
42
+ "title": "Streets",
43
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-2.png"
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "id": "into-the-woods",
49
+ "title": "Truffle Forest",
50
+ "cover": "https://persistent.oaistatic.com/pizzaz/pizzaz-3.png",
51
+ "photos": [
52
+ {
53
+ "id": "n1",
54
+ "title": "Forest path",
55
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-6.png"
56
+ },
57
+ {
58
+ "id": "n2",
59
+ "title": "Misty",
60
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-4.png"
61
+ },
62
+ {
63
+ "id": "n3",
64
+ "title": "Waterfall",
65
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-5.png"
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ "id": "pizza-tour",
71
+ "title": "Pizza tour",
72
+ "cover": "https://persistent.oaistatic.com/pizzaz/pizzaz-1.png",
73
+ "photos": [
74
+ {
75
+ "id": "tonys-pizza-napoletana",
76
+ "title": "Tony's Pizza Napoletana",
77
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-2.png"
78
+ },
79
+ {
80
+ "id": "golden-boy-pizza",
81
+ "title": "Golden Boy Pizza",
82
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-3.png"
83
+ },
84
+ {
85
+ "id": "pizzeria-delfina-mission",
86
+ "title": "Pizzeria Delfina (Mission)",
87
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-6.png"
88
+ },
89
+ {
90
+ "id": "ragazza",
91
+ "title": "Ragazza",
92
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-4.png"
93
+ },
94
+ {
95
+ "id": "del-popolo",
96
+ "title": "Del Popolo",
97
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-5.png"
98
+ },
99
+ {
100
+ "id": "square-pie-guys",
101
+ "title": "Square Pie Guys",
102
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-1.png"
103
+ },
104
+ {
105
+ "id": "zero-zero",
106
+ "title": "Zero Zero",
107
+ "url": "https://persistent.oaistatic.com/pizzaz/pizzaz-2.png"
108
+ }
109
+ ]
110
+ }
111
+ ]
112
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "places": [
3
+ {
4
+ "id": "1",
5
+ "name": "Lady Bird Lake",
6
+ "rating": 4.5,
7
+ "category": "Waterfront",
8
+ "location": "Austin",
9
+ "image": "https://images.unsplash.com/photo-1520950237264-dfe336995c34?w=400&h=400&fit=crop",
10
+ "description": "Scenic lake perfect for kayaking, paddleboarding, and trails."
11
+ },
12
+ {
13
+ "id": "2",
14
+ "name": "Texas State Capitol",
15
+ "rating": 4.8,
16
+ "category": "Historic Site",
17
+ "location": "Austin",
18
+ "image": "https://images.unsplash.com/photo-1664231978322-4d0b45c7027b?w=400&h=400&fit=crop",
19
+ "description": "Stunning capitol building with free tours and beautiful grounds."
20
+ },
21
+ {
22
+ "id": "3",
23
+ "name": "The Paramount Theatre",
24
+ "rating": 4.7,
25
+ "category": "Architecture",
26
+ "location": "Austin",
27
+ "image": "https://images.unsplash.com/photo-1583097090970-4d3b940ea1a0?w=400&h=400&fit=crop",
28
+ "description": "Century-old performance and movie theatre in the heart of downtown Austin."
29
+ },
30
+ {
31
+ "id": "4",
32
+ "name": "Zilker Park",
33
+ "rating": 4.7,
34
+ "category": "Park",
35
+ "location": "Austin",
36
+ "image": "https://images.unsplash.com/photo-1563828568124-f800803ba13c?w=400&h=400&fit=crop",
37
+ "description": "Popular park with trails, sports fields, and Barton Springs Pool."
38
+ },
39
+ {
40
+ "id": "5",
41
+ "name": "South Congress Avenue",
42
+ "rating": 4.6,
43
+ "category": "Landmark",
44
+ "location": "Austin",
45
+ "image": "https://images.unsplash.com/photo-1588993608283-7f0eda4438be?w=400&h=400&fit=crop",
46
+ "description": "Vibrant street with unique shops, restaurants, and live music."
47
+ }
48
+ ]
49
+ }
@@ -1,67 +1,12 @@
1
+ import '../src/styles/globals.css';
2
+
1
3
  import { StrictMode } from 'react';
2
4
  import { createRoot } from 'react-dom/client';
3
5
  import { ChatGPTSimulator } from 'sunpeak';
4
- import { App } from '../src/App';
5
-
6
- const toolOutput = {
7
- places: [
8
- {
9
- id: '1',
10
- name: 'Lady Bird Lake',
11
- rating: 4.5,
12
- category: 'Waterfront',
13
- location: 'Austin',
14
- image: 'https://images.unsplash.com/photo-1520950237264-dfe336995c34?w=400&h=400&fit=crop',
15
- description: 'Scenic lake perfect for kayaking, paddleboarding, and trails.',
16
- },
17
- {
18
- id: '2',
19
- name: 'Texas State Capitol',
20
- rating: 4.8,
21
- category: 'Historic Site',
22
- location: 'Austin',
23
- image: 'https://images.unsplash.com/photo-1664231978322-4d0b45c7027b?w=400&h=400&fit=crop',
24
- description: 'Stunning capitol building with free tours and beautiful grounds.',
25
- },
26
- {
27
- id: '3',
28
- name: 'The Paramount Theatre',
29
- rating: 4.7,
30
- category: 'Architecture',
31
- location: 'Austin',
32
- image: 'https://images.unsplash.com/photo-1583097090970-4d3b940ea1a0?w=400&h=400&fit=crop',
33
- description: 'Century-old performance and movie theatre in the heart of downtown Austin.',
34
- },
35
- {
36
- id: '4',
37
- name: 'Zilker Park',
38
- rating: 4.7,
39
- category: 'Park',
40
- location: 'Austin',
41
- image: 'https://images.unsplash.com/photo-1563828568124-f800803ba13c?w=400&h=400&fit=crop',
42
- description: 'Popular park with trails, sports fields, and Barton Springs Pool.',
43
- },
44
- {
45
- id: '5',
46
- name: 'South Congress Avenue',
47
- rating: 4.6,
48
- category: 'Landmark',
49
- location: 'Austin',
50
- image: 'https://images.unsplash.com/photo-1588993608283-7f0eda4438be?w=400&h=400&fit=crop',
51
- description: 'Vibrant street with unique shops, restaurants, and live music.',
52
- },
53
- ],
54
- };
6
+ import { simulations } from '../src/components';
55
7
 
56
8
  createRoot(document.getElementById('root')!).render(
57
9
  <StrictMode>
58
- <ChatGPTSimulator
59
- appName="Splorin"
60
- appIcon="✈️"
61
- userMessage="Show me popular places to visit in Austin Texas"
62
- toolOutput={toolOutput}
63
- >
64
- <App />
65
- </ChatGPTSimulator>
10
+ <ChatGPTSimulator simulations={simulations} />
66
11
  </StrictMode>
67
12
  );
@@ -8,6 +8,6 @@
8
8
  </head>
9
9
  <body>
10
10
  <div id="root"></div>
11
- <script type="module" src="/dev/main.tsx"></script>
11
+ <script type="module" src="dev/main.tsx"></script>
12
12
  </body>
13
13
  </html>