flowbite-angular 1.0.0 → 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 (138) hide show
  1. package/README.md +15 -15
  2. package/accordion/accordion-content.component.d.ts +20 -4
  3. package/accordion/accordion-content.theme.d.ts +0 -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 -1
  7. package/accordion/index.d.ts +4 -4
  8. package/alert/alert.component.d.ts +42 -1
  9. package/alert/index.d.ts +1 -1
  10. package/badge/badge.component.d.ts +40 -0
  11. package/badge/index.d.ts +1 -1
  12. package/base-component.directive.d.ts +0 -4
  13. package/breadcrumb/breadcrumb-item.component.d.ts +19 -0
  14. package/breadcrumb/breadcrumb.component.d.ts +8 -1
  15. package/breadcrumb/index.d.ts +2 -2
  16. package/button/button.component.d.ts +100 -1
  17. package/button/index.d.ts +1 -1
  18. package/dark-theme-toggle/dark-theme-toggle.component.d.ts +12 -17
  19. package/dark-theme-toggle/index.d.ts +1 -1
  20. package/dropdown/dropdown-divider.component.d.ts +13 -2
  21. package/dropdown/dropdown-divider.theme.d.ts +2 -2
  22. package/dropdown/dropdown-header.component.d.ts +19 -2
  23. package/dropdown/dropdown-item.component.d.ts +7 -0
  24. package/dropdown/dropdown.component.d.ts +39 -13
  25. package/dropdown/index.d.ts +4 -4
  26. package/esm2022/accordion/accordion-content.component.mjs +29 -16
  27. package/esm2022/accordion/accordion-content.theme.mjs +2 -6
  28. package/esm2022/accordion/accordion-content.theme.service.mjs +2 -2
  29. package/esm2022/accordion/accordion-panel.component.mjs +18 -15
  30. package/esm2022/accordion/accordion-title.component.mjs +14 -8
  31. package/esm2022/accordion/accordion.component.mjs +28 -13
  32. package/esm2022/accordion/index.mjs +5 -5
  33. package/esm2022/alert/alert.component.mjs +93 -37
  34. package/esm2022/alert/index.mjs +2 -2
  35. package/esm2022/badge/badge.component.mjs +34 -9
  36. package/esm2022/badge/index.mjs +2 -2
  37. package/esm2022/base-component.directive.mjs +1 -7
  38. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +14 -8
  39. package/esm2022/breadcrumb/breadcrumb.component.mjs +16 -11
  40. package/esm2022/breadcrumb/index.mjs +3 -3
  41. package/esm2022/button/button.component.mjs +72 -34
  42. package/esm2022/button/index.mjs +2 -2
  43. package/esm2022/core/flowbite.theme.init.mjs +48 -14
  44. package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +17 -42
  45. package/esm2022/dark-theme-toggle/index.mjs +2 -2
  46. package/esm2022/dropdown/dropdown-divider.component.mjs +10 -5
  47. package/esm2022/dropdown/dropdown-divider.theme.mjs +1 -1
  48. package/esm2022/dropdown/dropdown-header.component.mjs +13 -10
  49. package/esm2022/dropdown/dropdown-item.component.mjs +10 -5
  50. package/esm2022/dropdown/dropdown.component.mjs +51 -72
  51. package/esm2022/dropdown/dropdown.theme.mjs +6 -6
  52. package/esm2022/dropdown/index.mjs +5 -5
  53. package/esm2022/indicator/index.mjs +2 -2
  54. package/esm2022/indicator/indicators.component.mjs +64 -14
  55. package/esm2022/modal/index.mjs +5 -5
  56. package/esm2022/modal/modal-body.component.mjs +10 -5
  57. package/esm2022/modal/modal-footer.component.mjs +10 -5
  58. package/esm2022/modal/modal-header.component.mjs +16 -10
  59. package/esm2022/modal/modal.component.mjs +42 -23
  60. package/esm2022/navbar/index.mjs +7 -7
  61. package/esm2022/navbar/navbar-brand.component.mjs +10 -5
  62. package/esm2022/navbar/navbar-content.component.mjs +35 -11
  63. package/esm2022/navbar/navbar-content.theme.mjs +2 -6
  64. package/esm2022/navbar/navbar-content.theme.service.mjs +2 -2
  65. package/esm2022/navbar/navbar-icon-button.component.mjs +10 -9
  66. package/esm2022/navbar/navbar-item.component.mjs +10 -5
  67. package/esm2022/navbar/navbar-toggle.component.mjs +12 -6
  68. package/esm2022/navbar/navbar.component.mjs +41 -16
  69. package/esm2022/scroll-top/index.mjs +2 -2
  70. package/esm2022/scroll-top/scroll-top.component.mjs +22 -5
  71. package/esm2022/sidebar/index.mjs +7 -7
  72. package/esm2022/sidebar/sidebar-item-group.component.mjs +19 -14
  73. package/esm2022/sidebar/sidebar-item.component.mjs +45 -26
  74. package/esm2022/sidebar/sidebar-menu.component.mjs +10 -9
  75. package/esm2022/sidebar/sidebar-page-content.component.mjs +10 -4
  76. package/esm2022/sidebar/sidebar-toggle.component.mjs +22 -5
  77. package/esm2022/sidebar/sidebar.component.mjs +36 -19
  78. package/esm2022/theme/flowbite-angular-theme.mjs +5 -0
  79. package/esm2022/theme/flowbite-theme.directive.mjs +71 -0
  80. package/esm2022/theme/index.mjs +2 -0
  81. package/fesm2022/flowbite-angular-accordion.mjs +85 -50
  82. package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
  83. package/fesm2022/flowbite-angular-alert.mjs +93 -37
  84. package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
  85. package/fesm2022/flowbite-angular-badge.mjs +34 -9
  86. package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
  87. package/fesm2022/flowbite-angular-breadcrumb.mjs +28 -16
  88. package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
  89. package/fesm2022/flowbite-angular-button.mjs +72 -34
  90. package/fesm2022/flowbite-angular-button.mjs.map +1 -1
  91. package/fesm2022/flowbite-angular-core.mjs +47 -13
  92. package/fesm2022/flowbite-angular-core.mjs.map +1 -1
  93. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +17 -42
  94. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
  95. package/fesm2022/flowbite-angular-dropdown.mjs +83 -88
  96. package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
  97. package/fesm2022/flowbite-angular-indicator.mjs +64 -14
  98. package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
  99. package/fesm2022/flowbite-angular-modal.mjs +72 -34
  100. package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
  101. package/fesm2022/flowbite-angular-navbar.mjs +109 -43
  102. package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
  103. package/fesm2022/flowbite-angular-scroll-top.mjs +22 -5
  104. package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
  105. package/fesm2022/flowbite-angular-sidebar.mjs +132 -65
  106. package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
  107. package/fesm2022/flowbite-angular-theme.mjs +78 -0
  108. package/fesm2022/flowbite-angular-theme.mjs.map +1 -0
  109. package/fesm2022/flowbite-angular.mjs +0 -6
  110. package/fesm2022/flowbite-angular.mjs.map +1 -1
  111. package/indicator/index.d.ts +1 -1
  112. package/indicator/indicators.component.d.ts +81 -0
  113. package/modal/index.d.ts +4 -4
  114. package/modal/modal-body.component.d.ts +7 -0
  115. package/modal/modal-footer.component.d.ts +7 -0
  116. package/modal/modal-header.component.d.ts +13 -0
  117. package/modal/modal.component.d.ts +40 -2
  118. package/navbar/index.d.ts +6 -6
  119. package/navbar/navbar-brand.component.d.ts +7 -0
  120. package/navbar/navbar-content.component.d.ts +13 -4
  121. package/navbar/navbar-content.theme.d.ts +1 -3
  122. package/navbar/navbar-icon-button.component.d.ts +12 -1
  123. package/navbar/navbar-item.component.d.ts +12 -0
  124. package/navbar/navbar-toggle.component.d.ts +7 -0
  125. package/navbar/navbar.component.d.ts +30 -2
  126. package/package.json +7 -2
  127. package/scroll-top/index.d.ts +1 -1
  128. package/scroll-top/scroll-top.component.d.ts +31 -0
  129. package/sidebar/index.d.ts +6 -6
  130. package/sidebar/sidebar-item-group.component.d.ts +19 -1
  131. package/sidebar/sidebar-item.component.d.ts +21 -1
  132. package/sidebar/sidebar-menu.component.d.ts +25 -1
  133. package/sidebar/sidebar-page-content.component.d.ts +12 -0
  134. package/sidebar/sidebar-toggle.component.d.ts +22 -0
  135. package/sidebar/sidebar.component.d.ts +17 -3
  136. package/theme/README.md +4 -0
  137. package/theme/flowbite-theme.directive.d.ts +36 -0
  138. package/theme/index.d.ts +1 -0
@@ -1,9 +1,9 @@
1
1
  import { mergeTheme, CHEVRON_DOWN_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, contentChildren } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, makeEnvironmentProviders, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChild, untracked, contentChildren } from '@angular/core';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
6
- import { NgIf, NgClass } 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
 
@@ -23,7 +23,7 @@ class AccordionContentThemeService {
23
23
  getClasses(properties) {
24
24
  const theme = mergeTheme(this.baseTheme, properties.customStyle);
25
25
  const output = {
26
- rootClass: twMerge(theme.root.base, theme.root.color[properties.color], theme.root.isOpen[properties.isOpen], theme.root.isFlush[properties.isFlush]),
26
+ rootClass: twMerge(theme.root.base, theme.root.color[properties.color], theme.root.isFlush[properties.isFlush]),
27
27
  };
28
28
  return output;
29
29
  }
@@ -37,6 +37,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
37
37
  }]
38
38
  }] });
39
39
 
40
+ const FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');
41
+ const accordionContentDefaultValueProvider = makeEnvironmentProviders([
42
+ {
43
+ provide: FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE,
44
+ useValue: {},
45
+ },
46
+ ]);
40
47
  /**
41
48
  * @see https://flowbite.com/docs/components/accordion/
42
49
  */
@@ -61,36 +68,42 @@ class AccordionContentComponent extends BaseComponent {
61
68
  /**
62
69
  * Set the custom style for this accordion content
63
70
  */
64
- this.customStyle = model({});
71
+ this.customStyle = model(inject(FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));
65
72
  }
66
73
  //#endregion
67
74
  //#region BaseComponent implementation
68
75
  fetchClass() {
69
76
  return this.themeService.getClasses({
70
77
  color: this.accordionPanelComponent.accordionComponent.color(),
71
- isOpen: booleanToFlowbiteBoolean(this.accordionPanelComponent.isOpen()),
72
78
  isFlush: booleanToFlowbiteBoolean(this.accordionPanelComponent.accordionComponent.isFlush()),
73
79
  customStyle: this.customStyle(),
74
80
  });
75
81
  }
76
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: AccordionContentComponent, isStandalone: true, selector: "flowbite-accordion-content", 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: `
78
- <ng-container *ngIf="accordionPanelComponent.isOpen()">
79
- <ng-content />
80
- </ng-container>
81
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: AccordionContentComponent, isStandalone: true, selector: "flowbite-accordion-content", 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" }, host: { properties: { "@isOpenAnimation": "accordionPanelComponent.isOpen()" } }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, animations: [
84
+ trigger('isOpenAnimation', [
85
+ state('true', style({ height: '*' })),
86
+ state('false', style({ height: '0px' })),
87
+ transition('true <=> false', animate('300ms')),
88
+ ]),
89
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
82
90
  }
83
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionContentComponent, decorators: [{
84
92
  type: Component,
85
93
  args: [{
86
94
  standalone: true,
87
- imports: [NgIf, NgClass],
88
95
  selector: 'flowbite-accordion-content',
89
- template: `
90
- <ng-container *ngIf="accordionPanelComponent.isOpen()">
91
- <ng-content />
92
- </ng-container>
93
- `,
96
+ template: `<ng-content />`,
97
+ host: {
98
+ '[@isOpenAnimation]': 'accordionPanelComponent.isOpen()',
99
+ },
100
+ animations: [
101
+ trigger('isOpenAnimation', [
102
+ state('true', style({ height: '*' })),
103
+ state('false', style({ height: '0px' })),
104
+ transition('true <=> false', animate('300ms')),
105
+ ]),
106
+ ],
94
107
  encapsulation: ViewEncapsulation.None,
95
108
  changeDetection: ChangeDetectionStrategy.OnPush,
96
109
  }]
@@ -157,6 +170,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
157
170
  }]
158
171
  }] });
159
172
 
173
+ const FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE');
174
+ const accordionTitleDefaultValueProvider = makeEnvironmentProviders([
175
+ {
176
+ provide: FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE,
177
+ useValue: {},
178
+ },
179
+ ]);
160
180
  /**
161
181
  * @see https://flowbite.com/docs/components/accordion/
162
182
  */
@@ -189,7 +209,7 @@ class AccordionTitleComponent extends BaseComponent {
189
209
  /**
190
210
  * Set the custom style for this accordion title
191
211
  */
192
- this.customStyle = model({});
212
+ this.customStyle = model(inject(FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE));
193
213
  }
194
214
  //#endregion
195
215
  //#region BaseComponent implementation
@@ -213,23 +233,23 @@ class AccordionTitleComponent extends BaseComponent {
213
233
  }
214
234
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
215
235
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: AccordionTitleComponent, isStandalone: true, selector: "flowbite-accordion-title", 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" }, host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0, template: `
216
- <h2 [ngClass]="contentClasses().textClass">
236
+ <h2 [class]="contentClasses().textClass">
217
237
  <ng-content />
218
238
  </h2>
219
239
  <flowbite-icon
220
240
  svgIcon="flowbite-angular:chevron-down"
221
241
  class="h-6 w-6 shrink-0 duration-200"
222
242
  [class.rotate-180]="accordionPanelComponent.isOpen()" />
223
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
243
+ `, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
224
244
  }
225
245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionTitleComponent, decorators: [{
226
246
  type: Component,
227
247
  args: [{
228
248
  standalone: true,
229
- imports: [NgClass, IconComponent],
249
+ imports: [IconComponent],
230
250
  selector: 'flowbite-accordion-title',
231
251
  template: `
232
- <h2 [ngClass]="contentClasses().textClass">
252
+ <h2 [class]="contentClasses().textClass">
233
253
  <ng-content />
234
254
  </h2>
235
255
  <flowbite-icon
@@ -245,6 +265,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
245
265
  }]
246
266
  }] });
247
267
 
268
+ const FLOWBITE_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_IS_OPEN_DEFAULT_VALUE');
269
+ const FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE');
270
+ const accordionPanelDefaultValueProvider = makeEnvironmentProviders([
271
+ {
272
+ provide: FLOWBITE_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE,
273
+ useValue: false,
274
+ },
275
+ {
276
+ provide: FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE,
277
+ useValue: {},
278
+ },
279
+ ]);
248
280
  /**
249
281
  * @see https://flowbite.com/docs/components/accordion/
250
282
  */
@@ -262,11 +294,11 @@ class AccordionPanelComponent extends BaseComponent {
262
294
  /**
263
295
  * The child `AccordionTitleComponent`
264
296
  */
265
- this.accordionTitleChild = contentChild(AccordionTitleComponent);
297
+ this.accordionTitleChild = contentChild.required(AccordionTitleComponent);
266
298
  /**
267
299
  * The child `AccordionContentComponent`
268
300
  */
269
- this.accordionContentChild = contentChild(AccordionContentComponent);
301
+ this.accordionContentChild = contentChild.required(AccordionContentComponent);
270
302
  //#region properties
271
303
  /**
272
304
  * Set the accordion panel color
@@ -279,11 +311,11 @@ class AccordionPanelComponent extends BaseComponent {
279
311
  *
280
312
  * @default false
281
313
  */
282
- this.isOpen = model(false);
314
+ this.isOpen = model(inject(FLOWBITE_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE));
283
315
  /**
284
316
  * Set the custom style for this accordion panel
285
317
  */
286
- this.customStyle = model({});
318
+ this.customStyle = model(inject(FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE));
287
319
  }
288
320
  //#endregion
289
321
  //#region BaseComponent implementation
@@ -292,14 +324,6 @@ class AccordionPanelComponent extends BaseComponent {
292
324
  customStyle: this.customStyle(),
293
325
  });
294
326
  }
295
- verify() {
296
- if (this.accordionTitleChild() === undefined) {
297
- throw new Error('No AccordionTitleComponent available');
298
- }
299
- if (this.accordionContentChild() == undefined) {
300
- throw new Error('No AccordionContentComponent available');
301
- }
302
- }
303
327
  //#endregion
304
328
  /**
305
329
  * Toggle isOpen for itself and close every other `AccordionPanelComponent` if the parent `AccordionComponent`'s isAlwaysOpen is false
@@ -322,7 +346,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
322
346
  type: Component,
323
347
  args: [{
324
348
  standalone: true,
325
- imports: [],
326
349
  selector: 'flowbite-accordion-panel',
327
350
  template: `<ng-content />`,
328
351
  encapsulation: ViewEncapsulation.None,
@@ -360,6 +383,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
360
383
  }]
361
384
  }] });
362
385
 
386
+ const FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_IS_ALWAYS_OPEN');
387
+ const FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE');
388
+ const FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE');
389
+ const FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE');
390
+ const accordionDefaultValueProvider = makeEnvironmentProviders([
391
+ {
392
+ provide: FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE,
393
+ useValue: false,
394
+ },
395
+ {
396
+ provide: FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE,
397
+ useValue: 'primary',
398
+ },
399
+ {
400
+ provide: FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE,
401
+ useValue: false,
402
+ },
403
+ {
404
+ provide: FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE,
405
+ useValue: {},
406
+ },
407
+ ]);
363
408
  /**
364
409
  * @see https://flowbite.com/docs/components/accordion/
365
410
  */
@@ -380,23 +425,23 @@ class AccordionComponent extends BaseComponent {
380
425
  *
381
426
  * @default false
382
427
  */
383
- this.isAlwaysOpen = model(false);
428
+ this.isAlwaysOpen = model(inject(FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE));
384
429
  /**
385
430
  * Set the accordion color and every child default color
386
431
  *
387
432
  * @default primary
388
433
  */
389
- this.color = model('primary');
434
+ this.color = model(inject(FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE));
390
435
  /**
391
436
  * Set the accordion as flush or not
392
437
  *
393
438
  * @default false
394
439
  */
395
- this.isFlush = model(false);
440
+ this.isFlush = model(inject(FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE));
396
441
  /**
397
442
  * Set the custom style for this accordion
398
443
  */
399
- this.customStyle = model({});
444
+ this.customStyle = model(inject(FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE));
400
445
  }
401
446
  //#endregion
402
447
  //#region BaseComponent implementation
@@ -405,11 +450,6 @@ class AccordionComponent extends BaseComponent {
405
450
  customStyle: this.customStyle(),
406
451
  });
407
452
  }
408
- verify() {
409
- if (this.accordionPanelChildren().length === 0) {
410
- throw new Error('No AccordionPanelComponent available');
411
- }
412
- }
413
453
  //#endregion
414
454
  /**
415
455
  * Close every `AccordionPanelComponent`
@@ -424,7 +464,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
424
464
  type: Component,
425
465
  args: [{
426
466
  standalone: true,
427
- imports: [NgClass],
428
467
  selector: 'flowbite-accordion',
429
468
  template: `<ng-content />`,
430
469
  encapsulation: ViewEncapsulation.None,
@@ -446,7 +485,7 @@ const accordionTheme = createTheme({
446
485
  */
447
486
  const accordionContentTheme = createTheme({
448
487
  root: {
449
- base: 'flex flex-col',
488
+ base: 'flex flex-col overflow-hidden',
450
489
  color: {
451
490
  primary: 'border-primary-200 dark:border-primary-700',
452
491
  light: 'border-gray-200 dark:border-gray-700',
@@ -455,10 +494,6 @@ const accordionContentTheme = createTheme({
455
494
  green: 'border-green-200 dark:border-green-700',
456
495
  yellow: 'border-yellow-200 dark:border-yellow-700',
457
496
  },
458
- isOpen: {
459
- enabled: 'p-5',
460
- disabled: '',
461
- },
462
497
  isFlush: {
463
498
  enabled: '',
464
499
  disabled: 'border-x border-t group-last:border-b',
@@ -507,5 +542,5 @@ const accordionTitleTheme = createTheme({
507
542
  * Generated bundle index. Do not edit.
508
543
  */
509
544
 
510
- export { AccordionComponent, AccordionContentComponent, AccordionContentThemeService, AccordionPanelComponent, AccordionPanelThemeService, AccordionThemeService, AccordionTitleComponent, AccordionTitleThemeService, FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN, FLOWBITE_ACCORDION_PANEL_THEME_TOKEN, FLOWBITE_ACCORDION_THEME_TOKEN, FLOWBITE_ACCORDION_TITLE_THEME_TOKEN, accordionContentTheme, accordionPanelTheme, accordionTheme, accordionTitleTheme };
545
+ export { AccordionComponent, AccordionContentComponent, AccordionContentThemeService, AccordionPanelComponent, AccordionPanelThemeService, AccordionThemeService, AccordionTitleComponent, AccordionTitleThemeService, FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE, FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN, FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE, FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE, FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE, FLOWBITE_ACCORDION_PANEL_THEME_TOKEN, FLOWBITE_ACCORDION_THEME_TOKEN, FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_ACCORDION_TITLE_THEME_TOKEN, accordionContentDefaultValueProvider, accordionContentTheme, accordionDefaultValueProvider, accordionPanelDefaultValueProvider, accordionPanelTheme, accordionTheme, accordionTitleDefaultValueProvider, accordionTitleTheme };
511
546
  //# sourceMappingURL=flowbite-angular-accordion.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowbite-angular-accordion.mjs","sources":["../../../../libs/flowbite-angular/accordion/accordion-content.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion-content.component.ts","../../../../libs/flowbite-angular/accordion/accordion-panel.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion-title.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion-title.component.ts","../../../../libs/flowbite-angular/accordion/accordion-panel.component.ts","../../../../libs/flowbite-angular/accordion/accordion.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion.component.ts","../../../../libs/flowbite-angular/accordion/accordion.theme.ts","../../../../libs/flowbite-angular/accordion/accordion-content.theme.ts","../../../../libs/flowbite-angular/accordion/accordion-panel.theme.ts","../../../../libs/flowbite-angular/accordion/accordion-title.theme.ts","../../../../libs/flowbite-angular/accordion/flowbite-angular-accordion.ts"],"sourcesContent":["import type {\n AccordionContentClass,\n AccordionContentProperties,\n AccordionContentTheme,\n} from './accordion-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 `AccordionContentTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN = new InjectionToken<AccordionContentTheme>(\n 'FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionContentThemeService\n implements FlowbiteThemeService<AccordionContentProperties>\n{\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN);\n\n public getClasses(properties: AccordionContentProperties): AccordionContentClass {\n const theme: AccordionContentTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionContentClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.isOpen[properties.isOpen],\n theme.root.isFlush[properties.isFlush]\n ),\n };\n\n return output;\n }\n}\n","import type { AccordionContentClass, AccordionContentTheme } from './accordion-content.theme';\nimport { AccordionContentThemeService } from './accordion-content.theme.service';\nimport { AccordionPanelComponent } from './accordion-panel.component';\nimport type { AccordionColors } from './accordion.theme';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\n\nimport { NgClass, NgIf } 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/accordion/\n */\n@Component({\n standalone: true,\n imports: [NgIf, NgClass],\n selector: 'flowbite-accordion-content',\n template: `\n <ng-container *ngIf=\"accordionPanelComponent.isOpen()\">\n <ng-content />\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionContentComponent extends BaseComponent<AccordionContentClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AccordionContentThemeService);\n /**\n * The parent `AccordionPanelComponent`\n */\n public readonly accordionPanelComponent = inject(AccordionPanelComponent);\n\n //#region properties\n /**\n * Set the accordion content color\n * \n @default `AccordionPanelComponent`'s color\n */\n public color = model<keyof AccordionColors>(this.accordionPanelComponent.color());\n /**\n * Set the custom style for this accordion content\n */\n public customStyle = model<DeepPartial<AccordionContentTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionContentClass {\n return this.themeService.getClasses({\n color: this.accordionPanelComponent.accordionComponent.color(),\n isOpen: booleanToFlowbiteBoolean(this.accordionPanelComponent.isOpen()),\n isFlush: booleanToFlowbiteBoolean(this.accordionPanelComponent.accordionComponent.isFlush()),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n AccordionPanelClass,\n AccordionPanelProperties,\n AccordionPanelTheme,\n} from './accordion-panel.theme';\nimport type { AccordionClass } from './accordion.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 `AccordionPanelTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_PANEL_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_PANEL_THEME_TOKEN = new InjectionToken<AccordionPanelTheme>(\n 'FLOWBITE_ACCORDION_PANEL_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionPanelThemeService implements FlowbiteThemeService<AccordionPanelProperties> {\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_PANEL_THEME_TOKEN);\n\n public getClasses(properties: AccordionPanelProperties): AccordionClass {\n const theme: AccordionPanelTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionPanelClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type {\n AccordionTitleClass,\n AccordionTitleProperties,\n AccordionTitleTheme,\n} from './accordion-title.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 `AccordionTitleTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_TITLE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_TITLE_THEME_TOKEN = new InjectionToken<AccordionTitleTheme>(\n 'FLOWBITE_ACCORDION_TITLE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionTitleThemeService implements FlowbiteThemeService<AccordionTitleProperties> {\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_TITLE_THEME_TOKEN);\n\n public getClasses(properties: AccordionTitleProperties): AccordionTitleClass {\n const theme: AccordionTitleTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionTitleClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.isFlush[properties.isFlush],\n theme.root.isOpen[properties.isOpen]\n ),\n textClass: twMerge(theme.text.base),\n };\n\n return output;\n }\n}\n","import { AccordionPanelComponent } from './accordion-panel.component';\nimport type { AccordionTitleClass, AccordionTitleTheme } from './accordion-title.theme';\nimport { AccordionTitleThemeService } from './accordion-title.theme.service';\nimport type { AccordionColors } from './accordion.theme';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CHEVRON_DOWN_SVG_ICON } from 'flowbite-angular/utils';\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';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @see https://flowbite.com/docs/components/accordion/\n */\n@Component({\n standalone: true,\n imports: [NgClass, IconComponent],\n selector: 'flowbite-accordion-title',\n template: `\n <h2 [ngClass]=\"contentClasses().textClass\">\n <ng-content />\n </h2>\n <flowbite-icon\n svgIcon=\"flowbite-angular:chevron-down\"\n class=\"h-6 w-6 shrink-0 duration-200\"\n [class.rotate-180]=\"accordionPanelComponent.isOpen()\" />\n `,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionTitleComponent extends BaseComponent<AccordionTitleClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AccordionTitleThemeService);\n /**\n * The parent `AccordionPanelComponent`\n */\n public readonly accordionPanelComponent = inject(AccordionPanelComponent);\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 accordion title color\n *\n * @default `AccordionPanelComponents`'s color\n */\n public color = model<keyof AccordionColors>(this.accordionPanelComponent.color());\n /**\n * Set the custom style for this accordion title\n */\n public customStyle = model<DeepPartial<AccordionTitleTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionTitleClass {\n return this.themeService.getClasses({\n color: this.accordionPanelComponent.accordionComponent.color(),\n isFlush: booleanToFlowbiteBoolean(this.accordionPanelComponent.accordionComponent.isFlush()),\n isOpen: booleanToFlowbiteBoolean(this.accordionPanelComponent.isOpen()),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'chevron-down',\n this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_DOWN_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Toggle the parent `AccordionPanelComponent`'s isOpen\n */\n public onClick(): void {\n this.accordionPanelComponent.toggleVisibility();\n }\n}\n","import { AccordionContentComponent } from './accordion-content.component';\nimport type { AccordionPanelClass, AccordionPanelTheme } from './accordion-panel.theme';\nimport { AccordionPanelThemeService } from './accordion-panel.theme.service';\nimport { AccordionTitleComponent } from './accordion-title.component';\nimport { AccordionComponent } from './accordion.component';\nimport type { AccordionColors } from './accordion.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport type { OnInit } from '@angular/core';\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/accordion/\n */\n@Component({\n standalone: true,\n imports: [],\n selector: 'flowbite-accordion-panel',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionPanelComponent extends BaseComponent<AccordionPanelClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AccordionPanelThemeService);\n /**\n * The parent `AccordionComponent`\n */\n public readonly accordionComponent = inject(AccordionComponent);\n /**\n * The child `AccordionTitleComponent`\n */\n public readonly accordionTitleChild = contentChild(AccordionTitleComponent);\n /**\n * The child `AccordionContentComponent`\n */\n public readonly accordionContentChild = contentChild(AccordionContentComponent);\n\n //#region properties\n /**\n * Set the accordion panel color\n *\n * @default `AccordionComponent`'s color\n */\n public color = model<keyof AccordionColors>(this.accordionComponent.color());\n /**\n * Set if the accordion panel is open or not\n *\n * @default false\n */\n public isOpen = model<boolean>(false);\n /**\n * Set the custom style for this accordion panel\n */\n public customStyle = model<DeepPartial<AccordionPanelTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionPanelClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override verify(): void {\n if (this.accordionTitleChild() === undefined) {\n throw new Error('No AccordionTitleComponent available');\n }\n if (this.accordionContentChild() == undefined) {\n throw new Error('No AccordionContentComponent available');\n }\n }\n //#endregion\n\n /**\n * Toggle isOpen for itself and close every other `AccordionPanelComponent` if the parent `AccordionComponent`'s isAlwaysOpen is false\n *\n * @param isOpen Instead of toggle, it can set the value provided\n */\n public toggleVisibility(isOpen?: boolean): void {\n if (isOpen === undefined) {\n isOpen = untracked(() => !this.isOpen());\n }\n\n if (isOpen && untracked(() => !this.accordionComponent.isAlwaysOpen())) {\n this.accordionComponent.closeAll();\n }\n\n this.isOpen.set(isOpen);\n }\n}\n","import type { AccordionClass, AccordionProperties, AccordionTheme } from './accordion.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 `AccordionTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_THEME_TOKEN = new InjectionToken<AccordionTheme>(\n 'FLOWBITE_ACCORDION_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionThemeService implements FlowbiteThemeService<AccordionProperties> {\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_THEME_TOKEN);\n\n public getClasses(properties: AccordionProperties): AccordionClass {\n const theme: AccordionTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import { AccordionPanelComponent } from './accordion-panel.component';\nimport type { AccordionClass, AccordionColors, AccordionTheme } from './accordion.theme';\nimport { AccordionThemeService } from './accordion.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/accordion/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-accordion',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionComponent extends BaseComponent<AccordionClass> {\n /**\n * Service injected used to generated class\n */\n public readonly themeService = inject(AccordionThemeService);\n /**\n * List of `AccordionPanelComponent`\n */\n public readonly accordionPanelChildren = contentChildren(AccordionPanelComponent);\n\n //#region properties\n /**\n * Does the opened `AccordionPanelComponent` stay open if another one is opening\n *\n * @default false\n */\n public isAlwaysOpen = model<boolean>(false);\n /**\n * Set the accordion color and every child default color\n *\n * @default primary\n */\n public color = model<keyof AccordionColors>('primary');\n /**\n * Set the accordion as flush or not\n *\n * @default false\n */\n public isFlush = model<boolean>(false);\n /**\n * Set the custom style for this accordion\n */\n public customStyle = model<DeepPartial<AccordionTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override verify(): void {\n if (this.accordionPanelChildren().length === 0) {\n throw new Error('No AccordionPanelComponent available');\n }\n }\n //#endregion\n\n /**\n * Close every `AccordionPanelComponent`\n */\n public closeAll(): void {\n this.accordionPanelChildren().forEach((child) => child.toggleVisibility(false));\n }\n}\n","import type { DeepPartial, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `AccordionComponent`\n */\nexport interface AccordionColors\n extends Pick<FlowbiteColors, 'primary' | 'light' | 'blue' | 'red' | 'green' | 'yellow'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `AccordionComponent`\n */\nexport interface AccordionProperties {\n customStyle: DeepPartial<AccordionTheme>;\n}\n\n/**\n * Theme definition for `AccordionComponent`\n */\nexport interface AccordionTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `AccordionComponent`\n */\nexport const accordionTheme: AccordionTheme = createTheme({\n root: {\n base: '',\n },\n});\n\n/**\n * Generated class definition for `AccordionComponent`\n */\nexport type AccordionClass = FlowbiteClass;\n","import type { AccordionColors } from './accordion.theme';\n\nimport type { DeepPartial, FlowbiteBoolean, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `AccordionContentComponent`\n */\nexport interface AccordionContentProperties {\n color: keyof AccordionColors;\n isOpen: keyof FlowbiteBoolean;\n isFlush: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AccordionContentTheme>;\n}\n\n/**\n * Theme definition for `AccordionContentComponent`\n */\nexport interface AccordionContentTheme {\n root: {\n base: string;\n color: AccordionColors;\n isOpen: FlowbiteBoolean;\n isFlush: FlowbiteBoolean;\n };\n}\n\n/**\n * Default theme for `AccordionContentComponent`\n */\nexport const accordionContentTheme: AccordionContentTheme = createTheme({\n root: {\n base: 'flex flex-col',\n color: {\n primary: 'border-primary-200 dark:border-primary-700',\n light: 'border-gray-200 dark:border-gray-700',\n blue: 'border-blue-200 dark:border-blue-700',\n red: 'border-red-200 dark:border-red-700',\n green: 'border-green-200 dark:border-green-700',\n yellow: 'border-yellow-200 dark:border-yellow-700',\n },\n isOpen: {\n enabled: 'p-5',\n disabled: '',\n },\n isFlush: {\n enabled: '',\n disabled: 'border-x border-t group-last:border-b',\n },\n },\n});\n\n/**\n * Generated class definition for `AccordionContentComponent`\n */\nexport type AccordionContentClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for th class generation of `AccordionPanelComponent`\n */\nexport interface AccordionPanelProperties {\n customStyle: DeepPartial<AccordionPanelTheme>;\n}\n\n/**\n * Theme definition for `AccordionPanelComponent`\n */\nexport interface AccordionPanelTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `AccordionPanelComponent`\n */\nexport const accordionPanelTheme: AccordionPanelTheme = createTheme({\n root: {\n base: 'group',\n },\n});\n\n/**\n * Generated class definition for `AccordionPanelComponent`\n */\nexport type AccordionPanelClass = FlowbiteClass;\n","import type { AccordionColors } from './accordion.theme';\n\nimport type { DeepPartial, FlowbiteBoolean, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `AccordionTitleComponent`\n */\nexport interface AccordionTitleProperties {\n color: keyof AccordionColors;\n isOpen: keyof FlowbiteBoolean;\n isFlush: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AccordionTitleTheme>;\n}\n\n/**\n * Theme definition for `AccordionTitleComponent`\n */\nexport interface AccordionTitleTheme {\n root: {\n base: string;\n color: AccordionColors;\n isFlush: FlowbiteBoolean;\n isOpen: FlowbiteBoolean;\n };\n text: {\n base: string;\n };\n}\n\n/**\n * Default theme for `AccordionTitleComponent`\n */\nexport const accordionTitleTheme: AccordionTitleTheme = createTheme({\n root: {\n base: 'cursor-pointer flex items-center p-5 justify-between group-first:rounded-t-lg',\n color: {\n primary:\n 'text-primary-900 dark:text-primary-50 border-primary-200 dark:border-primary-700 bg-primary-100 hover:bg-primary-100 dark:bg-primary-800 dark:hover:bg-primary-800',\n light:\n 'text-gray-900 dark:text-gray-50 border-gray-200 dark:border-gray-700 bg-gray-100 hover:bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-800',\n blue: 'text-blue-900 dark:text-blue-50 border-blue-200 dark:border-blue-700 bg-blue-100 hover:bg-blue-100 dark:bg-blue-800 dark:hover:bg-blue-800',\n red: 'text-red-900 dark:text-red-50 border-red-200 dark:border-red-700 bg-red-100 hover:bg-red-100 dark:bg-red-800 dark:hover:bg-red-800',\n green:\n 'text-green-900 dark:text-green-50 border-green-200 dark:border-green-700 bg-green-100 hover:bg-green-100 dark:bg-green-800 dark:hover:bg-green-800',\n yellow:\n 'text-yellow-900 dark:text-yellow-50 border-yellow-200 dark:border-yellow-700 bg-yellow-100 hover:bg-yellow-100 dark:bg-yellow-800 dark:hover:bg-yellow-800',\n },\n isFlush: {\n enabled: 'border-b bg-transparent hover:bg-transparent',\n disabled: 'border border-b-0',\n },\n isOpen: {\n enabled: '',\n disabled: 'bg-transparent dark:bg-transparent',\n },\n },\n text: {\n base: 'font-semibold text-base',\n },\n});\n\n/**\n * Generated class definition for `AccordionTitleComponent`\n */\nexport interface AccordionTitleClass extends FlowbiteClass {\n textClass: string;\n}\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-accordion.mjs","sources":["../../../../libs/flowbite-angular/accordion/accordion-content.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion-content.component.ts","../../../../libs/flowbite-angular/accordion/accordion-panel.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion-title.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion-title.component.ts","../../../../libs/flowbite-angular/accordion/accordion-panel.component.ts","../../../../libs/flowbite-angular/accordion/accordion.theme.service.ts","../../../../libs/flowbite-angular/accordion/accordion.component.ts","../../../../libs/flowbite-angular/accordion/accordion.theme.ts","../../../../libs/flowbite-angular/accordion/accordion-content.theme.ts","../../../../libs/flowbite-angular/accordion/accordion-panel.theme.ts","../../../../libs/flowbite-angular/accordion/accordion-title.theme.ts","../../../../libs/flowbite-angular/accordion/flowbite-angular-accordion.ts"],"sourcesContent":["import type {\n AccordionContentClass,\n AccordionContentProperties,\n AccordionContentTheme,\n} from './accordion-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 `AccordionContentTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN = new InjectionToken<AccordionContentTheme>(\n 'FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionContentThemeService\n implements FlowbiteThemeService<AccordionContentProperties>\n{\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_CONTENT_THEME_TOKEN);\n\n public getClasses(properties: AccordionContentProperties): AccordionContentClass {\n const theme: AccordionContentTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionContentClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.isFlush[properties.isFlush]\n ),\n };\n\n return output;\n }\n}\n","import type { AccordionContentClass, AccordionContentTheme } from './accordion-content.theme';\nimport { AccordionContentThemeService } from './accordion-content.theme.service';\nimport { AccordionPanelComponent } from './accordion-panel.component';\nimport type { AccordionColors } from './accordion.theme';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\n\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<AccordionContentTheme>\n>('FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const accordionContentDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/accordion/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-accordion-content',\n template: `<ng-content />`,\n host: {\n '[@isOpenAnimation]': 'accordionPanelComponent.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 AccordionContentComponent extends BaseComponent<AccordionContentClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AccordionContentThemeService);\n /**\n * The parent `AccordionPanelComponent`\n */\n public readonly accordionPanelComponent = inject(AccordionPanelComponent);\n\n //#region properties\n /**\n * Set the accordion content color\n * \n @default `AccordionPanelComponent`'s color\n */\n public color = model<keyof AccordionColors>(this.accordionPanelComponent.color());\n /**\n * Set the custom style for this accordion content\n */\n public customStyle = model(inject(FLOWBITE_ACCORDION_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionContentClass {\n return this.themeService.getClasses({\n color: this.accordionPanelComponent.accordionComponent.color(),\n isFlush: booleanToFlowbiteBoolean(this.accordionPanelComponent.accordionComponent.isFlush()),\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n AccordionPanelClass,\n AccordionPanelProperties,\n AccordionPanelTheme,\n} from './accordion-panel.theme';\nimport type { AccordionClass } from './accordion.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 `AccordionPanelTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_PANEL_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_PANEL_THEME_TOKEN = new InjectionToken<AccordionPanelTheme>(\n 'FLOWBITE_ACCORDION_PANEL_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionPanelThemeService implements FlowbiteThemeService<AccordionPanelProperties> {\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_PANEL_THEME_TOKEN);\n\n public getClasses(properties: AccordionPanelProperties): AccordionClass {\n const theme: AccordionPanelTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionPanelClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type {\n AccordionTitleClass,\n AccordionTitleProperties,\n AccordionTitleTheme,\n} from './accordion-title.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 `AccordionTitleTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_TITLE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_TITLE_THEME_TOKEN = new InjectionToken<AccordionTitleTheme>(\n 'FLOWBITE_ACCORDION_TITLE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionTitleThemeService implements FlowbiteThemeService<AccordionTitleProperties> {\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_TITLE_THEME_TOKEN);\n\n public getClasses(properties: AccordionTitleProperties): AccordionTitleClass {\n const theme: AccordionTitleTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionTitleClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.isFlush[properties.isFlush],\n theme.root.isOpen[properties.isOpen]\n ),\n textClass: twMerge(theme.text.base),\n };\n\n return output;\n }\n}\n","import { AccordionPanelComponent } from './accordion-panel.component';\nimport type { AccordionTitleClass, AccordionTitleTheme } from './accordion-title.theme';\nimport { AccordionTitleThemeService } from './accordion-title.theme.service';\nimport type { AccordionColors } from './accordion.theme';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CHEVRON_DOWN_SVG_ICON } from 'flowbite-angular/utils';\n\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';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport const FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<AccordionTitleTheme>\n>('FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const accordionTitleDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/accordion/\n */\n@Component({\n standalone: true,\n imports: [IconComponent],\n selector: 'flowbite-accordion-title',\n template: `\n <h2 [class]=\"contentClasses().textClass\">\n <ng-content />\n </h2>\n <flowbite-icon\n svgIcon=\"flowbite-angular:chevron-down\"\n class=\"h-6 w-6 shrink-0 duration-200\"\n [class.rotate-180]=\"accordionPanelComponent.isOpen()\" />\n `,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionTitleComponent extends BaseComponent<AccordionTitleClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AccordionTitleThemeService);\n /**\n * The parent `AccordionPanelComponent`\n */\n public readonly accordionPanelComponent = inject(AccordionPanelComponent);\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 accordion title color\n *\n * @default `AccordionPanelComponents`'s color\n */\n public color = model<keyof AccordionColors>(this.accordionPanelComponent.color());\n /**\n * Set the custom style for this accordion title\n */\n public customStyle = model(inject(FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionTitleClass {\n return this.themeService.getClasses({\n color: this.accordionPanelComponent.accordionComponent.color(),\n isFlush: booleanToFlowbiteBoolean(this.accordionPanelComponent.accordionComponent.isFlush()),\n isOpen: booleanToFlowbiteBoolean(this.accordionPanelComponent.isOpen()),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'chevron-down',\n this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_DOWN_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Toggle the parent `AccordionPanelComponent`'s isOpen\n */\n public onClick(): void {\n this.accordionPanelComponent.toggleVisibility();\n }\n}\n","import { AccordionContentComponent } from './accordion-content.component';\nimport type { AccordionPanelClass, AccordionPanelTheme } from './accordion-panel.theme';\nimport { AccordionPanelThemeService } from './accordion-panel.theme.service';\nimport { AccordionTitleComponent } from './accordion-title.component';\nimport { AccordionComponent } from './accordion.component';\nimport type { AccordionColors } from './accordion.theme';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport type { OnInit } from '@angular/core';\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_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ACCORDION_IS_OPEN_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<AccordionPanelTheme>\n>('FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const accordionPanelDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/accordion/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-accordion-panel',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionPanelComponent extends BaseComponent<AccordionPanelClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AccordionPanelThemeService);\n /**\n * The parent `AccordionComponent`\n */\n public readonly accordionComponent = inject(AccordionComponent);\n /**\n * The child `AccordionTitleComponent`\n */\n public readonly accordionTitleChild = contentChild.required(AccordionTitleComponent);\n /**\n * The child `AccordionContentComponent`\n */\n public readonly accordionContentChild = contentChild.required(AccordionContentComponent);\n\n //#region properties\n /**\n * Set the accordion panel color\n *\n * @default `AccordionComponent`'s color\n */\n public color = model<keyof AccordionColors>(this.accordionComponent.color());\n /**\n * Set if the accordion panel is open or not\n *\n * @default false\n */\n public isOpen = model(inject(FLOWBITE_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE));\n /**\n * Set the custom style for this accordion panel\n */\n public customStyle = model(inject(FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionPanelClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n\n /**\n * Toggle isOpen for itself and close every other `AccordionPanelComponent` if the parent `AccordionComponent`'s isAlwaysOpen is false\n *\n * @param isOpen Instead of toggle, it can set the value provided\n */\n public toggleVisibility(isOpen?: boolean): void {\n if (isOpen === undefined) {\n isOpen = untracked(() => !this.isOpen());\n }\n\n if (isOpen && untracked(() => !this.accordionComponent.isAlwaysOpen())) {\n this.accordionComponent.closeAll();\n }\n\n this.isOpen.set(isOpen);\n }\n}\n","import type { AccordionClass, AccordionProperties, AccordionTheme } from './accordion.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 `AccordionTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ACCORDION_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ACCORDION_THEME_TOKEN = new InjectionToken<AccordionTheme>(\n 'FLOWBITE_ACCORDION_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccordionThemeService implements FlowbiteThemeService<AccordionProperties> {\n private readonly baseTheme = inject(FLOWBITE_ACCORDION_THEME_TOKEN);\n\n public getClasses(properties: AccordionProperties): AccordionClass {\n const theme: AccordionTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AccordionClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import { AccordionPanelComponent } from './accordion-panel.component';\nimport type { AccordionClass, AccordionColors, AccordionTheme } from './accordion.theme';\nimport { AccordionThemeService } from './accordion.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ACCORDION_IS_ALWAYS_OPEN'\n);\n\nexport const FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE = new InjectionToken<keyof AccordionColors>(\n 'FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<AccordionTheme>\n>('FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const accordionDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/accordion/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-accordion',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccordionComponent extends BaseComponent<AccordionClass> {\n /**\n * Service injected used to generated class\n */\n public readonly themeService = inject(AccordionThemeService);\n /**\n * List of `AccordionPanelComponent`\n */\n public readonly accordionPanelChildren = contentChildren(AccordionPanelComponent);\n\n //#region properties\n /**\n * Does the opened `AccordionPanelComponent` stay open if another one is opening\n *\n * @default false\n */\n public isAlwaysOpen = model(inject(FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE));\n /**\n * Set the accordion color and every child default color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE));\n /**\n * Set the accordion as flush or not\n *\n * @default false\n */\n public isFlush = model(inject(FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE));\n /**\n * Set the custom style for this accordion\n */\n public customStyle = model(inject(FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AccordionClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n\n /**\n * Close every `AccordionPanelComponent`\n */\n public closeAll(): void {\n this.accordionPanelChildren().forEach((child) => child.toggleVisibility(false));\n }\n}\n","import type { DeepPartial, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `AccordionComponent`\n */\nexport interface AccordionColors\n extends Pick<FlowbiteColors, 'primary' | 'light' | 'blue' | 'red' | 'green' | 'yellow'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `AccordionComponent`\n */\nexport interface AccordionProperties {\n customStyle: DeepPartial<AccordionTheme>;\n}\n\n/**\n * Theme definition for `AccordionComponent`\n */\nexport interface AccordionTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `AccordionComponent`\n */\nexport const accordionTheme: AccordionTheme = createTheme({\n root: {\n base: '',\n },\n});\n\n/**\n * Generated class definition for `AccordionComponent`\n */\nexport type AccordionClass = FlowbiteClass;\n","import type { AccordionColors } from './accordion.theme';\n\nimport type { DeepPartial, FlowbiteBoolean, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `AccordionContentComponent`\n */\nexport interface AccordionContentProperties {\n color: keyof AccordionColors;\n isFlush: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AccordionContentTheme>;\n}\n\n/**\n * Theme definition for `AccordionContentComponent`\n */\nexport interface AccordionContentTheme {\n root: {\n base: string;\n color: AccordionColors;\n isFlush: FlowbiteBoolean;\n };\n}\n\n/**\n * Default theme for `AccordionContentComponent`\n */\nexport const accordionContentTheme: AccordionContentTheme = createTheme({\n root: {\n base: 'flex flex-col overflow-hidden',\n color: {\n primary: 'border-primary-200 dark:border-primary-700',\n light: 'border-gray-200 dark:border-gray-700',\n blue: 'border-blue-200 dark:border-blue-700',\n red: 'border-red-200 dark:border-red-700',\n green: 'border-green-200 dark:border-green-700',\n yellow: 'border-yellow-200 dark:border-yellow-700',\n },\n isFlush: {\n enabled: '',\n disabled: 'border-x border-t group-last:border-b',\n },\n },\n});\n\n/**\n * Generated class definition for `AccordionContentComponent`\n */\nexport type AccordionContentClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for th class generation of `AccordionPanelComponent`\n */\nexport interface AccordionPanelProperties {\n customStyle: DeepPartial<AccordionPanelTheme>;\n}\n\n/**\n * Theme definition for `AccordionPanelComponent`\n */\nexport interface AccordionPanelTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `AccordionPanelComponent`\n */\nexport const accordionPanelTheme: AccordionPanelTheme = createTheme({\n root: {\n base: 'group',\n },\n});\n\n/**\n * Generated class definition for `AccordionPanelComponent`\n */\nexport type AccordionPanelClass = FlowbiteClass;\n","import type { AccordionColors } from './accordion.theme';\n\nimport type { DeepPartial, FlowbiteBoolean, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `AccordionTitleComponent`\n */\nexport interface AccordionTitleProperties {\n color: keyof AccordionColors;\n isOpen: keyof FlowbiteBoolean;\n isFlush: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AccordionTitleTheme>;\n}\n\n/**\n * Theme definition for `AccordionTitleComponent`\n */\nexport interface AccordionTitleTheme {\n root: {\n base: string;\n color: AccordionColors;\n isFlush: FlowbiteBoolean;\n isOpen: FlowbiteBoolean;\n };\n text: {\n base: string;\n };\n}\n\n/**\n * Default theme for `AccordionTitleComponent`\n */\nexport const accordionTitleTheme: AccordionTitleTheme = createTheme({\n root: {\n base: 'cursor-pointer flex items-center p-5 justify-between group-first:rounded-t-lg',\n color: {\n primary:\n 'text-primary-900 dark:text-primary-50 border-primary-200 dark:border-primary-700 bg-primary-100 hover:bg-primary-100 dark:bg-primary-800 dark:hover:bg-primary-800',\n light:\n 'text-gray-900 dark:text-gray-50 border-gray-200 dark:border-gray-700 bg-gray-100 hover:bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-800',\n blue: 'text-blue-900 dark:text-blue-50 border-blue-200 dark:border-blue-700 bg-blue-100 hover:bg-blue-100 dark:bg-blue-800 dark:hover:bg-blue-800',\n red: 'text-red-900 dark:text-red-50 border-red-200 dark:border-red-700 bg-red-100 hover:bg-red-100 dark:bg-red-800 dark:hover:bg-red-800',\n green:\n 'text-green-900 dark:text-green-50 border-green-200 dark:border-green-700 bg-green-100 hover:bg-green-100 dark:bg-green-800 dark:hover:bg-green-800',\n yellow:\n 'text-yellow-900 dark:text-yellow-50 border-yellow-200 dark:border-yellow-700 bg-yellow-100 hover:bg-yellow-100 dark:bg-yellow-800 dark:hover:bg-yellow-800',\n },\n isFlush: {\n enabled: 'border-b bg-transparent hover:bg-transparent',\n disabled: 'border border-b-0',\n },\n isOpen: {\n enabled: '',\n disabled: 'bg-transparent dark:bg-transparent',\n },\n },\n text: {\n base: 'font-semibold text-base',\n },\n});\n\n/**\n * Generated class definition for `AccordionTitleComponent`\n */\nexport interface AccordionTitleClass extends FlowbiteClass {\n textClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}