@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
@@ -61,6 +61,44 @@ var TOKENS_CSS = `
61
61
  --brokr-font-size-lg: 1.125rem;
62
62
  --brokr-font-size-xl: 1.5rem;
63
63
  --brokr-font-size-2xl: clamp(2rem, 4vw, 3.5rem);
64
+
65
+ /* Z-index stacking order */
66
+ --brokr-z-chat-float: 4;
67
+ --brokr-z-drawer-backdrop: 49;
68
+ --brokr-z-drawer: 50;
69
+ --brokr-z-popover: 60;
70
+ --brokr-z-fab: 70;
71
+ --brokr-z-panel: 80;
72
+ --brokr-z-modal-backdrop: 90;
73
+ --brokr-z-dropdown: 95;
74
+ --brokr-z-notification: 9999;
75
+ --brokr-z-toast: 99999;
76
+
77
+ /* Transition durations */
78
+ --brokr-duration-fast: 100ms;
79
+ --brokr-duration-base: 150ms;
80
+ --brokr-duration-slow: 300ms;
81
+ --brokr-ease: ease;
82
+
83
+ /* Font weights */
84
+ --brokr-font-weight-normal: 400;
85
+ --brokr-font-weight-medium: 500;
86
+ --brokr-font-weight-semibold: 600;
87
+ --brokr-font-weight-bold: 700;
88
+
89
+ /* Line heights */
90
+ --brokr-leading-tight: 1.25;
91
+ --brokr-leading-snug: 1.4;
92
+ --brokr-leading-normal: 1.6;
93
+ --brokr-leading-relaxed: 1.7;
94
+
95
+ /* Font families */
96
+ --brokr-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
97
+
98
+ /* Additional radii */
99
+ --brokr-radius-pill: 999px;
100
+ --brokr-radius-sm: 4px;
101
+
64
102
  color: var(--brokr-text-primary);
65
103
  }
66
104
  `;
@@ -340,7 +378,7 @@ var AUTH_CSS = `
340
378
  }
341
379
 
342
380
  .brokr-brand-logo {
343
- border-radius: 14px;
381
+ border-radius: calc(var(--brokr-radius-card) + 6px);
344
382
  display: block;
345
383
  height: 40px;
346
384
  object-fit: contain;
@@ -454,7 +492,7 @@ var ACCOUNT_CSS = `
454
492
  right: 0;
455
493
  top: calc(100% + 2px);
456
494
  width: min(92vw, 320px);
457
- z-index: 60;
495
+ z-index: var(--brokr-z-popover);
458
496
  }
459
497
 
460
498
  .brokr-popover[data-align="start"] {
@@ -969,7 +1007,7 @@ var ACCOUNT_CSS = `
969
1007
  inset: 0;
970
1008
  padding: var(--brokr-space-6);
971
1009
  position: fixed;
972
- z-index: 90;
1010
+ z-index: var(--brokr-z-modal-backdrop);
973
1011
  }
974
1012
 
975
1013
  .brokr-modal-dialog {
@@ -1139,7 +1177,7 @@ var CHAT_CSS = `
1139
1177
  position: absolute;
1140
1178
  right: 0;
1141
1179
  top: 0;
1142
- z-index: 4;
1180
+ z-index: var(--brokr-z-chat-float);
1143
1181
  }
1144
1182
 
1145
1183
  .brokr-ai-chat-topbar > * {
@@ -1321,7 +1359,7 @@ var CHAT_CSS = `
1321
1359
  padding: var(--brokr-space-4) 0 var(--brokr-space-5);
1322
1360
  position: absolute;
1323
1361
  right: 0;
1324
- z-index: 4;
1362
+ z-index: var(--brokr-z-chat-float);
1325
1363
  }
1326
1364
 
1327
1365
  .brokr-ai-chat-textarea {
@@ -1435,7 +1473,7 @@ var CHAT_EXTRAS_CSS = `
1435
1473
  position: absolute;
1436
1474
  right: 0;
1437
1475
  top: calc(100% + 6px);
1438
- z-index: 100;
1476
+ z-index: var(--brokr-z-dropdown);
1439
1477
  }
1440
1478
 
1441
1479
  .brokr-model-option {
@@ -1541,7 +1579,7 @@ var CHAT_EXTRAS_CSS = `
1541
1579
  position: absolute;
1542
1580
  right: 0;
1543
1581
  top: calc(100% + 4px);
1544
- z-index: 100;
1582
+ z-index: var(--brokr-z-dropdown);
1545
1583
  }
1546
1584
 
1547
1585
  .brokr-ai-chat-thread-dropdown-item {
@@ -1654,7 +1692,7 @@ var CHAT_EXTRAS_CSS = `
1654
1692
  backdrop-filter: blur(4px);
1655
1693
  inset: 0;
1656
1694
  position: fixed;
1657
- z-index: 49;
1695
+ z-index: var(--brokr-z-drawer-backdrop);
1658
1696
  }
1659
1697
 
1660
1698
  .brokr-ai-chat-drawer {
@@ -1672,7 +1710,7 @@ var CHAT_EXTRAS_CSS = `
1672
1710
  position: fixed;
1673
1711
  top: 0;
1674
1712
  width: 80vw;
1675
- z-index: 50;
1713
+ z-index: var(--brokr-z-drawer);
1676
1714
  }
1677
1715
 
1678
1716
  .brokr-ai-chat-hamburger {
@@ -1731,7 +1769,7 @@ var COMPOSITES_CSS = `
1731
1769
  bottom: var(--brokr-space-6);
1732
1770
  position: fixed;
1733
1771
  right: var(--brokr-space-6);
1734
- z-index: 70;
1772
+ z-index: var(--brokr-z-fab);
1735
1773
  }
1736
1774
 
1737
1775
  .brokr-chat-panel {
@@ -1747,7 +1785,7 @@ var COMPOSITES_CSS = `
1747
1785
  right: 0;
1748
1786
  top: 0;
1749
1787
  width: min(100vw, 420px);
1750
- z-index: 80;
1788
+ z-index: var(--brokr-z-panel);
1751
1789
  border-bottom-right-radius: 0;
1752
1790
  border-top-right-radius: 0;
1753
1791
  }
@@ -2007,7 +2045,7 @@ var MARKDOWN_CSS = `
2007
2045
  background: var(--brokr-subtle-fill-strong);
2008
2046
  border-radius: 4px;
2009
2047
  color: var(--brokr-primary);
2010
- font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
2048
+ font-family: var(--brokr-font-mono);
2011
2049
  font-size: 0.85em;
2012
2050
  padding: 0.15em 0.4em;
2013
2051
  }
@@ -2086,7 +2124,7 @@ var MARKDOWN_CSS = `
2086
2124
 
2087
2125
  .brokr-md-codeblock-lang {
2088
2126
  color: var(--brokr-text-secondary);
2089
- font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
2127
+ font-family: var(--brokr-font-mono);
2090
2128
  font-weight: 500;
2091
2129
  text-transform: lowercase;
2092
2130
  }
@@ -2113,7 +2151,7 @@ var MARKDOWN_CSS = `
2113
2151
 
2114
2152
  .brokr-md-codeblock-pre {
2115
2153
  color: var(--brokr-text-primary);
2116
- font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
2154
+ font-family: var(--brokr-font-mono);
2117
2155
  font-size: 0.825em;
2118
2156
  line-height: 1.6;
2119
2157
  margin: 0;
@@ -2306,11 +2344,11 @@ var NOTIFICATIONS_CSS = `
2306
2344
  .brokr-toast-layer {
2307
2345
  box-sizing: border-box;
2308
2346
  position: fixed;
2309
- z-index: 99999;
2347
+ z-index: var(--brokr-z-toast);
2310
2348
  display: flex;
2311
2349
  flex-direction: column;
2312
- gap: 8px;
2313
- padding: 16px;
2350
+ gap: var(--brokr-space-2);
2351
+ padding: var(--brokr-space-4);
2314
2352
  pointer-events: none;
2315
2353
  max-width: 400px;
2316
2354
  width: 100%;
@@ -2332,16 +2370,16 @@ var NOTIFICATIONS_CSS = `
2332
2370
  pointer-events: auto;
2333
2371
  display: flex;
2334
2372
  align-items: flex-start;
2335
- gap: 10px;
2336
- padding: 12px 14px;
2337
- border-radius: 10px;
2338
- background: var(--brokr-toast-bg, #ffffff);
2339
- border: 1px solid var(--brokr-toast-border, #e4e4e7);
2340
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
2373
+ gap: var(--brokr-space-3);
2374
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2375
+ border-radius: calc(var(--brokr-radius-card) + 2px);
2376
+ background: var(--brokr-toast-bg);
2377
+ border: 1px solid var(--brokr-toast-border);
2378
+ box-shadow: var(--brokr-shadow-md);
2341
2379
  width: 100%;
2342
2380
  max-width: 380px;
2343
- animation: brokr-toast-enter-bottom 0.3s ease-out;
2344
- transition: opacity 0.3s ease, transform 0.3s ease;
2381
+ animation: brokr-toast-enter-bottom var(--brokr-duration-slow) ease-out;
2382
+ transition: opacity var(--brokr-duration-slow) var(--brokr-ease), transform var(--brokr-duration-slow) var(--brokr-ease);
2345
2383
  }
2346
2384
 
2347
2385
  /* Top positions: slide down from top */
@@ -2378,7 +2416,7 @@ var NOTIFICATIONS_CSS = `
2378
2416
  flex-shrink: 0;
2379
2417
  width: 8px;
2380
2418
  height: 8px;
2381
- border-radius: 50%;
2419
+ border-radius: var(--brokr-radius-pill);
2382
2420
  margin-top: 5px;
2383
2421
  background: var(--brokr-text-secondary);
2384
2422
  }
@@ -2405,16 +2443,16 @@ var NOTIFICATIONS_CSS = `
2405
2443
  }
2406
2444
 
2407
2445
  .brokr-toast-title {
2408
- font-size: 13px;
2409
- font-weight: 600;
2410
- color: var(--brokr-toast-text, #0a0a0a);
2411
- line-height: 1.35;
2446
+ font-size: var(--brokr-font-size-xs);
2447
+ font-weight: var(--brokr-font-weight-semibold);
2448
+ color: var(--brokr-toast-text);
2449
+ line-height: var(--brokr-leading-snug);
2412
2450
  }
2413
2451
 
2414
2452
  .brokr-toast-message {
2415
- font-size: 12px;
2416
- color: var(--brokr-toast-text-secondary, #52525b);
2417
- line-height: 1.4;
2453
+ font-size: var(--brokr-font-size-xs);
2454
+ color: var(--brokr-toast-text-secondary);
2455
+ line-height: var(--brokr-leading-snug);
2418
2456
  display: -webkit-box;
2419
2457
  -webkit-line-clamp: 2;
2420
2458
  -webkit-box-orient: vertical;
@@ -2430,17 +2468,17 @@ var NOTIFICATIONS_CSS = `
2430
2468
  height: 24px;
2431
2469
  border: none;
2432
2470
  background: transparent;
2433
- color: var(--brokr-toast-text-secondary, #52525b);
2471
+ color: var(--brokr-toast-text-secondary);
2434
2472
  cursor: pointer;
2435
- border-radius: 6px;
2473
+ border-radius: var(--brokr-radius-button);
2436
2474
  padding: 0;
2437
2475
  opacity: 0.5;
2438
- transition: opacity 0.15s, background 0.15s;
2476
+ transition: opacity var(--brokr-duration-base) var(--brokr-ease), background var(--brokr-duration-base) var(--brokr-ease);
2439
2477
  }
2440
2478
 
2441
2479
  .brokr-toast-dismiss:hover {
2442
2480
  opacity: 1;
2443
- background: color-mix(in srgb, var(--brokr-toast-text, #0a0a0a) 8%, transparent);
2481
+ background: color-mix(in srgb, var(--brokr-toast-text) 8%, transparent);
2444
2482
  }
2445
2483
 
2446
2484
  /* -------------------------------------------------------------------------
@@ -2464,15 +2502,15 @@ var NOTIFICATIONS_CSS = `
2464
2502
  background: transparent;
2465
2503
  color: var(--brokr-text-secondary);
2466
2504
  cursor: pointer;
2467
- border-radius: 8px;
2505
+ border-radius: var(--brokr-radius-button);
2468
2506
  padding: 0;
2469
2507
  position: relative;
2470
- transition: color 0.15s, background 0.15s;
2508
+ transition: color var(--brokr-duration-base) var(--brokr-ease), background var(--brokr-duration-base) var(--brokr-ease);
2471
2509
  }
2472
2510
 
2473
2511
  .brokr-notif-bell:hover {
2474
2512
  color: var(--brokr-text-primary);
2475
- background: color-mix(in srgb, var(--brokr-text-primary) 6%, transparent);
2513
+ background: var(--brokr-subtle-fill);
2476
2514
  }
2477
2515
 
2478
2516
  .brokr-notif-badge {
@@ -2481,12 +2519,12 @@ var NOTIFICATIONS_CSS = `
2481
2519
  right: 2px;
2482
2520
  min-width: 16px;
2483
2521
  height: 16px;
2484
- padding: 0 4px;
2485
- border-radius: 999px;
2522
+ padding: 0 var(--brokr-space-1);
2523
+ border-radius: var(--brokr-radius-pill);
2486
2524
  background: var(--brokr-error, #ef4444);
2487
- color: #fff;
2525
+ color: var(--brokr-primary-contrast);
2488
2526
  font-size: 10px;
2489
- font-weight: 700;
2527
+ font-weight: var(--brokr-font-weight-bold);
2490
2528
  line-height: 16px;
2491
2529
  text-align: center;
2492
2530
  pointer-events: none;
@@ -2504,14 +2542,14 @@ var NOTIFICATIONS_CSS = `
2504
2542
  width: 360px;
2505
2543
  max-height: 420px;
2506
2544
  background: var(--brokr-surface);
2507
- border: 1px solid var(--brokr-border);
2508
- border-radius: 12px;
2509
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
2545
+ border: 1px solid var(--brokr-muted-border);
2546
+ border-radius: calc(var(--brokr-radius-card) + 4px);
2547
+ box-shadow: var(--brokr-shadow-lg);
2510
2548
  overflow: hidden;
2511
2549
  display: flex;
2512
2550
  flex-direction: column;
2513
- z-index: 9999;
2514
- animation: brokr-dropdown-enter 0.15s ease-out;
2551
+ z-index: var(--brokr-z-notification);
2552
+ animation: brokr-dropdown-enter var(--brokr-duration-base) ease-out;
2515
2553
  }
2516
2554
 
2517
2555
  @keyframes brokr-dropdown-enter {
@@ -2524,13 +2562,13 @@ var NOTIFICATIONS_CSS = `
2524
2562
  display: flex;
2525
2563
  align-items: center;
2526
2564
  justify-content: space-between;
2527
- padding: 12px 16px;
2528
- border-bottom: 1px solid var(--brokr-border);
2565
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2566
+ border-bottom: 1px solid var(--brokr-muted-border);
2529
2567
  }
2530
2568
 
2531
2569
  .brokr-notif-dropdown-title {
2532
- font-size: 13px;
2533
- font-weight: 600;
2570
+ font-size: var(--brokr-font-size-xs);
2571
+ font-weight: var(--brokr-font-weight-semibold);
2534
2572
  color: var(--brokr-text-primary);
2535
2573
  }
2536
2574
 
@@ -2539,12 +2577,12 @@ var NOTIFICATIONS_CSS = `
2539
2577
  border: none;
2540
2578
  background: transparent;
2541
2579
  color: var(--brokr-primary);
2542
- font-size: 12px;
2543
- font-weight: 500;
2580
+ font-size: var(--brokr-font-size-xs);
2581
+ font-weight: var(--brokr-font-weight-medium);
2544
2582
  cursor: pointer;
2545
2583
  padding: 2px 6px;
2546
- border-radius: 4px;
2547
- transition: background 0.15s;
2584
+ border-radius: var(--brokr-radius-sm);
2585
+ transition: background var(--brokr-duration-base) var(--brokr-ease);
2548
2586
  }
2549
2587
 
2550
2588
  .brokr-notif-mark-all:hover {
@@ -2568,14 +2606,14 @@ var NOTIFICATIONS_CSS = `
2568
2606
  box-sizing: border-box;
2569
2607
  display: flex;
2570
2608
  align-items: flex-start;
2571
- gap: 10px;
2572
- padding: 12px 16px;
2609
+ gap: var(--brokr-space-3);
2610
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2573
2611
  border: none;
2574
2612
  background: transparent;
2575
2613
  cursor: pointer;
2576
2614
  text-align: left;
2577
2615
  width: 100%;
2578
- transition: background 0.15s;
2616
+ transition: background var(--brokr-duration-base) var(--brokr-ease);
2579
2617
  border-bottom: 1px solid color-mix(in srgb, var(--brokr-border) 50%, transparent);
2580
2618
  }
2581
2619
 
@@ -2593,7 +2631,7 @@ var NOTIFICATIONS_CSS = `
2593
2631
  flex-shrink: 0;
2594
2632
  width: 8px;
2595
2633
  height: 8px;
2596
- border-radius: 50%;
2634
+ border-radius: var(--brokr-radius-pill);
2597
2635
  margin-top: 4px;
2598
2636
  background: var(--brokr-text-secondary);
2599
2637
  }
@@ -2621,16 +2659,16 @@ var NOTIFICATIONS_CSS = `
2621
2659
  }
2622
2660
 
2623
2661
  .brokr-notif-item-title {
2624
- font-size: 13px;
2625
- font-weight: 600;
2662
+ font-size: var(--brokr-font-size-xs);
2663
+ font-weight: var(--brokr-font-weight-semibold);
2626
2664
  color: var(--brokr-text-primary);
2627
- line-height: 1.35;
2665
+ line-height: var(--brokr-leading-snug);
2628
2666
  }
2629
2667
 
2630
2668
  .brokr-notif-item-message {
2631
- font-size: 12px;
2669
+ font-size: var(--brokr-font-size-xs);
2632
2670
  color: var(--brokr-text-secondary);
2633
- line-height: 1.4;
2671
+ line-height: var(--brokr-leading-snug);
2634
2672
  display: -webkit-box;
2635
2673
  -webkit-line-clamp: 2;
2636
2674
  -webkit-box-orient: vertical;
@@ -2656,12 +2694,12 @@ var NOTIFICATIONS_CSS = `
2656
2694
  flex-direction: column;
2657
2695
  align-items: center;
2658
2696
  justify-content: center;
2659
- gap: 8px;
2660
- padding: 40px 16px;
2697
+ gap: var(--brokr-space-2);
2698
+ padding: var(--brokr-space-10) var(--brokr-space-4);
2661
2699
  }
2662
2700
 
2663
2701
  .brokr-notif-empty-text {
2664
- font-size: 13px;
2702
+ font-size: var(--brokr-font-size-xs);
2665
2703
  color: var(--brokr-text-secondary);
2666
2704
  opacity: 0.6;
2667
2705
  }
@@ -2676,8 +2714,8 @@ var NOTIFICATIONS_CSS = `
2676
2714
  max-width: 640px;
2677
2715
  display: flex;
2678
2716
  flex-direction: column;
2679
- border: 1px solid var(--brokr-border);
2680
- border-radius: 12px;
2717
+ border: 1px solid var(--brokr-muted-border);
2718
+ border-radius: calc(var(--brokr-radius-card) + 4px);
2681
2719
  background: var(--brokr-surface);
2682
2720
  overflow: hidden;
2683
2721
  }
@@ -2687,13 +2725,13 @@ var NOTIFICATIONS_CSS = `
2687
2725
  display: flex;
2688
2726
  align-items: center;
2689
2727
  justify-content: space-between;
2690
- padding: 16px 20px;
2691
- border-bottom: 1px solid var(--brokr-border);
2728
+ padding: var(--brokr-space-4) var(--brokr-space-5);
2729
+ border-bottom: 1px solid var(--brokr-muted-border);
2692
2730
  }
2693
2731
 
2694
2732
  .brokr-notif-list-title {
2695
- font-size: 16px;
2696
- font-weight: 600;
2733
+ font-size: var(--brokr-font-size-md);
2734
+ font-weight: var(--brokr-font-weight-semibold);
2697
2735
  color: var(--brokr-text-primary);
2698
2736
  }
2699
2737