@brokr/sdk 2.0.0 → 2.1.0

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 (41) hide show
  1. package/dist/react-notifications.js +63 -50
  2. package/dist/react-notifications.mjs +63 -50
  3. package/dist/react-styles.js +113 -75
  4. package/dist/react-styles.mjs +113 -75
  5. package/dist/react-theme.js +6 -4
  6. package/dist/react-theme.mjs +6 -4
  7. package/dist/react.js +325 -246
  8. package/dist/react.mjs +360 -281
  9. package/dist/src/react/account/AccountPanel.d.ts.map +1 -1
  10. package/dist/src/react/account/UserButton.d.ts.map +1 -1
  11. package/dist/src/react/chat/AIChat.d.ts.map +1 -1
  12. package/dist/src/react/chat/ChatInput.d.ts.map +1 -1
  13. package/dist/src/react/chat/MessagePane.d.ts.map +1 -1
  14. package/dist/src/react/chat/ModelSelector.d.ts.map +1 -1
  15. package/dist/src/react/chat/ThreadSidebar.d.ts.map +1 -1
  16. package/dist/src/react/composites/FabAI.d.ts.map +1 -1
  17. package/dist/src/react/css/account.d.ts +1 -1
  18. package/dist/src/react/css/account.d.ts.map +1 -1
  19. package/dist/src/react/css/auth.d.ts +1 -1
  20. package/dist/src/react/css/auth.d.ts.map +1 -1
  21. package/dist/src/react/css/chat-extras.d.ts +1 -1
  22. package/dist/src/react/css/chat-extras.d.ts.map +1 -1
  23. package/dist/src/react/css/chat.d.ts +1 -1
  24. package/dist/src/react/css/chat.d.ts.map +1 -1
  25. package/dist/src/react/css/composites.d.ts +1 -1
  26. package/dist/src/react/css/composites.d.ts.map +1 -1
  27. package/dist/src/react/css/markdown.d.ts +1 -1
  28. package/dist/src/react/css/markdown.d.ts.map +1 -1
  29. package/dist/src/react/css/notifications.d.ts +1 -1
  30. package/dist/src/react/css/notifications.d.ts.map +1 -1
  31. package/dist/src/react/css/tokens.d.ts +1 -1
  32. package/dist/src/react/css/tokens.d.ts.map +1 -1
  33. package/dist/src/react/notifications/NotificationBell.d.ts.map +1 -1
  34. package/dist/src/react/notifications/NotificationList.d.ts.map +1 -1
  35. package/dist/src/react/notifications/Toast.d.ts.map +1 -1
  36. package/dist/src/react/payments/Plans.d.ts.map +1 -1
  37. package/dist/src/react/theme.d.ts.map +1 -1
  38. package/dist/src/react/types.d.ts +4 -4
  39. package/dist/src/react/types.d.ts.map +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +1 -1
@@ -26,6 +26,44 @@ var TOKENS_CSS = `
26
26
  --brokr-font-size-lg: 1.125rem;
27
27
  --brokr-font-size-xl: 1.5rem;
28
28
  --brokr-font-size-2xl: clamp(2rem, 4vw, 3.5rem);
29
+
30
+ /* Z-index stacking order */
31
+ --brokr-z-chat-float: 4;
32
+ --brokr-z-drawer-backdrop: 49;
33
+ --brokr-z-drawer: 50;
34
+ --brokr-z-popover: 60;
35
+ --brokr-z-fab: 70;
36
+ --brokr-z-panel: 80;
37
+ --brokr-z-modal-backdrop: 90;
38
+ --brokr-z-dropdown: 95;
39
+ --brokr-z-notification: 9999;
40
+ --brokr-z-toast: 99999;
41
+
42
+ /* Transition durations */
43
+ --brokr-duration-fast: 100ms;
44
+ --brokr-duration-base: 150ms;
45
+ --brokr-duration-slow: 300ms;
46
+ --brokr-ease: ease;
47
+
48
+ /* Font weights */
49
+ --brokr-font-weight-normal: 400;
50
+ --brokr-font-weight-medium: 500;
51
+ --brokr-font-weight-semibold: 600;
52
+ --brokr-font-weight-bold: 700;
53
+
54
+ /* Line heights */
55
+ --brokr-leading-tight: 1.25;
56
+ --brokr-leading-snug: 1.4;
57
+ --brokr-leading-normal: 1.6;
58
+ --brokr-leading-relaxed: 1.7;
59
+
60
+ /* Font families */
61
+ --brokr-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
62
+
63
+ /* Additional radii */
64
+ --brokr-radius-pill: 999px;
65
+ --brokr-radius-sm: 4px;
66
+
29
67
  color: var(--brokr-text-primary);
30
68
  }
31
69
  `;
@@ -305,7 +343,7 @@ var AUTH_CSS = `
305
343
  }
306
344
 
307
345
  .brokr-brand-logo {
308
- border-radius: 14px;
346
+ border-radius: calc(var(--brokr-radius-card) + 6px);
309
347
  display: block;
310
348
  height: 40px;
311
349
  object-fit: contain;
@@ -419,7 +457,7 @@ var ACCOUNT_CSS = `
419
457
  right: 0;
420
458
  top: calc(100% + 2px);
421
459
  width: min(92vw, 320px);
422
- z-index: 60;
460
+ z-index: var(--brokr-z-popover);
423
461
  }
424
462
 
425
463
  .brokr-popover[data-align="start"] {
@@ -934,7 +972,7 @@ var ACCOUNT_CSS = `
934
972
  inset: 0;
935
973
  padding: var(--brokr-space-6);
936
974
  position: fixed;
937
- z-index: 90;
975
+ z-index: var(--brokr-z-modal-backdrop);
938
976
  }
939
977
 
940
978
  .brokr-modal-dialog {
@@ -1104,7 +1142,7 @@ var CHAT_CSS = `
1104
1142
  position: absolute;
1105
1143
  right: 0;
1106
1144
  top: 0;
1107
- z-index: 4;
1145
+ z-index: var(--brokr-z-chat-float);
1108
1146
  }
1109
1147
 
1110
1148
  .brokr-ai-chat-topbar > * {
@@ -1286,7 +1324,7 @@ var CHAT_CSS = `
1286
1324
  padding: var(--brokr-space-4) 0 var(--brokr-space-5);
1287
1325
  position: absolute;
1288
1326
  right: 0;
1289
- z-index: 4;
1327
+ z-index: var(--brokr-z-chat-float);
1290
1328
  }
1291
1329
 
1292
1330
  .brokr-ai-chat-textarea {
@@ -1400,7 +1438,7 @@ var CHAT_EXTRAS_CSS = `
1400
1438
  position: absolute;
1401
1439
  right: 0;
1402
1440
  top: calc(100% + 6px);
1403
- z-index: 100;
1441
+ z-index: var(--brokr-z-dropdown);
1404
1442
  }
1405
1443
 
1406
1444
  .brokr-model-option {
@@ -1506,7 +1544,7 @@ var CHAT_EXTRAS_CSS = `
1506
1544
  position: absolute;
1507
1545
  right: 0;
1508
1546
  top: calc(100% + 4px);
1509
- z-index: 100;
1547
+ z-index: var(--brokr-z-dropdown);
1510
1548
  }
1511
1549
 
1512
1550
  .brokr-ai-chat-thread-dropdown-item {
@@ -1619,7 +1657,7 @@ var CHAT_EXTRAS_CSS = `
1619
1657
  backdrop-filter: blur(4px);
1620
1658
  inset: 0;
1621
1659
  position: fixed;
1622
- z-index: 49;
1660
+ z-index: var(--brokr-z-drawer-backdrop);
1623
1661
  }
1624
1662
 
1625
1663
  .brokr-ai-chat-drawer {
@@ -1637,7 +1675,7 @@ var CHAT_EXTRAS_CSS = `
1637
1675
  position: fixed;
1638
1676
  top: 0;
1639
1677
  width: 80vw;
1640
- z-index: 50;
1678
+ z-index: var(--brokr-z-drawer);
1641
1679
  }
1642
1680
 
1643
1681
  .brokr-ai-chat-hamburger {
@@ -1696,7 +1734,7 @@ var COMPOSITES_CSS = `
1696
1734
  bottom: var(--brokr-space-6);
1697
1735
  position: fixed;
1698
1736
  right: var(--brokr-space-6);
1699
- z-index: 70;
1737
+ z-index: var(--brokr-z-fab);
1700
1738
  }
1701
1739
 
1702
1740
  .brokr-chat-panel {
@@ -1712,7 +1750,7 @@ var COMPOSITES_CSS = `
1712
1750
  right: 0;
1713
1751
  top: 0;
1714
1752
  width: min(100vw, 420px);
1715
- z-index: 80;
1753
+ z-index: var(--brokr-z-panel);
1716
1754
  border-bottom-right-radius: 0;
1717
1755
  border-top-right-radius: 0;
1718
1756
  }
@@ -1972,7 +2010,7 @@ var MARKDOWN_CSS = `
1972
2010
  background: var(--brokr-subtle-fill-strong);
1973
2011
  border-radius: 4px;
1974
2012
  color: var(--brokr-primary);
1975
- font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
2013
+ font-family: var(--brokr-font-mono);
1976
2014
  font-size: 0.85em;
1977
2015
  padding: 0.15em 0.4em;
1978
2016
  }
@@ -2051,7 +2089,7 @@ var MARKDOWN_CSS = `
2051
2089
 
2052
2090
  .brokr-md-codeblock-lang {
2053
2091
  color: var(--brokr-text-secondary);
2054
- font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
2092
+ font-family: var(--brokr-font-mono);
2055
2093
  font-weight: 500;
2056
2094
  text-transform: lowercase;
2057
2095
  }
@@ -2078,7 +2116,7 @@ var MARKDOWN_CSS = `
2078
2116
 
2079
2117
  .brokr-md-codeblock-pre {
2080
2118
  color: var(--brokr-text-primary);
2081
- font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
2119
+ font-family: var(--brokr-font-mono);
2082
2120
  font-size: 0.825em;
2083
2121
  line-height: 1.6;
2084
2122
  margin: 0;
@@ -2271,11 +2309,11 @@ var NOTIFICATIONS_CSS = `
2271
2309
  .brokr-toast-layer {
2272
2310
  box-sizing: border-box;
2273
2311
  position: fixed;
2274
- z-index: 99999;
2312
+ z-index: var(--brokr-z-toast);
2275
2313
  display: flex;
2276
2314
  flex-direction: column;
2277
- gap: 8px;
2278
- padding: 16px;
2315
+ gap: var(--brokr-space-2);
2316
+ padding: var(--brokr-space-4);
2279
2317
  pointer-events: none;
2280
2318
  max-width: 400px;
2281
2319
  width: 100%;
@@ -2297,16 +2335,16 @@ var NOTIFICATIONS_CSS = `
2297
2335
  pointer-events: auto;
2298
2336
  display: flex;
2299
2337
  align-items: flex-start;
2300
- gap: 10px;
2301
- padding: 12px 14px;
2302
- border-radius: 10px;
2303
- background: var(--brokr-toast-bg, #ffffff);
2304
- border: 1px solid var(--brokr-toast-border, #e4e4e7);
2305
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
2338
+ gap: var(--brokr-space-3);
2339
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2340
+ border-radius: calc(var(--brokr-radius-card) + 2px);
2341
+ background: var(--brokr-toast-bg);
2342
+ border: 1px solid var(--brokr-toast-border);
2343
+ box-shadow: var(--brokr-shadow-md);
2306
2344
  width: 100%;
2307
2345
  max-width: 380px;
2308
- animation: brokr-toast-enter-bottom 0.3s ease-out;
2309
- transition: opacity 0.3s ease, transform 0.3s ease;
2346
+ animation: brokr-toast-enter-bottom var(--brokr-duration-slow) ease-out;
2347
+ transition: opacity var(--brokr-duration-slow) var(--brokr-ease), transform var(--brokr-duration-slow) var(--brokr-ease);
2310
2348
  }
2311
2349
 
2312
2350
  /* Top positions: slide down from top */
@@ -2343,7 +2381,7 @@ var NOTIFICATIONS_CSS = `
2343
2381
  flex-shrink: 0;
2344
2382
  width: 8px;
2345
2383
  height: 8px;
2346
- border-radius: 50%;
2384
+ border-radius: var(--brokr-radius-pill);
2347
2385
  margin-top: 5px;
2348
2386
  background: var(--brokr-text-secondary);
2349
2387
  }
@@ -2370,16 +2408,16 @@ var NOTIFICATIONS_CSS = `
2370
2408
  }
2371
2409
 
2372
2410
  .brokr-toast-title {
2373
- font-size: 13px;
2374
- font-weight: 600;
2375
- color: var(--brokr-toast-text, #0a0a0a);
2376
- line-height: 1.35;
2411
+ font-size: var(--brokr-font-size-xs);
2412
+ font-weight: var(--brokr-font-weight-semibold);
2413
+ color: var(--brokr-toast-text);
2414
+ line-height: var(--brokr-leading-snug);
2377
2415
  }
2378
2416
 
2379
2417
  .brokr-toast-message {
2380
- font-size: 12px;
2381
- color: var(--brokr-toast-text-secondary, #52525b);
2382
- line-height: 1.4;
2418
+ font-size: var(--brokr-font-size-xs);
2419
+ color: var(--brokr-toast-text-secondary);
2420
+ line-height: var(--brokr-leading-snug);
2383
2421
  display: -webkit-box;
2384
2422
  -webkit-line-clamp: 2;
2385
2423
  -webkit-box-orient: vertical;
@@ -2395,17 +2433,17 @@ var NOTIFICATIONS_CSS = `
2395
2433
  height: 24px;
2396
2434
  border: none;
2397
2435
  background: transparent;
2398
- color: var(--brokr-toast-text-secondary, #52525b);
2436
+ color: var(--brokr-toast-text-secondary);
2399
2437
  cursor: pointer;
2400
- border-radius: 6px;
2438
+ border-radius: var(--brokr-radius-button);
2401
2439
  padding: 0;
2402
2440
  opacity: 0.5;
2403
- transition: opacity 0.15s, background 0.15s;
2441
+ transition: opacity var(--brokr-duration-base) var(--brokr-ease), background var(--brokr-duration-base) var(--brokr-ease);
2404
2442
  }
2405
2443
 
2406
2444
  .brokr-toast-dismiss:hover {
2407
2445
  opacity: 1;
2408
- background: color-mix(in srgb, var(--brokr-toast-text, #0a0a0a) 8%, transparent);
2446
+ background: color-mix(in srgb, var(--brokr-toast-text) 8%, transparent);
2409
2447
  }
2410
2448
 
2411
2449
  /* -------------------------------------------------------------------------
@@ -2429,15 +2467,15 @@ var NOTIFICATIONS_CSS = `
2429
2467
  background: transparent;
2430
2468
  color: var(--brokr-text-secondary);
2431
2469
  cursor: pointer;
2432
- border-radius: 8px;
2470
+ border-radius: var(--brokr-radius-button);
2433
2471
  padding: 0;
2434
2472
  position: relative;
2435
- transition: color 0.15s, background 0.15s;
2473
+ transition: color var(--brokr-duration-base) var(--brokr-ease), background var(--brokr-duration-base) var(--brokr-ease);
2436
2474
  }
2437
2475
 
2438
2476
  .brokr-notif-bell:hover {
2439
2477
  color: var(--brokr-text-primary);
2440
- background: color-mix(in srgb, var(--brokr-text-primary) 6%, transparent);
2478
+ background: var(--brokr-subtle-fill);
2441
2479
  }
2442
2480
 
2443
2481
  .brokr-notif-badge {
@@ -2446,12 +2484,12 @@ var NOTIFICATIONS_CSS = `
2446
2484
  right: 2px;
2447
2485
  min-width: 16px;
2448
2486
  height: 16px;
2449
- padding: 0 4px;
2450
- border-radius: 999px;
2487
+ padding: 0 var(--brokr-space-1);
2488
+ border-radius: var(--brokr-radius-pill);
2451
2489
  background: var(--brokr-error, #ef4444);
2452
- color: #fff;
2490
+ color: var(--brokr-primary-contrast);
2453
2491
  font-size: 10px;
2454
- font-weight: 700;
2492
+ font-weight: var(--brokr-font-weight-bold);
2455
2493
  line-height: 16px;
2456
2494
  text-align: center;
2457
2495
  pointer-events: none;
@@ -2469,14 +2507,14 @@ var NOTIFICATIONS_CSS = `
2469
2507
  width: 360px;
2470
2508
  max-height: 420px;
2471
2509
  background: var(--brokr-surface);
2472
- border: 1px solid var(--brokr-border);
2473
- border-radius: 12px;
2474
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
2510
+ border: 1px solid var(--brokr-muted-border);
2511
+ border-radius: calc(var(--brokr-radius-card) + 4px);
2512
+ box-shadow: var(--brokr-shadow-lg);
2475
2513
  overflow: hidden;
2476
2514
  display: flex;
2477
2515
  flex-direction: column;
2478
- z-index: 9999;
2479
- animation: brokr-dropdown-enter 0.15s ease-out;
2516
+ z-index: var(--brokr-z-notification);
2517
+ animation: brokr-dropdown-enter var(--brokr-duration-base) ease-out;
2480
2518
  }
2481
2519
 
2482
2520
  @keyframes brokr-dropdown-enter {
@@ -2489,13 +2527,13 @@ var NOTIFICATIONS_CSS = `
2489
2527
  display: flex;
2490
2528
  align-items: center;
2491
2529
  justify-content: space-between;
2492
- padding: 12px 16px;
2493
- border-bottom: 1px solid var(--brokr-border);
2530
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2531
+ border-bottom: 1px solid var(--brokr-muted-border);
2494
2532
  }
2495
2533
 
2496
2534
  .brokr-notif-dropdown-title {
2497
- font-size: 13px;
2498
- font-weight: 600;
2535
+ font-size: var(--brokr-font-size-xs);
2536
+ font-weight: var(--brokr-font-weight-semibold);
2499
2537
  color: var(--brokr-text-primary);
2500
2538
  }
2501
2539
 
@@ -2504,12 +2542,12 @@ var NOTIFICATIONS_CSS = `
2504
2542
  border: none;
2505
2543
  background: transparent;
2506
2544
  color: var(--brokr-primary);
2507
- font-size: 12px;
2508
- font-weight: 500;
2545
+ font-size: var(--brokr-font-size-xs);
2546
+ font-weight: var(--brokr-font-weight-medium);
2509
2547
  cursor: pointer;
2510
2548
  padding: 2px 6px;
2511
- border-radius: 4px;
2512
- transition: background 0.15s;
2549
+ border-radius: var(--brokr-radius-sm);
2550
+ transition: background var(--brokr-duration-base) var(--brokr-ease);
2513
2551
  }
2514
2552
 
2515
2553
  .brokr-notif-mark-all:hover {
@@ -2533,14 +2571,14 @@ var NOTIFICATIONS_CSS = `
2533
2571
  box-sizing: border-box;
2534
2572
  display: flex;
2535
2573
  align-items: flex-start;
2536
- gap: 10px;
2537
- padding: 12px 16px;
2574
+ gap: var(--brokr-space-3);
2575
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2538
2576
  border: none;
2539
2577
  background: transparent;
2540
2578
  cursor: pointer;
2541
2579
  text-align: left;
2542
2580
  width: 100%;
2543
- transition: background 0.15s;
2581
+ transition: background var(--brokr-duration-base) var(--brokr-ease);
2544
2582
  border-bottom: 1px solid color-mix(in srgb, var(--brokr-border) 50%, transparent);
2545
2583
  }
2546
2584
 
@@ -2558,7 +2596,7 @@ var NOTIFICATIONS_CSS = `
2558
2596
  flex-shrink: 0;
2559
2597
  width: 8px;
2560
2598
  height: 8px;
2561
- border-radius: 50%;
2599
+ border-radius: var(--brokr-radius-pill);
2562
2600
  margin-top: 4px;
2563
2601
  background: var(--brokr-text-secondary);
2564
2602
  }
@@ -2586,16 +2624,16 @@ var NOTIFICATIONS_CSS = `
2586
2624
  }
2587
2625
 
2588
2626
  .brokr-notif-item-title {
2589
- font-size: 13px;
2590
- font-weight: 600;
2627
+ font-size: var(--brokr-font-size-xs);
2628
+ font-weight: var(--brokr-font-weight-semibold);
2591
2629
  color: var(--brokr-text-primary);
2592
- line-height: 1.35;
2630
+ line-height: var(--brokr-leading-snug);
2593
2631
  }
2594
2632
 
2595
2633
  .brokr-notif-item-message {
2596
- font-size: 12px;
2634
+ font-size: var(--brokr-font-size-xs);
2597
2635
  color: var(--brokr-text-secondary);
2598
- line-height: 1.4;
2636
+ line-height: var(--brokr-leading-snug);
2599
2637
  display: -webkit-box;
2600
2638
  -webkit-line-clamp: 2;
2601
2639
  -webkit-box-orient: vertical;
@@ -2621,12 +2659,12 @@ var NOTIFICATIONS_CSS = `
2621
2659
  flex-direction: column;
2622
2660
  align-items: center;
2623
2661
  justify-content: center;
2624
- gap: 8px;
2625
- padding: 40px 16px;
2662
+ gap: var(--brokr-space-2);
2663
+ padding: var(--brokr-space-10) var(--brokr-space-4);
2626
2664
  }
2627
2665
 
2628
2666
  .brokr-notif-empty-text {
2629
- font-size: 13px;
2667
+ font-size: var(--brokr-font-size-xs);
2630
2668
  color: var(--brokr-text-secondary);
2631
2669
  opacity: 0.6;
2632
2670
  }
@@ -2641,8 +2679,8 @@ var NOTIFICATIONS_CSS = `
2641
2679
  max-width: 640px;
2642
2680
  display: flex;
2643
2681
  flex-direction: column;
2644
- border: 1px solid var(--brokr-border);
2645
- border-radius: 12px;
2682
+ border: 1px solid var(--brokr-muted-border);
2683
+ border-radius: calc(var(--brokr-radius-card) + 4px);
2646
2684
  background: var(--brokr-surface);
2647
2685
  overflow: hidden;
2648
2686
  }
@@ -2652,13 +2690,13 @@ var NOTIFICATIONS_CSS = `
2652
2690
  display: flex;
2653
2691
  align-items: center;
2654
2692
  justify-content: space-between;
2655
- padding: 16px 20px;
2656
- border-bottom: 1px solid var(--brokr-border);
2693
+ padding: var(--brokr-space-4) var(--brokr-space-5);
2694
+ border-bottom: 1px solid var(--brokr-muted-border);
2657
2695
  }
2658
2696
 
2659
2697
  .brokr-notif-list-title {
2660
- font-size: 16px;
2661
- font-weight: 600;
2698
+ font-size: var(--brokr-font-size-md);
2699
+ font-weight: var(--brokr-font-weight-semibold);
2662
2700
  color: var(--brokr-text-primary);
2663
2701
  }
2664
2702
 
@@ -4175,10 +4175,12 @@ function getBrokrRootStyle(theme) {
4175
4175
  ...theme.colors.error ? { ["--brokr-error"]: theme.colors.error } : {},
4176
4176
  ...theme.colors.success ? { ["--brokr-success"]: theme.colors.success } : {},
4177
4177
  ...theme.colors.warning ? { ["--brokr-warning"]: theme.colors.warning } : {},
4178
- ...theme.colors.toastBg ? { ["--brokr-toast-bg"]: theme.colors.toastBg } : {},
4179
- ...theme.colors.toastText ? { ["--brokr-toast-text"]: theme.colors.toastText } : {},
4180
- ...theme.colors.toastTextSecondary ? { ["--brokr-toast-text-secondary"]: theme.colors.toastTextSecondary } : {},
4181
- ...theme.colors.toastBorder ? { ["--brokr-toast-border"]: theme.colors.toastBorder } : {},
4178
+ // Toast vars always emitted with smart defaults — toasts stay light in dark mode.
4179
+ // Users can override via theme.colors.toastBg etc.
4180
+ ["--brokr-toast-bg"]: theme.colors.toastBg ?? "#ffffff",
4181
+ ["--brokr-toast-text"]: theme.colors.toastText ?? "#0a0a0a",
4182
+ ["--brokr-toast-text-secondary"]: theme.colors.toastTextSecondary ?? "#52525b",
4183
+ ["--brokr-toast-border"]: theme.colors.toastBorder ?? "#e4e4e7",
4182
4184
  ["--brokr-radius-card"]: `${theme.radii.card}px`,
4183
4185
  ["--brokr-radius-input"]: `${theme.radii.input}px`,
4184
4186
  ["--brokr-radius-button"]: `${theme.radii.button}px`
@@ -4152,10 +4152,12 @@ function getBrokrRootStyle(theme) {
4152
4152
  ...theme.colors.error ? { ["--brokr-error"]: theme.colors.error } : {},
4153
4153
  ...theme.colors.success ? { ["--brokr-success"]: theme.colors.success } : {},
4154
4154
  ...theme.colors.warning ? { ["--brokr-warning"]: theme.colors.warning } : {},
4155
- ...theme.colors.toastBg ? { ["--brokr-toast-bg"]: theme.colors.toastBg } : {},
4156
- ...theme.colors.toastText ? { ["--brokr-toast-text"]: theme.colors.toastText } : {},
4157
- ...theme.colors.toastTextSecondary ? { ["--brokr-toast-text-secondary"]: theme.colors.toastTextSecondary } : {},
4158
- ...theme.colors.toastBorder ? { ["--brokr-toast-border"]: theme.colors.toastBorder } : {},
4155
+ // Toast vars always emitted with smart defaults — toasts stay light in dark mode.
4156
+ // Users can override via theme.colors.toastBg etc.
4157
+ ["--brokr-toast-bg"]: theme.colors.toastBg ?? "#ffffff",
4158
+ ["--brokr-toast-text"]: theme.colors.toastText ?? "#0a0a0a",
4159
+ ["--brokr-toast-text-secondary"]: theme.colors.toastTextSecondary ?? "#52525b",
4160
+ ["--brokr-toast-border"]: theme.colors.toastBorder ?? "#e4e4e7",
4159
4161
  ["--brokr-radius-card"]: `${theme.radii.card}px`,
4160
4162
  ["--brokr-radius-input"]: `${theme.radii.input}px`,
4161
4163
  ["--brokr-radius-button"]: `${theme.radii.button}px`