flowbite-angular 1.0.0-beta.1 → 1.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 (142) hide show
  1. package/README.md +15 -15
  2. package/accordion/accordion-content.component.d.ts +21 -1
  3. package/accordion/accordion-content.theme.d.ts +2 -2
  4. package/accordion/accordion-panel.component.d.ts +10 -3
  5. package/accordion/accordion-title.component.d.ts +27 -0
  6. package/accordion/accordion.component.d.ts +10 -14
  7. package/accordion/accordion.theme.d.ts +1 -5
  8. package/accordion/index.d.ts +4 -4
  9. package/alert/alert.component.d.ts +42 -1
  10. package/alert/index.d.ts +1 -1
  11. package/badge/badge.component.d.ts +40 -0
  12. package/badge/index.d.ts +1 -1
  13. package/base-component.directive.d.ts +0 -4
  14. package/breadcrumb/breadcrumb-item.component.d.ts +19 -0
  15. package/breadcrumb/breadcrumb.component.d.ts +8 -1
  16. package/breadcrumb/index.d.ts +2 -2
  17. package/button/button.component.d.ts +100 -1
  18. package/button/index.d.ts +1 -1
  19. package/dark-theme-toggle/dark-theme-toggle.component.d.ts +12 -17
  20. package/dark-theme-toggle/index.d.ts +1 -1
  21. package/dropdown/dropdown-divider.component.d.ts +13 -2
  22. package/dropdown/dropdown-divider.theme.d.ts +2 -2
  23. package/dropdown/dropdown-header.component.d.ts +19 -2
  24. package/dropdown/dropdown-item.component.d.ts +7 -0
  25. package/dropdown/dropdown.component.d.ts +39 -13
  26. package/dropdown/index.d.ts +4 -4
  27. package/esm2022/accordion/accordion-content.component.mjs +30 -16
  28. package/esm2022/accordion/accordion-content.theme.mjs +5 -5
  29. package/esm2022/accordion/accordion-content.theme.service.mjs +2 -2
  30. package/esm2022/accordion/accordion-panel.component.mjs +18 -15
  31. package/esm2022/accordion/accordion-title.component.mjs +14 -8
  32. package/esm2022/accordion/accordion-title.theme.mjs +3 -3
  33. package/esm2022/accordion/accordion.component.mjs +29 -16
  34. package/esm2022/accordion/accordion.theme.mjs +1 -13
  35. package/esm2022/accordion/accordion.theme.service.mjs +2 -2
  36. package/esm2022/accordion/index.mjs +5 -5
  37. package/esm2022/alert/alert.component.mjs +93 -37
  38. package/esm2022/alert/index.mjs +2 -2
  39. package/esm2022/badge/badge.component.mjs +34 -9
  40. package/esm2022/badge/index.mjs +2 -2
  41. package/esm2022/base-component.directive.mjs +1 -7
  42. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +14 -8
  43. package/esm2022/breadcrumb/breadcrumb.component.mjs +16 -11
  44. package/esm2022/breadcrumb/index.mjs +3 -3
  45. package/esm2022/button/button.component.mjs +72 -34
  46. package/esm2022/button/index.mjs +2 -2
  47. package/esm2022/core/flowbite.theme.init.mjs +48 -14
  48. package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +17 -42
  49. package/esm2022/dark-theme-toggle/index.mjs +2 -2
  50. package/esm2022/dropdown/dropdown-divider.component.mjs +10 -5
  51. package/esm2022/dropdown/dropdown-divider.theme.mjs +1 -1
  52. package/esm2022/dropdown/dropdown-header.component.mjs +13 -10
  53. package/esm2022/dropdown/dropdown-item.component.mjs +10 -5
  54. package/esm2022/dropdown/dropdown.component.mjs +51 -72
  55. package/esm2022/dropdown/dropdown.theme.mjs +6 -6
  56. package/esm2022/dropdown/index.mjs +5 -5
  57. package/esm2022/indicator/index.mjs +2 -2
  58. package/esm2022/indicator/indicators.component.mjs +64 -14
  59. package/esm2022/modal/index.mjs +5 -5
  60. package/esm2022/modal/modal-body.component.mjs +10 -5
  61. package/esm2022/modal/modal-footer.component.mjs +10 -5
  62. package/esm2022/modal/modal-header.component.mjs +16 -10
  63. package/esm2022/modal/modal.component.mjs +42 -23
  64. package/esm2022/navbar/index.mjs +7 -7
  65. package/esm2022/navbar/navbar-brand.component.mjs +10 -5
  66. package/esm2022/navbar/navbar-content.component.mjs +35 -11
  67. package/esm2022/navbar/navbar-content.theme.mjs +2 -6
  68. package/esm2022/navbar/navbar-content.theme.service.mjs +2 -2
  69. package/esm2022/navbar/navbar-icon-button.component.mjs +10 -9
  70. package/esm2022/navbar/navbar-item.component.mjs +10 -5
  71. package/esm2022/navbar/navbar-toggle.component.mjs +12 -6
  72. package/esm2022/navbar/navbar.component.mjs +41 -16
  73. package/esm2022/scroll-top/index.mjs +2 -2
  74. package/esm2022/scroll-top/scroll-top.component.mjs +22 -5
  75. package/esm2022/sidebar/index.mjs +7 -7
  76. package/esm2022/sidebar/sidebar-item-group.component.mjs +19 -14
  77. package/esm2022/sidebar/sidebar-item.component.mjs +45 -26
  78. package/esm2022/sidebar/sidebar-menu.component.mjs +10 -9
  79. package/esm2022/sidebar/sidebar-page-content.component.mjs +10 -4
  80. package/esm2022/sidebar/sidebar-toggle.component.mjs +22 -5
  81. package/esm2022/sidebar/sidebar.component.mjs +36 -19
  82. package/esm2022/theme/flowbite-angular-theme.mjs +5 -0
  83. package/esm2022/theme/flowbite-theme.directive.mjs +71 -0
  84. package/esm2022/theme/index.mjs +2 -0
  85. package/fesm2022/flowbite-angular-accordion.mjs +92 -66
  86. package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
  87. package/fesm2022/flowbite-angular-alert.mjs +93 -37
  88. package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
  89. package/fesm2022/flowbite-angular-badge.mjs +34 -9
  90. package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
  91. package/fesm2022/flowbite-angular-breadcrumb.mjs +28 -16
  92. package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
  93. package/fesm2022/flowbite-angular-button.mjs +72 -34
  94. package/fesm2022/flowbite-angular-button.mjs.map +1 -1
  95. package/fesm2022/flowbite-angular-core.mjs +47 -13
  96. package/fesm2022/flowbite-angular-core.mjs.map +1 -1
  97. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +17 -42
  98. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
  99. package/fesm2022/flowbite-angular-dropdown.mjs +83 -88
  100. package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
  101. package/fesm2022/flowbite-angular-indicator.mjs +64 -14
  102. package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
  103. package/fesm2022/flowbite-angular-modal.mjs +72 -34
  104. package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
  105. package/fesm2022/flowbite-angular-navbar.mjs +109 -43
  106. package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
  107. package/fesm2022/flowbite-angular-scroll-top.mjs +22 -5
  108. package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
  109. package/fesm2022/flowbite-angular-sidebar.mjs +132 -65
  110. package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
  111. package/fesm2022/flowbite-angular-theme.mjs +78 -0
  112. package/fesm2022/flowbite-angular-theme.mjs.map +1 -0
  113. package/fesm2022/flowbite-angular.mjs +0 -6
  114. package/fesm2022/flowbite-angular.mjs.map +1 -1
  115. package/indicator/index.d.ts +1 -1
  116. package/indicator/indicators.component.d.ts +81 -0
  117. package/modal/index.d.ts +4 -4
  118. package/modal/modal-body.component.d.ts +7 -0
  119. package/modal/modal-footer.component.d.ts +7 -0
  120. package/modal/modal-header.component.d.ts +13 -0
  121. package/modal/modal.component.d.ts +40 -2
  122. package/navbar/index.d.ts +6 -6
  123. package/navbar/navbar-brand.component.d.ts +7 -0
  124. package/navbar/navbar-content.component.d.ts +13 -4
  125. package/navbar/navbar-content.theme.d.ts +1 -3
  126. package/navbar/navbar-icon-button.component.d.ts +12 -1
  127. package/navbar/navbar-item.component.d.ts +12 -0
  128. package/navbar/navbar-toggle.component.d.ts +7 -0
  129. package/navbar/navbar.component.d.ts +30 -2
  130. package/package.json +7 -2
  131. package/scroll-top/index.d.ts +1 -1
  132. package/scroll-top/scroll-top.component.d.ts +31 -0
  133. package/sidebar/index.d.ts +6 -6
  134. package/sidebar/sidebar-item-group.component.d.ts +19 -1
  135. package/sidebar/sidebar-item.component.d.ts +21 -1
  136. package/sidebar/sidebar-menu.component.d.ts +25 -1
  137. package/sidebar/sidebar-page-content.component.d.ts +12 -0
  138. package/sidebar/sidebar-toggle.component.d.ts +22 -0
  139. package/sidebar/sidebar.component.d.ts +17 -3
  140. package/theme/README.md +4 -0
  141. package/theme/flowbite-theme.directive.d.ts +36 -0
  142. package/theme/index.d.ts +1 -0
@@ -1,9 +1,9 @@
1
1
  import { mergeTheme, BARS_SVG_ICON, createTheme } from 'flowbite-angular/utils';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChild, untracked } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, makeEnvironmentProviders, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChild, untracked } from '@angular/core';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
6
- import { NgClass, CommonModule } from '@angular/common';
6
+ import { trigger, state, style, transition, animate } from '@angular/animations';
7
7
  import { IconRegistry, IconComponent } from 'flowbite-angular/icon';
8
8
  import { DomSanitizer } from '@angular/platform-browser';
9
9
  import { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';
@@ -39,6 +39,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
39
39
  }]
40
40
  }] });
41
41
 
42
+ const FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE');
43
+ const navbarBrandDefaultThemeProvider = makeEnvironmentProviders([
44
+ {
45
+ provide: FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE,
46
+ useValue: {},
47
+ },
48
+ ]);
42
49
  /**
43
50
  * @see https://flowbite.com/docs/components/navbar/
44
51
  */
@@ -57,7 +64,7 @@ class NavbarBrandComponent extends BaseComponent {
57
64
  /**
58
65
  * Set the custom style for this navbar brand
59
66
  */
60
- this.customStyle = model({});
67
+ this.customStyle = model(inject(FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE));
61
68
  }
62
69
  //#endregion
63
70
  //#region BaseComponent implementation
@@ -74,7 +81,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
74
81
  args: [{
75
82
  selector: 'flowbite-navbar-brand',
76
83
  standalone: true,
77
- imports: [NgClass],
78
84
  template: `<ng-content />`,
79
85
  encapsulation: ViewEncapsulation.None,
80
86
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -97,7 +103,7 @@ class NavbarContentThemeService {
97
103
  getClasses(properties) {
98
104
  const theme = mergeTheme(this.baseTheme, properties.customStyle);
99
105
  const output = {
100
- rootClass: twMerge(theme.root.base, theme.root.isOpen[properties.isOpen]),
106
+ rootClass: twMerge(theme.root.base),
101
107
  navbarContentListClass: twMerge(theme.list.base),
102
108
  };
103
109
  return output;
@@ -112,6 +118,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
112
118
  }]
113
119
  }] });
114
120
 
121
+ const FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');
122
+ const navbarContentDefaultValueProvider = makeEnvironmentProviders([
123
+ {
124
+ provide: FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE,
125
+ useValue: {},
126
+ },
127
+ ]);
115
128
  /**
116
129
  * @see https://flowbite.com/docs/components/navbar/
117
130
  */
@@ -133,34 +146,51 @@ class NavbarContentComponent extends BaseComponent {
133
146
  * @default `NavbarComponent`'s color
134
147
  */
135
148
  this.color = model(this.navbarComponent().color());
136
- this.customStyle = model({});
149
+ /**
150
+ * Set the custom style for this navbar content
151
+ */
152
+ this.customStyle = model(inject(FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));
137
153
  }
138
154
  //#endregion
139
155
  //#region BaseComponent implementation
140
156
  fetchClass() {
141
157
  return this.themeService.getClasses({
142
- isOpen: booleanToFlowbiteBoolean(this.navbarComponent().isOpen()),
143
158
  customStyle: this.customStyle(),
144
159
  });
145
160
  }
146
161
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NavbarContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: NavbarContentComponent, isStandalone: true, selector: "flowbite-navbar-content", inputs: { navbarComponent: { classPropertyName: "navbarComponent", publicName: "navbarComponent", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { navbarComponent: "navbarComponentChange", color: "colorChange", customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `
148
- <div [ngClass]="contentClasses().navbarContentListClass">
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: NavbarContentComponent, isStandalone: true, selector: "flowbite-navbar-content", inputs: { navbarComponent: { classPropertyName: "navbarComponent", publicName: "navbarComponent", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { navbarComponent: "navbarComponentChange", color: "colorChange", customStyle: "customStyleChange" }, host: { properties: { "@isOpenAnimation": "navbarComponent().isOpen()" } }, usesInheritance: true, ngImport: i0, template: `
163
+ <div [class]="contentClasses().navbarContentListClass">
149
164
  <ng-content />
150
165
  </div>
151
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
166
+ `, isInline: true, animations: [
167
+ trigger('isOpenAnimation', [
168
+ state('true', style({ height: '*' })),
169
+ state('false', style({ height: '0px' })),
170
+ transition('true <=> false', animate('300ms')),
171
+ ]),
172
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
152
173
  }
153
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NavbarContentComponent, decorators: [{
154
175
  type: Component,
155
176
  args: [{
156
177
  selector: 'flowbite-navbar-content',
157
178
  standalone: true,
158
- imports: [NgClass],
159
179
  template: `
160
- <div [ngClass]="contentClasses().navbarContentListClass">
180
+ <div [class]="contentClasses().navbarContentListClass">
161
181
  <ng-content />
162
182
  </div>
163
183
  `,
184
+ host: {
185
+ '[@isOpenAnimation]': 'navbarComponent().isOpen()',
186
+ },
187
+ animations: [
188
+ trigger('isOpenAnimation', [
189
+ state('true', style({ height: '*' })),
190
+ state('false', style({ height: '0px' })),
191
+ transition('true <=> false', animate('300ms')),
192
+ ]),
193
+ ],
164
194
  encapsulation: ViewEncapsulation.None,
165
195
  changeDetection: ChangeDetectionStrategy.OnPush,
166
196
  }]
@@ -196,6 +226,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
196
226
  }]
197
227
  }] });
198
228
 
229
+ const FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE');
230
+ const navbarToggleDefaultValueProvider = makeEnvironmentProviders([
231
+ {
232
+ provide: FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE,
233
+ useValue: {},
234
+ },
235
+ ]);
199
236
  /**
200
237
  * @see https://flowbite.com/docs/components/navbar/
201
238
  */
@@ -222,7 +259,7 @@ class NavbarToggleComponent extends BaseComponent {
222
259
  /**
223
260
  * Set the custom style for this navbar toggle
224
261
  */
225
- this.customStyle = model({});
262
+ this.customStyle = model(inject(FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE));
226
263
  }
227
264
  //#endregion
228
265
  //#region BaseComponent implementation
@@ -247,14 +284,14 @@ class NavbarToggleComponent extends BaseComponent {
247
284
  <flowbite-icon
248
285
  svgIcon="flowbite-angular:bars"
249
286
  class="w-5 h-5" />
250
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
287
+ `, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
251
288
  }
252
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NavbarToggleComponent, decorators: [{
253
290
  type: Component,
254
291
  args: [{
255
292
  selector: 'flowbite-navbar-toggle',
256
293
  standalone: true,
257
- imports: [CommonModule, IconComponent],
294
+ imports: [IconComponent],
258
295
  template: `
259
296
  <flowbite-icon
260
297
  svgIcon="flowbite-angular:bars"
@@ -298,6 +335,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
298
335
  }]
299
336
  }] });
300
337
 
338
+ const FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE');
339
+ const FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE');
340
+ const FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE');
341
+ const FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE');
342
+ const FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE');
343
+ const FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE');
344
+ const navbarDefaultValueProvider = makeEnvironmentProviders([
345
+ {
346
+ provide: FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE,
347
+ useValue: 'primary',
348
+ },
349
+ {
350
+ provide: FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE,
351
+ useValue: false,
352
+ },
353
+ {
354
+ provide: FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE,
355
+ useValue: false,
356
+ },
357
+ {
358
+ provide: FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE,
359
+ useValue: false,
360
+ },
361
+ {
362
+ provide: FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE,
363
+ useValue: false,
364
+ },
365
+ {
366
+ provide: FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE,
367
+ useValue: {},
368
+ },
369
+ ]);
301
370
  /**
302
371
  * @see https://flowbite.com/docs/components/navbar/
303
372
  */
@@ -319,42 +388,42 @@ class NavbarComponent extends BaseComponent {
319
388
  /**
320
389
  * The child `NavbarContentComponent`
321
390
  */
322
- this.navbarContentChild = contentChild(NavbarContentComponent);
391
+ this.navbarContentChild = contentChild.required(NavbarContentComponent);
323
392
  //#region properties
324
393
  /**
325
394
  * Set the navbar color
326
395
  *
327
396
  * @default primary
328
397
  */
329
- this.color = model('primary');
398
+ this.color = model(inject(FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE));
330
399
  /**
331
400
  * Set if the navbar is open
332
401
  *
333
402
  * @default false
334
403
  */
335
- this.isOpen = model(false);
404
+ this.isOpen = model(inject(FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE));
336
405
  /**
337
406
  * Set if the navbar is rounded
338
407
  *
339
408
  * @default false
340
409
  */
341
- this.isRounded = model(false);
410
+ this.isRounded = model(inject(FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE));
342
411
  /**
343
412
  * Set if the navbar has border
344
413
  *
345
414
  * @default false
346
415
  */
347
- this.hasBorder = model(false);
416
+ this.hasBorder = model(inject(FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE));
348
417
  /**
349
418
  * Set if the navbar is fixed
350
419
  *
351
420
  * @default false
352
421
  */
353
- this.isFixed = model(false);
422
+ this.isFixed = model(inject(FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE));
354
423
  /**
355
424
  * Set the custom style for this navbar
356
425
  */
357
- this.customStyle = model({});
426
+ this.customStyle = model(inject(FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE));
358
427
  }
359
428
  //#endregion
360
429
  //#region BaseComponent implementation
@@ -366,11 +435,6 @@ class NavbarComponent extends BaseComponent {
366
435
  customStyle: this.customStyle(),
367
436
  });
368
437
  }
369
- verify() {
370
- if (this.navbarContentChild() === undefined) {
371
- throw new Error('No NavbarContentComponent available');
372
- }
373
- }
374
438
  //#endregion
375
439
  /**
376
440
  * Toggle visibility of the navbar
@@ -390,7 +454,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
390
454
  type: Component,
391
455
  args: [{
392
456
  standalone: true,
393
- imports: [NgClass],
394
457
  selector: 'flowbite-navbar',
395
458
  template: `<ng-content />`,
396
459
  encapsulation: ViewEncapsulation.None,
@@ -434,11 +497,7 @@ const navbarBrandTheme = createTheme({
434
497
  */
435
498
  const navbarContentTheme = createTheme({
436
499
  root: {
437
- base: 'w-full md:block md:w-auto order-last md:order-none',
438
- isOpen: {
439
- enabled: '',
440
- disabled: 'hidden',
441
- },
500
+ base: 'w-full md:!h-fit md:w-auto order-last md:order-none overflow-hidden',
442
501
  },
443
502
  list: {
444
503
  base: 'font-medium flex flex-col p-4 md:p-0 mt-4 items-center border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 rtl:space-x-reverse md:mt-0 md:border-0 md:bg-white dark:bg-gray-900 md:dark:bg-gray-800 dark:border-gray-700',
@@ -475,6 +534,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
475
534
  }]
476
535
  }] });
477
536
 
537
+ const FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE');
538
+ const navbarItemDefaultValueProvider = makeEnvironmentProviders([
539
+ {
540
+ provide: FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE,
541
+ useValue: {},
542
+ },
543
+ ]);
478
544
  /**
479
545
  * @see https://flowbite.com/docs/components/navbar/
480
546
  */
@@ -509,7 +575,7 @@ class NavbarItemComponent extends BaseComponent {
509
575
  /**
510
576
  * Set the custom style for this navbar item
511
577
  */
512
- this.customStyle = model({});
578
+ this.customStyle = model(inject(FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE));
513
579
  }
514
580
  //#endregion
515
581
  //#region BaseComponent implementation
@@ -534,7 +600,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
534
600
  args: [{
535
601
  selector: 'flowbite-navbar-item',
536
602
  standalone: true,
537
- imports: [NgClass],
538
603
  template: `<ng-content />`,
539
604
  host: {
540
605
  '(click)': 'onClick()',
@@ -596,6 +661,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
596
661
  }]
597
662
  }] });
598
663
 
664
+ const FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE');
665
+ const navbarIconButtonDefaultValueProvider = makeEnvironmentProviders([
666
+ {
667
+ provide: FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE,
668
+ useValue: {},
669
+ },
670
+ ]);
599
671
  /**
600
672
  * @see https://flowbite.com/docs/components/navbar/
601
673
  */
@@ -625,7 +697,7 @@ class NavbarIconButtonComponent extends BaseComponent {
625
697
  /**
626
698
  * Set the custom style for this navbar icon button
627
699
  */
628
- this.customStyle = model({});
700
+ this.customStyle = model(inject(FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE));
629
701
  }
630
702
  //#endregion
631
703
  //#region BaseComponent implementation
@@ -635,11 +707,6 @@ class NavbarIconButtonComponent extends BaseComponent {
635
707
  customStyle: this.customStyle(),
636
708
  });
637
709
  }
638
- verify() {
639
- if (this.navbarComponent === null && this.navbarContentComponent === null) {
640
- throw new Error('No NavbarComponent/NavbarContentComponent available');
641
- }
642
- }
643
710
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NavbarIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
644
711
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: NavbarIconButtonComponent, isStandalone: true, selector: "flowbite-navbar-icon-button", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { color: "colorChange", customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
645
712
  }
@@ -648,7 +715,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
648
715
  args: [{
649
716
  selector: 'flowbite-navbar-icon-button',
650
717
  standalone: true,
651
- imports: [],
652
718
  template: `<ng-content />`,
653
719
  encapsulation: ViewEncapsulation.None,
654
720
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -676,5 +742,5 @@ const navbarIconButtonTheme = createTheme({
676
742
  * Generated bundle index. Do not edit.
677
743
  */
678
744
 
679
- export { FLOWBITE_NAVBAR_BRAND_THEME_TOKEN, FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN, FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN, FLOWBITE_NAVBAR_ITEM_THEME_TOKEN, FLOWBITE_NAVBAR_THEME_TOKEN, FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN, NavbarBrandComponent, NavbarBrandThemeService, NavbarComponent, NavbarContentComponent, NavbarContentThemeService, NavbarIconButtonComponent, NavbarIconButtonThemeService, NavbarItemComponent, NavbarItemThemeService, NavbarThemeService, NavbarToggleComponent, NavbarToggleThemeService, navbarBrandTheme, navbarContentTheme, navbarIconButtonTheme, navbarItemTheme, navbarTheme, navbarToggleTheme };
745
+ export { FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_NAVBAR_BRAND_THEME_TOKEN, FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE, FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN, FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE, FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN, FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE, FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE, FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE, FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_NAVBAR_ITEM_THEME_TOKEN, FLOWBITE_NAVBAR_THEME_TOKEN, FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN, NavbarBrandComponent, NavbarBrandThemeService, NavbarComponent, NavbarContentComponent, NavbarContentThemeService, NavbarIconButtonComponent, NavbarIconButtonThemeService, NavbarItemComponent, NavbarItemThemeService, NavbarThemeService, NavbarToggleComponent, NavbarToggleThemeService, navbarBrandDefaultThemeProvider, navbarBrandTheme, navbarContentDefaultValueProvider, navbarContentTheme, navbarDefaultValueProvider, navbarIconButtonDefaultValueProvider, navbarIconButtonTheme, navbarItemDefaultValueProvider, navbarItemTheme, navbarTheme, navbarToggleDefaultValueProvider, navbarToggleTheme };
680
746
  //# sourceMappingURL=flowbite-angular-navbar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowbite-angular-navbar.mjs","sources":["../../../../libs/flowbite-angular/navbar/navbar-brand.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-brand.component.ts","../../../../libs/flowbite-angular/navbar/navbar-content.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-content.component.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.component.ts","../../../../libs/flowbite-angular/navbar/navbar.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar.component.ts","../../../../libs/flowbite-angular/navbar/navbar.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-brand.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-content.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-item.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-item.component.ts","../../../../libs/flowbite-angular/navbar/navbar-item.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.component.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.theme.ts","../../../../libs/flowbite-angular/navbar/flowbite-angular-navbar.ts"],"sourcesContent":["import type {\n NavbarBrandClass,\n NavbarBrandProperties,\n NavbarBrandTheme,\n} from './navbar-brand.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarBrandTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_BRAND_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_BRAND_THEME_TOKEN = new InjectionToken<NavbarBrandTheme>(\n 'FLOWBITE_NAVBAR_BRAND_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarBrandThemeService implements FlowbiteThemeService<NavbarBrandProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_BRAND_THEME_TOKEN);\n\n public getClasses(properties: NavbarBrandProperties): NavbarBrandClass {\n const theme: NavbarBrandTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarBrandClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { NavbarBrandClass, NavbarBrandTheme } from './navbar-brand.theme';\nimport { NavbarBrandThemeService } from './navbar-brand.theme.service';\nimport { NavbarComponent } from './navbar.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-brand',\n standalone: true,\n imports: [NgClass],\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarBrandComponent extends BaseComponent<NavbarBrandClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarBrandThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = inject(NavbarComponent);\n\n //#region properties\n /**\n * Set the custom style for this navbar brand\n */\n public customStyle = model<DeepPartial<NavbarBrandTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarBrandClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n NavbarContentClass,\n NavbarContentProperties,\n NavbarContentTheme,\n} from './navbar-content.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarContentTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN = new InjectionToken<NavbarContentTheme>(\n 'FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarContentThemeService implements FlowbiteThemeService<NavbarContentProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN);\n\n public getClasses(properties: NavbarContentProperties): NavbarContentClass {\n const theme: NavbarContentTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarContentClass = {\n rootClass: twMerge(theme.root.base, theme.root.isOpen[properties.isOpen]),\n navbarContentListClass: twMerge(theme.list.base),\n };\n\n return output;\n }\n}\n","import type { NavbarContentClass, NavbarContentTheme } from './navbar-content.theme';\nimport { NavbarContentThemeService } from './navbar-content.theme.service';\nimport { NavbarComponent } from './navbar.component';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport type { OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-content',\n standalone: true,\n imports: [NgClass],\n template: `\n <div [ngClass]=\"contentClasses().navbarContentListClass\">\n <ng-content />\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarContentComponent extends BaseComponent<NavbarContentClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarContentThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = model(inject(NavbarComponent));\n\n //#region properties\n /**\n * Set the navbar content color\n *\n * @default `NavbarComponent`'s color\n */\n public color = model<keyof NavbarColors>(this.navbarComponent().color());\n public customStyle = model<DeepPartial<NavbarContentTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarContentClass {\n return this.themeService.getClasses({\n isOpen: booleanToFlowbiteBoolean(this.navbarComponent().isOpen()),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n NavbarToggleClass,\n NavbarToggleProperties,\n NavbarToggleTheme,\n} from './navbar-toggle.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarToggleTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN = new InjectionToken<NavbarToggleTheme>(\n 'FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarToggleThemeService implements FlowbiteThemeService<NavbarToggleProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN);\n\n public getClasses(properties: NavbarToggleProperties): NavbarToggleClass {\n const theme: NavbarToggleTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarToggleClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { NavbarToggleClass, NavbarToggleTheme } from './navbar-toggle.theme';\nimport { NavbarToggleThemeService } from './navbar-toggle.theme.service';\nimport { NavbarComponent } from './navbar.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { BARS_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-toggle',\n standalone: true,\n imports: [CommonModule, IconComponent],\n template: `\n <flowbite-icon\n svgIcon=\"flowbite-angular:bars\"\n class=\"w-5 h-5\" />\n `,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarToggleComponent extends BaseComponent<NavbarToggleClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarToggleThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = model(inject(NavbarComponent));\n /**\n * `IconRegistry` service\n */\n public readonly iconRegistry = inject(IconRegistry);\n /**\n * `DomSanitizer` service\n */\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n /**\n * Set the custom style for this navbar toggle\n */\n public customStyle = model<DeepPartial<NavbarToggleTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarToggleClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'bars',\n this.domSanitizer.bypassSecurityTrustHtml(BARS_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Toggle navbar visibility (open close on mobile device)\n */\n public onClick(): void {\n const isCollapsed = this.navbarComponent().isOpen();\n\n this.navbarComponent().isOpen.set(!isCollapsed);\n }\n}\n","import type { NavbarClass, NavbarProperties, NavbarTheme } from './navbar.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_THEME_TOKEN = new InjectionToken<NavbarTheme>(\n 'FLOWBITE_NAVBAR_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarThemeService implements FlowbiteThemeService<NavbarProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_THEME_TOKEN);\n\n public getClasses(properties: NavbarProperties): NavbarClass {\n const theme: NavbarTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color['gray'],\n theme.root.isRounded[properties.isRounded],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.isFixed[properties.isFixed]\n ),\n };\n\n return output;\n }\n}\n","import { NavbarBrandComponent } from './navbar-brand.component';\nimport { NavbarContentComponent } from './navbar-content.component';\nimport { NavbarToggleComponent } from './navbar-toggle.component';\nimport type { NavbarClass, NavbarColors, NavbarTheme } from './navbar.theme';\nimport { NavbarThemeService } from './navbar.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n inject,\n model,\n untracked,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-navbar',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarComponent extends BaseComponent<NavbarClass> {\n /**\n * Service injecteed used to generate class\n */\n public readonly themeService = inject(NavbarThemeService);\n /**\n * The child `NavbarBrandComponent`\n */\n public readonly navbarBrandChild = contentChild(NavbarBrandComponent);\n /**\n * The child `NavbarToggleComponent`\n */\n public readonly navbarToggleChild = contentChild(NavbarToggleComponent);\n /**\n * The child `NavbarContentComponent`\n */\n public readonly navbarContentChild = contentChild(NavbarContentComponent);\n\n //#region properties\n /**\n * Set the navbar color\n *\n * @default primary\n */\n public color = model<keyof NavbarColors>('primary');\n /**\n * Set if the navbar is open\n *\n * @default false\n */\n public isOpen = model<boolean>(false);\n /**\n * Set if the navbar is rounded\n *\n * @default false\n */\n public isRounded = model<boolean>(false);\n /**\n * Set if the navbar has border\n *\n * @default false\n */\n public hasBorder = model<boolean>(false);\n /**\n * Set if the navbar is fixed\n *\n * @default false\n */\n public isFixed = model<boolean>(false);\n /**\n * Set the custom style for this navbar\n */\n public customStyle = model<DeepPartial<NavbarTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarClass {\n return this.themeService.getClasses({\n hasBorder: booleanToFlowbiteBoolean(this.isRounded()),\n isRounded: booleanToFlowbiteBoolean(this.hasBorder()),\n isFixed: booleanToFlowbiteBoolean(this.isFixed()),\n customStyle: this.customStyle(),\n });\n }\n\n public override verify(): void {\n if (this.navbarContentChild() === undefined) {\n throw new Error('No NavbarContentComponent available');\n }\n }\n //#endregion\n\n /**\n * Toggle visibility of the navbar\n *\n * @param isOpen When provide force the isOpen value\n */\n public toggleVisibility(isOpen?: boolean): void {\n if (isOpen === undefined) {\n isOpen = untracked(() => !this.isOpen());\n }\n\n this.isOpen.set(isOpen);\n }\n}\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\nexport interface NavbarColors extends Pick<FlowbiteColors, 'primary' | 'gray'> {\n [key: string]: string;\n}\n//#endregion\n\nexport interface NavbarProperties {\n isRounded: keyof FlowbiteBoolean;\n hasBorder: keyof FlowbiteBoolean;\n isFixed: keyof FlowbiteBoolean;\n customStyle: DeepPartial<NavbarTheme>;\n}\n\nexport interface NavbarTheme {\n root: {\n base: string;\n color: NavbarColors;\n isRounded: FlowbiteBoolean;\n hasBorder: FlowbiteBoolean;\n isFixed: FlowbiteBoolean;\n };\n}\n\nexport const navbarTheme: NavbarTheme = createTheme({\n root: {\n base: 'flex flex-wrap items-center justify-between p-4',\n color: {\n primary: 'bg-primary-200 dark:bg-primary-800 border-primary-200 dark:border-primary-700',\n gray: 'bg-white dark:bg-gray-800 border-gray-200 dark:border-gray-700',\n },\n isRounded: {\n enabled: 'rounded',\n disabled: '',\n },\n hasBorder: {\n enabled: 'border',\n disabled: '',\n },\n isFixed: {\n enabled: 'border-b',\n disabled: '',\n },\n },\n});\n\nexport type NavbarClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarBrandComponent`\n */\nexport interface NavbarBrandProperties {\n customStyle: DeepPartial<NavbarBrandTheme>;\n}\n\n/**\n * Theme definition for `NavbarBrandComponent`\n */\nexport interface NavbarBrandTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarBrandComponent`\n */\nexport const navbarBrandTheme: NavbarBrandTheme = createTheme({\n root: {\n base: 'cursor-pointer flex items-center space-x-3 rtl:space-x-reverse',\n },\n});\n\n/**\n * Generated class definition for `NavbarBrandComponent`\n */\nexport type NavbarBrandClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarContentComponent`\n */\nexport interface NavbarContentProperties {\n isOpen: keyof FlowbiteBoolean;\n customStyle: DeepPartial<NavbarContentTheme>;\n}\n\n/**\n * Theme definition for `NavbarContentComponent`\n */\nexport interface NavbarContentTheme {\n root: {\n base: string;\n isOpen: FlowbiteBoolean;\n };\n list: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarContentComponent`\n */\nexport const navbarContentTheme: NavbarContentTheme = createTheme({\n root: {\n base: 'w-full md:block md:w-auto order-last md:order-none',\n isOpen: {\n enabled: '',\n disabled: 'hidden',\n },\n },\n list: {\n base: 'font-medium flex flex-col p-4 md:p-0 mt-4 items-center border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 rtl:space-x-reverse md:mt-0 md:border-0 md:bg-white dark:bg-gray-900 md:dark:bg-gray-800 dark:border-gray-700',\n },\n});\n\n/**\n * Generated class definition for `NavbarContentComponent`\n */\nexport interface NavbarContentClass extends FlowbiteClass {\n navbarContentListClass: string;\n}\n","import type { NabvarItemProperties, NavbarItemClass, NavbarItemTheme } from './navbar-item.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarItemTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_ITEM_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_ITEM_THEME_TOKEN = new InjectionToken<NavbarItemTheme>(\n 'FLOWBITE_NAVBAR_ITEM_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarItemThemeService implements FlowbiteThemeService<NabvarItemProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_ITEM_THEME_TOKEN);\n\n public getClasses(properties: NabvarItemProperties): NavbarItemClass {\n const theme: NavbarItemTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarItemClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n };\n\n return output;\n }\n}\n","import { NavbarContentComponent } from './navbar-content.component';\nimport type { NavbarItemClass, NavbarItemTheme } from './navbar-item.theme';\nimport { NavbarItemThemeService } from './navbar-item.theme.service';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\nimport { FlowbiteRouterLinkActiveDirective } from 'flowbite-angular/router-link-active';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-item',\n standalone: true,\n imports: [NgClass],\n template: `<ng-content />`,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarItemComponent extends BaseComponent<NavbarItemClass> {\n /**\n * Optional `FlowbiteRouterLinkDirective` injected\n */\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n /**\n * Optional `FlowbiteRouterLinkActiveDirective` injected\n */\n public readonly flowbiteRouterLinkActive = inject(FlowbiteRouterLinkActiveDirective, {\n optional: true,\n });\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarItemThemeService);\n /**\n * The parent `NavbarContentComponent`\n */\n public readonly navbarContentComponent = inject(NavbarContentComponent);\n\n //#region properties\n /**\n * Set the navbar item color\n *\n * @default `NavbarContentComponent`'s color\n */\n public color = model<keyof NavbarColors>(this.navbarContentComponent.color());\n /**\n * Set the custom style for this navbar item\n */\n public customStyle = model<DeepPartial<NavbarItemTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarItemClass {\n return this.themeService.getClasses({\n color: this.color(),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n\n /**\n * Toggle the nnavbar visibility (auto close when on mobile device)\n */\n public onClick(): void {\n this.navbarContentComponent.navbarComponent().toggleVisibility(false);\n }\n}\n","import type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for class generation of `NavbarItemComponent`\n */\nexport interface NabvarItemProperties {\n color: keyof NavbarColors;\n customStyle: DeepPartial<NavbarItemTheme>;\n}\n\n/**\n * Theme definition for `NavbarItemComponent`\n */\nexport interface NavbarItemTheme {\n root: {\n base: string;\n color: NavbarColors;\n };\n}\n\n/**\n * Default theme for `NavbarItemComponent`\n */\nexport const navbarItemTheme: NavbarItemTheme = createTheme({\n root: {\n base: 'cursor-pointer block py-2 px-3 rounded text-sm text-gray-900 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700 md:hover:bg-transparent md:border-0 md:p-0 md:dark:hover:bg-transparent',\n color: {\n primary:\n 'md:hover:text-primary-700 md:dark:hover:text-primary-500 aria-current:text-primary-500 dark:aria-current:text-primary-300',\n gray: 'md:hover:text-gray-700 md:dark:hover:text-gray-500 aria-current:text-gray-500 dark:aria-current:text-gray-300',\n },\n },\n});\n\n/**\n * Generated class definition for `NavbarItemComponent`\n */\nexport type NavbarItemClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarToggleComponent`\n */\nexport interface NavbarToggleProperties {\n customStyle: DeepPartial<NavbarToggleTheme>;\n}\n\n/**\n * Theme definition for `NavbarToggleComponent`\n */\nexport interface NavbarToggleTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarToggleComponent`\n */\nexport const navbarToggleTheme: NavbarToggleTheme = createTheme({\n root: {\n base: 'cursor-pointer inline-flex items-center p-2 w-10 h-10 justify-center text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600',\n },\n});\n\n/**\n * Generated class definition for `NavbarToggleComponent`\n */\nexport type NavbarToggleClass = FlowbiteClass;\n","import type {\n NavbarIconButtonClass,\n NavbarIconButtonProperties,\n NavbarIconButtonTheme,\n} from './navbar-icon-button.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarIconButtonTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN = new InjectionToken<NavbarIconButtonTheme>(\n 'FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarIconButtonThemeService\n implements FlowbiteThemeService<NavbarIconButtonProperties>\n{\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN);\n\n public getClasses(properties: NavbarIconButtonProperties): NavbarIconButtonClass {\n const theme: NavbarIconButtonTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarIconButtonClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n };\n\n return output;\n }\n}\n","import { NavbarContentComponent } from './navbar-content.component';\nimport type { NavbarIconButtonClass, NavbarIconButtonTheme } from './navbar-icon-button.theme';\nimport { NavbarIconButtonThemeService } from './navbar-icon-button.theme.service';\nimport { NavbarComponent } from './navbar.component';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-icon-button',\n standalone: true,\n imports: [],\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarIconButtonComponent extends BaseComponent<NavbarIconButtonClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarIconButtonThemeService);\n /**\n * The optional parent `NavbarComponent`\n */\n public readonly navbarComponent = inject(NavbarComponent, { optional: true });\n /**\n * The optional parent `NavbarContentComponent`\n */\n public readonly navbarContentComponent = inject(NavbarContentComponent, { optional: true });\n\n //#region properties\n /**\n * Set the navbar icon button color\n *\n * @default `NavbarContentComponent`'s color\n * @default `NavbarComponent`'s color\n */\n public color = model<keyof NavbarColors>(\n this.navbarContentComponent?.color() || this.navbarComponent!.color()\n );\n /**\n * Set the custom style for this navbar icon button\n */\n public customStyle = model<DeepPartial<NavbarIconButtonTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarIconButtonClass {\n return this.themeService.getClasses({\n color: this.color(),\n customStyle: this.customStyle(),\n });\n }\n\n public override verify(): void {\n if (this.navbarComponent === null && this.navbarContentComponent === null) {\n throw new Error('No NavbarComponent/NavbarContentComponent available');\n }\n }\n}\n","import type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarIconButtonComponent`\n */\nexport interface NavbarIconButtonProperties {\n color: keyof NavbarColors;\n customStyle: DeepPartial<NavbarIconButtonTheme>;\n}\n\n/**\n * Theme definition for `NavbarIconButtonComponent`\n */\nexport interface NavbarIconButtonTheme {\n root: {\n base: string;\n color: NavbarColors;\n };\n}\n\n/**\n * Default theme for `NavbarIconButtonComponent`\n */\nexport const navbarIconButtonTheme: NavbarIconButtonTheme = createTheme({\n root: {\n base: 'cursor-pointer 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 color: {\n primary: 'text-primary-500 dark:text-primary-300',\n gray: 'text-gray-500 dark:text-gray-400',\n blue: 'text-blue-500 dark:text-blue-300',\n red: 'text-red-500 dark:text-red-300',\n green: 'text-green-500 dark:text-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-300',\n },\n },\n});\n\n/**\n * Generated class definition for `NavbarIconButtonComponent`\n */\nexport type NavbarIconButtonClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowbite-angular-navbar.mjs","sources":["../../../../libs/flowbite-angular/navbar/navbar-brand.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-brand.component.ts","../../../../libs/flowbite-angular/navbar/navbar-content.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-content.component.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.component.ts","../../../../libs/flowbite-angular/navbar/navbar.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar.component.ts","../../../../libs/flowbite-angular/navbar/navbar.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-brand.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-content.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-item.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-item.component.ts","../../../../libs/flowbite-angular/navbar/navbar-item.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-toggle.theme.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.theme.service.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.component.ts","../../../../libs/flowbite-angular/navbar/navbar-icon-button.theme.ts","../../../../libs/flowbite-angular/navbar/flowbite-angular-navbar.ts"],"sourcesContent":["import type {\n NavbarBrandClass,\n NavbarBrandProperties,\n NavbarBrandTheme,\n} from './navbar-brand.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarBrandTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_BRAND_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_BRAND_THEME_TOKEN = new InjectionToken<NavbarBrandTheme>(\n 'FLOWBITE_NAVBAR_BRAND_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarBrandThemeService implements FlowbiteThemeService<NavbarBrandProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_BRAND_THEME_TOKEN);\n\n public getClasses(properties: NavbarBrandProperties): NavbarBrandClass {\n const theme: NavbarBrandTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarBrandClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { NavbarBrandClass, NavbarBrandTheme } from './navbar-brand.theme';\nimport { NavbarBrandThemeService } from './navbar-brand.theme.service';\nimport { NavbarComponent } from './navbar.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarBrandTheme>\n>('FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarBrandDefaultThemeProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-brand',\n standalone: true,\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarBrandComponent extends BaseComponent<NavbarBrandClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarBrandThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = inject(NavbarComponent);\n\n //#region properties\n /**\n * Set the custom style for this navbar brand\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_BRAND_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarBrandClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n NavbarContentClass,\n NavbarContentProperties,\n NavbarContentTheme,\n} from './navbar-content.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarContentTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN = new InjectionToken<NavbarContentTheme>(\n 'FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarContentThemeService implements FlowbiteThemeService<NavbarContentProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_CONTENT_THEME_TOKEN);\n\n public getClasses(properties: NavbarContentProperties): NavbarContentClass {\n const theme: NavbarContentTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarContentClass = {\n rootClass: twMerge(theme.root.base),\n navbarContentListClass: twMerge(theme.list.base),\n };\n\n return output;\n }\n}\n","import type { NavbarContentClass, NavbarContentTheme } from './navbar-content.theme';\nimport { NavbarContentThemeService } from './navbar-content.theme.service';\nimport { NavbarComponent } from './navbar.component';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport type { OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarContentTheme>\n>('FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarContentDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-content',\n standalone: true,\n template: `\n <div [class]=\"contentClasses().navbarContentListClass\">\n <ng-content />\n </div>\n `,\n host: {\n '[@isOpenAnimation]': 'navbarComponent().isOpen()',\n },\n animations: [\n trigger('isOpenAnimation', [\n state('true', style({ height: '*' })),\n state('false', style({ height: '0px' })),\n transition('true <=> false', animate('300ms')),\n ]),\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarContentComponent extends BaseComponent<NavbarContentClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarContentThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = model(inject(NavbarComponent));\n\n //#region properties\n /**\n * Set the navbar content color\n *\n * @default `NavbarComponent`'s color\n */\n public color = model<keyof NavbarColors>(this.navbarComponent().color());\n /**\n * Set the custom style for this navbar content\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarContentClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n NavbarToggleClass,\n NavbarToggleProperties,\n NavbarToggleTheme,\n} from './navbar-toggle.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarToggleTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN = new InjectionToken<NavbarToggleTheme>(\n 'FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarToggleThemeService implements FlowbiteThemeService<NavbarToggleProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_TOGGLE_THEME_TOKEN);\n\n public getClasses(properties: NavbarToggleProperties): NavbarToggleClass {\n const theme: NavbarToggleTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarToggleClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { NavbarToggleClass, NavbarToggleTheme } from './navbar-toggle.theme';\nimport { NavbarToggleThemeService } from './navbar-toggle.theme.service';\nimport { NavbarComponent } from './navbar.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { BARS_SVG_ICON } from 'flowbite-angular/utils';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport const FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarToggleTheme>\n>('FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarToggleDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-toggle',\n standalone: true,\n imports: [IconComponent],\n template: `\n <flowbite-icon\n svgIcon=\"flowbite-angular:bars\"\n class=\"w-5 h-5\" />\n `,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarToggleComponent extends BaseComponent<NavbarToggleClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarToggleThemeService);\n /**\n * The parent `NavbarComponent`\n */\n public readonly navbarComponent = model(inject(NavbarComponent));\n /**\n * `IconRegistry` service\n */\n public readonly iconRegistry = inject(IconRegistry);\n /**\n * `DomSanitizer` service\n */\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n /**\n * Set the custom style for this navbar toggle\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarToggleClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'bars',\n this.domSanitizer.bypassSecurityTrustHtml(BARS_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Toggle navbar visibility (open close on mobile device)\n */\n public onClick(): void {\n const isCollapsed = this.navbarComponent().isOpen();\n\n this.navbarComponent().isOpen.set(!isCollapsed);\n }\n}\n","import type { NavbarClass, NavbarProperties, NavbarTheme } from './navbar.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_THEME_TOKEN = new InjectionToken<NavbarTheme>(\n 'FLOWBITE_NAVBAR_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarThemeService implements FlowbiteThemeService<NavbarProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_THEME_TOKEN);\n\n public getClasses(properties: NavbarProperties): NavbarClass {\n const theme: NavbarTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color['gray'],\n theme.root.isRounded[properties.isRounded],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.isFixed[properties.isFixed]\n ),\n };\n\n return output;\n }\n}\n","import { NavbarBrandComponent } from './navbar-brand.component';\nimport { NavbarContentComponent } from './navbar-content.component';\nimport { NavbarToggleComponent } from './navbar-toggle.component';\nimport type { NavbarClass, NavbarColors, NavbarTheme } from './navbar.theme';\nimport { NavbarThemeService } from './navbar.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n untracked,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE = new InjectionToken<keyof NavbarColors>(\n 'FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarTheme>\n>('FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-navbar',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarComponent extends BaseComponent<NavbarClass> {\n /**\n * Service injecteed used to generate class\n */\n public readonly themeService = inject(NavbarThemeService);\n /**\n * The child `NavbarBrandComponent`\n */\n public readonly navbarBrandChild = contentChild(NavbarBrandComponent);\n /**\n * The child `NavbarToggleComponent`\n */\n public readonly navbarToggleChild = contentChild(NavbarToggleComponent);\n /**\n * The child `NavbarContentComponent`\n */\n public readonly navbarContentChild = contentChild.required(NavbarContentComponent);\n\n //#region properties\n /**\n * Set the navbar color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_NAVBAR_COLOR_DEFAULT_VALUE));\n /**\n * Set if the navbar is open\n *\n * @default false\n */\n public isOpen = model(inject(FLOWBITE_NAVBAR_IS_OPEN_DEFAULT_VALUE));\n /**\n * Set if the navbar is rounded\n *\n * @default false\n */\n public isRounded = model(inject(FLOWBITE_NAVBAR_IS_ROUNDED_DEFAULT_VALUE));\n /**\n * Set if the navbar has border\n *\n * @default false\n */\n public hasBorder = model(inject(FLOWBITE_NAVBAR_HAS_BORDER_DEFAULT_VALUE));\n /**\n * Set if the navbar is fixed\n *\n * @default false\n */\n public isFixed = model(inject(FLOWBITE_NAVBAR_IS_FIXED_DEFAULT_VALUE));\n /**\n * Set the custom style for this navbar\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarClass {\n return this.themeService.getClasses({\n hasBorder: booleanToFlowbiteBoolean(this.isRounded()),\n isRounded: booleanToFlowbiteBoolean(this.hasBorder()),\n isFixed: booleanToFlowbiteBoolean(this.isFixed()),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n\n /**\n * Toggle visibility of the navbar\n *\n * @param isOpen When provide force the isOpen value\n */\n public toggleVisibility(isOpen?: boolean): void {\n if (isOpen === undefined) {\n isOpen = untracked(() => !this.isOpen());\n }\n\n this.isOpen.set(isOpen);\n }\n}\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\nexport interface NavbarColors extends Pick<FlowbiteColors, 'primary' | 'gray'> {\n [key: string]: string;\n}\n//#endregion\n\nexport interface NavbarProperties {\n isRounded: keyof FlowbiteBoolean;\n hasBorder: keyof FlowbiteBoolean;\n isFixed: keyof FlowbiteBoolean;\n customStyle: DeepPartial<NavbarTheme>;\n}\n\nexport interface NavbarTheme {\n root: {\n base: string;\n color: NavbarColors;\n isRounded: FlowbiteBoolean;\n hasBorder: FlowbiteBoolean;\n isFixed: FlowbiteBoolean;\n };\n}\n\nexport const navbarTheme: NavbarTheme = createTheme({\n root: {\n base: 'flex flex-wrap items-center justify-between p-4',\n color: {\n primary: 'bg-primary-200 dark:bg-primary-800 border-primary-200 dark:border-primary-700',\n gray: 'bg-white dark:bg-gray-800 border-gray-200 dark:border-gray-700',\n },\n isRounded: {\n enabled: 'rounded',\n disabled: '',\n },\n hasBorder: {\n enabled: 'border',\n disabled: '',\n },\n isFixed: {\n enabled: 'border-b',\n disabled: '',\n },\n },\n});\n\nexport type NavbarClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarBrandComponent`\n */\nexport interface NavbarBrandProperties {\n customStyle: DeepPartial<NavbarBrandTheme>;\n}\n\n/**\n * Theme definition for `NavbarBrandComponent`\n */\nexport interface NavbarBrandTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarBrandComponent`\n */\nexport const navbarBrandTheme: NavbarBrandTheme = createTheme({\n root: {\n base: 'cursor-pointer flex items-center space-x-3 rtl:space-x-reverse',\n },\n});\n\n/**\n * Generated class definition for `NavbarBrandComponent`\n */\nexport type NavbarBrandClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarContentComponent`\n */\nexport interface NavbarContentProperties {\n customStyle: DeepPartial<NavbarContentTheme>;\n}\n\n/**\n * Theme definition for `NavbarContentComponent`\n */\nexport interface NavbarContentTheme {\n root: {\n base: string;\n };\n list: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarContentComponent`\n */\nexport const navbarContentTheme: NavbarContentTheme = createTheme({\n root: {\n base: 'w-full md:!h-fit md:w-auto order-last md:order-none overflow-hidden',\n },\n list: {\n base: 'font-medium flex flex-col p-4 md:p-0 mt-4 items-center border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 rtl:space-x-reverse md:mt-0 md:border-0 md:bg-white dark:bg-gray-900 md:dark:bg-gray-800 dark:border-gray-700',\n },\n});\n\n/**\n * Generated class definition for `NavbarContentComponent`\n */\nexport interface NavbarContentClass extends FlowbiteClass {\n navbarContentListClass: string;\n}\n","import type { NabvarItemProperties, NavbarItemClass, NavbarItemTheme } from './navbar-item.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarItemTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_ITEM_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_ITEM_THEME_TOKEN = new InjectionToken<NavbarItemTheme>(\n 'FLOWBITE_NAVBAR_ITEM_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarItemThemeService implements FlowbiteThemeService<NabvarItemProperties> {\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_ITEM_THEME_TOKEN);\n\n public getClasses(properties: NabvarItemProperties): NavbarItemClass {\n const theme: NavbarItemTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarItemClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n };\n\n return output;\n }\n}\n","import { NavbarContentComponent } from './navbar-content.component';\nimport type { NavbarItemClass, NavbarItemTheme } from './navbar-item.theme';\nimport { NavbarItemThemeService } from './navbar-item.theme.service';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\nimport { FlowbiteRouterLinkActiveDirective } from 'flowbite-angular/router-link-active';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarItemTheme>\n>('FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarItemDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-item',\n standalone: true,\n template: `<ng-content />`,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarItemComponent extends BaseComponent<NavbarItemClass> {\n /**\n * Optional `FlowbiteRouterLinkDirective` injected\n */\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n /**\n * Optional `FlowbiteRouterLinkActiveDirective` injected\n */\n public readonly flowbiteRouterLinkActive = inject(FlowbiteRouterLinkActiveDirective, {\n optional: true,\n });\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarItemThemeService);\n /**\n * The parent `NavbarContentComponent`\n */\n public readonly navbarContentComponent = inject(NavbarContentComponent);\n\n //#region properties\n /**\n * Set the navbar item color\n *\n * @default `NavbarContentComponent`'s color\n */\n public color = model<keyof NavbarColors>(this.navbarContentComponent.color());\n /**\n * Set the custom style for this navbar item\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarItemClass {\n return this.themeService.getClasses({\n color: this.color(),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n\n /**\n * Toggle the nnavbar visibility (auto close when on mobile device)\n */\n public onClick(): void {\n this.navbarContentComponent.navbarComponent().toggleVisibility(false);\n }\n}\n","import type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for class generation of `NavbarItemComponent`\n */\nexport interface NabvarItemProperties {\n color: keyof NavbarColors;\n customStyle: DeepPartial<NavbarItemTheme>;\n}\n\n/**\n * Theme definition for `NavbarItemComponent`\n */\nexport interface NavbarItemTheme {\n root: {\n base: string;\n color: NavbarColors;\n };\n}\n\n/**\n * Default theme for `NavbarItemComponent`\n */\nexport const navbarItemTheme: NavbarItemTheme = createTheme({\n root: {\n base: 'cursor-pointer block py-2 px-3 rounded text-sm text-gray-900 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700 md:hover:bg-transparent md:border-0 md:p-0 md:dark:hover:bg-transparent',\n color: {\n primary:\n 'md:hover:text-primary-700 md:dark:hover:text-primary-500 aria-current:text-primary-500 dark:aria-current:text-primary-300',\n gray: 'md:hover:text-gray-700 md:dark:hover:text-gray-500 aria-current:text-gray-500 dark:aria-current:text-gray-300',\n },\n },\n});\n\n/**\n * Generated class definition for `NavbarItemComponent`\n */\nexport type NavbarItemClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarToggleComponent`\n */\nexport interface NavbarToggleProperties {\n customStyle: DeepPartial<NavbarToggleTheme>;\n}\n\n/**\n * Theme definition for `NavbarToggleComponent`\n */\nexport interface NavbarToggleTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `NavbarToggleComponent`\n */\nexport const navbarToggleTheme: NavbarToggleTheme = createTheme({\n root: {\n base: 'cursor-pointer inline-flex items-center p-2 w-10 h-10 justify-center text-sm text-gray-500 rounded-lg md:hidden hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-600',\n },\n});\n\n/**\n * Generated class definition for `NavbarToggleComponent`\n */\nexport type NavbarToggleClass = FlowbiteClass;\n","import type {\n NavbarIconButtonClass,\n NavbarIconButtonProperties,\n NavbarIconButtonTheme,\n} from './navbar-icon-button.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `NavbarIconButtonTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN = new InjectionToken<NavbarIconButtonTheme>(\n 'FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavbarIconButtonThemeService\n implements FlowbiteThemeService<NavbarIconButtonProperties>\n{\n private readonly baseTheme = inject(FLOWBITE_NAVBAR_ICON_BUTTON_THEME_TOKEN);\n\n public getClasses(properties: NavbarIconButtonProperties): NavbarIconButtonClass {\n const theme: NavbarIconButtonTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: NavbarIconButtonClass = {\n rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),\n };\n\n return output;\n }\n}\n","import { NavbarContentComponent } from './navbar-content.component';\nimport type { NavbarIconButtonClass, NavbarIconButtonTheme } from './navbar-icon-button.theme';\nimport { NavbarIconButtonThemeService } from './navbar-icon-button.theme.service';\nimport { NavbarComponent } from './navbar.component';\nimport type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<NavbarIconButtonTheme>\n>('FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const navbarIconButtonDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/navbar/\n */\n@Component({\n selector: 'flowbite-navbar-icon-button',\n standalone: true,\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarIconButtonComponent extends BaseComponent<NavbarIconButtonClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(NavbarIconButtonThemeService);\n /**\n * The optional parent `NavbarComponent`\n */\n public readonly navbarComponent = inject(NavbarComponent, { optional: true });\n /**\n * The optional parent `NavbarContentComponent`\n */\n public readonly navbarContentComponent = inject(NavbarContentComponent, { optional: true });\n\n //#region properties\n /**\n * Set the navbar icon button color\n *\n * @default `NavbarContentComponent`'s color\n * @default `NavbarComponent`'s color\n */\n public color = model<keyof NavbarColors>(\n this.navbarContentComponent?.color() || this.navbarComponent!.color()\n );\n /**\n * Set the custom style for this navbar icon button\n */\n public customStyle = model(inject(FLOWBITE_NAVBAR_ICON_BUTTON_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): NavbarIconButtonClass {\n return this.themeService.getClasses({\n color: this.color(),\n customStyle: this.customStyle(),\n });\n }\n}\n","import type { NavbarColors } from './navbar.theme';\n\nimport type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `NavbarIconButtonComponent`\n */\nexport interface NavbarIconButtonProperties {\n color: keyof NavbarColors;\n customStyle: DeepPartial<NavbarIconButtonTheme>;\n}\n\n/**\n * Theme definition for `NavbarIconButtonComponent`\n */\nexport interface NavbarIconButtonTheme {\n root: {\n base: string;\n color: NavbarColors;\n };\n}\n\n/**\n * Default theme for `NavbarIconButtonComponent`\n */\nexport const navbarIconButtonTheme: NavbarIconButtonTheme = createTheme({\n root: {\n base: 'cursor-pointer 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 color: {\n primary: 'text-primary-500 dark:text-primary-300',\n gray: 'text-gray-500 dark:text-gray-400',\n blue: 'text-blue-500 dark:text-blue-300',\n red: 'text-red-500 dark:text-red-300',\n green: 'text-green-500 dark:text-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-300',\n },\n },\n});\n\n/**\n * Generated class definition for `NavbarIconButtonComponent`\n */\nexport type NavbarIconButtonClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}