@mastra/playground-ui 45.0.0 → 45.1.0-alpha.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 +75 -0
  2. package/dist/CommandPalette.css +135 -0
  3. package/dist/command-Duq1xsiS.js +168 -0
  4. package/dist/command-Duq1xsiS.js.map +1 -0
  5. package/dist/command-qsEykgml.cjs +197 -0
  6. package/dist/command-qsEykgml.cjs.map +1 -0
  7. package/dist/components/ChatShell.cjs.js +96 -0
  8. package/dist/components/ChatShell.cjs.js.map +1 -0
  9. package/dist/components/ChatShell.d.ts +2 -0
  10. package/dist/components/ChatShell.es.js +92 -0
  11. package/dist/components/ChatShell.es.js.map +1 -0
  12. package/dist/components/Command.cjs.js +10 -191
  13. package/dist/components/Command.cjs.js.map +1 -1
  14. package/dist/components/Command.es.js +1 -167
  15. package/dist/components/Command.es.js.map +1 -1
  16. package/dist/components/CommandPalette.cjs.js +180 -0
  17. package/dist/components/CommandPalette.cjs.js.map +1 -0
  18. package/dist/components/CommandPalette.d.ts +2 -0
  19. package/dist/components/CommandPalette.es.js +169 -0
  20. package/dist/components/CommandPalette.es.js.map +1 -0
  21. package/dist/components/Kbd.cjs.js +3 -24
  22. package/dist/components/Kbd.cjs.js.map +1 -1
  23. package/dist/components/Kbd.es.js +1 -26
  24. package/dist/components/Kbd.es.js.map +1 -1
  25. package/dist/components/MessageScroller.cjs.js +8 -524
  26. package/dist/components/MessageScroller.cjs.js.map +1 -1
  27. package/dist/components/MessageScroller.es.js +2 -504
  28. package/dist/components/MessageScroller.es.js.map +1 -1
  29. package/dist/components/ThreadRail.cjs.js +1 -1
  30. package/dist/components/ThreadRail.es.js +1 -1
  31. package/dist/kbd-Br7kdwaB.cjs +34 -0
  32. package/dist/kbd-Br7kdwaB.cjs.map +1 -0
  33. package/dist/kbd-DE0nj4DL.js +32 -0
  34. package/dist/kbd-DE0nj4DL.js.map +1 -0
  35. package/dist/message-scroller-BQpwFsqj.js +563 -0
  36. package/dist/message-scroller-BQpwFsqj.js.map +1 -0
  37. package/dist/message-scroller-DIgCd5n3.cjs +589 -0
  38. package/dist/message-scroller-DIgCd5n3.cjs.map +1 -0
  39. package/dist/{message-scroller-hooks-DdXqrmC2.cjs → message-scroller-context-_VfCYFBU.cjs} +6 -48
  40. package/dist/message-scroller-context-_VfCYFBU.cjs.map +1 -0
  41. package/dist/message-scroller-context-tTA6jxho.js +23 -0
  42. package/dist/message-scroller-context-tTA6jxho.js.map +1 -0
  43. package/dist/message-scroller-hooks-BxAf8k0Y.cjs +72 -0
  44. package/dist/message-scroller-hooks-BxAf8k0Y.cjs.map +1 -0
  45. package/dist/{message-scroller-hooks-CdsHnth6.js → message-scroller-hooks-D5yxCon2.js} +3 -19
  46. package/dist/message-scroller-hooks-D5yxCon2.js.map +1 -0
  47. package/dist/src/ds/components/ChatShell/chat-shell.d.ts +46 -0
  48. package/dist/src/ds/components/ChatShell/chat-shell.stories.d.ts +8 -0
  49. package/dist/src/ds/components/ChatShell/index.d.ts +11 -0
  50. package/dist/src/ds/components/CommandPalette/command-palette.d.ts +37 -0
  51. package/dist/src/ds/components/CommandPalette/command-palette.stories.d.ts +12 -0
  52. package/dist/src/ds/components/CommandPalette/index.d.ts +1 -0
  53. package/dist/src/ds/components/Kbd/kbd.d.ts +2 -1
  54. package/dist/src/ds/components/MessageScroller/message-scroller-context.d.ts +4 -0
  55. package/dist/src/ds/components/MessageScroller/message-scroller.d.ts +8 -7
  56. package/dist/style.css +343 -2
  57. package/package.json +6 -6
  58. package/dist/message-scroller-hooks-CdsHnth6.js.map +0 -1
  59. package/dist/message-scroller-hooks-DdXqrmC2.cjs.map +0 -1
package/dist/style.css CHANGED
@@ -221,6 +221,7 @@
221
221
  --spacing-40: 10rem;
222
222
  --spacing-44: 11rem;
223
223
  --spacing-48: 12rem;
224
+ --spacing-52: 13rem;
224
225
  --spacing-56: 14rem;
225
226
  --spacing-60: 15rem;
226
227
  --spacing-64: 16rem;
@@ -784,6 +785,10 @@
784
785
  bottom: var(--spacing-0);
785
786
  }
786
787
 
788
+ .bottom-\[calc\(100\%\+0\.5rem\)\] {
789
+ bottom: calc(100% + .5rem);
790
+ }
791
+
787
792
  .-left-2 {
788
793
  left: calc(var(--spacing-2) * -1);
789
794
  }
@@ -950,6 +955,10 @@
950
955
  }
951
956
  }
952
957
 
958
+ .-m-1 {
959
+ margin: calc(var(--spacing-1) * -1);
960
+ }
961
+
953
962
  .m-0 {
954
963
  margin: var(--spacing-0);
955
964
  }
@@ -1600,6 +1609,10 @@
1600
1609
  height: var(--height-dropdown-max-height);
1601
1610
  }
1602
1611
 
1612
+ .h-dvh {
1613
+ height: 100dvh;
1614
+ }
1615
+
1603
1616
  .h-form-default {
1604
1617
  height: var(--spacing-form-default);
1605
1618
  }
@@ -1697,6 +1710,10 @@
1697
1710
  max-height: inherit;
1698
1711
  }
1699
1712
 
1713
+ .max-h-\[min\(14rem\,32dvh\)\] {
1714
+ max-height: min(14rem, 32dvh);
1715
+ }
1716
+
1700
1717
  .max-h-\[min\(20rem\,var\(--available-height\)\)\] {
1701
1718
  max-height: min(20rem, var(--available-height));
1702
1719
  }
@@ -1713,6 +1730,10 @@
1713
1730
  max-height: 100%;
1714
1731
  }
1715
1732
 
1733
+ .max-h-none {
1734
+ max-height: none;
1735
+ }
1736
+
1716
1737
  .min-h-0 {
1717
1738
  min-height: var(--spacing-0);
1718
1739
  }
@@ -1761,6 +1782,10 @@
1761
1782
  min-height: var(--spacing-72);
1762
1783
  }
1763
1784
 
1785
+ .min-h-dvh {
1786
+ min-height: 100dvh;
1787
+ }
1788
+
1764
1789
  .min-h-form-md {
1765
1790
  min-height: var(--spacing-form-md);
1766
1791
  }
@@ -2070,6 +2095,10 @@
2070
2095
  max-width: var(--available-width);
2071
2096
  }
2072
2097
 
2098
+ .max-w-\(--chat-column\) {
2099
+ max-width: var(--chat-column);
2100
+ }
2101
+
2073
2102
  .max-w-\(--sidebar-width-mobile\) {
2074
2103
  max-width: var(--sidebar-width-mobile);
2075
2104
  }
@@ -2082,6 +2111,10 @@
2082
2111
  max-width: var(--container-3xl);
2083
2112
  }
2084
2113
 
2114
+ .max-w-4 {
2115
+ max-width: var(--spacing-4);
2116
+ }
2117
+
2085
2118
  .max-w-6xl {
2086
2119
  max-width: var(--container-6xl);
2087
2120
  }
@@ -2098,6 +2131,10 @@
2098
2131
  max-width: var(--spacing-44);
2099
2132
  }
2100
2133
 
2134
+ .max-w-52 {
2135
+ max-width: var(--spacing-52);
2136
+ }
2137
+
2101
2138
  .max-w-60 {
2102
2139
  max-width: var(--spacing-60);
2103
2140
  }
@@ -2142,6 +2179,10 @@
2142
2179
  max-width: calc(100vw - 2rem);
2143
2180
  }
2144
2181
 
2182
+ .max-w-\[min\(56rem\,calc\(100vw-2rem\)\)\] {
2183
+ max-width: min(56rem, 100vw - 2rem);
2184
+ }
2185
+
2145
2186
  .max-w-dropdown-max-height {
2146
2187
  max-width: var(--container-dropdown-max-height);
2147
2188
  }
@@ -2182,10 +2223,22 @@
2182
2223
  min-width: var(--spacing-0);
2183
2224
  }
2184
2225
 
2226
+ .min-w-4 {
2227
+ min-width: var(--spacing-4);
2228
+ }
2229
+
2230
+ .min-w-5 {
2231
+ min-width: var(--spacing-5);
2232
+ }
2233
+
2185
2234
  .min-w-6 {
2186
2235
  min-width: var(--spacing-6);
2187
2236
  }
2188
2237
 
2238
+ .min-w-7 {
2239
+ min-width: var(--spacing-7);
2240
+ }
2241
+
2189
2242
  .min-w-32 {
2190
2243
  min-width: var(--spacing-32);
2191
2244
  }
@@ -2254,6 +2307,10 @@
2254
2307
  flex-grow: 1;
2255
2308
  }
2256
2309
 
2310
+ .basis-4 {
2311
+ flex-basis: var(--spacing-4);
2312
+ }
2313
+
2257
2314
  .border-collapse {
2258
2315
  border-collapse: collapse;
2259
2316
  }
@@ -2288,6 +2345,11 @@
2288
2345
  translate: var(--tw-translate-x) var(--tw-translate-y);
2289
2346
  }
2290
2347
 
2348
+ .translate-x-0 {
2349
+ --tw-translate-x: var(--spacing-0);
2350
+ translate: var(--tw-translate-x) var(--tw-translate-y);
2351
+ }
2352
+
2291
2353
  .translate-x-1 {
2292
2354
  --tw-translate-x: var(--spacing-1);
2293
2355
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -3420,6 +3482,14 @@
3420
3482
  border-left-color: #0000;
3421
3483
  }
3422
3484
 
3485
+ .bg-\(--chat-surface\) {
3486
+ background-color: var(--chat-surface);
3487
+ }
3488
+
3489
+ .bg-\(--chat-veil\) {
3490
+ background-color: var(--chat-veil);
3491
+ }
3492
+
3423
3493
  .bg-\[var\(--data-list-sticky-header-background\)\] {
3424
3494
  background-color: var(--data-list-sticky-header-background);
3425
3495
  }
@@ -4008,6 +4078,26 @@
4008
4078
  }
4009
4079
  }
4010
4080
 
4081
+ .bg-surface4\/60 {
4082
+ background-color: var(--color-surface4);
4083
+ }
4084
+
4085
+ @supports (color: color-mix(in lab, red, red)) {
4086
+ .bg-surface4\/60 {
4087
+ background-color: color-mix(in oklab, var(--color-surface4) 60%, transparent);
4088
+ }
4089
+ }
4090
+
4091
+ .bg-surface4\/70 {
4092
+ background-color: var(--color-surface4);
4093
+ }
4094
+
4095
+ @supports (color: color-mix(in lab, red, red)) {
4096
+ .bg-surface4\/70 {
4097
+ background-color: color-mix(in oklab, var(--color-surface4) 70%, transparent);
4098
+ }
4099
+ }
4100
+
4011
4101
  .bg-surface5, .bg-surface5\/80 {
4012
4102
  background-color: var(--color-surface5);
4013
4103
  }
@@ -4342,6 +4432,10 @@
4342
4432
  padding-block: 3px;
4343
4433
  }
4344
4434
 
4435
+ .pe-\(--chat-inset-end\) {
4436
+ padding-inline-end: var(--chat-inset-end);
4437
+ }
4438
+
4345
4439
  .pt-0 {
4346
4440
  padding-top: var(--spacing-0);
4347
4441
  }
@@ -4374,6 +4468,10 @@
4374
4468
  padding-top: var(--spacing-4);
4375
4469
  }
4376
4470
 
4471
+ .pt-5 {
4472
+ padding-top: var(--spacing-5);
4473
+ }
4474
+
4377
4475
  .pt-6 {
4378
4476
  padding-top: var(--spacing-6);
4379
4477
  }
@@ -4442,6 +4540,10 @@
4442
4540
  padding-right: var(--spacing-12);
4443
4541
  }
4444
4542
 
4543
+ .pb-\(--chat-gutter\) {
4544
+ padding-bottom: var(--chat-gutter);
4545
+ }
4546
+
4445
4547
  .pb-0 {
4446
4548
  padding-bottom: var(--spacing-0);
4447
4549
  }
@@ -5186,6 +5288,21 @@
5186
5288
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
5187
5289
  }
5188
5290
 
5291
+ .shadow-\[0_1px_2px_-1px_oklch\(0\%_0_0deg\/10\%\)\,0_8px_20px_-12px_oklch\(0\%_0_0deg\/25\%\)\] {
5292
+ --tw-shadow: 0 1px 2px -1px var(--tw-shadow-color, oklch(0% 0 0 / .1)), 0 8px 20px -12px var(--tw-shadow-color, oklch(0% 0 0 / .25));
5293
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
5294
+ }
5295
+
5296
+ .shadow-\[0_8px_24px_-20px_rgb\(0_0_0_\/_0\.55\)\] {
5297
+ --tw-shadow: 0 8px 24px -20px var(--tw-shadow-color, #0000008c);
5298
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
5299
+ }
5300
+
5301
+ .shadow-\[0_10px_28px_-22px_rgb\(0_0_0_\/_0\.6\)\] {
5302
+ --tw-shadow: 0 10px 28px -22px var(--tw-shadow-color, #0009);
5303
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
5304
+ }
5305
+
5189
5306
  .shadow-card {
5190
5307
  --tw-shadow: 0 2px 8px var(--tw-shadow-color, oklch(0% 0 0 / .4));
5191
5308
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -5377,6 +5494,18 @@
5377
5494
  transition-duration: var(--tw-duration, var(--default-transition-duration));
5378
5495
  }
5379
5496
 
5497
+ .transition-\[background-color\,border-color\,color\,transform\] {
5498
+ transition-property: background-color, border-color, color, transform;
5499
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
5500
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
5501
+ }
5502
+
5503
+ .transition-\[background-color\,border-color\] {
5504
+ transition-property: background-color, border-color;
5505
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
5506
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
5507
+ }
5508
+
5380
5509
  .transition-\[background-color\,scale\] {
5381
5510
  transition-property: background-color, scale;
5382
5511
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -5449,6 +5578,12 @@
5449
5578
  transition-duration: var(--tw-duration, var(--default-transition-duration));
5450
5579
  }
5451
5580
 
5581
+ .transition-\[padding\] {
5582
+ transition-property: padding;
5583
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
5584
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
5585
+ }
5586
+
5452
5587
  .transition-\[stroke-dashoffset\,transform\] {
5453
5588
  transition-property: stroke-dashoffset, transform;
5454
5589
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -5605,6 +5740,36 @@
5605
5740
  user-select: none;
5606
5741
  }
5607
5742
 
5743
+ .\[--chat-column\:44rem\] {
5744
+ --chat-column: 44rem;
5745
+ }
5746
+
5747
+ .\[--chat-column\:48rem\] {
5748
+ --chat-column: 48rem;
5749
+ }
5750
+
5751
+ .\[--chat-gutter\:0\.75rem\] {
5752
+ --chat-gutter: .75rem;
5753
+ }
5754
+
5755
+ .\[--chat-inset-end\:0px\] {
5756
+ --chat-inset-end: 0px;
5757
+ }
5758
+
5759
+ .\[--chat-surface\:var\(--color-surface2\)\] {
5760
+ --chat-surface: var(--color-surface2);
5761
+ }
5762
+
5763
+ .\[--chat-veil\:color-mix\(in_oklab\,var\(--chat-surface\)_70\%\,transparent\)\] {
5764
+ --chat-veil: var(--chat-surface);
5765
+ }
5766
+
5767
+ @supports (color: color-mix(in lab, red, red)) {
5768
+ .\[--chat-veil\:color-mix\(in_oklab\,var\(--chat-surface\)_70\%\,transparent\)\] {
5769
+ --chat-veil: color-mix(in oklab,var(--chat-surface) 70%,transparent);
5770
+ }
5771
+ }
5772
+
5608
5773
  .\[--studio-frame-inset\:0\.5rem\] {
5609
5774
  --studio-frame-inset: .5rem;
5610
5775
  }
@@ -5834,6 +5999,10 @@
5834
5999
  display: flex;
5835
6000
  }
5836
6001
 
6002
+ .group-data-\[selected\=true\]\:text-neutral6:is(:where(.group)[data-selected="true"] *) {
6003
+ color: var(--color-neutral6);
6004
+ }
6005
+
5837
6006
  .group-data-\[separator\=\'active\'\]\/separator\:h-12:is(:where(.group\/separator)[data-separator="active"] *) {
5838
6007
  height: var(--spacing-12);
5839
6008
  }
@@ -6391,6 +6560,10 @@
6391
6560
  scale: 1.02;
6392
6561
  }
6393
6562
 
6563
+ .hover\:border-border1:hover {
6564
+ border-color: var(--color-border1);
6565
+ }
6566
+
6394
6567
  .hover\:border-border2:hover {
6395
6568
  border-color: var(--color-border2);
6396
6569
  }
@@ -6833,6 +7006,10 @@
6833
7006
  scale: .98;
6834
7007
  }
6835
7008
 
7009
+ .active\:scale-\[0\.99\]:active {
7010
+ scale: .99;
7011
+ }
7012
+
6836
7013
  .active\:cursor-grabbing:active {
6837
7014
  cursor: grabbing;
6838
7015
  }
@@ -7175,6 +7352,18 @@
7175
7352
  scale: var(--tw-scale-x) var(--tw-scale-y);
7176
7353
  }
7177
7354
 
7355
+ .data-\[active\=true\]\:border-border1[data-active="true"] {
7356
+ border-color: var(--color-border1);
7357
+ }
7358
+
7359
+ .data-\[active\=true\]\:bg-surface4[data-active="true"] {
7360
+ background-color: var(--color-surface4);
7361
+ }
7362
+
7363
+ .data-\[active\=true\]\:text-neutral6[data-active="true"] {
7364
+ color: var(--color-neutral6);
7365
+ }
7366
+
7178
7367
  .data-\[active\=true\]\:opacity-100[data-active="true"] {
7179
7368
  opacity: 1;
7180
7369
  }
@@ -7733,10 +7922,20 @@
7733
7922
  color: var(--color-neutral6);
7734
7923
  }
7735
7924
 
7736
- .data-\[selected\=true\]\:bg-surface4[data-selected="true"] {
7925
+ .data-\[selected\=true\]\:border-border1[data-selected="true"] {
7926
+ border-color: var(--color-border1);
7927
+ }
7928
+
7929
+ .data-\[selected\=true\]\:bg-surface4[data-selected="true"], .data-\[selected\=true\]\:bg-surface4\/80[data-selected="true"] {
7737
7930
  background-color: var(--color-surface4);
7738
7931
  }
7739
7932
 
7933
+ @supports (color: color-mix(in lab, red, red)) {
7934
+ .data-\[selected\=true\]\:bg-surface4\/80[data-selected="true"] {
7935
+ background-color: color-mix(in oklab, var(--color-surface4) 80%, transparent);
7936
+ }
7937
+ }
7938
+
7740
7939
  .data-\[selected\=true\]\:text-neutral6[data-selected="true"] {
7741
7940
  color: var(--color-neutral6);
7742
7941
  }
@@ -8008,6 +8207,10 @@
8008
8207
  max-width: calc(100vw - 2rem);
8009
8208
  }
8010
8209
 
8210
+ .sm\:max-w-\[min\(56rem\,calc\(100vw-2rem\)\)\] {
8211
+ max-width: min(56rem, 100vw - 2rem);
8212
+ }
8213
+
8011
8214
  .sm\:max-w-lg {
8012
8215
  max-width: var(--container-lg);
8013
8216
  }
@@ -8076,6 +8279,26 @@
8076
8279
  display: inline-flex;
8077
8280
  }
8078
8281
 
8282
+ .md\:h-full {
8283
+ height: 100%;
8284
+ }
8285
+
8286
+ .md\:max-h-none {
8287
+ max-height: none;
8288
+ }
8289
+
8290
+ .md\:grid-cols-\[13rem_minmax\(0\,1fr\)\] {
8291
+ grid-template-columns: 13rem minmax(0, 1fr);
8292
+ }
8293
+
8294
+ .md\:grid-rows-none {
8295
+ grid-template-rows: none;
8296
+ }
8297
+
8298
+ .md\:px-5 {
8299
+ padding-inline: var(--spacing-5);
8300
+ }
8301
+
8079
8302
  .md\:px-10 {
8080
8303
  padding-inline: var(--spacing-10);
8081
8304
  }
@@ -8215,6 +8438,11 @@
8215
8438
  }
8216
8439
  }
8217
8440
 
8441
+ .rtl\:translate-x-0:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
8442
+ --tw-translate-x: var(--spacing-0);
8443
+ translate: var(--tw-translate-x) var(--tw-translate-y);
8444
+ }
8445
+
8218
8446
  .rtl\:translate-x-1\/2:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
8219
8447
  --tw-translate-x: calc(1 / 2 * 100%);
8220
8448
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -8506,11 +8734,87 @@
8506
8734
  padding-top: var(--spacing-0);
8507
8735
  }
8508
8736
 
8509
- .\[\&_\[cmdk-item\]_svg\]\:size-5 [cmdk-item] svg, .\[\&_\[data-slot\=command-input-wrapper\]_svg\]\:size-5 [data-slot="command-input-wrapper"] svg {
8737
+ .\[\&_\[cmdk-item\]_svg\]\:size-5 [cmdk-item] svg {
8738
+ width: var(--spacing-5);
8739
+ height: var(--spacing-5);
8740
+ }
8741
+
8742
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:h-14 [data-slot="command-input-wrapper"] {
8743
+ height: var(--spacing-14);
8744
+ }
8745
+
8746
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:shrink-0 [data-slot="command-input-wrapper"] {
8747
+ flex-shrink: 0;
8748
+ }
8749
+
8750
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:rounded-xl [data-slot="command-input-wrapper"] {
8751
+ border-radius: var(--radius-xl);
8752
+ }
8753
+
8754
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:border [data-slot="command-input-wrapper"] {
8755
+ border-style: var(--tw-border-style);
8756
+ border-width: 1px;
8757
+ }
8758
+
8759
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:border-border1 [data-slot="command-input-wrapper"] {
8760
+ border-color: var(--color-border1);
8761
+ }
8762
+
8763
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:bg-surface3 [data-slot="command-input-wrapper"] {
8764
+ background-color: var(--color-surface3);
8765
+ }
8766
+
8767
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:px-4 [data-slot="command-input-wrapper"] {
8768
+ padding-inline: var(--spacing-4);
8769
+ }
8770
+
8771
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:pr-11 [data-slot="command-input-wrapper"] {
8772
+ padding-right: var(--spacing-11);
8773
+ }
8774
+
8775
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:shadow-\[0_6px_18px_-16px_rgb\(0_0_0_\/_0\.55\)\] [data-slot="command-input-wrapper"] {
8776
+ --tw-shadow: 0 6px 18px -16px var(--tw-shadow-color, #0000008c);
8777
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
8778
+ }
8779
+
8780
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:transition-\[border-color\,box-shadow\] [data-slot="command-input-wrapper"] {
8781
+ transition-property: border-color, box-shadow;
8782
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
8783
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
8784
+ }
8785
+
8786
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:duration-150 [data-slot="command-input-wrapper"] {
8787
+ --tw-duration: .15s;
8788
+ transition-duration: .15s;
8789
+ }
8790
+
8791
+ .\[\&_\[data-slot\=command-input-wrapper\]\]\:ease-out [data-slot="command-input-wrapper"] {
8792
+ --tw-ease: var(--ease-out);
8793
+ transition-timing-function: var(--ease-out);
8794
+ }
8795
+
8796
+ .\[\&_\[data-slot\=command-input-wrapper\]_svg\]\:size-5 [data-slot="command-input-wrapper"] svg {
8510
8797
  width: var(--spacing-5);
8511
8798
  height: var(--spacing-5);
8512
8799
  }
8513
8800
 
8801
+ .\[\&_\[data-slot\=command-input-wrapper\]_svg\]\:text-neutral4 [data-slot="command-input-wrapper"] svg {
8802
+ color: var(--color-neutral4);
8803
+ }
8804
+
8805
+ .\[\&_\[data-slot\=command-input-wrapper\]\:focus-within\]\:border-border1 [data-slot="command-input-wrapper"]:focus-within {
8806
+ border-color: var(--color-border1);
8807
+ }
8808
+
8809
+ .\[\&_\[data-slot\=command-input-wrapper\]\:focus-within\]\:bg-surface3 [data-slot="command-input-wrapper"]:focus-within {
8810
+ background-color: var(--color-surface3);
8811
+ }
8812
+
8813
+ .\[\&_\[data-slot\=command-input-wrapper\]\:focus-within\]\:shadow-\[0_8px_22px_-18px_rgb\(0_0_0_\/_0\.6\)\] [data-slot="command-input-wrapper"]:focus-within {
8814
+ --tw-shadow: 0 8px 22px -18px var(--tw-shadow-color, #0009);
8815
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
8816
+ }
8817
+
8514
8818
  .\[\&_code\]\:bg-surface4 code {
8515
8819
  background-color: var(--color-surface4);
8516
8820
  }
@@ -8875,14 +9179,26 @@
8875
9179
  padding-inline: var(--spacing-2);
8876
9180
  }
8877
9181
 
9182
+ :is(.\*\*\:\[\[cmdk-group-heading\]\]\:px-3 *)[cmdk-group-heading] {
9183
+ padding-inline: var(--spacing-3);
9184
+ }
9185
+
8878
9186
  :is(.\*\*\:\[\[cmdk-group-heading\]\]\:pt-1\.5 *)[cmdk-group-heading] {
8879
9187
  padding-top: var(--spacing-1_5);
8880
9188
  }
8881
9189
 
9190
+ :is(.\*\*\:\[\[cmdk-group-heading\]\]\:pt-3 *)[cmdk-group-heading] {
9191
+ padding-top: var(--spacing-3);
9192
+ }
9193
+
8882
9194
  :is(.\*\*\:\[\[cmdk-group-heading\]\]\:pb-1 *)[cmdk-group-heading] {
8883
9195
  padding-bottom: var(--spacing-1);
8884
9196
  }
8885
9197
 
9198
+ :is(.\*\*\:\[\[cmdk-group-heading\]\]\:pb-2 *)[cmdk-group-heading] {
9199
+ padding-bottom: var(--spacing-2);
9200
+ }
9201
+
8886
9202
  :is(.\*\*\:\[\[cmdk-group-heading\]\]\:tracking-wider *)[cmdk-group-heading] {
8887
9203
  --tw-tracking: var(--tracking-wider);
8888
9204
  letter-spacing: var(--tracking-wider);
@@ -8896,6 +9212,10 @@
8896
9212
  text-transform: uppercase;
8897
9213
  }
8898
9214
 
9215
+ :is(.\*\*\:\[\[cmdk-group\]\]\:p-0 *)[cmdk-group] {
9216
+ padding: var(--spacing-0);
9217
+ }
9218
+
8899
9219
  :is(.\*\*\:\[\[cmdk-group\]\]\:px-2 *)[cmdk-group] {
8900
9220
  padding-inline: var(--spacing-2);
8901
9221
  }
@@ -8904,10 +9224,26 @@
8904
9224
  height: var(--spacing-12);
8905
9225
  }
8906
9226
 
9227
+ :is(.\*\*\:\[\[cmdk-input\]\]\:h-full *)[cmdk-input] {
9228
+ height: 100%;
9229
+ }
9230
+
9231
+ :is(.\*\*\:\[\[cmdk-input\]\]\:text-ui-md *)[cmdk-input] {
9232
+ font-size: var(--text-ui-md);
9233
+ }
9234
+
8907
9235
  :is(.\*\*\:\[\[cmdk-item\]\]\:px-2 *)[cmdk-item] {
8908
9236
  padding-inline: var(--spacing-2);
8909
9237
  }
8910
9238
 
9239
+ :is(.\*\*\:\[\[cmdk-item\]\]\:px-3 *)[cmdk-item] {
9240
+ padding-inline: var(--spacing-3);
9241
+ }
9242
+
9243
+ :is(.\*\*\:\[\[cmdk-item\]\]\:py-2\.5 *)[cmdk-item] {
9244
+ padding-block: var(--spacing-2_5);
9245
+ }
9246
+
8911
9247
  :is(.\*\*\:\[\[cmdk-item\]\]\:py-3 *)[cmdk-item] {
8912
9248
  padding-block: var(--spacing-3);
8913
9249
  }
@@ -9298,6 +9634,11 @@
9298
9634
  margin-left: auto;
9299
9635
  }
9300
9636
 
9637
+ .\[\&\>svg\]\:\!size-4 > svg {
9638
+ width: var(--spacing-4) !important;
9639
+ height: var(--spacing-4) !important;
9640
+ }
9641
+
9301
9642
  .\[\&\>svg\]\:size-3 > svg {
9302
9643
  width: var(--spacing-3);
9303
9644
  height: var(--spacing-3);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mastra/playground-ui",
3
3
  "type": "module",
4
- "version": "45.0.0",
4
+ "version": "45.1.0-alpha.1",
5
5
  "description": "Mastra Playground components",
6
6
  "sideEffects": [
7
7
  "**/*.css"
@@ -150,8 +150,8 @@
150
150
  "react": ">=19.0.0",
151
151
  "react-dom": ">=19.0.0",
152
152
  "tailwindcss": "^4.0.0",
153
- "@mastra/client-js": "^1.36.0",
154
- "@mastra/react": "1.3.4"
153
+ "@mastra/client-js": "^1.36.1-alpha.1",
154
+ "@mastra/react": "1.3.5-alpha.1"
155
155
  },
156
156
  "devDependencies": {
157
157
  "@storybook/addon-a11y": "^10.4.1",
@@ -190,10 +190,10 @@
190
190
  "vite-plugin-lib-inject-css": "^2.2.2",
191
191
  "vitest": "4.1.10",
192
192
  "@internal/lint": "0.0.119",
193
- "@mastra/client-js": "^1.36.0",
194
- "@mastra/core": "1.55.0",
195
193
  "@mastra/memory": "1.24.0",
196
- "@mastra/react": "1.3.4"
194
+ "@mastra/react": "1.3.5-alpha.1",
195
+ "@mastra/core": "1.56.0-alpha.1",
196
+ "@mastra/client-js": "^1.36.1-alpha.1"
197
197
  },
198
198
  "homepage": "https://mastra.ai",
199
199
  "repository": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-scroller-hooks-CdsHnth6.js","sources":["../src/ds/components/MessageScroller/message-scroller-context.ts","../src/ds/components/MessageScroller/message-scroller-hooks.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type MessageScrollerDefaultScrollPosition = 'start' | 'end' | 'last-anchor';\nexport type MessageScrollerButtonDirection = 'start' | 'end';\nexport type MessageScrollerScrollAlign = 'start' | 'center' | 'end' | 'nearest';\n\nexport type MessageScrollerScrollOptions = {\n align?: MessageScrollerScrollAlign;\n behavior?: ScrollBehavior;\n scrollMargin?: number;\n};\n\nexport type MessageScrollerScrollable = {\n start: boolean;\n end: boolean;\n};\n\nexport type MessageScrollerVisibility = {\n currentAnchorId: string | undefined;\n visibleMessageIds: string[];\n};\n\nexport type MessageScrollerActionsContextValue = {\n registerItem: (messageId: string, element: HTMLElement, scrollAnchor: boolean) => () => void;\n scrollToEnd: (options?: MessageScrollerScrollOptions) => boolean;\n scrollToMessage: (messageId: string, options?: MessageScrollerScrollOptions) => boolean;\n scrollToStart: (options?: MessageScrollerScrollOptions) => boolean;\n setContentElement: (element: HTMLDivElement | null) => void;\n setRootElement: (element: HTMLDivElement | null) => void;\n setViewportElement: (element: HTMLDivElement | null) => void;\n syncAfterScroll: () => void;\n};\n\nexport const DEFAULT_SCROLLABLE: MessageScrollerScrollable = { start: false, end: false };\nexport const DEFAULT_VISIBILITY: MessageScrollerVisibility = { currentAnchorId: undefined, visibleMessageIds: [] };\nexport const DEFAULT_SCROLL_EDGE_THRESHOLD = 8;\nexport const DEFAULT_SCROLL_MARGIN = 0;\nexport const DEFAULT_SCROLL_PREVIOUS_ITEM_PEEK = 64;\n\nexport const MessageScrollerActionsContext = React.createContext<MessageScrollerActionsContextValue | null>(null);\nexport const MessageScrollerScrollableContext = React.createContext<MessageScrollerScrollable | null>(null);\nexport const MessageScrollerVisibilityContext = React.createContext<MessageScrollerVisibility | null>(null);\n\nconst useRequiredContext = <TValue>(context: React.Context<TValue | null>, hookName: string) => {\n const value = React.useContext(context);\n if (!value) throw new Error(`${hookName} must be used within MessageScrollerProvider.`);\n return value;\n};\n\nexport const useRequiredMessageScrollerActionsContext = (hookName: string) =>\n useRequiredContext(MessageScrollerActionsContext, hookName);\n\nexport const useRequiredMessageScrollerScrollableContext = (hookName: string) =>\n useRequiredContext(MessageScrollerScrollableContext, hookName);\n\nexport const useRequiredMessageScrollerVisibilityContext = (hookName: string) =>\n useRequiredContext(MessageScrollerVisibilityContext, hookName);\n","import * as React from 'react';\n\nimport {\n MessageScrollerActionsContext,\n MessageScrollerScrollableContext,\n MessageScrollerVisibilityContext,\n useRequiredMessageScrollerActionsContext,\n useRequiredMessageScrollerScrollableContext,\n useRequiredMessageScrollerVisibilityContext,\n} from './message-scroller-context';\n\nexport const useMessageScroller = () => {\n const { scrollToEnd, scrollToMessage, scrollToStart } =\n useRequiredMessageScrollerActionsContext('useMessageScroller');\n return React.useMemo(\n () => ({ scrollToEnd, scrollToMessage, scrollToStart }),\n [scrollToEnd, scrollToMessage, scrollToStart],\n );\n};\n\nexport const useOptionalMessageScroller = () => {\n const context = React.useContext(MessageScrollerActionsContext);\n return React.useMemo(() => {\n if (!context) return undefined;\n return {\n scrollToEnd: context.scrollToEnd,\n scrollToMessage: context.scrollToMessage,\n scrollToStart: context.scrollToStart,\n };\n }, [context]);\n};\n\nexport const useMessageScrollerScrollable = () => {\n const { start, end } = useRequiredMessageScrollerScrollableContext('useMessageScrollerScrollable');\n return React.useMemo(() => ({ start, end }), [end, start]);\n};\n\nexport const useOptionalMessageScrollerScrollable = () => {\n const context = React.useContext(MessageScrollerScrollableContext);\n return React.useMemo(() => (context ? { start: context.start, end: context.end } : undefined), [context]);\n};\n\nexport const useMessageScrollerVisibility = () => {\n const { currentAnchorId, visibleMessageIds } =\n useRequiredMessageScrollerVisibilityContext('useMessageScrollerVisibility');\n return React.useMemo(() => ({ currentAnchorId, visibleMessageIds }), [currentAnchorId, visibleMessageIds]);\n};\n\nexport const useOptionalMessageScrollerVisibility = () => {\n const context = React.useContext(MessageScrollerVisibilityContext);\n return React.useMemo(\n () =>\n context\n ? {\n currentAnchorId: context.currentAnchorId,\n visibleMessageIds: context.visibleMessageIds,\n }\n : undefined,\n [context],\n );\n};\n"],"names":[],"mappings":";;AAiCO,MAAM,kBAAA,GAAgD,EAAE,KAAA,EAAO,KAAA,EAAO,KAAK,KAAA;AAC3E,MAAM,qBAAgD,EAAE,eAAA,EAAiB,MAAA,EAAW,iBAAA,EAAmB,EAAC;AACxG,MAAM,6BAAA,GAAgC;AACtC,MAAM,qBAAA,GAAwB;AAC9B,MAAM,iCAAA,GAAoC;AAE1C,MAAM,6BAAA,GAAgC,KAAA,CAAM,aAAA,CAAyD,IAAI;AACzG,MAAM,gCAAA,GAAmC,KAAA,CAAM,aAAA,CAAgD,IAAI;AACnG,MAAM,gCAAA,GAAmC,KAAA,CAAM,aAAA,CAAgD,IAAI;AAE1G,MAAM,kBAAA,GAAqB,CAAS,OAAA,EAAuC,QAAA,KAAqB;AAC9F,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,UAAA,CAAW,OAAO,CAAA;AACtC,EAAA,IAAI,CAAC,KAAA,EAAO,MAAM,IAAI,KAAA,CAAM,CAAA,EAAG,QAAQ,CAAA,6CAAA,CAA+C,CAAA;AACtF,EAAA,OAAO,KAAA;AACT,CAAA;AAEO,MAAM,wCAAA,GAA2C,CAAC,QAAA,KACvD,kBAAA,CAAmB,+BAA+B,QAAQ;AAErD,MAAM,2CAAA,GAA8C,CAAC,QAAA,KAC1D,kBAAA,CAAmB,kCAAkC,QAAQ;AAExD,MAAM,2CAAA,GAA8C,CAAC,QAAA,KAC1D,kBAAA,CAAmB,kCAAkC,QAAQ,CAAA;;AC7CxD,MAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,EAAE,WAAA,EAAa,eAAA,EAAiB,aAAA,EAAc,GAClD,yCAAyC,oBAAoB,CAAA;AAC/D,EAAA,OAAO,KAAA,CAAM,OAAA;AAAA,IACX,OAAO,EAAE,WAAA,EAAa,eAAA,EAAiB,aAAA,EAAc,CAAA;AAAA,IACrD,CAAC,WAAA,EAAa,eAAA,EAAiB,aAAa;AAAA,GAC9C;AACF;AAEO,MAAM,6BAA6B,MAAM;AAC9C,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,UAAA,CAAW,6BAA6B,CAAA;AAC9D,EAAA,OAAO,KAAA,CAAM,QAAQ,MAAM;AACzB,IAAA,IAAI,CAAC,SAAS,OAAO,MAAA;AACrB,IAAA,OAAO;AAAA,MACL,aAAa,OAAA,CAAQ,WAAA;AAAA,MACrB,iBAAiB,OAAA,CAAQ,eAAA;AAAA,MACzB,eAAe,OAAA,CAAQ;AAAA,KACzB;AAAA,EACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AACd;AAEO,MAAM,+BAA+B,MAAM;AAChD,EAAA,MAAM,EAAE,KAAA,EAAO,GAAA,EAAI,GAAI,4CAA4C,8BAA8B,CAAA;AACjG,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,OAAO,EAAE,KAAA,EAAO,KAAI,CAAA,EAAI,CAAC,GAAA,EAAK,KAAK,CAAC,CAAA;AAC3D;AAEO,MAAM,uCAAuC,MAAM;AACxD,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,UAAA,CAAW,gCAAgC,CAAA;AACjE,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,MAAO,OAAA,GAAU,EAAE,KAAA,EAAO,OAAA,CAAQ,KAAA,EAAO,GAAA,EAAK,QAAQ,GAAA,EAAI,GAAI,MAAA,EAAY,CAAC,OAAO,CAAC,CAAA;AAC1G;AAEO,MAAM,+BAA+B,MAAM;AAChD,EAAA,MAAM,EAAE,eAAA,EAAiB,iBAAA,EAAkB,GACzC,4CAA4C,8BAA8B,CAAA;AAC5E,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,OAAO,EAAE,eAAA,EAAiB,mBAAkB,CAAA,EAAI,CAAC,eAAA,EAAiB,iBAAiB,CAAC,CAAA;AAC3G;AAEO,MAAM,uCAAuC,MAAM;AACxD,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,UAAA,CAAW,gCAAgC,CAAA;AACjE,EAAA,OAAO,KAAA,CAAM,OAAA;AAAA,IACX,MACE,OAAA,GACI;AAAA,MACE,iBAAiB,OAAA,CAAQ,eAAA;AAAA,MACzB,mBAAmB,OAAA,CAAQ;AAAA,KAC7B,GACA,MAAA;AAAA,IACN,CAAC,OAAO;AAAA,GACV;AACF;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-scroller-hooks-DdXqrmC2.cjs","sources":["../src/ds/components/MessageScroller/message-scroller-context.ts","../src/ds/components/MessageScroller/message-scroller-hooks.ts"],"sourcesContent":["import * as React from 'react';\n\nexport type MessageScrollerDefaultScrollPosition = 'start' | 'end' | 'last-anchor';\nexport type MessageScrollerButtonDirection = 'start' | 'end';\nexport type MessageScrollerScrollAlign = 'start' | 'center' | 'end' | 'nearest';\n\nexport type MessageScrollerScrollOptions = {\n align?: MessageScrollerScrollAlign;\n behavior?: ScrollBehavior;\n scrollMargin?: number;\n};\n\nexport type MessageScrollerScrollable = {\n start: boolean;\n end: boolean;\n};\n\nexport type MessageScrollerVisibility = {\n currentAnchorId: string | undefined;\n visibleMessageIds: string[];\n};\n\nexport type MessageScrollerActionsContextValue = {\n registerItem: (messageId: string, element: HTMLElement, scrollAnchor: boolean) => () => void;\n scrollToEnd: (options?: MessageScrollerScrollOptions) => boolean;\n scrollToMessage: (messageId: string, options?: MessageScrollerScrollOptions) => boolean;\n scrollToStart: (options?: MessageScrollerScrollOptions) => boolean;\n setContentElement: (element: HTMLDivElement | null) => void;\n setRootElement: (element: HTMLDivElement | null) => void;\n setViewportElement: (element: HTMLDivElement | null) => void;\n syncAfterScroll: () => void;\n};\n\nexport const DEFAULT_SCROLLABLE: MessageScrollerScrollable = { start: false, end: false };\nexport const DEFAULT_VISIBILITY: MessageScrollerVisibility = { currentAnchorId: undefined, visibleMessageIds: [] };\nexport const DEFAULT_SCROLL_EDGE_THRESHOLD = 8;\nexport const DEFAULT_SCROLL_MARGIN = 0;\nexport const DEFAULT_SCROLL_PREVIOUS_ITEM_PEEK = 64;\n\nexport const MessageScrollerActionsContext = React.createContext<MessageScrollerActionsContextValue | null>(null);\nexport const MessageScrollerScrollableContext = React.createContext<MessageScrollerScrollable | null>(null);\nexport const MessageScrollerVisibilityContext = React.createContext<MessageScrollerVisibility | null>(null);\n\nconst useRequiredContext = <TValue>(context: React.Context<TValue | null>, hookName: string) => {\n const value = React.useContext(context);\n if (!value) throw new Error(`${hookName} must be used within MessageScrollerProvider.`);\n return value;\n};\n\nexport const useRequiredMessageScrollerActionsContext = (hookName: string) =>\n useRequiredContext(MessageScrollerActionsContext, hookName);\n\nexport const useRequiredMessageScrollerScrollableContext = (hookName: string) =>\n useRequiredContext(MessageScrollerScrollableContext, hookName);\n\nexport const useRequiredMessageScrollerVisibilityContext = (hookName: string) =>\n useRequiredContext(MessageScrollerVisibilityContext, hookName);\n","import * as React from 'react';\n\nimport {\n MessageScrollerActionsContext,\n MessageScrollerScrollableContext,\n MessageScrollerVisibilityContext,\n useRequiredMessageScrollerActionsContext,\n useRequiredMessageScrollerScrollableContext,\n useRequiredMessageScrollerVisibilityContext,\n} from './message-scroller-context';\n\nexport const useMessageScroller = () => {\n const { scrollToEnd, scrollToMessage, scrollToStart } =\n useRequiredMessageScrollerActionsContext('useMessageScroller');\n return React.useMemo(\n () => ({ scrollToEnd, scrollToMessage, scrollToStart }),\n [scrollToEnd, scrollToMessage, scrollToStart],\n );\n};\n\nexport const useOptionalMessageScroller = () => {\n const context = React.useContext(MessageScrollerActionsContext);\n return React.useMemo(() => {\n if (!context) return undefined;\n return {\n scrollToEnd: context.scrollToEnd,\n scrollToMessage: context.scrollToMessage,\n scrollToStart: context.scrollToStart,\n };\n }, [context]);\n};\n\nexport const useMessageScrollerScrollable = () => {\n const { start, end } = useRequiredMessageScrollerScrollableContext('useMessageScrollerScrollable');\n return React.useMemo(() => ({ start, end }), [end, start]);\n};\n\nexport const useOptionalMessageScrollerScrollable = () => {\n const context = React.useContext(MessageScrollerScrollableContext);\n return React.useMemo(() => (context ? { start: context.start, end: context.end } : undefined), [context]);\n};\n\nexport const useMessageScrollerVisibility = () => {\n const { currentAnchorId, visibleMessageIds } =\n useRequiredMessageScrollerVisibilityContext('useMessageScrollerVisibility');\n return React.useMemo(() => ({ currentAnchorId, visibleMessageIds }), [currentAnchorId, visibleMessageIds]);\n};\n\nexport const useOptionalMessageScrollerVisibility = () => {\n const context = React.useContext(MessageScrollerVisibilityContext);\n return React.useMemo(\n () =>\n context\n ? {\n currentAnchorId: context.currentAnchorId,\n visibleMessageIds: context.visibleMessageIds,\n }\n : undefined,\n [context],\n );\n};\n"],"names":["React"],"mappings":"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"}