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, 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]),
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,35 +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()),
78
+ isFlush: booleanToFlowbiteBoolean(this.accordionPanelComponent.accordionComponent.isFlush()),
72
79
  customStyle: this.customStyle(),
73
80
  });
74
81
  }
75
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
76
- 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: `
77
- <ng-container *ngIf="accordionPanelComponent.isOpen()">
78
- <ng-content />
79
- </ng-container>
80
- `, 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 }); }
81
90
  }
82
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionContentComponent, decorators: [{
83
92
  type: Component,
84
93
  args: [{
85
94
  standalone: true,
86
- imports: [NgIf, NgClass],
87
95
  selector: 'flowbite-accordion-content',
88
- template: `
89
- <ng-container *ngIf="accordionPanelComponent.isOpen()">
90
- <ng-content />
91
- </ng-container>
92
- `,
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
+ ],
93
107
  encapsulation: ViewEncapsulation.None,
94
108
  changeDetection: ChangeDetectionStrategy.OnPush,
95
109
  }]
@@ -156,6 +170,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
156
170
  }]
157
171
  }] });
158
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
+ ]);
159
180
  /**
160
181
  * @see https://flowbite.com/docs/components/accordion/
161
182
  */
@@ -188,7 +209,7 @@ class AccordionTitleComponent extends BaseComponent {
188
209
  /**
189
210
  * Set the custom style for this accordion title
190
211
  */
191
- this.customStyle = model({});
212
+ this.customStyle = model(inject(FLOWBITE_ACCORDION_TITLE_CUSTOM_STYLE_DEFAULT_VALUE));
192
213
  }
193
214
  //#endregion
194
215
  //#region BaseComponent implementation
@@ -212,23 +233,23 @@ class AccordionTitleComponent extends BaseComponent {
212
233
  }
213
234
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
214
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: `
215
- <h2 [ngClass]="contentClasses().textClass">
236
+ <h2 [class]="contentClasses().textClass">
216
237
  <ng-content />
217
238
  </h2>
218
239
  <flowbite-icon
219
240
  svgIcon="flowbite-angular:chevron-down"
220
241
  class="h-6 w-6 shrink-0 duration-200"
221
242
  [class.rotate-180]="accordionPanelComponent.isOpen()" />
222
- `, 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 }); }
223
244
  }
224
245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AccordionTitleComponent, decorators: [{
225
246
  type: Component,
226
247
  args: [{
227
248
  standalone: true,
228
- imports: [NgClass, IconComponent],
249
+ imports: [IconComponent],
229
250
  selector: 'flowbite-accordion-title',
230
251
  template: `
231
- <h2 [ngClass]="contentClasses().textClass">
252
+ <h2 [class]="contentClasses().textClass">
232
253
  <ng-content />
233
254
  </h2>
234
255
  <flowbite-icon
@@ -244,6 +265,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
244
265
  }]
245
266
  }] });
246
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
+ ]);
247
280
  /**
248
281
  * @see https://flowbite.com/docs/components/accordion/
249
282
  */
@@ -261,11 +294,11 @@ class AccordionPanelComponent extends BaseComponent {
261
294
  /**
262
295
  * The child `AccordionTitleComponent`
263
296
  */
264
- this.accordionTitleChild = contentChild(AccordionTitleComponent);
297
+ this.accordionTitleChild = contentChild.required(AccordionTitleComponent);
265
298
  /**
266
299
  * The child `AccordionContentComponent`
267
300
  */
268
- this.accordionContentChild = contentChild(AccordionContentComponent);
301
+ this.accordionContentChild = contentChild.required(AccordionContentComponent);
269
302
  //#region properties
270
303
  /**
271
304
  * Set the accordion panel color
@@ -278,11 +311,11 @@ class AccordionPanelComponent extends BaseComponent {
278
311
  *
279
312
  * @default false
280
313
  */
281
- this.isOpen = model(false);
314
+ this.isOpen = model(inject(FLOWBITE_ACCORDION_PANEL_IS_OPEN_DEFAULT_VALUE));
282
315
  /**
283
316
  * Set the custom style for this accordion panel
284
317
  */
285
- this.customStyle = model({});
318
+ this.customStyle = model(inject(FLOWBITE_ACCORDION_PANEL_CUSTOM_STYLE_DEFAULT_VALUE));
286
319
  }
287
320
  //#endregion
288
321
  //#region BaseComponent implementation
@@ -291,14 +324,6 @@ class AccordionPanelComponent extends BaseComponent {
291
324
  customStyle: this.customStyle(),
292
325
  });
293
326
  }
294
- verify() {
295
- if (this.accordionTitleChild() === undefined) {
296
- throw new Error('No AccordionTitleComponent available');
297
- }
298
- if (this.accordionContentChild() == undefined) {
299
- throw new Error('No AccordionContentComponent available');
300
- }
301
- }
302
327
  //#endregion
303
328
  /**
304
329
  * Toggle isOpen for itself and close every other `AccordionPanelComponent` if the parent `AccordionComponent`'s isAlwaysOpen is false
@@ -321,7 +346,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
321
346
  type: Component,
322
347
  args: [{
323
348
  standalone: true,
324
- imports: [],
325
349
  selector: 'flowbite-accordion-panel',
326
350
  template: `<ng-content />`,
327
351
  encapsulation: ViewEncapsulation.None,
@@ -345,7 +369,7 @@ class AccordionThemeService {
345
369
  getClasses(properties) {
346
370
  const theme = mergeTheme(this.baseTheme, properties.customStyle);
347
371
  const output = {
348
- rootClass: twMerge(theme.root.base, theme.root.isFlush[properties.isFlush], theme.root.color[properties.color]),
372
+ rootClass: twMerge(theme.root.base),
349
373
  };
350
374
  return output;
351
375
  }
@@ -359,6 +383,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
359
383
  }]
360
384
  }] });
361
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
+ ]);
362
408
  /**
363
409
  * @see https://flowbite.com/docs/components/accordion/
364
410
  */
@@ -379,38 +425,31 @@ class AccordionComponent extends BaseComponent {
379
425
  *
380
426
  * @default false
381
427
  */
382
- this.isAlwaysOpen = model(false);
428
+ this.isAlwaysOpen = model(inject(FLOWBITE_ACCORDION_IS_ALWAYS_OPEN_DEFAULT_VALUE));
383
429
  /**
384
430
  * Set the accordion color and every child default color
385
431
  *
386
432
  * @default primary
387
433
  */
388
- this.color = model('primary');
434
+ this.color = model(inject(FLOWBITE_ACCORDION_COLOR_DEFAULT_VALUE));
389
435
  /**
390
436
  * Set the accordion as flush or not
391
437
  *
392
438
  * @default false
393
439
  */
394
- this.isFlush = model(false);
440
+ this.isFlush = model(inject(FLOWBITE_ACCORDION_IS_FLUSH_DEFAULT_VALUE));
395
441
  /**
396
442
  * Set the custom style for this accordion
397
443
  */
398
- this.customStyle = model({});
444
+ this.customStyle = model(inject(FLOWBITE_ACCORDION_CUSTOM_STYLE_DEFAULT_VALUE));
399
445
  }
400
446
  //#endregion
401
447
  //#region BaseComponent implementation
402
448
  fetchClass() {
403
449
  return this.themeService.getClasses({
404
- color: this.color(),
405
- isFlush: booleanToFlowbiteBoolean(this.isFlush()),
406
450
  customStyle: this.customStyle(),
407
451
  });
408
452
  }
409
- verify() {
410
- if (this.accordionPanelChildren().length === 0) {
411
- throw new Error('No AccordionPanelComponent available');
412
- }
413
- }
414
453
  //#endregion
415
454
  /**
416
455
  * Close every `AccordionPanelComponent`
@@ -425,7 +464,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
425
464
  type: Component,
426
465
  args: [{
427
466
  standalone: true,
428
- imports: [NgClass],
429
467
  selector: 'flowbite-accordion',
430
468
  template: `<ng-content />`,
431
469
  encapsulation: ViewEncapsulation.None,
@@ -439,18 +477,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
439
477
  const accordionTheme = createTheme({
440
478
  root: {
441
479
  base: '',
442
- color: {
443
- primary: 'border-primary-200 dark:border-primary-700 divide-primary-200 dark:divide-primary-700',
444
- light: 'border-gray-300 dark:border-gray-700 divide-gray-200 dark:divide-gray-700',
445
- blue: 'border-blue-200 dark:border-blue-700 divide-blue-200 dark:divide-blue-700',
446
- red: 'border-red-200 dark:border-red-700 divide-red-200 dark:divide-red-700',
447
- green: 'border-green-200 dark:border-green-700 divide-green-200 dark:divide-green-700',
448
- yellow: 'border-yellow-200 dark:border-yellow-700 divide-yellow-200 dark:divide-yellow-700',
449
- },
450
- isFlush: {
451
- enabled: '',
452
- disabled: 'rounded-lg border shadow-sm',
453
- },
454
480
  },
455
481
  });
456
482
 
@@ -459,7 +485,7 @@ const accordionTheme = createTheme({
459
485
  */
460
486
  const accordionContentTheme = createTheme({
461
487
  root: {
462
- base: 'flex flex-col gap-2',
488
+ base: 'flex flex-col overflow-hidden',
463
489
  color: {
464
490
  primary: 'border-primary-200 dark:border-primary-700',
465
491
  light: 'border-gray-200 dark:border-gray-700',
@@ -468,9 +494,9 @@ const accordionContentTheme = createTheme({
468
494
  green: 'border-green-200 dark:border-green-700',
469
495
  yellow: 'border-yellow-200 dark:border-yellow-700',
470
496
  },
471
- isOpen: {
472
- enabled: 'p-5',
473
- disabled: '',
497
+ isFlush: {
498
+ enabled: '',
499
+ disabled: 'border-x border-t group-last:border-b',
474
500
  },
475
501
  },
476
502
  });
@@ -500,11 +526,11 @@ const accordionTitleTheme = createTheme({
500
526
  },
501
527
  isFlush: {
502
528
  enabled: 'border-b bg-transparent hover:bg-transparent',
503
- disabled: '',
529
+ disabled: 'border border-b-0',
504
530
  },
505
531
  isOpen: {
506
532
  enabled: '',
507
- disabled: 'bg-transparent dark:bg-transparent text-gray-500 ',
533
+ disabled: 'bg-transparent dark:bg-transparent',
508
534
  },
509
535
  },
510
536
  text: {
@@ -516,5 +542,5 @@ const accordionTitleTheme = createTheme({
516
542
  * Generated bundle index. Do not edit.
517
543
  */
518
544
 
519
- 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 };
520
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 ),\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 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(\n theme.root.base,\n theme.root.isFlush[properties.isFlush],\n theme.root.color[properties.color]\n ),\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, booleanToFlowbiteBoolean } 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 color: this.color(),\n isFlush: booleanToFlowbiteBoolean(this.isFlush()),\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, FlowbiteBoolean, 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 color: keyof AccordionColors;\n isFlush: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AccordionTheme>;\n}\n\n/**\n * Theme definition for `AccordionComponent`\n */\nexport interface AccordionTheme {\n root: {\n base: string;\n color: AccordionColors;\n isFlush: FlowbiteBoolean;\n };\n}\n\n/**\n * Default theme for `AccordionComponent`\n */\nexport const accordionTheme: AccordionTheme = createTheme({\n root: {\n base: '',\n color: {\n primary:\n 'border-primary-200 dark:border-primary-700 divide-primary-200 dark:divide-primary-700',\n light: 'border-gray-300 dark:border-gray-700 divide-gray-200 dark:divide-gray-700',\n blue: 'border-blue-200 dark:border-blue-700 divide-blue-200 dark:divide-blue-700',\n red: 'border-red-200 dark:border-red-700 divide-red-200 dark:divide-red-700',\n green: 'border-green-200 dark:border-green-700 divide-green-200 dark:divide-green-700',\n yellow: 'border-yellow-200 dark:border-yellow-700 divide-yellow-200 dark:divide-yellow-700',\n },\n isFlush: {\n enabled: '',\n disabled: 'rounded-lg border shadow-sm',\n },\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 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 };\n}\n\n/**\n * Default theme for `AccordionContentComponent`\n */\nexport const accordionContentTheme: AccordionContentTheme = createTheme({\n root: {\n base: 'flex flex-col gap-2',\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 },\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: '',\n },\n isOpen: {\n enabled: '',\n disabled: 'bg-transparent dark:bg-transparent text-gray-500 ',\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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"}