@brokr/sdk 2.1.1 → 2.1.2

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