flowbite-angular 0.0.1

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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +376 -0
  3. package/esm2020/flowbite-angular.mjs +5 -0
  4. package/esm2020/index.mjs +5 -0
  5. package/esm2020/lib/components/badge/badge.component.mjs +77 -0
  6. package/esm2020/lib/components/badge/index.mjs +2 -0
  7. package/esm2020/lib/components/dark-theme-toggle/dark-theme-toggle.component.mjs +122 -0
  8. package/esm2020/lib/components/dark-theme-toggle/index.mjs +2 -0
  9. package/esm2020/lib/components/index.mjs +5 -0
  10. package/esm2020/lib/components/navbar/index.mjs +2 -0
  11. package/esm2020/lib/components/navbar/navbar.component.mjs +49 -0
  12. package/esm2020/lib/components/sidebar/index.mjs +4 -0
  13. package/esm2020/lib/components/sidebar/sidebar-item-group.component.mjs +18 -0
  14. package/esm2020/lib/components/sidebar/sidebar-item.component.mjs +73 -0
  15. package/esm2020/lib/components/sidebar/sidebar.component.mjs +50 -0
  16. package/esm2020/lib/flowbite.module.mjs +42 -0
  17. package/esm2020/lib/pipes/index.mjs +2 -0
  18. package/esm2020/lib/pipes/sanitize-html/index.mjs +2 -0
  19. package/esm2020/lib/pipes/sanitize-html/sanitize-html.pipe.mjs +21 -0
  20. package/esm2020/lib/services/index.mjs +3 -0
  21. package/esm2020/lib/services/sidebar/index.mjs +2 -0
  22. package/esm2020/lib/services/sidebar/sidebar.service.mjs +24 -0
  23. package/esm2020/lib/services/theme/index.mjs +2 -0
  24. package/esm2020/lib/services/theme/theme.service.mjs +24 -0
  25. package/fesm2015/flowbite-angular.mjs +472 -0
  26. package/fesm2015/flowbite-angular.mjs.map +1 -0
  27. package/fesm2020/flowbite-angular.mjs +471 -0
  28. package/fesm2020/flowbite-angular.mjs.map +1 -0
  29. package/flowbite-angular.d.ts +5 -0
  30. package/index.d.ts +4 -0
  31. package/lib/components/badge/badge.component.d.ts +13 -0
  32. package/lib/components/badge/index.d.ts +1 -0
  33. package/lib/components/dark-theme-toggle/dark-theme-toggle.component.d.ts +12 -0
  34. package/lib/components/dark-theme-toggle/index.d.ts +1 -0
  35. package/lib/components/index.d.ts +4 -0
  36. package/lib/components/navbar/index.d.ts +1 -0
  37. package/lib/components/navbar/navbar.component.d.ts +9 -0
  38. package/lib/components/sidebar/index.d.ts +3 -0
  39. package/lib/components/sidebar/sidebar-item-group.component.d.ts +5 -0
  40. package/lib/components/sidebar/sidebar-item.component.d.ts +11 -0
  41. package/lib/components/sidebar/sidebar.component.d.ts +10 -0
  42. package/lib/flowbite.module.d.ts +15 -0
  43. package/lib/pipes/index.d.ts +1 -0
  44. package/lib/pipes/sanitize-html/index.d.ts +1 -0
  45. package/lib/pipes/sanitize-html/sanitize-html.pipe.d.ts +10 -0
  46. package/lib/services/index.d.ts +2 -0
  47. package/lib/services/sidebar/index.d.ts +1 -0
  48. package/lib/services/sidebar/sidebar.service.d.ts +9 -0
  49. package/lib/services/theme/index.d.ts +1 -0
  50. package/lib/services/theme/theme.service.d.ts +10 -0
  51. package/package.json +59 -0
@@ -0,0 +1,472 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, Input, Injectable, Pipe, NgModule } from '@angular/core';
3
+ import * as i3 from '@angular/router';
4
+ import { RouterModule } from '@angular/router';
5
+ import * as i2 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import { BehaviorSubject } from 'rxjs';
8
+ import * as i1 from '@angular/platform-browser';
9
+
10
+ class BadgeComponent {
11
+ constructor() {
12
+ this.color = 'blue';
13
+ this.size = 'xs';
14
+ this.onlyIcon = false;
15
+ this.colorClasses = {
16
+ blue: 'bg-blue-100 text-blue-800 dark:bg-blue-200 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300',
17
+ dark: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600',
18
+ red: 'bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',
19
+ green: 'bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',
20
+ yellow: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',
21
+ indigo: 'bg-indigo-100 text-indigo-800 dark:bg-indigo-200 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300',
22
+ purple: 'bg-purple-100 text-purple-800 dark:bg-purple-200 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300',
23
+ pink: 'bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300',
24
+ };
25
+ this.sizeClasses = {
26
+ xs: 'text-xs',
27
+ sm: 'text-sm',
28
+ };
29
+ }
30
+ }
31
+ BadgeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ BadgeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: BadgeComponent, selector: "flowbite-badge", inputs: { color: "color", size: "size", href: "href", onlyIcon: "onlyIcon" }, ngImport: i0, template: `<span [class.group]="href">
33
+ <a
34
+ class="flex h-fit items-center gap-1 font-semibold"
35
+ [class.cursor-pointer]="href"
36
+ [ngClass]="[
37
+ colorClasses[color],
38
+ sizeClasses[size],
39
+ !onlyIcon
40
+ ? 'rounded px-2 py-0.5'
41
+ : size === 'xs'
42
+ ? 'rounded-full p-1'
43
+ : 'rounded-full p-1.5'
44
+ ]"
45
+ [routerLink]="href"
46
+ >
47
+ <ng-content></ng-content>
48
+ </a>
49
+ </span>`, isInline: true, directives: [{ type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: BadgeComponent, decorators: [{
51
+ type: Component,
52
+ args: [{
53
+ selector: 'flowbite-badge',
54
+ template: `<span [class.group]="href">
55
+ <a
56
+ class="flex h-fit items-center gap-1 font-semibold"
57
+ [class.cursor-pointer]="href"
58
+ [ngClass]="[
59
+ colorClasses[color],
60
+ sizeClasses[size],
61
+ !onlyIcon
62
+ ? 'rounded px-2 py-0.5'
63
+ : size === 'xs'
64
+ ? 'rounded-full p-1'
65
+ : 'rounded-full p-1.5'
66
+ ]"
67
+ [routerLink]="href"
68
+ >
69
+ <ng-content></ng-content>
70
+ </a>
71
+ </span>`,
72
+ }]
73
+ }], propDecorators: { color: [{
74
+ type: Input
75
+ }], size: [{
76
+ type: Input
77
+ }], href: [{
78
+ type: Input
79
+ }], onlyIcon: [{
80
+ type: Input
81
+ }] } });
82
+
83
+ class SidebarService {
84
+ constructor() {
85
+ this.$collapsed = new BehaviorSubject(false);
86
+ }
87
+ setCollapsed(collapsed) {
88
+ this.$collapsed.next(collapsed);
89
+ }
90
+ toggleCollapsed() {
91
+ const collapsed = this.$collapsed.getValue();
92
+ this.setCollapsed(!collapsed);
93
+ }
94
+ }
95
+ SidebarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
96
+ SidebarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarService, providedIn: 'root' });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarService, decorators: [{
98
+ type: Injectable,
99
+ args: [{
100
+ providedIn: 'root',
101
+ }]
102
+ }] });
103
+
104
+ class ThemeService {
105
+ constructor() {
106
+ this.$theme = new BehaviorSubject('light');
107
+ }
108
+ setTheme(theme) {
109
+ this.$theme.next(theme);
110
+ }
111
+ toggleTheme() {
112
+ const theme = this.$theme.getValue();
113
+ this.setTheme(theme === 'dark' ? 'light' : 'dark');
114
+ }
115
+ }
116
+ ThemeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
117
+ ThemeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ThemeService, providedIn: 'root' });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ThemeService, decorators: [{
119
+ type: Injectable,
120
+ args: [{
121
+ providedIn: 'root',
122
+ }]
123
+ }] });
124
+
125
+ class DarkThemeToggleComponent {
126
+ constructor(themeService) {
127
+ this.themeService = themeService;
128
+ this.themeSubscription = undefined;
129
+ }
130
+ ngOnInit() {
131
+ if (localStorage.getItem('color-theme') === 'dark' ||
132
+ (!('color-theme' in localStorage) &&
133
+ 'matchMedia' in window &&
134
+ window.matchMedia('(prefers-color-scheme: dark)').matches)) {
135
+ this.themeService.setTheme('dark');
136
+ document.documentElement.classList.add('dark');
137
+ }
138
+ else {
139
+ this.themeService.setTheme('light');
140
+ document.documentElement.classList.remove('dark');
141
+ }
142
+ this.themeSubscription = this.themeService.$theme
143
+ .asObservable()
144
+ .subscribe((theme) => {
145
+ localStorage.setItem('color-theme', theme);
146
+ if (theme === 'dark') {
147
+ document.documentElement.classList.add('dark');
148
+ }
149
+ else {
150
+ document.documentElement.classList.remove('dark');
151
+ }
152
+ });
153
+ }
154
+ ngOnDestroy() {
155
+ var _a;
156
+ (_a = this.themeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
157
+ }
158
+ }
159
+ DarkThemeToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: DarkThemeToggleComponent, deps: [{ token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
160
+ DarkThemeToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: DarkThemeToggleComponent, selector: "flowbite-dark-theme-toggle", ngImport: i0, template: ` <button
161
+ type="button"
162
+ class="rounded-lg p-2.5 text-sm text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-700"
163
+ (click)="themeService.toggleTheme()"
164
+ >
165
+ <svg
166
+ *ngIf="themeService.$theme.getValue() === 'dark'"
167
+ stroke="currentColor"
168
+ fill="currentColor"
169
+ stroke-width="0"
170
+ viewBox="0 0 20 20"
171
+ class="h-5 w-5"
172
+ height="1em"
173
+ width="1em"
174
+ xmlns="http://www.w3.org/2000/svg"
175
+ >
176
+ <path
177
+ fill-rule="evenodd"
178
+ d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z"
179
+ clip-rule="evenodd"
180
+ ></path>
181
+ </svg>
182
+ <svg
183
+ *ngIf="themeService.$theme.getValue() === 'light'"
184
+ stroke="currentColor"
185
+ fill="currentColor"
186
+ stroke-width="0"
187
+ viewBox="0 0 20 20"
188
+ class="h-5 w-5"
189
+ height="1em"
190
+ width="1em"
191
+ xmlns="http://www.w3.org/2000/svg"
192
+ >
193
+ <path
194
+ d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
195
+ ></path>
196
+ </svg>
197
+ </button>`, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: DarkThemeToggleComponent, decorators: [{
199
+ type: Component,
200
+ args: [{
201
+ selector: 'flowbite-dark-theme-toggle',
202
+ template: ` <button
203
+ type="button"
204
+ class="rounded-lg p-2.5 text-sm text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-700"
205
+ (click)="themeService.toggleTheme()"
206
+ >
207
+ <svg
208
+ *ngIf="themeService.$theme.getValue() === 'dark'"
209
+ stroke="currentColor"
210
+ fill="currentColor"
211
+ stroke-width="0"
212
+ viewBox="0 0 20 20"
213
+ class="h-5 w-5"
214
+ height="1em"
215
+ width="1em"
216
+ xmlns="http://www.w3.org/2000/svg"
217
+ >
218
+ <path
219
+ fill-rule="evenodd"
220
+ d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z"
221
+ clip-rule="evenodd"
222
+ ></path>
223
+ </svg>
224
+ <svg
225
+ *ngIf="themeService.$theme.getValue() === 'light'"
226
+ stroke="currentColor"
227
+ fill="currentColor"
228
+ stroke-width="0"
229
+ viewBox="0 0 20 20"
230
+ class="h-5 w-5"
231
+ height="1em"
232
+ width="1em"
233
+ xmlns="http://www.w3.org/2000/svg"
234
+ >
235
+ <path
236
+ d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"
237
+ ></path>
238
+ </svg>
239
+ </button>`,
240
+ }]
241
+ }], ctorParameters: function () { return [{ type: ThemeService }]; } });
242
+
243
+ class NavbarComponent {
244
+ constructor() {
245
+ this.extraClass = '';
246
+ this.rounded = false;
247
+ this.border = false;
248
+ this.fluid = false;
249
+ }
250
+ }
251
+ NavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: NavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
252
+ NavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: NavbarComponent, selector: "flowbite-navbar", inputs: { extraClass: "extraClass", rounded: "rounded", border: "border", fluid: "fluid" }, ngImport: i0, template: ` <nav
253
+ class="border-gray-200 bg-white px-2 py-2.5 dark:border-gray-700 dark:bg-gray-800 sm:px-4"
254
+ [ngClass]="[rounded ? 'rounded' : '', border ? 'border' : '', extraClass]"
255
+ >
256
+ <div
257
+ class="mx-auto flex flex-wrap items-center justify-between"
258
+ [ngClass]="{ container: !fluid }"
259
+ >
260
+ <ng-content></ng-content>
261
+ </div>
262
+ </nav>`, isInline: true, directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: NavbarComponent, decorators: [{
264
+ type: Component,
265
+ args: [{
266
+ selector: 'flowbite-navbar',
267
+ template: ` <nav
268
+ class="border-gray-200 bg-white px-2 py-2.5 dark:border-gray-700 dark:bg-gray-800 sm:px-4"
269
+ [ngClass]="[rounded ? 'rounded' : '', border ? 'border' : '', extraClass]"
270
+ >
271
+ <div
272
+ class="mx-auto flex flex-wrap items-center justify-between"
273
+ [ngClass]="{ container: !fluid }"
274
+ >
275
+ <ng-content></ng-content>
276
+ </div>
277
+ </nav>`,
278
+ }]
279
+ }], propDecorators: { extraClass: [{
280
+ type: Input
281
+ }], rounded: [{
282
+ type: Input
283
+ }], border: [{
284
+ type: Input
285
+ }], fluid: [{
286
+ type: Input
287
+ }] } });
288
+
289
+ class SidebarComponent {
290
+ constructor(sidebarService) {
291
+ this.sidebarService = sidebarService;
292
+ this.extraClass = '';
293
+ this.rounded = false;
294
+ }
295
+ }
296
+ SidebarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarComponent, deps: [{ token: SidebarService }], target: i0.ɵɵFactoryTarget.Component });
297
+ SidebarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: SidebarComponent, selector: "flowbite-sidebar", inputs: { extraClass: "extraClass", rounded: "rounded" }, ngImport: i0, template: `<aside
298
+ class="h-full"
299
+ [class.w-16]="sidebarService.$collapsed | async"
300
+ [class.w-64]="(sidebarService.$collapsed | async) === false"
301
+ >
302
+ <div
303
+ class="flex h-full flex-col space-y-4 divide-y divide-gray-200 overflow-y-auto bg-white py-4 px-3 dark:divide-gray-700 dark:border-gray-700 dark:bg-gray-800"
304
+ [class.rounded]="rounded"
305
+ [ngClass]="extraClass"
306
+ >
307
+ <ng-content></ng-content>
308
+ </div>
309
+ </aside>`, isInline: true, directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i2.AsyncPipe } });
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarComponent, decorators: [{
311
+ type: Component,
312
+ args: [{
313
+ selector: 'flowbite-sidebar',
314
+ template: `<aside
315
+ class="h-full"
316
+ [class.w-16]="sidebarService.$collapsed | async"
317
+ [class.w-64]="(sidebarService.$collapsed | async) === false"
318
+ >
319
+ <div
320
+ class="flex h-full flex-col space-y-4 divide-y divide-gray-200 overflow-y-auto bg-white py-4 px-3 dark:divide-gray-700 dark:border-gray-700 dark:bg-gray-800"
321
+ [class.rounded]="rounded"
322
+ [ngClass]="extraClass"
323
+ >
324
+ <ng-content></ng-content>
325
+ </div>
326
+ </aside>`,
327
+ }]
328
+ }], ctorParameters: function () { return [{ type: SidebarService }]; }, propDecorators: { extraClass: [{
329
+ type: Input
330
+ }], rounded: [{
331
+ type: Input
332
+ }] } });
333
+
334
+ class SanitizeHtmlPipe {
335
+ constructor(_sanitizer) {
336
+ this._sanitizer = _sanitizer;
337
+ }
338
+ transform(v) {
339
+ return this._sanitizer.bypassSecurityTrustHtml(v);
340
+ }
341
+ }
342
+ SanitizeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SanitizeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
343
+ SanitizeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SanitizeHtmlPipe, name: "sanitizeHtml" });
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SanitizeHtmlPipe, decorators: [{
345
+ type: Pipe,
346
+ args: [{
347
+ name: 'sanitizeHtml',
348
+ }]
349
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
350
+
351
+ class SidebarItemComponent {
352
+ constructor(sidebarService) {
353
+ this.sidebarService = sidebarService;
354
+ }
355
+ }
356
+ SidebarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarItemComponent, deps: [{ token: SidebarService }], target: i0.ɵɵFactoryTarget.Component });
357
+ SidebarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: SidebarItemComponent, selector: "flowbite-sidebar-item", inputs: { icon: "icon", link: "link", label: "label" }, ngImport: i0, template: `<a
358
+ class="group flex cursor-pointer items-center rounded-lg p-2 text-base font-normal text-gray-900 hover:bg-gray-200 dark:text-white dark:hover:bg-gray-700"
359
+ [routerLink]="link"
360
+ routerLinkActive="bg-gray-200 dark:bg-gray-700"
361
+ [routerLinkActiveOptions]="{ exact: true }"
362
+ >
363
+ <span
364
+ class="flex-shrink-0"
365
+ [innerHTML]="icon! | sanitizeHtml"
366
+ *ngIf="!!icon"
367
+ ></span>
368
+ <span
369
+ class="flex-1 whitespace-nowrap"
370
+ [class.ml-3]="!!icon"
371
+ *ngIf="(sidebarService.$collapsed | async) === false"
372
+ >
373
+ <ng-content></ng-content>
374
+ </span>
375
+ <flowbite-badge
376
+ *ngIf="(sidebarService.$collapsed | async) === false && label"
377
+ >{{ label }}</flowbite-badge
378
+ >
379
+ </a>`, isInline: true, components: [{ type: BadgeComponent, selector: "flowbite-badge", inputs: ["color", "size", "href", "onlyIcon"] }], directives: [{ type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "sanitizeHtml": SanitizeHtmlPipe, "async": i2.AsyncPipe } });
380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarItemComponent, decorators: [{
381
+ type: Component,
382
+ args: [{
383
+ selector: 'flowbite-sidebar-item',
384
+ template: `<a
385
+ class="group flex cursor-pointer items-center rounded-lg p-2 text-base font-normal text-gray-900 hover:bg-gray-200 dark:text-white dark:hover:bg-gray-700"
386
+ [routerLink]="link"
387
+ routerLinkActive="bg-gray-200 dark:bg-gray-700"
388
+ [routerLinkActiveOptions]="{ exact: true }"
389
+ >
390
+ <span
391
+ class="flex-shrink-0"
392
+ [innerHTML]="icon! | sanitizeHtml"
393
+ *ngIf="!!icon"
394
+ ></span>
395
+ <span
396
+ class="flex-1 whitespace-nowrap"
397
+ [class.ml-3]="!!icon"
398
+ *ngIf="(sidebarService.$collapsed | async) === false"
399
+ >
400
+ <ng-content></ng-content>
401
+ </span>
402
+ <flowbite-badge
403
+ *ngIf="(sidebarService.$collapsed | async) === false && label"
404
+ >{{ label }}</flowbite-badge
405
+ >
406
+ </a>`,
407
+ }]
408
+ }], ctorParameters: function () { return [{ type: SidebarService }]; }, propDecorators: { icon: [{
409
+ type: Input
410
+ }], link: [{
411
+ type: Input
412
+ }], label: [{
413
+ type: Input
414
+ }] } });
415
+
416
+ class SidebarItemGroupComponent {
417
+ }
418
+ SidebarItemGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarItemGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
419
+ SidebarItemGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: SidebarItemGroupComponent, selector: "flowbite-sidebar-item-group", ngImport: i0, template: ` <div class="flex flex-col space-y-2">
420
+ <ng-content></ng-content>
421
+ </div>`, isInline: true });
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: SidebarItemGroupComponent, decorators: [{
423
+ type: Component,
424
+ args: [{
425
+ selector: 'flowbite-sidebar-item-group',
426
+ template: ` <div class="flex flex-col space-y-2">
427
+ <ng-content></ng-content>
428
+ </div>`,
429
+ }]
430
+ }] });
431
+
432
+ const COMPONENTS = [
433
+ BadgeComponent,
434
+ DarkThemeToggleComponent,
435
+ NavbarComponent,
436
+ SidebarComponent,
437
+ SidebarItemComponent,
438
+ SidebarItemGroupComponent,
439
+ ];
440
+ const SERVICES = [SidebarService, ThemeService];
441
+ const PIPES = [SanitizeHtmlPipe];
442
+ class FlowbiteModule {
443
+ }
444
+ FlowbiteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FlowbiteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
445
+ FlowbiteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FlowbiteModule, declarations: [BadgeComponent,
446
+ DarkThemeToggleComponent,
447
+ NavbarComponent,
448
+ SidebarComponent,
449
+ SidebarItemComponent,
450
+ SidebarItemGroupComponent, SanitizeHtmlPipe], imports: [CommonModule, RouterModule], exports: [BadgeComponent,
451
+ DarkThemeToggleComponent,
452
+ NavbarComponent,
453
+ SidebarComponent,
454
+ SidebarItemComponent,
455
+ SidebarItemGroupComponent, SanitizeHtmlPipe] });
456
+ FlowbiteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FlowbiteModule, providers: [SERVICES, PIPES], imports: [[CommonModule, RouterModule]] });
457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: FlowbiteModule, decorators: [{
458
+ type: NgModule,
459
+ args: [{
460
+ imports: [CommonModule, RouterModule],
461
+ declarations: [COMPONENTS, SanitizeHtmlPipe],
462
+ exports: [COMPONENTS, SanitizeHtmlPipe],
463
+ providers: [SERVICES, PIPES],
464
+ }]
465
+ }] });
466
+
467
+ /**
468
+ * Generated bundle index. Do not edit.
469
+ */
470
+
471
+ export { BadgeComponent, DarkThemeToggleComponent, FlowbiteModule, NavbarComponent, SanitizeHtmlPipe, SidebarComponent, SidebarItemComponent, SidebarItemGroupComponent, SidebarService, ThemeService };
472
+ //# sourceMappingURL=flowbite-angular.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flowbite-angular.mjs","sources":["../../../../libs/flowbite-angular/src/lib/components/badge/badge.component.ts","../../../../libs/flowbite-angular/src/lib/services/sidebar/sidebar.service.ts","../../../../libs/flowbite-angular/src/lib/services/theme/theme.service.ts","../../../../libs/flowbite-angular/src/lib/components/dark-theme-toggle/dark-theme-toggle.component.ts","../../../../libs/flowbite-angular/src/lib/components/navbar/navbar.component.ts","../../../../libs/flowbite-angular/src/lib/components/sidebar/sidebar.component.ts","../../../../libs/flowbite-angular/src/lib/pipes/sanitize-html/sanitize-html.pipe.ts","../../../../libs/flowbite-angular/src/lib/components/sidebar/sidebar-item.component.ts","../../../../libs/flowbite-angular/src/lib/components/sidebar/sidebar-item-group.component.ts","../../../../libs/flowbite-angular/src/lib/flowbite.module.ts","../../../../libs/flowbite-angular/src/flowbite-angular.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\n\nexport type BadgeColor =\n | 'blue'\n | 'dark'\n | 'red'\n | 'green'\n | 'yellow'\n | 'indigo'\n | 'purple'\n | 'pink';\n\nexport type BadgeSize = 'xs' | 'sm';\n\n@Component({\n selector: 'flowbite-badge',\n template: `<span [class.group]=\"href\">\n <a\n class=\"flex h-fit items-center gap-1 font-semibold\"\n [class.cursor-pointer]=\"href\"\n [ngClass]=\"[\n colorClasses[color],\n sizeClasses[size],\n !onlyIcon\n ? 'rounded px-2 py-0.5'\n : size === 'xs'\n ? 'rounded-full p-1'\n : 'rounded-full p-1.5'\n ]\"\n [routerLink]=\"href\"\n >\n <ng-content></ng-content>\n </a>\n </span>`,\n})\nexport class BadgeComponent {\n @Input() color: BadgeColor = 'blue';\n @Input() size: BadgeSize = 'xs';\n @Input() href?: string;\n @Input() onlyIcon = false;\n\n colorClasses: Record<BadgeColor, string> = {\n blue: 'bg-blue-100 text-blue-800 dark:bg-blue-200 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300',\n dark: 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600',\n red: 'bg-red-100 text-red-800 dark:bg-red-200 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',\n green:\n 'bg-green-100 text-green-800 dark:bg-green-200 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',\n yellow:\n 'bg-yellow-100 text-yellow-800 dark:bg-yellow-200 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',\n indigo:\n 'bg-indigo-100 text-indigo-800 dark:bg-indigo-200 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300',\n purple:\n 'bg-purple-100 text-purple-800 dark:bg-purple-200 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300',\n pink: 'bg-pink-100 text-pink-800 dark:bg-pink-200 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300',\n };\n\n sizeClasses: Record<BadgeSize, string> = {\n xs: 'text-xs',\n sm: 'text-sm',\n };\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SidebarService {\n $collapsed = new BehaviorSubject<boolean>(false);\n\n setCollapsed(collapsed: boolean) {\n this.$collapsed.next(collapsed);\n }\n\n toggleCollapsed() {\n const collapsed = this.$collapsed.getValue();\n this.setCollapsed(!collapsed);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\nexport type Theme = 'dark' | 'light';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n $theme = new BehaviorSubject<Theme>('light');\n\n setTheme(theme: Theme) {\n this.$theme.next(theme);\n }\n\n toggleTheme() {\n const theme = this.$theme.getValue();\n this.setTheme(theme === 'dark' ? 'light' : 'dark');\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\n\nimport { ThemeService } from '../../services';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'flowbite-dark-theme-toggle',\n template: ` <button\n type=\"button\"\n class=\"rounded-lg p-2.5 text-sm text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-700\"\n (click)=\"themeService.toggleTheme()\"\n >\n <svg\n *ngIf=\"themeService.$theme.getValue() === 'dark'\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n stroke-width=\"0\"\n viewBox=\"0 0 20 20\"\n class=\"h-5 w-5\"\n height=\"1em\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n <svg\n *ngIf=\"themeService.$theme.getValue() === 'light'\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n stroke-width=\"0\"\n viewBox=\"0 0 20 20\"\n class=\"h-5 w-5\"\n height=\"1em\"\n width=\"1em\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z\"\n ></path>\n </svg>\n </button>`,\n})\nexport class DarkThemeToggleComponent implements OnInit, OnDestroy {\n private themeSubscription: Subscription | undefined = undefined;\n\n constructor(public readonly themeService: ThemeService) {}\n\n ngOnInit(): void {\n if (\n localStorage.getItem('color-theme') === 'dark' ||\n (!('color-theme' in localStorage) &&\n 'matchMedia' in window &&\n window.matchMedia('(prefers-color-scheme: dark)').matches)\n ) {\n this.themeService.setTheme('dark');\n document.documentElement.classList.add('dark');\n } else {\n this.themeService.setTheme('light');\n document.documentElement.classList.remove('dark');\n }\n\n this.themeSubscription = this.themeService.$theme\n .asObservable()\n .subscribe((theme) => {\n localStorage.setItem('color-theme', theme);\n if (theme === 'dark') {\n document.documentElement.classList.add('dark');\n } else {\n document.documentElement.classList.remove('dark');\n }\n });\n }\n\n ngOnDestroy(): void {\n this.themeSubscription?.unsubscribe();\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'flowbite-navbar',\n template: ` <nav\n class=\"border-gray-200 bg-white px-2 py-2.5 dark:border-gray-700 dark:bg-gray-800 sm:px-4\"\n [ngClass]=\"[rounded ? 'rounded' : '', border ? 'border' : '', extraClass]\"\n >\n <div\n class=\"mx-auto flex flex-wrap items-center justify-between\"\n [ngClass]=\"{ container: !fluid }\"\n >\n <ng-content></ng-content>\n </div>\n </nav>`,\n})\nexport class NavbarComponent {\n @Input() extraClass = '';\n @Input() rounded = false;\n @Input() border = false;\n @Input() fluid = false;\n}\n","import { Component, Input } from '@angular/core';\nimport { SidebarService } from '../../services';\n\n@Component({\n selector: 'flowbite-sidebar',\n template: `<aside\n class=\"h-full\"\n [class.w-16]=\"sidebarService.$collapsed | async\"\n [class.w-64]=\"(sidebarService.$collapsed | async) === false\"\n >\n <div\n class=\"flex h-full flex-col space-y-4 divide-y divide-gray-200 overflow-y-auto bg-white py-4 px-3 dark:divide-gray-700 dark:border-gray-700 dark:bg-gray-800\"\n [class.rounded]=\"rounded\"\n [ngClass]=\"extraClass\"\n >\n <ng-content></ng-content>\n </div>\n </aside>`,\n})\nexport class SidebarComponent {\n @Input() extraClass = '';\n @Input() rounded = false;\n\n constructor(public readonly sidebarService: SidebarService) {}\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitizeHtml',\n})\nexport class SanitizeHtmlPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer) {}\n\n transform(v: string): SafeHtml {\n return this._sanitizer.bypassSecurityTrustHtml(v);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { SidebarService } from '../../services';\n\n@Component({\n selector: 'flowbite-sidebar-item',\n template: `<a\n class=\"group flex cursor-pointer items-center rounded-lg p-2 text-base font-normal text-gray-900 hover:bg-gray-200 dark:text-white dark:hover:bg-gray-700\"\n [routerLink]=\"link\"\n routerLinkActive=\"bg-gray-200 dark:bg-gray-700\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n <span\n class=\"flex-shrink-0\"\n [innerHTML]=\"icon! | sanitizeHtml\"\n *ngIf=\"!!icon\"\n ></span>\n <span\n class=\"flex-1 whitespace-nowrap\"\n [class.ml-3]=\"!!icon\"\n *ngIf=\"(sidebarService.$collapsed | async) === false\"\n >\n <ng-content></ng-content>\n </span>\n <flowbite-badge\n *ngIf=\"(sidebarService.$collapsed | async) === false && label\"\n >{{ label }}</flowbite-badge\n >\n </a>`,\n})\nexport class SidebarItemComponent {\n @Input() icon?: string;\n @Input() link?: string;\n @Input() label?: string;\n\n constructor(public readonly sidebarService: SidebarService) {}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'flowbite-sidebar-item-group',\n template: ` <div class=\"flex flex-col space-y-2\">\n <ng-content></ng-content>\n </div>`,\n})\nexport class SidebarItemGroupComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport {\n BadgeComponent,\n DarkThemeToggleComponent,\n NavbarComponent,\n SidebarComponent,\n SidebarItemComponent,\n SidebarItemGroupComponent,\n} from './components';\nimport { SidebarService, ThemeService } from './services';\nimport { SanitizeHtmlPipe } from './pipes';\n\nconst COMPONENTS = [\n BadgeComponent,\n DarkThemeToggleComponent,\n NavbarComponent,\n SidebarComponent,\n SidebarItemComponent,\n SidebarItemGroupComponent,\n];\n\nconst SERVICES = [SidebarService, ThemeService];\n\nconst PIPES = [SanitizeHtmlPipe];\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n declarations: [COMPONENTS, SanitizeHtmlPipe],\n exports: [COMPONENTS, SanitizeHtmlPipe],\n providers: [SERVICES, PIPES],\n})\nexport class FlowbiteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.ThemeService","i1.SidebarService","i2.BadgeComponent","i4","i5.SanitizeHtmlPipe"],"mappings":"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"}