@blank-utils/llm 0.3.8 → 0.3.9

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.
@@ -1105,28 +1105,14 @@ import { RotateCcw, ChevronDown } from "lucide-react";
1105
1105
  import { clsx } from "clsx";
1106
1106
  import { twMerge } from "tailwind-merge";
1107
1107
  import { Streamdown } from "streamdown";
1108
- import { createCodePlugin } from "@streamdown/code";
1109
- import { createMermaidPlugin } from "@streamdown/mermaid";
1110
- import { createMathPlugin } from "@streamdown/math";
1108
+ import { code } from "@streamdown/code";
1109
+ import { mermaid } from "@streamdown/mermaid";
1110
+ import { math } from "@streamdown/math";
1111
1111
  import "streamdown/styles.css";
1112
1112
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
1113
1113
  function cn(...inputs) {
1114
1114
  return twMerge(clsx(inputs));
1115
1115
  }
1116
- var codePlugin = createCodePlugin({
1117
- themes: ["github-light", "github-dark"]
1118
- });
1119
- var mermaidPlugin = createMermaidPlugin({
1120
- config: {
1121
- theme: "base",
1122
- themeVariables: {
1123
- fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'
1124
- }
1125
- }
1126
- });
1127
- var mathPlugin = createMathPlugin({
1128
- singleDollarTextMath: false
1129
- });
1130
1116
  var DEFAULT_SYSTEM_PROMPT = `You are a helpful AI assistant.
1131
1117
  - You can use full Markdown (bold, italic, headers, lists).
1132
1118
  - You can use Code Blocks with language syntax highlighting.
@@ -1416,9 +1402,9 @@ function Chat({
1416
1402
  ] }),
1417
1403
  messages.map((msg, i) => /* @__PURE__ */ jsx3("div", { className: cn("flex flex-col max-w-[85%]", msg.role === "user" ? "self-end" : "self-start w-full"), children: msg.role === "user" ? /* @__PURE__ */ jsxs3("div", { className: "bg-zinc-100 dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100 px-5 py-3.5 rounded-[24px] rounded-br-[8px] sm:px-6 shadow-sm border border-zinc-200 dark:border-zinc-700/50", children: [
1418
1404
  msg.images && msg.images.length > 0 && /* @__PURE__ */ jsx3("div", { className: "flex flex-wrap gap-2 mb-3 mt-1", children: msg.images.map((img) => /* @__PURE__ */ jsx3("img", { src: img.dataUrl, className: "w-24 h-24 object-cover rounded-xl border border-zinc-200 dark:border-zinc-700 shadow-sm", alt: "attachment" }, img.id)) }),
1419
- /* @__PURE__ */ jsx3("div", { className: "prose prose-sm dark:prose-invert max-w-none", children: /* @__PURE__ */ jsx3(Streamdown, { plugins: { code: codePlugin, mermaid: mermaidPlugin, math: mathPlugin }, components: markdownComponents, animated: true, isAnimating: false, children: msg.content }) })
1420
- ] }) : /* @__PURE__ */ jsx3("div", { className: "prose prose-sm dark:prose-invert max-w-none px-2 w-full min-w-0", children: /* @__PURE__ */ jsx3(Streamdown, { plugins: { code: codePlugin, mermaid: mermaidPlugin, math: mathPlugin }, components: markdownComponents, animated: true, isAnimating: false, children: msg.content }) }) }, i)),
1421
- streamingText && /* @__PURE__ */ jsx3("div", { className: "flex flex-col self-start w-full max-w-[85%]", children: /* @__PURE__ */ jsx3("div", { className: "prose prose-sm dark:prose-invert max-w-none px-2 w-full min-w-0", children: /* @__PURE__ */ jsx3(Streamdown, { plugins: { code: codePlugin, mermaid: mermaidPlugin, math: mathPlugin }, components: markdownComponents, animated: true, isAnimating: isGenerating, children: streamingText }) }) }),
1405
+ /* @__PURE__ */ jsx3("div", { className: "prose prose-sm dark:prose-invert max-w-none", children: /* @__PURE__ */ jsx3(Streamdown, { plugins: { code, mermaid, math }, components: markdownComponents, animated: true, isAnimating: false, children: msg.content }) })
1406
+ ] }) : /* @__PURE__ */ jsx3("div", { className: "prose prose-sm dark:prose-invert max-w-none px-2 w-full min-w-0", children: /* @__PURE__ */ jsx3(Streamdown, { plugins: { code, mermaid, math }, components: markdownComponents, animated: true, isAnimating: false, children: msg.content }) }) }, i)),
1407
+ streamingText && /* @__PURE__ */ jsx3("div", { className: "flex flex-col self-start w-full max-w-[85%]", children: /* @__PURE__ */ jsx3("div", { className: "prose prose-sm dark:prose-invert max-w-none px-2 w-full min-w-0", children: /* @__PURE__ */ jsx3(Streamdown, { plugins: { code, mermaid, math }, components: markdownComponents, animated: true, isAnimating: isGenerating, children: streamingText }) }) }),
1422
1408
  /* @__PURE__ */ jsx3("div", { ref: messagesEndRef, className: "h-4" })
1423
1409
  ] }),
1424
1410
  /* @__PURE__ */ jsx3("div", { className: "p-4 bg-white/80 dark:bg-zinc-950/80 backdrop-blur-xl border-t border-zinc-100 dark:border-zinc-800/80", children: /* @__PURE__ */ jsx3(
package/dist/index.css CHANGED
@@ -2131,27 +2131,75 @@ video {
2131
2131
  .prose-sm :where(.prose-sm > :last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
2132
2132
  margin-bottom: 0;
2133
2133
  }
2134
+ .pointer-events-none {
2135
+ pointer-events: none;
2136
+ }
2137
+ .pointer-events-auto {
2138
+ pointer-events: auto;
2139
+ }
2140
+ .static {
2141
+ position: static;
2142
+ }
2143
+ .fixed {
2144
+ position: fixed;
2145
+ }
2134
2146
  .absolute {
2135
2147
  position: absolute;
2136
2148
  }
2137
2149
  .relative {
2138
2150
  position: relative;
2139
2151
  }
2152
+ .sticky {
2153
+ position: sticky;
2154
+ }
2140
2155
  .inset-0 {
2141
2156
  inset: 0px;
2142
2157
  }
2158
+ .bottom-2 {
2159
+ bottom: 0.5rem;
2160
+ }
2161
+ .bottom-4 {
2162
+ bottom: 1rem;
2163
+ }
2143
2164
  .left-0 {
2144
2165
  left: 0px;
2145
2166
  }
2167
+ .left-2 {
2168
+ left: 0.5rem;
2169
+ }
2170
+ .left-4 {
2171
+ left: 1rem;
2172
+ }
2173
+ .right-0 {
2174
+ right: 0px;
2175
+ }
2146
2176
  .right-1 {
2147
2177
  right: 0.25rem;
2148
2178
  }
2179
+ .right-2 {
2180
+ right: 0.5rem;
2181
+ }
2182
+ .right-4 {
2183
+ right: 1rem;
2184
+ }
2149
2185
  .top-1 {
2150
2186
  top: 0.25rem;
2151
2187
  }
2188
+ .top-2 {
2189
+ top: 0.5rem;
2190
+ }
2191
+ .top-4 {
2192
+ top: 1rem;
2193
+ }
2152
2194
  .top-\[calc\(100\%\+8px\)\] {
2153
2195
  top: calc(100% + 8px);
2154
2196
  }
2197
+ .top-full {
2198
+ top: 100%;
2199
+ }
2200
+ .z-10 {
2201
+ z-index: 10;
2202
+ }
2155
2203
  .z-20 {
2156
2204
  z-index: 20;
2157
2205
  }
@@ -2161,6 +2209,10 @@ video {
2161
2209
  .m-0 {
2162
2210
  margin: 0px;
2163
2211
  }
2212
+ .mx-4 {
2213
+ margin-left: 1rem;
2214
+ margin-right: 1rem;
2215
+ }
2164
2216
  .mx-5 {
2165
2217
  margin-left: 1.25rem;
2166
2218
  margin-right: 1.25rem;
@@ -2169,6 +2221,13 @@ video {
2169
2221
  margin-top: 1rem;
2170
2222
  margin-bottom: 1rem;
2171
2223
  }
2224
+ .my-6 {
2225
+ margin-top: 1.5rem;
2226
+ margin-bottom: 1.5rem;
2227
+ }
2228
+ .-mt-10 {
2229
+ margin-top: -2.5rem;
2230
+ }
2172
2231
  .mb-1\.5 {
2173
2232
  margin-bottom: 0.375rem;
2174
2233
  }
@@ -2217,15 +2276,35 @@ video {
2217
2276
  .block {
2218
2277
  display: block;
2219
2278
  }
2279
+ .inline-block {
2280
+ display: inline-block;
2281
+ }
2220
2282
  .flex {
2221
2283
  display: flex;
2222
2284
  }
2223
2285
  .table {
2224
2286
  display: table;
2225
2287
  }
2288
+ .table-cell {
2289
+ display: table-cell;
2290
+ }
2291
+ .table-row {
2292
+ display: table-row;
2293
+ }
2294
+ .list-item {
2295
+ display: list-item;
2296
+ }
2226
2297
  .hidden {
2227
2298
  display: none;
2228
2299
  }
2300
+ .size-4 {
2301
+ width: 1rem;
2302
+ height: 1rem;
2303
+ }
2304
+ .size-full {
2305
+ width: 100%;
2306
+ height: 100%;
2307
+ }
2229
2308
  .h-1\.5 {
2230
2309
  height: 0.375rem;
2231
2310
  }
@@ -2256,15 +2335,27 @@ video {
2256
2335
  .h-8 {
2257
2336
  height: 2rem;
2258
2337
  }
2338
+ .h-\[46px\] {
2339
+ height: 46px;
2340
+ }
2259
2341
  .h-full {
2260
2342
  height: 100%;
2261
2343
  }
2344
+ .max-h-32 {
2345
+ max-height: 8rem;
2346
+ }
2262
2347
  .max-h-\[200px\] {
2263
2348
  max-height: 200px;
2264
2349
  }
2265
2350
  .max-h-\[300px\] {
2266
2351
  max-height: 300px;
2267
2352
  }
2353
+ .min-h-28 {
2354
+ min-height: 7rem;
2355
+ }
2356
+ .min-h-\[200px\] {
2357
+ min-height: 200px;
2358
+ }
2268
2359
  .min-h-\[24px\] {
2269
2360
  min-height: 24px;
2270
2361
  }
@@ -2304,9 +2395,18 @@ video {
2304
2395
  .min-w-0 {
2305
2396
  min-width: 0px;
2306
2397
  }
2398
+ .min-w-\[120px\] {
2399
+ min-width: 120px;
2400
+ }
2307
2401
  .max-w-\[85\%\] {
2308
2402
  max-width: 85%;
2309
2403
  }
2404
+ .max-w-full {
2405
+ max-width: 100%;
2406
+ }
2407
+ .max-w-md {
2408
+ max-width: 28rem;
2409
+ }
2310
2410
  .max-w-none {
2311
2411
  max-width: none;
2312
2412
  }
@@ -2316,6 +2416,15 @@ video {
2316
2416
  .flex-1 {
2317
2417
  flex: 1 1 0%;
2318
2418
  }
2419
+ .shrink-0 {
2420
+ flex-shrink: 0;
2421
+ }
2422
+ .border-collapse {
2423
+ border-collapse: collapse;
2424
+ }
2425
+ .origin-center {
2426
+ transform-origin: center;
2427
+ }
2319
2428
  .rotate-3 {
2320
2429
  --tw-rotate: 3deg;
2321
2430
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -2331,6 +2440,14 @@ video {
2331
2440
  .animate-pulse {
2332
2441
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
2333
2442
  }
2443
+ @keyframes spin {
2444
+ to {
2445
+ transform: rotate(360deg);
2446
+ }
2447
+ }
2448
+ .animate-spin {
2449
+ animation: spin 1s linear infinite;
2450
+ }
2334
2451
  .cursor-not-allowed {
2335
2452
  cursor: not-allowed;
2336
2453
  }
@@ -2348,12 +2465,20 @@ video {
2348
2465
  .resize {
2349
2466
  resize: both;
2350
2467
  }
2468
+ .list-inside {
2469
+ list-style-position: inside;
2470
+ }
2351
2471
  .list-decimal {
2352
2472
  list-style-type: decimal;
2353
2473
  }
2354
2474
  .list-disc {
2355
2475
  list-style-type: disc;
2356
2476
  }
2477
+ .appearance-none {
2478
+ -webkit-appearance: none;
2479
+ -moz-appearance: none;
2480
+ appearance: none;
2481
+ }
2357
2482
  .flex-col {
2358
2483
  flex-direction: column;
2359
2484
  }
@@ -2366,6 +2491,9 @@ video {
2366
2491
  .items-center {
2367
2492
  align-items: center;
2368
2493
  }
2494
+ .justify-end {
2495
+ justify-content: flex-end;
2496
+ }
2369
2497
  .justify-center {
2370
2498
  justify-content: center;
2371
2499
  }
@@ -2381,9 +2509,27 @@ video {
2381
2509
  .gap-2 {
2382
2510
  gap: 0.5rem;
2383
2511
  }
2512
+ .gap-4 {
2513
+ gap: 1rem;
2514
+ }
2384
2515
  .gap-6 {
2385
2516
  gap: 1.5rem;
2386
2517
  }
2518
+ .space-x-2 > :not([hidden]) ~ :not([hidden]) {
2519
+ --tw-space-x-reverse: 0;
2520
+ margin-right: calc(0.5rem * var(--tw-space-x-reverse));
2521
+ margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
2522
+ }
2523
+ .space-y-4 > :not([hidden]) ~ :not([hidden]) {
2524
+ --tw-space-y-reverse: 0;
2525
+ margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
2526
+ margin-bottom: calc(1rem * var(--tw-space-y-reverse));
2527
+ }
2528
+ .divide-y > :not([hidden]) ~ :not([hidden]) {
2529
+ --tw-divide-y-reverse: 0;
2530
+ border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
2531
+ border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
2532
+ }
2387
2533
  .self-start {
2388
2534
  align-self: flex-start;
2389
2535
  }
@@ -2393,14 +2539,29 @@ video {
2393
2539
  .overflow-hidden {
2394
2540
  overflow: hidden;
2395
2541
  }
2542
+ .overflow-x-auto {
2543
+ overflow-x: auto;
2544
+ }
2396
2545
  .overflow-y-auto {
2397
2546
  overflow-y: auto;
2398
2547
  }
2548
+ .overscroll-y-auto {
2549
+ overscroll-behavior-y: auto;
2550
+ }
2399
2551
  .truncate {
2400
2552
  overflow: hidden;
2401
2553
  text-overflow: ellipsis;
2402
2554
  white-space: nowrap;
2403
2555
  }
2556
+ .whitespace-normal {
2557
+ white-space: normal;
2558
+ }
2559
+ .whitespace-nowrap {
2560
+ white-space: nowrap;
2561
+ }
2562
+ .break-all {
2563
+ word-break: break-all;
2564
+ }
2404
2565
  .rounded {
2405
2566
  border-radius: 0.25rem;
2406
2567
  }
@@ -2419,6 +2580,9 @@ video {
2419
2580
  .rounded-lg {
2420
2581
  border-radius: 0.5rem;
2421
2582
  }
2583
+ .rounded-md {
2584
+ border-radius: 0.375rem;
2585
+ }
2422
2586
  .rounded-xl {
2423
2587
  border-radius: 0.75rem;
2424
2588
  }
@@ -2434,9 +2598,15 @@ video {
2434
2598
  .border-b {
2435
2599
  border-bottom-width: 1px;
2436
2600
  }
2601
+ .border-b-2 {
2602
+ border-bottom-width: 2px;
2603
+ }
2437
2604
  .border-l-2 {
2438
2605
  border-left-width: 2px;
2439
2606
  }
2607
+ .border-l-4 {
2608
+ border-left-width: 4px;
2609
+ }
2440
2610
  .border-t {
2441
2611
  border-top-width: 1px;
2442
2612
  }
@@ -2454,6 +2624,9 @@ video {
2454
2624
  --tw-border-opacity: 1;
2455
2625
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
2456
2626
  }
2627
+ .border-current {
2628
+ border-color: currentColor;
2629
+ }
2457
2630
  .border-red-200 {
2458
2631
  --tw-border-opacity: 1;
2459
2632
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
@@ -2470,10 +2643,16 @@ video {
2470
2643
  --tw-border-opacity: 1;
2471
2644
  border-color: rgb(212 212 216 / var(--tw-border-opacity, 1));
2472
2645
  }
2646
+ .bg-\[var\(--sdm-tbg\)\] {
2647
+ background-color: var(--sdm-tbg);
2648
+ }
2473
2649
  .bg-black {
2474
2650
  --tw-bg-opacity: 1;
2475
2651
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
2476
2652
  }
2653
+ .bg-black\/10 {
2654
+ background-color: rgb(0 0 0 / 0.1);
2655
+ }
2477
2656
  .bg-black\/50 {
2478
2657
  background-color: rgb(0 0 0 / 0.5);
2479
2658
  }
@@ -2493,6 +2672,10 @@ video {
2493
2672
  --tw-bg-opacity: 1;
2494
2673
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
2495
2674
  }
2675
+ .bg-red-100 {
2676
+ --tw-bg-opacity: 1;
2677
+ background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
2678
+ }
2496
2679
  .bg-red-50 {
2497
2680
  --tw-bg-opacity: 1;
2498
2681
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
@@ -2557,6 +2740,15 @@ video {
2557
2740
  .p-0 {
2558
2741
  padding: 0px;
2559
2742
  }
2743
+ .p-1 {
2744
+ padding: 0.25rem;
2745
+ }
2746
+ .p-1\.5 {
2747
+ padding: 0.375rem;
2748
+ }
2749
+ .p-2 {
2750
+ padding: 0.5rem;
2751
+ }
2560
2752
  .p-3 {
2561
2753
  padding: 0.75rem;
2562
2754
  }
@@ -2566,6 +2758,9 @@ video {
2566
2758
  .p-5 {
2567
2759
  padding: 1.25rem;
2568
2760
  }
2761
+ .p-6 {
2762
+ padding: 1.5rem;
2763
+ }
2569
2764
  .px-1 {
2570
2765
  padding-left: 0.25rem;
2571
2766
  padding-right: 0.25rem;
@@ -2636,6 +2831,17 @@ video {
2636
2831
  .text-center {
2637
2832
  text-align: center;
2638
2833
  }
2834
+ .font-mono {
2835
+ font-family:
2836
+ ui-monospace,
2837
+ SFMono-Regular,
2838
+ Menlo,
2839
+ Monaco,
2840
+ Consolas,
2841
+ "Liberation Mono",
2842
+ "Courier New",
2843
+ monospace;
2844
+ }
2639
2845
  .text-2xl {
2640
2846
  font-size: 1.5rem;
2641
2847
  line-height: 2rem;
@@ -2653,6 +2859,10 @@ video {
2653
2859
  .text-\[9px\] {
2654
2860
  font-size: 9px;
2655
2861
  }
2862
+ .text-base {
2863
+ font-size: 1rem;
2864
+ line-height: 1.5rem;
2865
+ }
2656
2866
  .text-lg {
2657
2867
  font-size: 1.125rem;
2658
2868
  line-height: 1.75rem;
@@ -2681,6 +2891,9 @@ video {
2681
2891
  .uppercase {
2682
2892
  text-transform: uppercase;
2683
2893
  }
2894
+ .lowercase {
2895
+ text-transform: lowercase;
2896
+ }
2684
2897
  .capitalize {
2685
2898
  text-transform: capitalize;
2686
2899
  }
@@ -2702,6 +2915,9 @@ video {
2702
2915
  .tracking-wider {
2703
2916
  letter-spacing: 0.05em;
2704
2917
  }
2918
+ .text-\[var\(--sdm-c\,inherit\)\] {
2919
+ color: var(--sdm-c,inherit);
2920
+ }
2705
2921
  .text-blue-500 {
2706
2922
  --tw-text-opacity: 1;
2707
2923
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
@@ -2710,10 +2926,18 @@ video {
2710
2926
  --tw-text-opacity: 1;
2711
2927
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
2712
2928
  }
2929
+ .text-red-600 {
2930
+ --tw-text-opacity: 1;
2931
+ color: rgb(220 38 38 / var(--tw-text-opacity, 1));
2932
+ }
2713
2933
  .text-red-700 {
2714
2934
  --tw-text-opacity: 1;
2715
2935
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
2716
2936
  }
2937
+ .text-red-800 {
2938
+ --tw-text-opacity: 1;
2939
+ color: rgb(153 27 27 / var(--tw-text-opacity, 1));
2940
+ }
2717
2941
  .text-white {
2718
2942
  --tw-text-opacity: 1;
2719
2943
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -2742,9 +2966,15 @@ video {
2742
2966
  --tw-text-opacity: 1;
2743
2967
  color: rgb(24 24 27 / var(--tw-text-opacity, 1));
2744
2968
  }
2969
+ .underline {
2970
+ text-decoration-line: underline;
2971
+ }
2745
2972
  .opacity-0 {
2746
2973
  opacity: 0;
2747
2974
  }
2975
+ .opacity-50 {
2976
+ opacity: 0.5;
2977
+ }
2748
2978
  .opacity-70 {
2749
2979
  opacity: 0.7;
2750
2980
  }
@@ -2759,6 +2989,14 @@ video {
2759
2989
  var(--tw-ring-shadow, 0 0 #0000),
2760
2990
  var(--tw-shadow);
2761
2991
  }
2992
+ .shadow-lg {
2993
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
2994
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
2995
+ box-shadow:
2996
+ var(--tw-ring-offset-shadow, 0 0 #0000),
2997
+ var(--tw-ring-shadow, 0 0 #0000),
2998
+ var(--tw-shadow);
2999
+ }
2762
3000
  .shadow-md {
2763
3001
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
2764
3002
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
@@ -2794,6 +3032,10 @@ video {
2794
3032
  .filter {
2795
3033
  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);
2796
3034
  }
3035
+ .backdrop-blur {
3036
+ --tw-backdrop-blur: blur(8px);
3037
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3038
+ }
2797
3039
  .backdrop-blur-md {
2798
3040
  --tw-backdrop-blur: blur(12px);
2799
3041
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
@@ -2806,6 +3048,9 @@ video {
2806
3048
  --tw-backdrop-blur: blur(24px);
2807
3049
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
2808
3050
  }
3051
+ .backdrop-filter {
3052
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3053
+ }
2809
3054
  .transition {
2810
3055
  transition-property:
2811
3056
  color,
@@ -2848,12 +3093,24 @@ video {
2848
3093
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2849
3094
  transition-duration: 150ms;
2850
3095
  }
3096
+ .duration-150 {
3097
+ transition-duration: 150ms;
3098
+ }
3099
+ .duration-200 {
3100
+ transition-duration: 200ms;
3101
+ }
2851
3102
  .duration-300 {
2852
3103
  transition-duration: 300ms;
2853
3104
  }
2854
3105
  .ease-out {
2855
3106
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
2856
3107
  }
3108
+ .\[counter-increment\:line_0\] {
3109
+ counter-increment: line 0;
3110
+ }
3111
+ .\[counter-reset\:line\] {
3112
+ counter-reset: line;
3113
+ }
2857
3114
  @media (prefers-color-scheme: dark) {
2858
3115
  .dark\:prose-invert {
2859
3116
  --tw-prose-body: var(--tw-prose-invert-body);
@@ -2884,6 +3141,70 @@ video {
2884
3141
  --tw-text-opacity: 1;
2885
3142
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
2886
3143
  }
3144
+ .before\:mr-4::before {
3145
+ content: var(--tw-content);
3146
+ margin-right: 1rem;
3147
+ }
3148
+ .before\:inline-block::before {
3149
+ content: var(--tw-content);
3150
+ display: inline-block;
3151
+ }
3152
+ .before\:w-6::before {
3153
+ content: var(--tw-content);
3154
+ width: 1.5rem;
3155
+ }
3156
+ .before\:select-none::before {
3157
+ content: var(--tw-content);
3158
+ -webkit-user-select: none;
3159
+ -moz-user-select: none;
3160
+ user-select: none;
3161
+ }
3162
+ .before\:text-right::before {
3163
+ content: var(--tw-content);
3164
+ text-align: right;
3165
+ }
3166
+ .before\:font-mono::before {
3167
+ content: var(--tw-content);
3168
+ font-family:
3169
+ ui-monospace,
3170
+ SFMono-Regular,
3171
+ Menlo,
3172
+ Monaco,
3173
+ Consolas,
3174
+ "Liberation Mono",
3175
+ "Courier New",
3176
+ monospace;
3177
+ }
3178
+ .before\:text-\[13px\]::before {
3179
+ content: var(--tw-content);
3180
+ font-size: 13px;
3181
+ }
3182
+ .before\:content-\[counter\(line\)\]::before {
3183
+ --tw-content: counter(line);
3184
+ content: var(--tw-content);
3185
+ }
3186
+ .before\:\[counter-increment\:line\]::before {
3187
+ content: var(--tw-content);
3188
+ counter-increment: line;
3189
+ }
3190
+ .\*\:first\:mt-0:first-child > * {
3191
+ margin-top: 0px;
3192
+ }
3193
+ .\*\:last\:mb-0:last-child > * {
3194
+ margin-bottom: 0px;
3195
+ }
3196
+ .\*\:last\:after\:inline:last-child > *::after {
3197
+ content: var(--tw-content);
3198
+ display: inline;
3199
+ }
3200
+ .\*\:last\:after\:align-baseline:last-child > *::after {
3201
+ content: var(--tw-content);
3202
+ vertical-align: baseline;
3203
+ }
3204
+ .\*\:last\:after\:content-\[var\(--streamdown-caret\)\]:last-child > *::after {
3205
+ --tw-content: var(--streamdown-caret);
3206
+ content: var(--tw-content);
3207
+ }
2887
3208
  .even\:bg-zinc-50:nth-child(even) {
2888
3209
  --tw-bg-opacity: 1;
2889
3210
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
@@ -2945,6 +3266,15 @@ video {
2945
3266
  --tw-scale-y: 0.98;
2946
3267
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2947
3268
  }
3269
+ .disabled\:cursor-not-allowed:disabled {
3270
+ cursor: not-allowed;
3271
+ }
3272
+ .disabled\:opacity-50:disabled {
3273
+ opacity: 0.5;
3274
+ }
3275
+ .group:hover .group-hover\:block {
3276
+ display: block;
3277
+ }
2948
3278
  .group:hover .group-hover\:scale-105 {
2949
3279
  --tw-scale-x: 1.05;
2950
3280
  --tw-scale-y: 1.05;
@@ -2953,6 +3283,16 @@ video {
2953
3283
  .group:hover .group-hover\:opacity-100 {
2954
3284
  opacity: 1;
2955
3285
  }
3286
+ @supports (backdrop-filter: var(--tw)) {
3287
+ .supports-\[backdrop-filter\]\:backdrop-blur {
3288
+ --tw-backdrop-blur: blur(8px);
3289
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3290
+ }
3291
+ .supports-\[backdrop-filter\]\:backdrop-blur-sm {
3292
+ --tw-backdrop-blur: blur(4px);
3293
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3294
+ }
3295
+ }
2956
3296
  @media (min-width: 640px) {
2957
3297
  .sm\:px-6 {
2958
3298
  padding-left: 1.5rem;
@@ -2992,6 +3332,9 @@ video {
2992
3332
  --tw-bg-opacity: 1;
2993
3333
  background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1));
2994
3334
  }
3335
+ .dark\:bg-\[var\(--shiki-dark-bg\,var\(--sdm-tbg\)\)\] {
3336
+ background-color: var(--shiki-dark-bg,var(--sdm-tbg));
3337
+ }
2995
3338
  .dark\:bg-black {
2996
3339
  --tw-bg-opacity: 1;
2997
3340
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
@@ -3037,6 +3380,9 @@ video {
3037
3380
  .dark\:bg-zinc-950\/80 {
3038
3381
  background-color: rgb(9 9 11 / 0.8);
3039
3382
  }
3383
+ .dark\:text-\[var\(--shiki-dark\,var\(--sdm-c\,inherit\)\)\] {
3384
+ color: var(--shiki-dark,var(--sdm-c,inherit));
3385
+ }
3040
3386
  .dark\:text-black {
3041
3387
  --tw-text-opacity: 1;
3042
3388
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
@@ -3105,9 +3451,21 @@ video {
3105
3451
  .\[\&\>li\]\:mt-2 > li {
3106
3452
  margin-top: 0.5rem;
3107
3453
  }
3454
+ .\[\&\>p\]\:inline > p {
3455
+ display: inline;
3456
+ }
3108
3457
  .\[\&\[align\=center\]\]\:text-center[align=center] {
3109
3458
  text-align: center;
3110
3459
  }
3111
3460
  .\[\&\[align\=right\]\]\:text-right[align=right] {
3112
3461
  text-align: right;
3113
3462
  }
3463
+ .\[\&_svg\]\:h-auto svg {
3464
+ height: auto;
3465
+ }
3466
+ .\[\&_svg\]\:w-auto svg {
3467
+ width: auto;
3468
+ }
3469
+ li .\[li_\&\]\:pl-6 {
3470
+ padding-left: 1.5rem;
3471
+ }
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ import {
26
26
  useCompletion,
27
27
  useLLM,
28
28
  useStream
29
- } from "./chunk-SGV7RTM4.js";
29
+ } from "./chunk-35TEFO6H.js";
30
30
  export {
31
31
  Chat,
32
32
  ChatInput,
@@ -2131,27 +2131,75 @@ video {
2131
2131
  .prose-sm :where(.prose-sm > :last-child):not(:where([class~=not-prose], [class~=not-prose] *)) {
2132
2132
  margin-bottom: 0;
2133
2133
  }
2134
+ .pointer-events-none {
2135
+ pointer-events: none;
2136
+ }
2137
+ .pointer-events-auto {
2138
+ pointer-events: auto;
2139
+ }
2140
+ .static {
2141
+ position: static;
2142
+ }
2143
+ .fixed {
2144
+ position: fixed;
2145
+ }
2134
2146
  .absolute {
2135
2147
  position: absolute;
2136
2148
  }
2137
2149
  .relative {
2138
2150
  position: relative;
2139
2151
  }
2152
+ .sticky {
2153
+ position: sticky;
2154
+ }
2140
2155
  .inset-0 {
2141
2156
  inset: 0px;
2142
2157
  }
2158
+ .bottom-2 {
2159
+ bottom: 0.5rem;
2160
+ }
2161
+ .bottom-4 {
2162
+ bottom: 1rem;
2163
+ }
2143
2164
  .left-0 {
2144
2165
  left: 0px;
2145
2166
  }
2167
+ .left-2 {
2168
+ left: 0.5rem;
2169
+ }
2170
+ .left-4 {
2171
+ left: 1rem;
2172
+ }
2173
+ .right-0 {
2174
+ right: 0px;
2175
+ }
2146
2176
  .right-1 {
2147
2177
  right: 0.25rem;
2148
2178
  }
2179
+ .right-2 {
2180
+ right: 0.5rem;
2181
+ }
2182
+ .right-4 {
2183
+ right: 1rem;
2184
+ }
2149
2185
  .top-1 {
2150
2186
  top: 0.25rem;
2151
2187
  }
2188
+ .top-2 {
2189
+ top: 0.5rem;
2190
+ }
2191
+ .top-4 {
2192
+ top: 1rem;
2193
+ }
2152
2194
  .top-\[calc\(100\%\+8px\)\] {
2153
2195
  top: calc(100% + 8px);
2154
2196
  }
2197
+ .top-full {
2198
+ top: 100%;
2199
+ }
2200
+ .z-10 {
2201
+ z-index: 10;
2202
+ }
2155
2203
  .z-20 {
2156
2204
  z-index: 20;
2157
2205
  }
@@ -2161,6 +2209,10 @@ video {
2161
2209
  .m-0 {
2162
2210
  margin: 0px;
2163
2211
  }
2212
+ .mx-4 {
2213
+ margin-left: 1rem;
2214
+ margin-right: 1rem;
2215
+ }
2164
2216
  .mx-5 {
2165
2217
  margin-left: 1.25rem;
2166
2218
  margin-right: 1.25rem;
@@ -2169,6 +2221,13 @@ video {
2169
2221
  margin-top: 1rem;
2170
2222
  margin-bottom: 1rem;
2171
2223
  }
2224
+ .my-6 {
2225
+ margin-top: 1.5rem;
2226
+ margin-bottom: 1.5rem;
2227
+ }
2228
+ .-mt-10 {
2229
+ margin-top: -2.5rem;
2230
+ }
2172
2231
  .mb-1\.5 {
2173
2232
  margin-bottom: 0.375rem;
2174
2233
  }
@@ -2217,15 +2276,35 @@ video {
2217
2276
  .block {
2218
2277
  display: block;
2219
2278
  }
2279
+ .inline-block {
2280
+ display: inline-block;
2281
+ }
2220
2282
  .flex {
2221
2283
  display: flex;
2222
2284
  }
2223
2285
  .table {
2224
2286
  display: table;
2225
2287
  }
2288
+ .table-cell {
2289
+ display: table-cell;
2290
+ }
2291
+ .table-row {
2292
+ display: table-row;
2293
+ }
2294
+ .list-item {
2295
+ display: list-item;
2296
+ }
2226
2297
  .hidden {
2227
2298
  display: none;
2228
2299
  }
2300
+ .size-4 {
2301
+ width: 1rem;
2302
+ height: 1rem;
2303
+ }
2304
+ .size-full {
2305
+ width: 100%;
2306
+ height: 100%;
2307
+ }
2229
2308
  .h-1\.5 {
2230
2309
  height: 0.375rem;
2231
2310
  }
@@ -2256,15 +2335,27 @@ video {
2256
2335
  .h-8 {
2257
2336
  height: 2rem;
2258
2337
  }
2338
+ .h-\[46px\] {
2339
+ height: 46px;
2340
+ }
2259
2341
  .h-full {
2260
2342
  height: 100%;
2261
2343
  }
2344
+ .max-h-32 {
2345
+ max-height: 8rem;
2346
+ }
2262
2347
  .max-h-\[200px\] {
2263
2348
  max-height: 200px;
2264
2349
  }
2265
2350
  .max-h-\[300px\] {
2266
2351
  max-height: 300px;
2267
2352
  }
2353
+ .min-h-28 {
2354
+ min-height: 7rem;
2355
+ }
2356
+ .min-h-\[200px\] {
2357
+ min-height: 200px;
2358
+ }
2268
2359
  .min-h-\[24px\] {
2269
2360
  min-height: 24px;
2270
2361
  }
@@ -2304,9 +2395,18 @@ video {
2304
2395
  .min-w-0 {
2305
2396
  min-width: 0px;
2306
2397
  }
2398
+ .min-w-\[120px\] {
2399
+ min-width: 120px;
2400
+ }
2307
2401
  .max-w-\[85\%\] {
2308
2402
  max-width: 85%;
2309
2403
  }
2404
+ .max-w-full {
2405
+ max-width: 100%;
2406
+ }
2407
+ .max-w-md {
2408
+ max-width: 28rem;
2409
+ }
2310
2410
  .max-w-none {
2311
2411
  max-width: none;
2312
2412
  }
@@ -2316,6 +2416,15 @@ video {
2316
2416
  .flex-1 {
2317
2417
  flex: 1 1 0%;
2318
2418
  }
2419
+ .shrink-0 {
2420
+ flex-shrink: 0;
2421
+ }
2422
+ .border-collapse {
2423
+ border-collapse: collapse;
2424
+ }
2425
+ .origin-center {
2426
+ transform-origin: center;
2427
+ }
2319
2428
  .rotate-3 {
2320
2429
  --tw-rotate: 3deg;
2321
2430
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -2331,6 +2440,14 @@ video {
2331
2440
  .animate-pulse {
2332
2441
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
2333
2442
  }
2443
+ @keyframes spin {
2444
+ to {
2445
+ transform: rotate(360deg);
2446
+ }
2447
+ }
2448
+ .animate-spin {
2449
+ animation: spin 1s linear infinite;
2450
+ }
2334
2451
  .cursor-not-allowed {
2335
2452
  cursor: not-allowed;
2336
2453
  }
@@ -2348,12 +2465,20 @@ video {
2348
2465
  .resize {
2349
2466
  resize: both;
2350
2467
  }
2468
+ .list-inside {
2469
+ list-style-position: inside;
2470
+ }
2351
2471
  .list-decimal {
2352
2472
  list-style-type: decimal;
2353
2473
  }
2354
2474
  .list-disc {
2355
2475
  list-style-type: disc;
2356
2476
  }
2477
+ .appearance-none {
2478
+ -webkit-appearance: none;
2479
+ -moz-appearance: none;
2480
+ appearance: none;
2481
+ }
2357
2482
  .flex-col {
2358
2483
  flex-direction: column;
2359
2484
  }
@@ -2366,6 +2491,9 @@ video {
2366
2491
  .items-center {
2367
2492
  align-items: center;
2368
2493
  }
2494
+ .justify-end {
2495
+ justify-content: flex-end;
2496
+ }
2369
2497
  .justify-center {
2370
2498
  justify-content: center;
2371
2499
  }
@@ -2381,9 +2509,27 @@ video {
2381
2509
  .gap-2 {
2382
2510
  gap: 0.5rem;
2383
2511
  }
2512
+ .gap-4 {
2513
+ gap: 1rem;
2514
+ }
2384
2515
  .gap-6 {
2385
2516
  gap: 1.5rem;
2386
2517
  }
2518
+ .space-x-2 > :not([hidden]) ~ :not([hidden]) {
2519
+ --tw-space-x-reverse: 0;
2520
+ margin-right: calc(0.5rem * var(--tw-space-x-reverse));
2521
+ margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
2522
+ }
2523
+ .space-y-4 > :not([hidden]) ~ :not([hidden]) {
2524
+ --tw-space-y-reverse: 0;
2525
+ margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
2526
+ margin-bottom: calc(1rem * var(--tw-space-y-reverse));
2527
+ }
2528
+ .divide-y > :not([hidden]) ~ :not([hidden]) {
2529
+ --tw-divide-y-reverse: 0;
2530
+ border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
2531
+ border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
2532
+ }
2387
2533
  .self-start {
2388
2534
  align-self: flex-start;
2389
2535
  }
@@ -2393,14 +2539,29 @@ video {
2393
2539
  .overflow-hidden {
2394
2540
  overflow: hidden;
2395
2541
  }
2542
+ .overflow-x-auto {
2543
+ overflow-x: auto;
2544
+ }
2396
2545
  .overflow-y-auto {
2397
2546
  overflow-y: auto;
2398
2547
  }
2548
+ .overscroll-y-auto {
2549
+ overscroll-behavior-y: auto;
2550
+ }
2399
2551
  .truncate {
2400
2552
  overflow: hidden;
2401
2553
  text-overflow: ellipsis;
2402
2554
  white-space: nowrap;
2403
2555
  }
2556
+ .whitespace-normal {
2557
+ white-space: normal;
2558
+ }
2559
+ .whitespace-nowrap {
2560
+ white-space: nowrap;
2561
+ }
2562
+ .break-all {
2563
+ word-break: break-all;
2564
+ }
2404
2565
  .rounded {
2405
2566
  border-radius: 0.25rem;
2406
2567
  }
@@ -2419,6 +2580,9 @@ video {
2419
2580
  .rounded-lg {
2420
2581
  border-radius: 0.5rem;
2421
2582
  }
2583
+ .rounded-md {
2584
+ border-radius: 0.375rem;
2585
+ }
2422
2586
  .rounded-xl {
2423
2587
  border-radius: 0.75rem;
2424
2588
  }
@@ -2434,9 +2598,15 @@ video {
2434
2598
  .border-b {
2435
2599
  border-bottom-width: 1px;
2436
2600
  }
2601
+ .border-b-2 {
2602
+ border-bottom-width: 2px;
2603
+ }
2437
2604
  .border-l-2 {
2438
2605
  border-left-width: 2px;
2439
2606
  }
2607
+ .border-l-4 {
2608
+ border-left-width: 4px;
2609
+ }
2440
2610
  .border-t {
2441
2611
  border-top-width: 1px;
2442
2612
  }
@@ -2454,6 +2624,9 @@ video {
2454
2624
  --tw-border-opacity: 1;
2455
2625
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
2456
2626
  }
2627
+ .border-current {
2628
+ border-color: currentColor;
2629
+ }
2457
2630
  .border-red-200 {
2458
2631
  --tw-border-opacity: 1;
2459
2632
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
@@ -2470,10 +2643,16 @@ video {
2470
2643
  --tw-border-opacity: 1;
2471
2644
  border-color: rgb(212 212 216 / var(--tw-border-opacity, 1));
2472
2645
  }
2646
+ .bg-\[var\(--sdm-tbg\)\] {
2647
+ background-color: var(--sdm-tbg);
2648
+ }
2473
2649
  .bg-black {
2474
2650
  --tw-bg-opacity: 1;
2475
2651
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
2476
2652
  }
2653
+ .bg-black\/10 {
2654
+ background-color: rgb(0 0 0 / 0.1);
2655
+ }
2477
2656
  .bg-black\/50 {
2478
2657
  background-color: rgb(0 0 0 / 0.5);
2479
2658
  }
@@ -2493,6 +2672,10 @@ video {
2493
2672
  --tw-bg-opacity: 1;
2494
2673
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
2495
2674
  }
2675
+ .bg-red-100 {
2676
+ --tw-bg-opacity: 1;
2677
+ background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
2678
+ }
2496
2679
  .bg-red-50 {
2497
2680
  --tw-bg-opacity: 1;
2498
2681
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
@@ -2557,6 +2740,15 @@ video {
2557
2740
  .p-0 {
2558
2741
  padding: 0px;
2559
2742
  }
2743
+ .p-1 {
2744
+ padding: 0.25rem;
2745
+ }
2746
+ .p-1\.5 {
2747
+ padding: 0.375rem;
2748
+ }
2749
+ .p-2 {
2750
+ padding: 0.5rem;
2751
+ }
2560
2752
  .p-3 {
2561
2753
  padding: 0.75rem;
2562
2754
  }
@@ -2566,6 +2758,9 @@ video {
2566
2758
  .p-5 {
2567
2759
  padding: 1.25rem;
2568
2760
  }
2761
+ .p-6 {
2762
+ padding: 1.5rem;
2763
+ }
2569
2764
  .px-1 {
2570
2765
  padding-left: 0.25rem;
2571
2766
  padding-right: 0.25rem;
@@ -2636,6 +2831,17 @@ video {
2636
2831
  .text-center {
2637
2832
  text-align: center;
2638
2833
  }
2834
+ .font-mono {
2835
+ font-family:
2836
+ ui-monospace,
2837
+ SFMono-Regular,
2838
+ Menlo,
2839
+ Monaco,
2840
+ Consolas,
2841
+ "Liberation Mono",
2842
+ "Courier New",
2843
+ monospace;
2844
+ }
2639
2845
  .text-2xl {
2640
2846
  font-size: 1.5rem;
2641
2847
  line-height: 2rem;
@@ -2653,6 +2859,10 @@ video {
2653
2859
  .text-\[9px\] {
2654
2860
  font-size: 9px;
2655
2861
  }
2862
+ .text-base {
2863
+ font-size: 1rem;
2864
+ line-height: 1.5rem;
2865
+ }
2656
2866
  .text-lg {
2657
2867
  font-size: 1.125rem;
2658
2868
  line-height: 1.75rem;
@@ -2681,6 +2891,9 @@ video {
2681
2891
  .uppercase {
2682
2892
  text-transform: uppercase;
2683
2893
  }
2894
+ .lowercase {
2895
+ text-transform: lowercase;
2896
+ }
2684
2897
  .capitalize {
2685
2898
  text-transform: capitalize;
2686
2899
  }
@@ -2702,6 +2915,9 @@ video {
2702
2915
  .tracking-wider {
2703
2916
  letter-spacing: 0.05em;
2704
2917
  }
2918
+ .text-\[var\(--sdm-c\,inherit\)\] {
2919
+ color: var(--sdm-c,inherit);
2920
+ }
2705
2921
  .text-blue-500 {
2706
2922
  --tw-text-opacity: 1;
2707
2923
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
@@ -2710,10 +2926,18 @@ video {
2710
2926
  --tw-text-opacity: 1;
2711
2927
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
2712
2928
  }
2929
+ .text-red-600 {
2930
+ --tw-text-opacity: 1;
2931
+ color: rgb(220 38 38 / var(--tw-text-opacity, 1));
2932
+ }
2713
2933
  .text-red-700 {
2714
2934
  --tw-text-opacity: 1;
2715
2935
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
2716
2936
  }
2937
+ .text-red-800 {
2938
+ --tw-text-opacity: 1;
2939
+ color: rgb(153 27 27 / var(--tw-text-opacity, 1));
2940
+ }
2717
2941
  .text-white {
2718
2942
  --tw-text-opacity: 1;
2719
2943
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -2742,9 +2966,15 @@ video {
2742
2966
  --tw-text-opacity: 1;
2743
2967
  color: rgb(24 24 27 / var(--tw-text-opacity, 1));
2744
2968
  }
2969
+ .underline {
2970
+ text-decoration-line: underline;
2971
+ }
2745
2972
  .opacity-0 {
2746
2973
  opacity: 0;
2747
2974
  }
2975
+ .opacity-50 {
2976
+ opacity: 0.5;
2977
+ }
2748
2978
  .opacity-70 {
2749
2979
  opacity: 0.7;
2750
2980
  }
@@ -2759,6 +2989,14 @@ video {
2759
2989
  var(--tw-ring-shadow, 0 0 #0000),
2760
2990
  var(--tw-shadow);
2761
2991
  }
2992
+ .shadow-lg {
2993
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
2994
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
2995
+ box-shadow:
2996
+ var(--tw-ring-offset-shadow, 0 0 #0000),
2997
+ var(--tw-ring-shadow, 0 0 #0000),
2998
+ var(--tw-shadow);
2999
+ }
2762
3000
  .shadow-md {
2763
3001
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
2764
3002
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
@@ -2794,6 +3032,10 @@ video {
2794
3032
  .filter {
2795
3033
  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);
2796
3034
  }
3035
+ .backdrop-blur {
3036
+ --tw-backdrop-blur: blur(8px);
3037
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3038
+ }
2797
3039
  .backdrop-blur-md {
2798
3040
  --tw-backdrop-blur: blur(12px);
2799
3041
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
@@ -2806,6 +3048,9 @@ video {
2806
3048
  --tw-backdrop-blur: blur(24px);
2807
3049
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
2808
3050
  }
3051
+ .backdrop-filter {
3052
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3053
+ }
2809
3054
  .transition {
2810
3055
  transition-property:
2811
3056
  color,
@@ -2848,12 +3093,24 @@ video {
2848
3093
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
2849
3094
  transition-duration: 150ms;
2850
3095
  }
3096
+ .duration-150 {
3097
+ transition-duration: 150ms;
3098
+ }
3099
+ .duration-200 {
3100
+ transition-duration: 200ms;
3101
+ }
2851
3102
  .duration-300 {
2852
3103
  transition-duration: 300ms;
2853
3104
  }
2854
3105
  .ease-out {
2855
3106
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
2856
3107
  }
3108
+ .\[counter-increment\:line_0\] {
3109
+ counter-increment: line 0;
3110
+ }
3111
+ .\[counter-reset\:line\] {
3112
+ counter-reset: line;
3113
+ }
2857
3114
  @media (prefers-color-scheme: dark) {
2858
3115
  .dark\:prose-invert {
2859
3116
  --tw-prose-body: var(--tw-prose-invert-body);
@@ -2884,6 +3141,70 @@ video {
2884
3141
  --tw-text-opacity: 1;
2885
3142
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
2886
3143
  }
3144
+ .before\:mr-4::before {
3145
+ content: var(--tw-content);
3146
+ margin-right: 1rem;
3147
+ }
3148
+ .before\:inline-block::before {
3149
+ content: var(--tw-content);
3150
+ display: inline-block;
3151
+ }
3152
+ .before\:w-6::before {
3153
+ content: var(--tw-content);
3154
+ width: 1.5rem;
3155
+ }
3156
+ .before\:select-none::before {
3157
+ content: var(--tw-content);
3158
+ -webkit-user-select: none;
3159
+ -moz-user-select: none;
3160
+ user-select: none;
3161
+ }
3162
+ .before\:text-right::before {
3163
+ content: var(--tw-content);
3164
+ text-align: right;
3165
+ }
3166
+ .before\:font-mono::before {
3167
+ content: var(--tw-content);
3168
+ font-family:
3169
+ ui-monospace,
3170
+ SFMono-Regular,
3171
+ Menlo,
3172
+ Monaco,
3173
+ Consolas,
3174
+ "Liberation Mono",
3175
+ "Courier New",
3176
+ monospace;
3177
+ }
3178
+ .before\:text-\[13px\]::before {
3179
+ content: var(--tw-content);
3180
+ font-size: 13px;
3181
+ }
3182
+ .before\:content-\[counter\(line\)\]::before {
3183
+ --tw-content: counter(line);
3184
+ content: var(--tw-content);
3185
+ }
3186
+ .before\:\[counter-increment\:line\]::before {
3187
+ content: var(--tw-content);
3188
+ counter-increment: line;
3189
+ }
3190
+ .\*\:first\:mt-0:first-child > * {
3191
+ margin-top: 0px;
3192
+ }
3193
+ .\*\:last\:mb-0:last-child > * {
3194
+ margin-bottom: 0px;
3195
+ }
3196
+ .\*\:last\:after\:inline:last-child > *::after {
3197
+ content: var(--tw-content);
3198
+ display: inline;
3199
+ }
3200
+ .\*\:last\:after\:align-baseline:last-child > *::after {
3201
+ content: var(--tw-content);
3202
+ vertical-align: baseline;
3203
+ }
3204
+ .\*\:last\:after\:content-\[var\(--streamdown-caret\)\]:last-child > *::after {
3205
+ --tw-content: var(--streamdown-caret);
3206
+ content: var(--tw-content);
3207
+ }
2887
3208
  .even\:bg-zinc-50:nth-child(even) {
2888
3209
  --tw-bg-opacity: 1;
2889
3210
  background-color: rgb(250 250 250 / var(--tw-bg-opacity, 1));
@@ -2945,6 +3266,15 @@ video {
2945
3266
  --tw-scale-y: 0.98;
2946
3267
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2947
3268
  }
3269
+ .disabled\:cursor-not-allowed:disabled {
3270
+ cursor: not-allowed;
3271
+ }
3272
+ .disabled\:opacity-50:disabled {
3273
+ opacity: 0.5;
3274
+ }
3275
+ .group:hover .group-hover\:block {
3276
+ display: block;
3277
+ }
2948
3278
  .group:hover .group-hover\:scale-105 {
2949
3279
  --tw-scale-x: 1.05;
2950
3280
  --tw-scale-y: 1.05;
@@ -2953,6 +3283,16 @@ video {
2953
3283
  .group:hover .group-hover\:opacity-100 {
2954
3284
  opacity: 1;
2955
3285
  }
3286
+ @supports (backdrop-filter: var(--tw)) {
3287
+ .supports-\[backdrop-filter\]\:backdrop-blur {
3288
+ --tw-backdrop-blur: blur(8px);
3289
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3290
+ }
3291
+ .supports-\[backdrop-filter\]\:backdrop-blur-sm {
3292
+ --tw-backdrop-blur: blur(4px);
3293
+ backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
3294
+ }
3295
+ }
2956
3296
  @media (min-width: 640px) {
2957
3297
  .sm\:px-6 {
2958
3298
  padding-left: 1.5rem;
@@ -2992,6 +3332,9 @@ video {
2992
3332
  --tw-bg-opacity: 1;
2993
3333
  background-color: rgb(9 9 11 / var(--tw-bg-opacity, 1));
2994
3334
  }
3335
+ .dark\:bg-\[var\(--shiki-dark-bg\,var\(--sdm-tbg\)\)\] {
3336
+ background-color: var(--shiki-dark-bg,var(--sdm-tbg));
3337
+ }
2995
3338
  .dark\:bg-black {
2996
3339
  --tw-bg-opacity: 1;
2997
3340
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
@@ -3037,6 +3380,9 @@ video {
3037
3380
  .dark\:bg-zinc-950\/80 {
3038
3381
  background-color: rgb(9 9 11 / 0.8);
3039
3382
  }
3383
+ .dark\:text-\[var\(--shiki-dark\,var\(--sdm-c\,inherit\)\)\] {
3384
+ color: var(--shiki-dark,var(--sdm-c,inherit));
3385
+ }
3040
3386
  .dark\:text-black {
3041
3387
  --tw-text-opacity: 1;
3042
3388
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
@@ -3105,9 +3451,21 @@ video {
3105
3451
  .\[\&\>li\]\:mt-2 > li {
3106
3452
  margin-top: 0.5rem;
3107
3453
  }
3454
+ .\[\&\>p\]\:inline > p {
3455
+ display: inline;
3456
+ }
3108
3457
  .\[\&\[align\=center\]\]\:text-center[align=center] {
3109
3458
  text-align: center;
3110
3459
  }
3111
3460
  .\[\&\[align\=right\]\]\:text-right[align=right] {
3112
3461
  text-align: right;
3113
3462
  }
3463
+ .\[\&_svg\]\:h-auto svg {
3464
+ height: auto;
3465
+ }
3466
+ .\[\&_svg\]\:w-auto svg {
3467
+ width: auto;
3468
+ }
3469
+ li .\[li_\&\]\:pl-6 {
3470
+ padding-left: 1.5rem;
3471
+ }
@@ -9,7 +9,7 @@ import {
9
9
  useCompletion,
10
10
  useLLM,
11
11
  useStream
12
- } from "../chunk-SGV7RTM4.js";
12
+ } from "../chunk-35TEFO6H.js";
13
13
  export {
14
14
  Chat,
15
15
  ChatApp,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blank-utils/llm",
3
- "version": "0.3.8",
3
+ "version": "0.3.9",
4
4
  "description": "Run LLMs directly in your browser with WebGPU acceleration. Supports React hooks and eager background loading.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",