@brokr/sdk 2.1.1 → 2.1.3

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.
@@ -99,7 +99,13 @@ var TOKENS_CSS = `
99
99
  --brokr-radius-pill: 999px;
100
100
  --brokr-radius-sm: 4px;
101
101
 
102
+ background: var(--brokr-bg);
102
103
  color: var(--brokr-text-primary);
104
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
105
+ font-size: 14px;
106
+ line-height: 1.6;
107
+ min-height: 100vh;
108
+ -webkit-font-smoothing: antialiased;
103
109
  }
104
110
  `;
105
111
 
@@ -2921,8 +2927,274 @@ var NOTIFICATIONS_CSS = `
2921
2927
  }
2922
2928
  `;
2923
2929
 
2930
+ // src/react/css/data-table.ts
2931
+ var DATA_TABLE_CSS = `
2932
+ .brokr-dt-wrap {
2933
+ border: 1px solid var(--brokr-muted-border);
2934
+ border-radius: calc(var(--brokr-radius-card) + 2px);
2935
+ overflow: hidden;
2936
+ }
2937
+
2938
+ .brokr-dt-scroll {
2939
+ overflow-x: auto;
2940
+ scrollbar-width: thin;
2941
+ scrollbar-color: color-mix(in srgb, var(--brokr-text-primary) 12%, transparent) transparent;
2942
+ }
2943
+
2944
+ .brokr-dt {
2945
+ border-collapse: collapse;
2946
+ min-width: 100%;
2947
+ width: 100%;
2948
+ }
2949
+
2950
+ .brokr-dt-th {
2951
+ background: var(--brokr-subtle-fill);
2952
+ border-bottom: 1px solid var(--brokr-muted-border);
2953
+ color: var(--brokr-text-secondary);
2954
+ font-size: var(--brokr-font-size-xs);
2955
+ font-weight: var(--brokr-font-weight-semibold);
2956
+ letter-spacing: 0.03em;
2957
+ line-height: var(--brokr-leading-snug);
2958
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2959
+ text-align: left;
2960
+ text-transform: uppercase;
2961
+ white-space: nowrap;
2962
+ }
2963
+
2964
+ .brokr-dt-th--sortable {
2965
+ padding: 0;
2966
+ }
2967
+
2968
+ .brokr-dt-sort-btn {
2969
+ align-items: center;
2970
+ appearance: none;
2971
+ background: transparent;
2972
+ border: none;
2973
+ color: inherit;
2974
+ cursor: pointer;
2975
+ display: inline-flex;
2976
+ font: inherit;
2977
+ font-size: inherit;
2978
+ font-weight: inherit;
2979
+ gap: var(--brokr-space-1);
2980
+ letter-spacing: inherit;
2981
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2982
+ text-transform: inherit;
2983
+ width: 100%;
2984
+ }
2985
+
2986
+ .brokr-dt-sort-btn:hover {
2987
+ color: var(--brokr-text-primary);
2988
+ }
2989
+
2990
+ .brokr-dt-td {
2991
+ border-bottom: 1px solid color-mix(in srgb, var(--brokr-border) 40%, transparent);
2992
+ color: var(--brokr-text-primary);
2993
+ font-size: var(--brokr-font-size-sm);
2994
+ line-height: var(--brokr-leading-snug);
2995
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2996
+ vertical-align: middle;
2997
+ }
2998
+
2999
+ .brokr-dt-row:last-child .brokr-dt-td {
3000
+ border-bottom: none;
3001
+ }
3002
+
3003
+ .brokr-dt-row--clickable {
3004
+ cursor: pointer;
3005
+ transition: background-color var(--brokr-duration-fast) var(--brokr-ease);
3006
+ }
3007
+
3008
+ .brokr-dt-row--clickable:hover {
3009
+ background: var(--brokr-subtle-fill);
3010
+ }
3011
+
3012
+ .brokr-dt-empty {
3013
+ align-items: center;
3014
+ display: flex;
3015
+ justify-content: center;
3016
+ min-height: 120px;
3017
+ padding: var(--brokr-space-8);
3018
+ }
3019
+
3020
+ .brokr-dt-pagination {
3021
+ align-items: center;
3022
+ border-top: 1px solid var(--brokr-muted-border);
3023
+ display: flex;
3024
+ justify-content: space-between;
3025
+ padding: var(--brokr-space-3) var(--brokr-space-4);
3026
+ }
3027
+
3028
+ .brokr-dt-pagination-info {
3029
+ color: var(--brokr-text-secondary);
3030
+ font-size: var(--brokr-font-size-xs);
3031
+ }
3032
+
3033
+ .brokr-dt-pagination-btns {
3034
+ align-items: center;
3035
+ display: flex;
3036
+ gap: var(--brokr-space-2);
3037
+ }
3038
+
3039
+ .brokr-dt-page-btn {
3040
+ min-height: 32px;
3041
+ min-width: 32px;
3042
+ padding: 0;
3043
+ }
3044
+
3045
+ .brokr-dt-page-label {
3046
+ color: var(--brokr-text-secondary);
3047
+ font-size: var(--brokr-font-size-xs);
3048
+ min-width: 48px;
3049
+ text-align: center;
3050
+ }
3051
+ `;
3052
+
3053
+ // src/react/css/stats-grid.ts
3054
+ var STATS_GRID_CSS = `
3055
+ .brokr-stats-grid {
3056
+ display: grid;
3057
+ gap: var(--brokr-space-4);
3058
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
3059
+ }
3060
+
3061
+ .brokr-metric-card {
3062
+ display: flex;
3063
+ flex-direction: column;
3064
+ gap: var(--brokr-space-2);
3065
+ padding: var(--brokr-space-5);
3066
+ }
3067
+
3068
+ .brokr-metric-label {
3069
+ color: var(--brokr-text-secondary);
3070
+ font-size: var(--brokr-font-size-xs);
3071
+ font-weight: var(--brokr-font-weight-medium);
3072
+ letter-spacing: 0.02em;
3073
+ text-transform: uppercase;
3074
+ }
3075
+
3076
+ .brokr-metric-row {
3077
+ align-items: baseline;
3078
+ display: flex;
3079
+ gap: var(--brokr-space-2);
3080
+ }
3081
+
3082
+ .brokr-metric-value {
3083
+ color: var(--brokr-text-primary);
3084
+ font-size: var(--brokr-font-size-xl);
3085
+ font-weight: var(--brokr-font-weight-bold);
3086
+ letter-spacing: -0.03em;
3087
+ line-height: 1;
3088
+ }
3089
+
3090
+ .brokr-metric-trend {
3091
+ font-size: var(--brokr-font-size-xs);
3092
+ font-weight: var(--brokr-font-weight-semibold);
3093
+ line-height: 1;
3094
+ }
3095
+
3096
+ .brokr-metric-trend--up {
3097
+ color: var(--brokr-success, #22c55e);
3098
+ }
3099
+
3100
+ .brokr-metric-trend--down {
3101
+ color: var(--brokr-error, #ef4444);
3102
+ }
3103
+
3104
+ .brokr-metric-sparkline {
3105
+ height: 24px;
3106
+ margin-top: var(--brokr-space-1);
3107
+ width: 100%;
3108
+ }
3109
+ `;
3110
+
3111
+ // src/react/css/activity-feed.ts
3112
+ var ACTIVITY_FEED_CSS = `
3113
+ .brokr-feed {
3114
+ display: flex;
3115
+ flex-direction: column;
3116
+ }
3117
+
3118
+ .brokr-feed-item {
3119
+ align-items: flex-start;
3120
+ display: flex;
3121
+ gap: var(--brokr-space-3);
3122
+ padding: var(--brokr-space-3) 0;
3123
+ position: relative;
3124
+ }
3125
+
3126
+ .brokr-feed-item + .brokr-feed-item {
3127
+ border-top: 1px solid color-mix(in srgb, var(--brokr-border) 40%, transparent);
3128
+ }
3129
+
3130
+ .brokr-feed-dot {
3131
+ background: var(--brokr-text-secondary);
3132
+ border-radius: var(--brokr-radius-pill);
3133
+ flex-shrink: 0;
3134
+ height: 8px;
3135
+ margin-top: 5px;
3136
+ width: 8px;
3137
+ }
3138
+
3139
+ .brokr-feed-dot--success { background: var(--brokr-success, #22c55e); }
3140
+ .brokr-feed-dot--error { background: var(--brokr-error, #ef4444); }
3141
+ .brokr-feed-dot--warning { background: var(--brokr-warning, #f59e0b); }
3142
+ .brokr-feed-dot--default { background: var(--brokr-primary); }
3143
+
3144
+ .brokr-feed-content {
3145
+ display: flex;
3146
+ flex: 1;
3147
+ flex-direction: column;
3148
+ gap: 2px;
3149
+ min-width: 0;
3150
+ }
3151
+
3152
+ .brokr-feed-title {
3153
+ color: var(--brokr-text-primary);
3154
+ font-size: var(--brokr-font-size-sm);
3155
+ font-weight: var(--brokr-font-weight-medium);
3156
+ line-height: var(--brokr-leading-snug);
3157
+ }
3158
+
3159
+ .brokr-feed-message {
3160
+ color: var(--brokr-text-secondary);
3161
+ display: -webkit-box;
3162
+ font-size: var(--brokr-font-size-xs);
3163
+ line-height: var(--brokr-leading-snug);
3164
+ overflow: hidden;
3165
+ -webkit-box-orient: vertical;
3166
+ -webkit-line-clamp: 2;
3167
+ }
3168
+
3169
+ .brokr-feed-time {
3170
+ color: var(--brokr-text-secondary);
3171
+ flex-shrink: 0;
3172
+ font-size: 11px;
3173
+ margin-top: 2px;
3174
+ opacity: 0.6;
3175
+ white-space: nowrap;
3176
+ }
3177
+
3178
+ .brokr-feed-empty {
3179
+ align-items: center;
3180
+ display: flex;
3181
+ justify-content: center;
3182
+ min-height: 80px;
3183
+ padding: var(--brokr-space-6);
3184
+ }
3185
+ `;
3186
+
3187
+ // src/react/css/usage-grid.ts
3188
+ var USAGE_GRID_CSS = `
3189
+ .brokr-usage-grid {
3190
+ display: grid;
3191
+ gap: var(--brokr-space-4);
3192
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
3193
+ }
3194
+ `;
3195
+
2924
3196
  // src/react/css/index.ts
2925
- var BROKR_GLOBAL_CSS = TOKENS_CSS + RESET_CSS + PRIMITIVES_CSS + AUTH_CSS + GATES_CSS + ACCOUNT_CSS + COMPOSITES_CSS + CHAT_CSS + SKELETON_CSS + ANIMATIONS_CSS + CHAT_EXTRAS_CSS + MARKDOWN_CSS + RESPONSIVE_CSS + NOTIFICATIONS_CSS;
3197
+ var BROKR_GLOBAL_CSS = TOKENS_CSS + RESET_CSS + PRIMITIVES_CSS + AUTH_CSS + GATES_CSS + ACCOUNT_CSS + COMPOSITES_CSS + CHAT_CSS + SKELETON_CSS + ANIMATIONS_CSS + CHAT_EXTRAS_CSS + MARKDOWN_CSS + RESPONSIVE_CSS + NOTIFICATIONS_CSS + DATA_TABLE_CSS + STATS_GRID_CSS + ACTIVITY_FEED_CSS + USAGE_GRID_CSS;
2926
3198
 
2927
3199
  // src/react/styles-entry.tsx
2928
3200
  function BrokrStyles() {
@@ -64,7 +64,13 @@ var TOKENS_CSS = `
64
64
  --brokr-radius-pill: 999px;
65
65
  --brokr-radius-sm: 4px;
66
66
 
67
+ background: var(--brokr-bg);
67
68
  color: var(--brokr-text-primary);
69
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
70
+ font-size: 14px;
71
+ line-height: 1.6;
72
+ min-height: 100vh;
73
+ -webkit-font-smoothing: antialiased;
68
74
  }
69
75
  `;
70
76
 
@@ -2886,8 +2892,274 @@ var NOTIFICATIONS_CSS = `
2886
2892
  }
2887
2893
  `;
2888
2894
 
2895
+ // src/react/css/data-table.ts
2896
+ var DATA_TABLE_CSS = `
2897
+ .brokr-dt-wrap {
2898
+ border: 1px solid var(--brokr-muted-border);
2899
+ border-radius: calc(var(--brokr-radius-card) + 2px);
2900
+ overflow: hidden;
2901
+ }
2902
+
2903
+ .brokr-dt-scroll {
2904
+ overflow-x: auto;
2905
+ scrollbar-width: thin;
2906
+ scrollbar-color: color-mix(in srgb, var(--brokr-text-primary) 12%, transparent) transparent;
2907
+ }
2908
+
2909
+ .brokr-dt {
2910
+ border-collapse: collapse;
2911
+ min-width: 100%;
2912
+ width: 100%;
2913
+ }
2914
+
2915
+ .brokr-dt-th {
2916
+ background: var(--brokr-subtle-fill);
2917
+ border-bottom: 1px solid var(--brokr-muted-border);
2918
+ color: var(--brokr-text-secondary);
2919
+ font-size: var(--brokr-font-size-xs);
2920
+ font-weight: var(--brokr-font-weight-semibold);
2921
+ letter-spacing: 0.03em;
2922
+ line-height: var(--brokr-leading-snug);
2923
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2924
+ text-align: left;
2925
+ text-transform: uppercase;
2926
+ white-space: nowrap;
2927
+ }
2928
+
2929
+ .brokr-dt-th--sortable {
2930
+ padding: 0;
2931
+ }
2932
+
2933
+ .brokr-dt-sort-btn {
2934
+ align-items: center;
2935
+ appearance: none;
2936
+ background: transparent;
2937
+ border: none;
2938
+ color: inherit;
2939
+ cursor: pointer;
2940
+ display: inline-flex;
2941
+ font: inherit;
2942
+ font-size: inherit;
2943
+ font-weight: inherit;
2944
+ gap: var(--brokr-space-1);
2945
+ letter-spacing: inherit;
2946
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2947
+ text-transform: inherit;
2948
+ width: 100%;
2949
+ }
2950
+
2951
+ .brokr-dt-sort-btn:hover {
2952
+ color: var(--brokr-text-primary);
2953
+ }
2954
+
2955
+ .brokr-dt-td {
2956
+ border-bottom: 1px solid color-mix(in srgb, var(--brokr-border) 40%, transparent);
2957
+ color: var(--brokr-text-primary);
2958
+ font-size: var(--brokr-font-size-sm);
2959
+ line-height: var(--brokr-leading-snug);
2960
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2961
+ vertical-align: middle;
2962
+ }
2963
+
2964
+ .brokr-dt-row:last-child .brokr-dt-td {
2965
+ border-bottom: none;
2966
+ }
2967
+
2968
+ .brokr-dt-row--clickable {
2969
+ cursor: pointer;
2970
+ transition: background-color var(--brokr-duration-fast) var(--brokr-ease);
2971
+ }
2972
+
2973
+ .brokr-dt-row--clickable:hover {
2974
+ background: var(--brokr-subtle-fill);
2975
+ }
2976
+
2977
+ .brokr-dt-empty {
2978
+ align-items: center;
2979
+ display: flex;
2980
+ justify-content: center;
2981
+ min-height: 120px;
2982
+ padding: var(--brokr-space-8);
2983
+ }
2984
+
2985
+ .brokr-dt-pagination {
2986
+ align-items: center;
2987
+ border-top: 1px solid var(--brokr-muted-border);
2988
+ display: flex;
2989
+ justify-content: space-between;
2990
+ padding: var(--brokr-space-3) var(--brokr-space-4);
2991
+ }
2992
+
2993
+ .brokr-dt-pagination-info {
2994
+ color: var(--brokr-text-secondary);
2995
+ font-size: var(--brokr-font-size-xs);
2996
+ }
2997
+
2998
+ .brokr-dt-pagination-btns {
2999
+ align-items: center;
3000
+ display: flex;
3001
+ gap: var(--brokr-space-2);
3002
+ }
3003
+
3004
+ .brokr-dt-page-btn {
3005
+ min-height: 32px;
3006
+ min-width: 32px;
3007
+ padding: 0;
3008
+ }
3009
+
3010
+ .brokr-dt-page-label {
3011
+ color: var(--brokr-text-secondary);
3012
+ font-size: var(--brokr-font-size-xs);
3013
+ min-width: 48px;
3014
+ text-align: center;
3015
+ }
3016
+ `;
3017
+
3018
+ // src/react/css/stats-grid.ts
3019
+ var STATS_GRID_CSS = `
3020
+ .brokr-stats-grid {
3021
+ display: grid;
3022
+ gap: var(--brokr-space-4);
3023
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
3024
+ }
3025
+
3026
+ .brokr-metric-card {
3027
+ display: flex;
3028
+ flex-direction: column;
3029
+ gap: var(--brokr-space-2);
3030
+ padding: var(--brokr-space-5);
3031
+ }
3032
+
3033
+ .brokr-metric-label {
3034
+ color: var(--brokr-text-secondary);
3035
+ font-size: var(--brokr-font-size-xs);
3036
+ font-weight: var(--brokr-font-weight-medium);
3037
+ letter-spacing: 0.02em;
3038
+ text-transform: uppercase;
3039
+ }
3040
+
3041
+ .brokr-metric-row {
3042
+ align-items: baseline;
3043
+ display: flex;
3044
+ gap: var(--brokr-space-2);
3045
+ }
3046
+
3047
+ .brokr-metric-value {
3048
+ color: var(--brokr-text-primary);
3049
+ font-size: var(--brokr-font-size-xl);
3050
+ font-weight: var(--brokr-font-weight-bold);
3051
+ letter-spacing: -0.03em;
3052
+ line-height: 1;
3053
+ }
3054
+
3055
+ .brokr-metric-trend {
3056
+ font-size: var(--brokr-font-size-xs);
3057
+ font-weight: var(--brokr-font-weight-semibold);
3058
+ line-height: 1;
3059
+ }
3060
+
3061
+ .brokr-metric-trend--up {
3062
+ color: var(--brokr-success, #22c55e);
3063
+ }
3064
+
3065
+ .brokr-metric-trend--down {
3066
+ color: var(--brokr-error, #ef4444);
3067
+ }
3068
+
3069
+ .brokr-metric-sparkline {
3070
+ height: 24px;
3071
+ margin-top: var(--brokr-space-1);
3072
+ width: 100%;
3073
+ }
3074
+ `;
3075
+
3076
+ // src/react/css/activity-feed.ts
3077
+ var ACTIVITY_FEED_CSS = `
3078
+ .brokr-feed {
3079
+ display: flex;
3080
+ flex-direction: column;
3081
+ }
3082
+
3083
+ .brokr-feed-item {
3084
+ align-items: flex-start;
3085
+ display: flex;
3086
+ gap: var(--brokr-space-3);
3087
+ padding: var(--brokr-space-3) 0;
3088
+ position: relative;
3089
+ }
3090
+
3091
+ .brokr-feed-item + .brokr-feed-item {
3092
+ border-top: 1px solid color-mix(in srgb, var(--brokr-border) 40%, transparent);
3093
+ }
3094
+
3095
+ .brokr-feed-dot {
3096
+ background: var(--brokr-text-secondary);
3097
+ border-radius: var(--brokr-radius-pill);
3098
+ flex-shrink: 0;
3099
+ height: 8px;
3100
+ margin-top: 5px;
3101
+ width: 8px;
3102
+ }
3103
+
3104
+ .brokr-feed-dot--success { background: var(--brokr-success, #22c55e); }
3105
+ .brokr-feed-dot--error { background: var(--brokr-error, #ef4444); }
3106
+ .brokr-feed-dot--warning { background: var(--brokr-warning, #f59e0b); }
3107
+ .brokr-feed-dot--default { background: var(--brokr-primary); }
3108
+
3109
+ .brokr-feed-content {
3110
+ display: flex;
3111
+ flex: 1;
3112
+ flex-direction: column;
3113
+ gap: 2px;
3114
+ min-width: 0;
3115
+ }
3116
+
3117
+ .brokr-feed-title {
3118
+ color: var(--brokr-text-primary);
3119
+ font-size: var(--brokr-font-size-sm);
3120
+ font-weight: var(--brokr-font-weight-medium);
3121
+ line-height: var(--brokr-leading-snug);
3122
+ }
3123
+
3124
+ .brokr-feed-message {
3125
+ color: var(--brokr-text-secondary);
3126
+ display: -webkit-box;
3127
+ font-size: var(--brokr-font-size-xs);
3128
+ line-height: var(--brokr-leading-snug);
3129
+ overflow: hidden;
3130
+ -webkit-box-orient: vertical;
3131
+ -webkit-line-clamp: 2;
3132
+ }
3133
+
3134
+ .brokr-feed-time {
3135
+ color: var(--brokr-text-secondary);
3136
+ flex-shrink: 0;
3137
+ font-size: 11px;
3138
+ margin-top: 2px;
3139
+ opacity: 0.6;
3140
+ white-space: nowrap;
3141
+ }
3142
+
3143
+ .brokr-feed-empty {
3144
+ align-items: center;
3145
+ display: flex;
3146
+ justify-content: center;
3147
+ min-height: 80px;
3148
+ padding: var(--brokr-space-6);
3149
+ }
3150
+ `;
3151
+
3152
+ // src/react/css/usage-grid.ts
3153
+ var USAGE_GRID_CSS = `
3154
+ .brokr-usage-grid {
3155
+ display: grid;
3156
+ gap: var(--brokr-space-4);
3157
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
3158
+ }
3159
+ `;
3160
+
2889
3161
  // src/react/css/index.ts
2890
- var BROKR_GLOBAL_CSS = TOKENS_CSS + RESET_CSS + PRIMITIVES_CSS + AUTH_CSS + GATES_CSS + ACCOUNT_CSS + COMPOSITES_CSS + CHAT_CSS + SKELETON_CSS + ANIMATIONS_CSS + CHAT_EXTRAS_CSS + MARKDOWN_CSS + RESPONSIVE_CSS + NOTIFICATIONS_CSS;
3162
+ var BROKR_GLOBAL_CSS = TOKENS_CSS + RESET_CSS + PRIMITIVES_CSS + AUTH_CSS + GATES_CSS + ACCOUNT_CSS + COMPOSITES_CSS + CHAT_CSS + SKELETON_CSS + ANIMATIONS_CSS + CHAT_EXTRAS_CSS + MARKDOWN_CSS + RESPONSIVE_CSS + NOTIFICATIONS_CSS + DATA_TABLE_CSS + STATS_GRID_CSS + ACTIVITY_FEED_CSS + USAGE_GRID_CSS;
2891
3163
 
2892
3164
  // src/react/styles-entry.tsx
2893
3165
  function BrokrStyles() {