@@ -2,9 +2,11 @@ import type {
2
2
DeepPartial ,
3
3
FlowbiteBoolean ,
4
4
FlowbiteClass ,
5
- FlowbiteColors ,
6
5
FlowbiteSizes ,
6
+ FlowbiteStandardColors ,
7
7
RouterLinkParameter ,
8
+ StandardThemeConfiguration ,
9
+ StandardThemeInput ,
8
10
} from 'flowbite-angular' ;
9
11
import { createTheme } from 'flowbite-angular/utils' ;
10
12
@@ -14,10 +16,10 @@ import { createTheme } from 'flowbite-angular/utils';
14
16
*/
15
17
export interface BadgeColors
16
18
extends Pick <
17
- FlowbiteColors ,
19
+ FlowbiteStandardColors ,
18
20
'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow' | 'indigo' | 'purple' | 'pink'
19
21
> {
20
- [ key : string ] : string ;
22
+ [ key : string ] : StandardThemeConfiguration ;
21
23
}
22
24
23
25
/**
@@ -38,6 +40,7 @@ export interface BadgeProperties {
38
40
isIconOnly : keyof FlowbiteBoolean ;
39
41
isPill : keyof FlowbiteBoolean ;
40
42
link : RouterLinkParameter ;
43
+ standardThemeConfig : StandardThemeInput ;
41
44
customStyle : DeepPartial < BadgeTheme > ;
42
45
}
43
46
@@ -67,20 +70,96 @@ export const badgeTheme: BadgeTheme = createTheme({
67
70
root : {
68
71
base : 'flex h-fit items-center gap-1 font-semibold' ,
69
72
color : {
70
- primary :
71
- 'bg-primary-100 dark:bg-primary-700 text-primary-800 dark:text-primary-300 group-hover:bg-primary-200 dark:group-hover:bg-primary-600 border-primary-300 dark:border-primary-800' ,
72
- dark : 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600 border-gray-300 dark:border-gray-600' ,
73
- blue : 'bg-blue-100 dark:bg-blue-200 text-blue-800 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300 border-blue-300 dark:border-blue-800' ,
74
- red : 'bg-red-100 dark:bg-red-200 text-red-800 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300 border-red-300 dark:border-red-800' ,
75
- green :
76
- 'bg-green-100 dark:bg-green-200 text-green-800 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300 border-green-300 dark:border-green-800' ,
77
- yellow :
78
- 'bg-yellow-100 dark:bg-yellow-200 text-yellow-800 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300 border-yellow-300 dark:border-yellow-800' ,
79
- indigo :
80
- 'bg-indigo-100 dark:bg-indigo-200 text-indigo-800 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300 border-indigo-300 dark:border-indigo-800' ,
81
- purple :
82
- 'bg-purple-100 dark:bg-purple-200 text-purple-800 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300 border-purple-300 dark:border-purple-800' ,
83
- pink : 'bg-pink-100 dark:bg-pink-200 text-pink-800 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300 border-pink-300 dark:border-pink-800' ,
73
+ primary : {
74
+ base : {
75
+ light : 'bg-primary-100 text-primary-800 border-primary-300' ,
76
+ dark : 'dark:bg-primary-700 dark:text-primary-300 dark:border-primary-800' ,
77
+ } ,
78
+ hover : {
79
+ light : 'group-hover:bg-primary-200' ,
80
+ dark : 'dark:group-hover:bg-primary-600' ,
81
+ } ,
82
+ } ,
83
+ dark : {
84
+ base : {
85
+ light : 'bg-gray-100 text-gray-800 border-gray-300' ,
86
+ dark : 'dark:bg-gray-700 dark:text-gray-300 dark:border-gray-600' ,
87
+ } ,
88
+ hover : {
89
+ light : 'group-hover:bg-gray-200' ,
90
+ dark : 'dark:group-hover:bg-gray-600' ,
91
+ } ,
92
+ } ,
93
+ blue : {
94
+ base : {
95
+ light : 'bg-blue-100 text-blue-800 border-blue-300' ,
96
+ dark : 'dark:bg-blue-200 dark:text-blue-800 dark:border-blue-800' ,
97
+ } ,
98
+ hover : {
99
+ light : 'group-hover:bg-blue-200' ,
100
+ dark : 'dark:group-hover:bg-blue-300' ,
101
+ } ,
102
+ } ,
103
+ red : {
104
+ base : {
105
+ light : 'bg-red-100 text-red-800 border-red-300' ,
106
+ dark : 'dark:bg-red-200 dark:text-red-900 dark:border-red-800' ,
107
+ } ,
108
+ hover : {
109
+ light : 'group-hover:bg-red-200' ,
110
+ dark : 'dark:group-hover:bg-red-300' ,
111
+ } ,
112
+ } ,
113
+ green : {
114
+ base : {
115
+ light : 'bg-green-100 text-green-800 border-green-300' ,
116
+ dark : 'dark:bg-green-200 dark:text-green-900 dark:border-green-800' ,
117
+ } ,
118
+ hover : {
119
+ light : 'group-hover:bg-green-200' ,
120
+ dark : 'dark:group-hover:bg-green-300' ,
121
+ } ,
122
+ } ,
123
+ yellow : {
124
+ base : {
125
+ light : 'bg-yellow-100 text-yellow-800 border-yellow-300' ,
126
+ dark : 'dark:bg-yellow-200 dark:text-yellow-900 dark:border-yellow-800' ,
127
+ } ,
128
+ hover : {
129
+ light : 'group-hover:bg-yellow-200' ,
130
+ dark : 'dark:group-hover:bg-yellow-300' ,
131
+ } ,
132
+ } ,
133
+ indigo : {
134
+ base : {
135
+ light : 'bg-indigo-100 text-indigo-800 border-indigo-300' ,
136
+ dark : 'dark:bg-indigo-200 dark:text-indigo-900 dark:border-indigo-800' ,
137
+ } ,
138
+ hover : {
139
+ light : 'group-hover:bg-indigo-200' ,
140
+ dark : 'dark:group-hover:bg-indigo-300' ,
141
+ } ,
142
+ } ,
143
+ purple : {
144
+ base : {
145
+ light : 'bg-purple-100 text-purple-800 border-purple-300' ,
146
+ dark : 'dark:bg-purple-200 dark:text-purple-900 dark:border-purple-800' ,
147
+ } ,
148
+ hover : {
149
+ light : 'group-hover:bg-purple-200' ,
150
+ dark : 'dark:group-hover:bg-purple-300' ,
151
+ } ,
152
+ } ,
153
+ pink : {
154
+ base : {
155
+ light : 'bg-pink-100 text-pink-800 border-pink-300' ,
156
+ dark : 'dark:bg-pink-200 dark:text-pink-900 dark:border-pink-800' ,
157
+ } ,
158
+ hover : {
159
+ light : 'group-hover:bg-pink-200' ,
160
+ dark : 'dark:group-hover:bg-pink-300' ,
161
+ } ,
162
+ } ,
84
163
} ,
85
164
hasBorder : {
86
165
enabled : 'border' ,
@@ -106,16 +185,96 @@ export const badgeTheme: BadgeTheme = createTheme({
106
185
closeButton : {
107
186
base : 'ms-1 inline-flex items-center rounded-sm p-1 focus:ring-2' ,
108
187
color : {
109
- primary :
110
- 'text-primary-500 dark:text-primary-600 hover:bg-primary-200 dark:hover:bg-primary-300' ,
111
- dark : 'text-gray-500 dark:text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-300' ,
112
- blue : 'text-blue-500 dark:text-blue-600 hover:bg-blue-200 dark:hover:bg-blue-300' ,
113
- red : 'text-red-500 dark:text-red-600 hover:bg-red-200 dark:hover:bg-red-300' ,
114
- green : 'text-green-500 dark:text-green-600 hover:bg-green-200 dark:hover:bg-green-300' ,
115
- yellow : 'text-yellow-500 dark:text-yellow-600 hover:bg-yellow-200 dark:hover:bg-yellow-300' ,
116
- indigo : 'text-indigo-500 dark:text-indigo-600 hover:bg-indigo-200 dark:hover:bg-indigo-300' ,
117
- purple : 'text-purple-500 dark:text-purple-600 hover:bg-purple-200 dark:hover:bg-purple-300' ,
118
- pink : 'text-pink-500 dark:text-pink-600 hover:bg-pink-200 dark:hover:bg-pink-300' ,
188
+ primary : {
189
+ base : {
190
+ light : 'text-primary-500' ,
191
+ dark : 'dark:text-primary-600' ,
192
+ } ,
193
+ hover : {
194
+ light : 'hover:bg-primary-200' ,
195
+ dark : 'dark:hover:bg-primary-300' ,
196
+ } ,
197
+ } ,
198
+ dark : {
199
+ base : {
200
+ light : 'text-gray-500' ,
201
+ dark : 'dark:text-gray-600' ,
202
+ } ,
203
+ hover : {
204
+ light : 'hover:bg-gray-200' ,
205
+ dark : 'dark:hover:bg-gray-300' ,
206
+ } ,
207
+ } ,
208
+ blue : {
209
+ base : {
210
+ light : 'text-blue-500' ,
211
+ dark : 'dark:text-blue-600' ,
212
+ } ,
213
+ hover : {
214
+ light : 'hover:bg-blue-200' ,
215
+ dark : 'dark:hover:bg-blue-300' ,
216
+ } ,
217
+ } ,
218
+ red : {
219
+ base : {
220
+ light : 'text-red-500' ,
221
+ dark : 'dark:text-red-600' ,
222
+ } ,
223
+ hover : {
224
+ light : 'hover:bg-red-200' ,
225
+ dark : 'dark:hover:bg-red-300' ,
226
+ } ,
227
+ } ,
228
+ green : {
229
+ base : {
230
+ light : 'text-green-500' ,
231
+ dark : 'dark:text-green-600' ,
232
+ } ,
233
+ hover : {
234
+ light : 'hover:bg-green-200' ,
235
+ dark : 'dark:hover:bg-green-300' ,
236
+ } ,
237
+ } ,
238
+ yellow : {
239
+ base : {
240
+ light : 'text-yellow-500' ,
241
+ dark : 'dark:text-yellow-600' ,
242
+ } ,
243
+ hover : {
244
+ light : 'hover:bg-yellow-200' ,
245
+ dark : 'dark:hover:bg-yellow-300' ,
246
+ } ,
247
+ } ,
248
+ indigo : {
249
+ base : {
250
+ light : 'text-indigo-500' ,
251
+ dark : 'dark:text-indigo-600' ,
252
+ } ,
253
+ hover : {
254
+ light : 'hover:bg-indigo-200' ,
255
+ dark : 'dark:hover:bg-indigo-300' ,
256
+ } ,
257
+ } ,
258
+ purple : {
259
+ base : {
260
+ light : 'text-purple-500' ,
261
+ dark : 'dark:text-purple-600' ,
262
+ } ,
263
+ hover : {
264
+ light : 'hover:bg-purple-200' ,
265
+ dark : 'dark:hover:bg-purple-300' ,
266
+ } ,
267
+ } ,
268
+ pink : {
269
+ base : {
270
+ light : 'text-pink-500' ,
271
+ dark : 'dark:text-pink-600' ,
272
+ } ,
273
+ hover : {
274
+ light : 'hover:bg-pink-200' ,
275
+ dark : 'dark:hover:bg-pink-300' ,
276
+ } ,
277
+ } ,
119
278
} ,
120
279
} ,
121
280
} ) ;
0 commit comments