flowbite-angular 1.0.0-alpha.4 → 1.0.0-alpha.6

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 (236) hide show
  1. package/accordion/accordion-content.component.d.ts +17 -0
  2. package/accordion/accordion-content.theme.d.ts +12 -0
  3. package/accordion/accordion-content.theme.service.d.ts +11 -0
  4. package/accordion/accordion-panel.component.d.ts +33 -0
  5. package/accordion/accordion-panel.theme.d.ts +12 -0
  6. package/accordion/accordion-panel.theme.service.d.ts +11 -0
  7. package/accordion/accordion-title.component.d.ts +26 -0
  8. package/accordion/accordion-title.theme.d.ts +12 -0
  9. package/accordion/accordion-title.theme.service.d.ts +11 -0
  10. package/accordion/accordion.component.d.ts +30 -0
  11. package/accordion/accordion.theme.d.ts +15 -0
  12. package/accordion/accordion.theme.service.d.ts +11 -0
  13. package/alert/alert.component.d.ts +53 -0
  14. package/alert/alert.theme.d.ts +15 -0
  15. package/alert/alert.theme.service.d.ts +11 -0
  16. package/badge/badge.component.d.ts +29 -0
  17. package/badge/badge.theme.d.ts +18 -0
  18. package/badge/badge.theme.service.d.ts +11 -0
  19. package/base-component.directive.d.ts +36 -0
  20. package/breadcrumb/breadcrumb-item.component.d.ts +26 -0
  21. package/breadcrumb/breadcrumb-item.theme.d.ts +12 -0
  22. package/breadcrumb/breadcrumb-item.theme.service.d.ts +11 -0
  23. package/breadcrumb/breadcrumb.component.d.ts +14 -0
  24. package/breadcrumb/breadcrumb.theme.d.ts +15 -0
  25. package/breadcrumb/breadcrumb.theme.service.d.ts +11 -0
  26. package/button/button.component.d.ts +41 -0
  27. package/button/button.theme.d.ts +30 -0
  28. package/button/button.theme.service.d.ts +11 -0
  29. package/dark-theme-toggle/dark-theme-toggle.component.d.ts +32 -0
  30. package/dark-theme-toggle/dark-theme-toggle.theme.d.ts +12 -0
  31. package/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +11 -0
  32. package/dropdown/dropdown-divider.component.d.ts +12 -0
  33. package/dropdown/dropdown-divider.theme.d.ts +12 -0
  34. package/dropdown/dropdown-divider.theme.service.d.ts +11 -0
  35. package/dropdown/dropdown-header.component.d.ts +12 -0
  36. package/dropdown/dropdown-header.theme.d.ts +12 -0
  37. package/dropdown/dropdown-header.theme.service.d.ts +11 -0
  38. package/dropdown/dropdown-item.component.d.ts +12 -0
  39. package/dropdown/dropdown-item.theme.d.ts +12 -0
  40. package/dropdown/dropdown-item.theme.service.d.ts +11 -0
  41. package/dropdown/dropdown.component.d.ts +39 -0
  42. package/dropdown/dropdown.theme.d.ts +15 -0
  43. package/dropdown/dropdown.theme.service.d.ts +11 -0
  44. package/esm2022/accordion/accordion-content.component.mjs +18 -1
  45. package/esm2022/accordion/accordion-content.theme.mjs +4 -1
  46. package/esm2022/accordion/accordion-content.theme.service.mjs +19 -2
  47. package/esm2022/accordion/accordion-panel.component.mjs +34 -1
  48. package/esm2022/accordion/accordion-panel.theme.mjs +4 -1
  49. package/esm2022/accordion/accordion-panel.theme.service.mjs +19 -2
  50. package/esm2022/accordion/accordion-title.component.mjs +27 -1
  51. package/esm2022/accordion/accordion-title.theme.mjs +4 -1
  52. package/esm2022/accordion/accordion-title.theme.service.mjs +19 -2
  53. package/esm2022/accordion/accordion.component.mjs +31 -1
  54. package/esm2022/accordion/accordion.theme.mjs +4 -1
  55. package/esm2022/accordion/accordion.theme.service.mjs +19 -2
  56. package/esm2022/alert/alert.component.mjs +54 -1
  57. package/esm2022/alert/alert.theme.mjs +4 -1
  58. package/esm2022/alert/alert.theme.service.mjs +19 -2
  59. package/esm2022/badge/badge.component.mjs +30 -1
  60. package/esm2022/badge/badge.theme.mjs +4 -1
  61. package/esm2022/badge/badge.theme.service.mjs +19 -2
  62. package/esm2022/base-component.directive.mjs +37 -1
  63. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +27 -1
  64. package/esm2022/breadcrumb/breadcrumb-item.theme.mjs +4 -1
  65. package/esm2022/breadcrumb/breadcrumb-item.theme.service.mjs +19 -2
  66. package/esm2022/breadcrumb/breadcrumb.component.mjs +15 -1
  67. package/esm2022/breadcrumb/breadcrumb.theme.mjs +4 -1
  68. package/esm2022/breadcrumb/breadcrumb.theme.service.mjs +19 -2
  69. package/esm2022/button/button.component.mjs +42 -1
  70. package/esm2022/button/button.theme.mjs +4 -1
  71. package/esm2022/button/button.theme.service.mjs +19 -2
  72. package/esm2022/core/flowbite.theme.init.mjs +3 -3
  73. package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +33 -1
  74. package/esm2022/dark-theme-toggle/dark-theme-toggle.theme.mjs +4 -1
  75. package/esm2022/dark-theme-toggle/dark-theme-toggle.theme.service.mjs +19 -2
  76. package/esm2022/dropdown/dropdown-divider.component.mjs +13 -1
  77. package/esm2022/dropdown/dropdown-divider.theme.mjs +4 -1
  78. package/esm2022/dropdown/dropdown-divider.theme.service.mjs +19 -2
  79. package/esm2022/dropdown/dropdown-header.component.mjs +13 -1
  80. package/esm2022/dropdown/dropdown-header.theme.mjs +4 -1
  81. package/esm2022/dropdown/dropdown-header.theme.service.mjs +19 -2
  82. package/esm2022/dropdown/dropdown-item.component.mjs +13 -1
  83. package/esm2022/dropdown/dropdown-item.theme.mjs +4 -1
  84. package/esm2022/dropdown/dropdown-item.theme.service.mjs +19 -2
  85. package/esm2022/dropdown/dropdown.component.mjs +40 -1
  86. package/esm2022/dropdown/dropdown.theme.mjs +4 -1
  87. package/esm2022/dropdown/dropdown.theme.service.mjs +19 -2
  88. package/esm2022/flowbite.theme.service.mjs +2 -12
  89. package/esm2022/indicator/indicators.component.mjs +52 -1
  90. package/esm2022/indicator/indicators.theme.mjs +4 -1
  91. package/esm2022/indicator/indicators.theme.service.mjs +19 -2
  92. package/esm2022/modal/modal-body.component.mjs +13 -1
  93. package/esm2022/modal/modal-body.theme.mjs +4 -1
  94. package/esm2022/modal/modal-body.theme.service.mjs +19 -2
  95. package/esm2022/modal/modal-footer.component.mjs +13 -1
  96. package/esm2022/modal/modal-footer.theme.mjs +4 -1
  97. package/esm2022/modal/modal-footer.theme.service.mjs +19 -2
  98. package/esm2022/modal/modal-header.component.mjs +19 -1
  99. package/esm2022/modal/modal-header.theme.mjs +4 -1
  100. package/esm2022/modal/modal-header.theme.service.mjs +19 -2
  101. package/esm2022/modal/modal.component.mjs +36 -1
  102. package/esm2022/modal/modal.theme.service.mjs +19 -2
  103. package/esm2022/navbar/index.mjs +2 -2
  104. package/esm2022/navbar/navbar-brand.component.mjs +13 -1
  105. package/esm2022/navbar/navbar-brand.theme.mjs +4 -1
  106. package/esm2022/navbar/navbar-brand.theme.service.mjs +19 -2
  107. package/esm2022/navbar/navbar-content.component.mjs +15 -1
  108. package/esm2022/navbar/navbar-content.theme.mjs +4 -1
  109. package/esm2022/navbar/navbar-content.theme.service.mjs +19 -2
  110. package/esm2022/navbar/navbar-icon-button.component.mjs +22 -1
  111. package/esm2022/navbar/navbar-icon-button.theme.mjs +4 -1
  112. package/esm2022/navbar/navbar-icon-button.theme.service.mjs +20 -3
  113. package/esm2022/navbar/navbar-item.component.mjs +27 -1
  114. package/esm2022/navbar/navbar-item.theme.mjs +4 -1
  115. package/esm2022/navbar/navbar-item.theme.service.mjs +19 -2
  116. package/esm2022/navbar/navbar-toggle.component.mjs +22 -1
  117. package/esm2022/navbar/navbar-toggle.theme.mjs +5 -2
  118. package/esm2022/navbar/navbar-toggle.theme.service.mjs +19 -2
  119. package/esm2022/navbar/navbar.component.mjs +46 -1
  120. package/esm2022/navbar/navbar.theme.service.mjs +19 -2
  121. package/esm2022/router-link/flowbite-router-link.directive.mjs +13 -1
  122. package/esm2022/router-link-active/flowbite-router-link-active.directive.mjs +13 -1
  123. package/esm2022/sanitize-html/sanitize-html.pipe.mjs +3 -3
  124. package/esm2022/scroll-top/scroll-top.component.mjs +29 -1
  125. package/esm2022/scroll-top/scroll-top.theme.mjs +4 -1
  126. package/esm2022/scroll-top/scroll-top.theme.service.mjs +19 -2
  127. package/esm2022/sidebar/sidebar-item-group.component.mjs +43 -6
  128. package/esm2022/sidebar/sidebar-item-group.theme.mjs +4 -1
  129. package/esm2022/sidebar/sidebar-item-group.theme.service.mjs +19 -2
  130. package/esm2022/sidebar/sidebar-item.component.mjs +43 -5
  131. package/esm2022/sidebar/sidebar-item.theme.mjs +4 -1
  132. package/esm2022/sidebar/sidebar-item.theme.service.mjs +19 -2
  133. package/esm2022/sidebar/sidebar-menu.component.mjs +27 -1
  134. package/esm2022/sidebar/sidebar-menu.theme.mjs +4 -1
  135. package/esm2022/sidebar/sidebar-menu.theme.service.mjs +19 -2
  136. package/esm2022/sidebar/sidebar-page-content.component.mjs +13 -1
  137. package/esm2022/sidebar/sidebar-page-content.theme.mjs +4 -1
  138. package/esm2022/sidebar/sidebar-page-content.theme.service.mjs +19 -2
  139. package/esm2022/sidebar/sidebar-toggle.component.mjs +34 -1
  140. package/esm2022/sidebar/sidebar-toggle.theme.mjs +4 -1
  141. package/esm2022/sidebar/sidebar-toggle.theme.service.mjs +19 -2
  142. package/esm2022/sidebar/sidebar.component.mjs +38 -1
  143. package/esm2022/sidebar/sidebar.theme.service.mjs +19 -2
  144. package/esm2022/type-definitions/colors/flowbite.gradient-colors.mjs +1 -1
  145. package/fesm2022/flowbite-angular-accordion.mjs +183 -1
  146. package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
  147. package/fesm2022/flowbite-angular-alert.mjs +73 -1
  148. package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
  149. package/fesm2022/flowbite-angular-badge.mjs +49 -1
  150. package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
  151. package/fesm2022/flowbite-angular-breadcrumb.mjs +79 -1
  152. package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
  153. package/fesm2022/flowbite-angular-button.mjs +61 -1
  154. package/fesm2022/flowbite-angular-button.mjs.map +1 -1
  155. package/fesm2022/flowbite-angular-core.mjs +2 -2
  156. package/fesm2022/flowbite-angular-core.mjs.map +1 -1
  157. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +52 -1
  158. package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
  159. package/fesm2022/flowbite-angular-dropdown.mjs +152 -1
  160. package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
  161. package/fesm2022/flowbite-angular-indicator.mjs +71 -1
  162. package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
  163. package/fesm2022/flowbite-angular-modal.mjs +151 -1
  164. package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
  165. package/fesm2022/flowbite-angular-navbar.mjs +254 -4
  166. package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
  167. package/fesm2022/flowbite-angular-router-link-active.mjs +12 -0
  168. package/fesm2022/flowbite-angular-router-link-active.mjs.map +1 -1
  169. package/fesm2022/flowbite-angular-router-link.mjs +12 -0
  170. package/fesm2022/flowbite-angular-router-link.mjs.map +1 -1
  171. package/fesm2022/flowbite-angular-sanitize-html.mjs +2 -2
  172. package/fesm2022/flowbite-angular-sanitize-html.mjs.map +1 -1
  173. package/fesm2022/flowbite-angular-scroll-top.mjs +48 -1
  174. package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
  175. package/fesm2022/flowbite-angular-sidebar.mjs +304 -10
  176. package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
  177. package/fesm2022/flowbite-angular.mjs +39 -11
  178. package/fesm2022/flowbite-angular.mjs.map +1 -1
  179. package/flowbite.theme.service.d.ts +6 -4
  180. package/indicator/indicators.component.d.ts +51 -0
  181. package/indicator/indicators.theme.d.ts +21 -0
  182. package/indicator/indicators.theme.service.d.ts +11 -0
  183. package/modal/modal-body.component.d.ts +12 -0
  184. package/modal/modal-body.theme.d.ts +12 -0
  185. package/modal/modal-body.theme.service.d.ts +11 -0
  186. package/modal/modal-footer.component.d.ts +12 -0
  187. package/modal/modal-footer.theme.d.ts +12 -0
  188. package/modal/modal-footer.theme.service.d.ts +11 -0
  189. package/modal/modal-header.component.d.ts +18 -0
  190. package/modal/modal-header.theme.d.ts +12 -0
  191. package/modal/modal-header.theme.service.d.ts +11 -0
  192. package/modal/modal.component.d.ts +35 -0
  193. package/modal/modal.theme.service.d.ts +11 -0
  194. package/navbar/index.d.ts +1 -1
  195. package/navbar/navbar-brand.component.d.ts +12 -0
  196. package/navbar/navbar-brand.theme.d.ts +12 -0
  197. package/navbar/navbar-brand.theme.service.d.ts +11 -0
  198. package/navbar/navbar-content.component.d.ts +14 -0
  199. package/navbar/navbar-content.theme.d.ts +12 -0
  200. package/navbar/navbar-content.theme.service.d.ts +11 -0
  201. package/navbar/navbar-icon-button.component.d.ts +21 -0
  202. package/navbar/navbar-icon-button.theme.d.ts +12 -0
  203. package/navbar/navbar-icon-button.theme.service.d.ts +11 -0
  204. package/navbar/navbar-item.component.d.ts +26 -0
  205. package/navbar/navbar-item.theme.d.ts +12 -0
  206. package/navbar/navbar-item.theme.service.d.ts +11 -0
  207. package/navbar/navbar-toggle.component.d.ts +21 -0
  208. package/navbar/navbar-toggle.theme.d.ts +13 -1
  209. package/navbar/navbar-toggle.theme.service.d.ts +11 -0
  210. package/navbar/navbar.component.d.ts +45 -0
  211. package/navbar/navbar.theme.service.d.ts +11 -0
  212. package/package.json +8 -3
  213. package/router-link/flowbite-router-link.directive.d.ts +12 -0
  214. package/router-link-active/flowbite-router-link-active.directive.d.ts +12 -0
  215. package/sanitize-html/sanitize-html.pipe.d.ts +2 -2
  216. package/scroll-top/scroll-top.component.d.ts +28 -0
  217. package/scroll-top/scroll-top.theme.d.ts +19 -1
  218. package/scroll-top/scroll-top.theme.service.d.ts +11 -0
  219. package/sidebar/sidebar-item-group.component.d.ts +41 -3
  220. package/sidebar/sidebar-item-group.theme.d.ts +12 -0
  221. package/sidebar/sidebar-item-group.theme.service.d.ts +11 -0
  222. package/sidebar/sidebar-item.component.d.ts +42 -2
  223. package/sidebar/sidebar-item.theme.d.ts +12 -0
  224. package/sidebar/sidebar-item.theme.service.d.ts +11 -0
  225. package/sidebar/sidebar-menu.component.d.ts +26 -0
  226. package/sidebar/sidebar-menu.theme.d.ts +12 -0
  227. package/sidebar/sidebar-menu.theme.service.d.ts +11 -0
  228. package/sidebar/sidebar-page-content.component.d.ts +12 -0
  229. package/sidebar/sidebar-page-content.theme.d.ts +12 -0
  230. package/sidebar/sidebar-page-content.theme.service.d.ts +11 -0
  231. package/sidebar/sidebar-toggle.component.d.ts +33 -0
  232. package/sidebar/sidebar-toggle.theme.d.ts +15 -0
  233. package/sidebar/sidebar-toggle.theme.service.d.ts +11 -0
  234. package/sidebar/sidebar.component.d.ts +37 -0
  235. package/sidebar/sidebar.theme.service.d.ts +11 -0
  236. package/tailwind.config.js +0 -3
@@ -1,6 +1,6 @@
1
1
  import { mergeTheme, CHEVRON_DOWN_SVG_ICON, createTheme, BARS_SVG_ICON } from 'flowbite-angular/utils';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChildren, untracked, contentChild } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChildren, untracked, contentChild } from '@angular/core';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
6
6
  import { BadgeComponent } from 'flowbite-angular/badge';
@@ -11,6 +11,14 @@ import { NgIf, NgClass } from '@angular/common';
11
11
  import { IconRegistry, IconComponent } from 'flowbite-angular/icon';
12
12
  import { DomSanitizer } from '@angular/platform-browser';
13
13
 
14
+ /**
15
+ * `InjectionToken` used to import `SidebarItemGroupTheme` value
16
+ *
17
+ * @example
18
+ * ```
19
+ * var theme = inject(FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN)
20
+ * ```
21
+ */
14
22
  const FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN = new InjectionToken('FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN');
15
23
  class SidebarItemGroupThemeService {
16
24
  constructor() {
@@ -24,8 +32,24 @@ class SidebarItemGroupThemeService {
24
32
  };
25
33
  return output;
26
34
  }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemGroupThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemGroupThemeService, providedIn: 'root' }); }
27
37
  }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemGroupThemeService, decorators: [{
39
+ type: Injectable,
40
+ args: [{
41
+ providedIn: 'root',
42
+ }]
43
+ }] });
28
44
 
45
+ /**
46
+ * `InjectionToken` used to import `SidebarItemTheme` value
47
+ *
48
+ * @example
49
+ * ```
50
+ * var theme = inject(FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN)
51
+ * ```
52
+ */
29
53
  const FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN = new InjectionToken('FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN');
30
54
  class SidebarItemThemeService {
31
55
  constructor() {
@@ -39,24 +63,67 @@ class SidebarItemThemeService {
39
63
  };
40
64
  return output;
41
65
  }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
67
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemThemeService, providedIn: 'root' }); }
42
68
  }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemThemeService, decorators: [{
70
+ type: Injectable,
71
+ args: [{
72
+ providedIn: 'root',
73
+ }]
74
+ }] });
43
75
 
76
+ /**
77
+ * @see https://flowbite.com/docs/components/sidebar/
78
+ */
44
79
  class SidebarItemComponent extends BaseComponent {
45
80
  constructor() {
46
81
  super(...arguments);
82
+ /**
83
+ * Optional `FlowbiteRouterLinkDirective` injected
84
+ */
47
85
  this.flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });
86
+ /**
87
+ * Optional `FlowbiteRouterLinkActiveDirective` injected
88
+ */
48
89
  this.flowbiteRouterLinkActive = inject(FlowbiteRouterLinkActiveDirective, {
49
90
  optional: true,
50
91
  });
92
+ /**
93
+ * Service injected used to generate class
94
+ */
51
95
  this.themeService = inject(SidebarItemThemeService);
52
- this.sidebarItemGroupComponent = inject(SidebarItemGroupComponent, {
53
- optional: true,
54
- });
55
- this.sidebarMenuComponent = inject(SidebarMenuComponent);
96
+ /**
97
+ * The optional parent `SidebarItemGroupComponent`
98
+ */
99
+ this.sidebarItemGroupComponent = inject(SidebarItemGroupComponent, { optional: true });
100
+ /**
101
+ * The optional parent `SidebarMenuComponent`
102
+ */
103
+ this.sidebarMenuComponent = inject(SidebarMenuComponent, { optional: true });
56
104
  //#region properties
105
+ /**
106
+ * Set the sidebar item icon
107
+ *
108
+ * @default undefined
109
+ */
57
110
  this.icon = model(undefined);
111
+ /**
112
+ * Set the sidebar item color
113
+ *
114
+ * @default `SidebarItemGroupComponent`'s color
115
+ * @default `SidebarMenuComponent`'s color
116
+ */
58
117
  this.color = model((this.sidebarItemGroupComponent ?? this.sidebarMenuComponent).color());
118
+ /**
119
+ * Set the sidebar item label
120
+ *
121
+ * @default undefined
122
+ */
59
123
  this.label = model(undefined);
124
+ /**
125
+ * Set the custom style for this sidebar item
126
+ */
60
127
  this.customStyle = model({});
61
128
  }
62
129
  //#endregion
@@ -75,6 +142,9 @@ class SidebarItemComponent extends BaseComponent {
75
142
  }
76
143
  }
77
144
  //#endregion
145
+ /**
146
+ * Toggle sidebar menu visibility
147
+ */
78
148
  onClick() {
79
149
  (this.sidebarMenuComponent || this.sidebarItemGroupComponent?.sidebarMenuComponent)?.closeAll();
80
150
  (this.sidebarMenuComponent || this.sidebarItemGroupComponent?.sidebarMenuComponent)?.sidebarComponent.toggleVisibility(false);
@@ -109,18 +179,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
109
179
  }]
110
180
  }] });
111
181
 
182
+ /**
183
+ * @see https://flowbite.com/docs/components/sidebar/
184
+ */
112
185
  class SidebarItemGroupComponent extends BaseComponent {
113
186
  constructor() {
114
187
  super(...arguments);
188
+ /**
189
+ * Service injecteed used to generate class
190
+ */
115
191
  this.themeService = inject(SidebarItemGroupThemeService);
192
+ /**
193
+ * `IconRegistry` service
194
+ */
116
195
  this.iconRegistry = inject(IconRegistry);
196
+ /**
197
+ * `DomSanitizer` service
198
+ */
117
199
  this.domSanitizer = inject(DomSanitizer);
200
+ /**
201
+ * The parent `SidebarMenuComponent`
202
+ */
118
203
  this.sidebarMenuComponent = inject(SidebarMenuComponent);
204
+ /**
205
+ * List of `SidebarItemComponent`
206
+ */
119
207
  this.sidebarItemChildren = contentChildren(SidebarItemComponent);
120
208
  //#region properties
209
+ /**
210
+ * Set if the sidebar item group is open
211
+ *
212
+ * @default One of children is active
213
+ * @default false
214
+ */
121
215
  this.isOpen = model(this.sidebarItemChildren().some((x) => x.flowbiteRouterLinkActive?.isActive() ?? false));
216
+ /**
217
+ * Set the sidebar item group color
218
+ *
219
+ * @default `SidebarMenuComponent`'s color
220
+ */
122
221
  this.color = model(this.sidebarMenuComponent.color());
222
+ /**
223
+ * Set the sidebar item group title
224
+ */
123
225
  this.title = model.required();
226
+ /**
227
+ * Set the custom style for this sidebar item group
228
+ */
124
229
  this.customStyle = model({});
125
230
  }
126
231
  //#endregion
@@ -140,9 +245,11 @@ class SidebarItemGroupComponent extends BaseComponent {
140
245
  this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'chevron-down', this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_DOWN_SVG_ICON));
141
246
  }
142
247
  //#endregion
143
- onSpanClick() {
144
- this.toggleVisibility();
145
- }
248
+ /**
249
+ * Toggle isOpen value
250
+ *
251
+ * @param isOpen If provided force isOpen value
252
+ */
146
253
  toggleVisibility(isOpen) {
147
254
  if (isOpen === undefined) {
148
255
  isOpen = untracked(() => !this.isOpen());
@@ -151,7 +258,7 @@ class SidebarItemGroupComponent extends BaseComponent {
151
258
  }
152
259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
153
260
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.0", type: SidebarItemGroupComponent, isStandalone: true, selector: "flowbite-sidebar-item-group", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", color: "colorChange", title: "titleChange", customStyle: "customStyleChange" }, queries: [{ propertyName: "sidebarItemChildren", predicate: SidebarItemComponent, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
154
- <span [class]="contentClasses().spanClass" (click)="onSpanClick()">
261
+ <span [class]="contentClasses().spanClass" (click)="toggleVisibility()">
155
262
  <h4>{{ title() }}</h4>
156
263
  <flowbite-icon
157
264
  svgIcon="flowbite-angular:chevron-down"
@@ -168,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
168
275
  imports: [NgClass, NgIf, IconComponent],
169
276
  selector: 'flowbite-sidebar-item-group',
170
277
  template: `
171
- <span [class]="contentClasses().spanClass" (click)="onSpanClick()">
278
+ <span [class]="contentClasses().spanClass" (click)="toggleVisibility()">
172
279
  <h4>{{ title() }}</h4>
173
280
  <flowbite-icon
174
281
  svgIcon="flowbite-angular:chevron-down"
@@ -182,6 +289,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
182
289
  }]
183
290
  }] });
184
291
 
292
+ /**
293
+ * `InjectionToken` used to import `SidebarMenuTheme` value
294
+ *
295
+ * @example
296
+ * ```
297
+ * var theme = inject(FLOWBITE_SIDEBAR_MENU_THEME_TOKEN)
298
+ * ```
299
+ */
185
300
  const FLOWBITE_SIDEBAR_MENU_THEME_TOKEN = new InjectionToken('FLOWBITE_SIDEBAR_MENU_THEME_TOKEN');
186
301
  class SidebarMenuThemeService {
187
302
  constructor() {
@@ -194,17 +309,48 @@ class SidebarMenuThemeService {
194
309
  };
195
310
  return output;
196
311
  }
312
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarMenuThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
313
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarMenuThemeService, providedIn: 'root' }); }
197
314
  }
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarMenuThemeService, decorators: [{
316
+ type: Injectable,
317
+ args: [{
318
+ providedIn: 'root',
319
+ }]
320
+ }] });
198
321
 
322
+ /**
323
+ * @see https://flowbite.com/docs/components/sidebar/
324
+ */
199
325
  class SidebarMenuComponent extends BaseComponent {
200
326
  constructor() {
201
327
  super(...arguments);
328
+ /**
329
+ * Service injected used to generate class
330
+ */
202
331
  this.themeService = inject(SidebarMenuThemeService);
332
+ /**
333
+ * The parent `SidebarComponent`
334
+ */
203
335
  this.sidebarComponent = inject(SidebarComponent);
336
+ /**
337
+ * List of `SidebarItemGroupComponent`
338
+ */
204
339
  this.sidebarItemGroupChildren = contentChildren(SidebarItemGroupComponent);
340
+ /**
341
+ * List of `SidebarItemComponent`
342
+ */
205
343
  this.sidebarItemChildren = contentChildren(SidebarItemComponent);
206
344
  //#region properties
345
+ /**
346
+ * Set the sidebar menu color
347
+ *
348
+ * @default `SidebarComponent`'s color
349
+ */
207
350
  this.color = model(this.sidebarComponent.color());
351
+ /**
352
+ * Set the custom style for this sidebar menu
353
+ */
208
354
  this.customStyle = model({});
209
355
  }
210
356
  //#endregion
@@ -221,6 +367,9 @@ class SidebarMenuComponent extends BaseComponent {
221
367
  throw new Error('No SidebarItemComponent/SidebarItemGroupComponent available');
222
368
  }
223
369
  }
370
+ /**
371
+ * Toggle visibility of ll children to false
372
+ */
224
373
  closeAll() {
225
374
  this.sidebarItemGroupChildren().forEach((x) => x.toggleVisibility(false));
226
375
  }
@@ -239,6 +388,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
239
388
  }]
240
389
  }] });
241
390
 
391
+ /**
392
+ * `InjectionToken` used to import `SidebarPageContentTheme` value
393
+ *
394
+ * @example
395
+ * ```
396
+ * var theme = inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN)
397
+ * ```
398
+ */
242
399
  const FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN = new InjectionToken('FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN');
243
400
  class SidebarPageContentThemeService {
244
401
  constructor() {
@@ -251,14 +408,34 @@ class SidebarPageContentThemeService {
251
408
  };
252
409
  return output;
253
410
  }
411
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarPageContentThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
412
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarPageContentThemeService, providedIn: 'root' }); }
254
413
  }
414
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarPageContentThemeService, decorators: [{
415
+ type: Injectable,
416
+ args: [{
417
+ providedIn: 'root',
418
+ }]
419
+ }] });
255
420
 
421
+ /**
422
+ * @see https://flowbite.com/docs/components/sidebar/
423
+ */
256
424
  class SidebarPageContentComponent extends BaseComponent {
257
425
  constructor() {
258
426
  super(...arguments);
427
+ /**
428
+ * Service injected used to generate class
429
+ */
259
430
  this.themeService = inject(SidebarPageContentThemeService);
431
+ /**
432
+ * The parent `SidebarComponent`
433
+ */
260
434
  this.sidebarComponent = inject(SidebarComponent);
261
435
  //#region properties
436
+ /**
437
+ * Set the custom style for this sidebar page content
438
+ */
262
439
  this.customStyle = model({});
263
440
  }
264
441
  //endregion
@@ -285,6 +462,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
285
462
  }]
286
463
  }] });
287
464
 
465
+ /**
466
+ * `InjectionToken` used to import `SidebarTheme` value
467
+ *
468
+ * @example
469
+ * ```
470
+ * var theme = inject(FLOWBITE_SIDEBAR_THEME_TOKEN)
471
+ * ```
472
+ */
288
473
  const FLOWBITE_SIDEBAR_THEME_TOKEN = new InjectionToken('FLOWBITE_SIDEBAR_THEME_TOKEN');
289
474
  class SidebarThemeService {
290
475
  constructor() {
@@ -297,7 +482,15 @@ class SidebarThemeService {
297
482
  };
298
483
  return output;
299
484
  }
485
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
486
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarThemeService, providedIn: 'root' }); }
300
487
  }
488
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarThemeService, decorators: [{
489
+ type: Injectable,
490
+ args: [{
491
+ providedIn: 'root',
492
+ }]
493
+ }] });
301
494
 
302
495
  /**
303
496
  * @see https://flowbite.com/docs/components/sidebar/
@@ -305,14 +498,46 @@ class SidebarThemeService {
305
498
  class SidebarComponent extends BaseComponent {
306
499
  constructor() {
307
500
  super(...arguments);
501
+ /**
502
+ * Service injected used to generate class
503
+ */
308
504
  this.themeService = inject(SidebarThemeService);
505
+ /**
506
+ * The child `SidebarMenuComponent`
507
+ */
309
508
  this.sidebarMenuChild = contentChild(SidebarMenuComponent);
509
+ /**
510
+ * The child `SidebarPageContentComponent`
511
+ */
310
512
  this.sidebarPageContentChild = contentChild(SidebarPageContentComponent);
311
513
  //#region properties
514
+ /**
515
+ * Set the sidebar color
516
+ *
517
+ * @default primary
518
+ */
312
519
  this.color = model('primary');
520
+ /**
521
+ * Set the sidebar display mode
522
+ *
523
+ * @default push
524
+ */
313
525
  this.displayMode = model('push');
526
+ /**
527
+ * Set is the sidebar is open
528
+ *
529
+ * @default false
530
+ */
314
531
  this.isOpen = model(false);
532
+ /**
533
+ * Set is the sidebar is rounded
534
+ *
535
+ * @default false
536
+ */
315
537
  this.isRounded = model(false);
538
+ /**
539
+ * Set the custom style for this sidebar
540
+ */
316
541
  this.customStyle = model({});
317
542
  }
318
543
  //#endregion
@@ -333,6 +558,11 @@ class SidebarComponent extends BaseComponent {
333
558
  }
334
559
  }
335
560
  //#endregion
561
+ /**
562
+ * Toggle sidebar visibility
563
+ *
564
+ * @param isOpen If provided force isOpen value
565
+ */
336
566
  toggleVisibility(isOpen) {
337
567
  if (isOpen === undefined) {
338
568
  isOpen = untracked(() => !this.isOpen());
@@ -364,6 +594,9 @@ const sidebarTheme = createTheme({
364
594
  },
365
595
  });
366
596
 
597
+ /**
598
+ * Default theme for `SidebarItemComponent`
599
+ */
367
600
  const sidebarItemTheme = createTheme({
368
601
  root: {
369
602
  base: 'group flex cursor-pointer items-center rounded-lg p-2 text-base font-normal text-gray-900 dark:text-white',
@@ -381,6 +614,9 @@ const sidebarItemTheme = createTheme({
381
614
  },
382
615
  });
383
616
 
617
+ /**
618
+ * Default theme for `SidebarItemGroupComponent`
619
+ */
384
620
  const sidebarItemGroupTheme = createTheme({
385
621
  root: {
386
622
  base: 'flex flex-col py-2 font-semibold cursor-pointer',
@@ -398,6 +634,14 @@ const sidebarItemGroupTheme = createTheme({
398
634
  },
399
635
  });
400
636
 
637
+ /**
638
+ * `InjectionToken` used to import `SidebarToggleTheme` value
639
+ *
640
+ * @example
641
+ * ```
642
+ * var theme = inject(FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN)
643
+ * ```
644
+ */
401
645
  const FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN = new InjectionToken('FLOWBITE_TOGGLE_SIDEBAR_THEME_TOKEN');
402
646
  class SidebarToggleThemeService {
403
647
  constructor() {
@@ -410,18 +654,56 @@ class SidebarToggleThemeService {
410
654
  };
411
655
  return output;
412
656
  }
657
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarToggleThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
658
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarToggleThemeService, providedIn: 'root' }); }
413
659
  }
660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarToggleThemeService, decorators: [{
661
+ type: Injectable,
662
+ args: [{
663
+ providedIn: 'root',
664
+ }]
665
+ }] });
414
666
 
667
+ /**
668
+ * @see https://flowbite.com/docs/components/sidebar/
669
+ */
415
670
  class SidebarToggleComponent extends BaseComponent {
416
671
  constructor() {
417
672
  super(...arguments);
673
+ /**
674
+ * Service injected used to generate class
675
+ */
418
676
  this.themeService = inject(SidebarToggleThemeService);
677
+ /**
678
+ * `IconRegistry` service
679
+ */
419
680
  this.iconRegistry = inject(IconRegistry);
681
+ /**
682
+ * `DomSanitizer` service
683
+ */
420
684
  this.domSanitizer = inject(DomSanitizer);
685
+ /**
686
+ * The `SidebarComponent` to use
687
+ *
688
+ * @default The injected `SidebarComponent`
689
+ */
421
690
  this.sidebarComponent = model(inject(SidebarComponent));
422
691
  //#region properties
692
+ /**
693
+ * Set the sidebar toggle color
694
+ *
695
+ * @default primary
696
+ */
423
697
  this.color = model('primary');
698
+ /**
699
+ * Set the sidebar toggle size
700
+ *
701
+ * @default sm
702
+ */
424
703
  this.size = model('sm');
704
+ /**
705
+ * Set the custom style for this sidebar toggle
706
+ */
425
707
  this.customStyle = model({});
426
708
  }
427
709
  //#endregion
@@ -437,6 +719,9 @@ class SidebarToggleComponent extends BaseComponent {
437
719
  this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'tabs', this.domSanitizer.bypassSecurityTrustHtml(BARS_SVG_ICON));
438
720
  }
439
721
  //#endregion
722
+ /**
723
+ * Toggle sidebar visibility
724
+ */
440
725
  onClick() {
441
726
  const isOpen = this.sidebarComponent().isOpen();
442
727
  this.sidebarComponent().isOpen.set(!isOpen);
@@ -459,6 +744,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
459
744
  }]
460
745
  }] });
461
746
 
747
+ /**
748
+ * Default theme for `SidebarToggleComponent`
749
+ */
462
750
  const sidebarToggleTheme = createTheme({
463
751
  root: {
464
752
  base: 'cursor-pointer inline-flex items-center p-2 justify-center rounded-lg focus:outline-none focus:ring-2',
@@ -476,6 +764,9 @@ const sidebarToggleTheme = createTheme({
476
764
  },
477
765
  });
478
766
 
767
+ /**
768
+ * Default theme for `SidebarPageContentComponent`
769
+ */
479
770
  const sidebarPageContentTheme = createTheme({
480
771
  root: {
481
772
  base: 'flex flex-1',
@@ -487,6 +778,9 @@ const sidebarPageContentTheme = createTheme({
487
778
  },
488
779
  });
489
780
 
781
+ /**
782
+ * Default theme for `SidebarMenuComponent`
783
+ */
490
784
  const sidebarMenuTheme = createTheme({
491
785
  root: {
492
786
  base: 'flex-col min-h-full overflow-y-auto shrink-0 pr-1 border-r bg-white dark:bg-gray-800',