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,6 +1,6 @@
1
1
  import { mergeTheme, CHEVRON_UP_SVG_ICON, createTheme } from 'flowbite-angular/utils';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, makeEnvironmentProviders, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { BaseComponent } from 'flowbite-angular';
6
6
  import { IconRegistry, IconComponent } from 'flowbite-angular/icon';
@@ -36,6 +36,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
36
36
  }]
37
37
  }] });
38
38
 
39
+ const FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE');
40
+ const FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE');
41
+ const FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE');
42
+ const scrollTopDefaultValueProvider = makeEnvironmentProviders([
43
+ {
44
+ provide: FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE,
45
+ useValue: 'primary',
46
+ },
47
+ {
48
+ provide: FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE,
49
+ useValue: 'bottom-right',
50
+ },
51
+ {
52
+ provide: FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE,
53
+ useValue: {},
54
+ },
55
+ ]);
39
56
  /**
40
57
  * Provide a way to go at the top of the page via a button
41
58
  */
@@ -60,17 +77,17 @@ class ScrollTopComponent extends BaseComponent {
60
77
  *
61
78
  * @default primary
62
79
  */
63
- this.color = model('primary');
80
+ this.color = model(inject(FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE));
64
81
  /**
65
82
  * Set the scroll top position
66
83
  *
67
84
  * @default bottom-right
68
85
  */
69
- this.position = model('bottom-right');
86
+ this.position = model(inject(FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE));
70
87
  /**
71
88
  * Set the custom style for this scroll top
72
89
  */
73
- this.customStyle = model({});
90
+ this.customStyle = model(inject(FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE));
74
91
  }
75
92
  //#endregion
76
93
  //#region BaseComponent implemenation
@@ -146,5 +163,5 @@ const scrollTopTheme = createTheme({
146
163
  * Generated bundle index. Do not edit.
147
164
  */
148
165
 
149
- export { FLOWBITE_SCROLL_TOP_THEME_TOKEN, ScrollTopComponent, ScrollTopThemeService, scrollTopTheme };
166
+ export { FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE, FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE, FLOWBITE_SCROLL_TOP_THEME_TOKEN, ScrollTopComponent, ScrollTopThemeService, scrollTopDefaultValueProvider, scrollTopTheme };
150
167
  //# sourceMappingURL=flowbite-angular-scroll-top.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowbite-angular-scroll-top.mjs","sources":["../../../../libs/flowbite-angular/scroll-top/scroll-top.theme.service.ts","../../../../libs/flowbite-angular/scroll-top/scroll-top.component.ts","../../../../libs/flowbite-angular/scroll-top/scroll-top.theme.ts","../../../../libs/flowbite-angular/scroll-top/flowbite-angular-scroll-top.ts"],"sourcesContent":["import type { ScrollTopClass, ScrollTopProperties, ScrollTopTheme } from './scroll-top.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 `ScrollTopTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SCROLL_TOP_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SCROLL_TOP_THEME_TOKEN = new InjectionToken<ScrollTopTheme>(\n 'FLOWBITE_SCROLL_TOP_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScrollTopThemeService implements FlowbiteThemeService<ScrollTopProperties> {\n private readonly baseTheme = inject(FLOWBITE_SCROLL_TOP_THEME_TOKEN);\n\n public getClasses(properties: ScrollTopProperties): ScrollTopClass {\n const theme: ScrollTopTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ScrollTopClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.position[properties.position]\n ),\n };\n\n return output;\n }\n}\n","import type {\n ScrollTopClass,\n ScrollTopColors,\n ScrollTopPositions,\n ScrollTopTheme,\n} from './scroll-top.theme';\nimport { ScrollTopThemeService } from './scroll-top.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CHEVRON_UP_SVG_ICON } from 'flowbite-angular/utils';\n\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 * Provide a way to go at the top of the page via a button\n */\n@Component({\n selector: 'flowbite-scroll-top',\n standalone: true,\n imports: [IconComponent],\n template: `<flowbite-icon\n svgIcon=\"flowbite-angular:chevron-up\"\n class=\"w-5 h-5\" />`,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScrollTopComponent extends BaseComponent<ScrollTopClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ScrollTopThemeService);\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 scroll top color\n *\n * @default primary\n */\n public color = model<keyof ScrollTopColors>('primary');\n /**\n * Set the scroll top position\n *\n * @default bottom-right\n */\n public position = model<keyof ScrollTopPositions>('bottom-right');\n /**\n * Set the custom style for this scroll top\n */\n public customStyle = model<DeepPartial<ScrollTopTheme>>({});\n //#endregion\n\n //#region BaseComponent implemenation\n public override fetchClass(): ScrollTopClass {\n return this.themeService.getClasses({\n color: this.color(),\n position: this.position(),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'chevron-up',\n this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_UP_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Navigate to the top of the page\n */\n public onClick(): void {\n window.scrollTo(window.scrollX, 0);\n }\n}\n","import type {\n DeepPartial,\n FlowbiteClass,\n FlowbiteColors,\n FlowbitePositions,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region region Component theme option\n/**\n * Available colors for `ScrollTopComponent`\n */\nexport interface ScrollTopColors\n extends Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'gray' | 'green' | 'lime' | 'purple' | 'red'\n > {\n [key: string]: string;\n}\n\n/**\n * Available positions for `ScrollTopComponent`\n */\nexport interface ScrollTopPositions extends Omit<FlowbitePositions, 'center'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation for `ScrollTopComponent`\n */\nexport interface ScrollTopProperties {\n color: keyof ScrollTopColors;\n position: keyof ScrollTopPositions;\n customStyle: DeepPartial<ScrollTopTheme>;\n}\n\n/**\n * Theme definition for `ScrollTopComponent`\n */\nexport interface ScrollTopTheme {\n root: {\n base: string;\n color: ScrollTopColors;\n position: ScrollTopPositions;\n };\n}\n\n/**\n * Default theme for `ScrollTopComponent`\n */\nexport const scrollTopTheme: ScrollTopTheme = createTheme({\n root: {\n base: 'cursor-pointer fixed flex flex-row place-items-center p-2 rounded-lg',\n color: {\n primary: 'bg-primary-100',\n dark: 'bg-gray-100 dark:bg-gray-800 dark:text-white',\n blue: 'bg-blue-100',\n gray: 'bg-gray-100',\n green: 'bg-green-100',\n lime: 'bg-lime-100',\n purple: 'bg-purple-100',\n red: 'bg-red-100',\n },\n position: {\n 'bottom-center': 'bottom-3 left-1/2 right-1/2',\n 'bottom-left': 'bottom-3 left-3',\n 'bottom-right': 'bottom-3 right-3',\n 'center-left': 'left-3 top-1/2 bottom-1/2',\n 'center-right': 'right-3 top-1/2 bottom-1/2',\n 'top-center': 'top-3 left-1/2 right-1/2',\n 'top-left': 'top-3 left-3',\n 'top-right': 'top-3 right-3',\n },\n },\n});\n\n/**\n * Generated class definition for `ScrollTopComponent`\n */\nexport type ScrollTopClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flowbite-angular-scroll-top.mjs","sources":["../../../../libs/flowbite-angular/scroll-top/scroll-top.theme.service.ts","../../../../libs/flowbite-angular/scroll-top/scroll-top.component.ts","../../../../libs/flowbite-angular/scroll-top/scroll-top.theme.ts","../../../../libs/flowbite-angular/scroll-top/flowbite-angular-scroll-top.ts"],"sourcesContent":["import type { ScrollTopClass, ScrollTopProperties, ScrollTopTheme } from './scroll-top.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 `ScrollTopTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_SCROLL_TOP_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_SCROLL_TOP_THEME_TOKEN = new InjectionToken<ScrollTopTheme>(\n 'FLOWBITE_SCROLL_TOP_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ScrollTopThemeService implements FlowbiteThemeService<ScrollTopProperties> {\n private readonly baseTheme = inject(FLOWBITE_SCROLL_TOP_THEME_TOKEN);\n\n public getClasses(properties: ScrollTopProperties): ScrollTopClass {\n const theme: ScrollTopTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ScrollTopClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.position[properties.position]\n ),\n };\n\n return output;\n }\n}\n","import type {\n ScrollTopClass,\n ScrollTopColors,\n ScrollTopPositions,\n ScrollTopTheme,\n} from './scroll-top.theme';\nimport { ScrollTopThemeService } from './scroll-top.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CHEVRON_UP_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_SCROLL_TOP_COLOR_DEFAULT_VALUE = new InjectionToken<keyof ScrollTopColors>(\n 'FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE = new InjectionToken<\n keyof ScrollTopPositions\n>('FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE');\n\nexport const FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<ScrollTopTheme>\n>('FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const scrollTopDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE,\n useValue: 'bottom-right',\n },\n {\n provide: FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * Provide a way to go at the top of the page via a button\n */\n@Component({\n selector: 'flowbite-scroll-top',\n standalone: true,\n imports: [IconComponent],\n template: `<flowbite-icon\n svgIcon=\"flowbite-angular:chevron-up\"\n class=\"w-5 h-5\" />`,\n host: {\n '(click)': 'onClick()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScrollTopComponent extends BaseComponent<ScrollTopClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ScrollTopThemeService);\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 scroll top color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_SCROLL_TOP_COLOR_DEFAULT_VALUE));\n /**\n * Set the scroll top position\n *\n * @default bottom-right\n */\n public position = model(inject(FLOWBITE_SCROLL_TOP_POSITION_DEFAULT_VALUE));\n /**\n * Set the custom style for this scroll top\n */\n public customStyle = model(inject(FLOWBITE_SCROLL_TOP_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implemenation\n public override fetchClass(): ScrollTopClass {\n return this.themeService.getClasses({\n color: this.color(),\n position: this.position(),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'chevron-up',\n this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_UP_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Navigate to the top of the page\n */\n public onClick(): void {\n window.scrollTo(window.scrollX, 0);\n }\n}\n","import type {\n DeepPartial,\n FlowbiteClass,\n FlowbiteColors,\n FlowbitePositions,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region region Component theme option\n/**\n * Available colors for `ScrollTopComponent`\n */\nexport interface ScrollTopColors\n extends Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'gray' | 'green' | 'lime' | 'purple' | 'red'\n > {\n [key: string]: string;\n}\n\n/**\n * Available positions for `ScrollTopComponent`\n */\nexport interface ScrollTopPositions extends Omit<FlowbitePositions, 'center'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation for `ScrollTopComponent`\n */\nexport interface ScrollTopProperties {\n color: keyof ScrollTopColors;\n position: keyof ScrollTopPositions;\n customStyle: DeepPartial<ScrollTopTheme>;\n}\n\n/**\n * Theme definition for `ScrollTopComponent`\n */\nexport interface ScrollTopTheme {\n root: {\n base: string;\n color: ScrollTopColors;\n position: ScrollTopPositions;\n };\n}\n\n/**\n * Default theme for `ScrollTopComponent`\n */\nexport const scrollTopTheme: ScrollTopTheme = createTheme({\n root: {\n base: 'cursor-pointer fixed flex flex-row place-items-center p-2 rounded-lg',\n color: {\n primary: 'bg-primary-100',\n dark: 'bg-gray-100 dark:bg-gray-800 dark:text-white',\n blue: 'bg-blue-100',\n gray: 'bg-gray-100',\n green: 'bg-green-100',\n lime: 'bg-lime-100',\n purple: 'bg-purple-100',\n red: 'bg-red-100',\n },\n position: {\n 'bottom-center': 'bottom-3 left-1/2 right-1/2',\n 'bottom-left': 'bottom-3 left-3',\n 'bottom-right': 'bottom-3 right-3',\n 'center-left': 'left-3 top-1/2 bottom-1/2',\n 'center-right': 'right-3 top-1/2 bottom-1/2',\n 'top-center': 'top-3 left-1/2 right-1/2',\n 'top-left': 'top-3 left-3',\n 'top-right': 'top-3 right-3',\n },\n },\n});\n\n/**\n * Generated class definition for `ScrollTopComponent`\n */\nexport type ScrollTopClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
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, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChildren, untracked, contentChild } from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, makeEnvironmentProviders, 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';
7
7
  import { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';
8
8
  import { FlowbiteRouterLinkActiveDirective } from 'flowbite-angular/router-link-active';
9
9
  import { SanitizeHtmlPipe } from 'flowbite-angular/sanitize-html';
10
- import { NgIf, NgClass } from '@angular/common';
11
10
  import { IconRegistry, IconComponent } from 'flowbite-angular/icon';
12
11
  import { DomSanitizer } from '@angular/platform-browser';
13
12
 
@@ -73,6 +72,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
73
72
  }]
74
73
  }] });
75
74
 
75
+ const FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE');
76
+ const FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE');
77
+ const FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE');
78
+ const sidebarItemDefaultValueProvider = makeEnvironmentProviders([
79
+ {
80
+ provide: FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE,
81
+ useValue: undefined,
82
+ },
83
+ {
84
+ provide: FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE,
85
+ useValue: undefined,
86
+ },
87
+ {
88
+ provide: FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE,
89
+ useValue: {},
90
+ },
91
+ ]);
76
92
  /**
77
93
  * @see https://flowbite.com/docs/components/sidebar/
78
94
  */
@@ -107,7 +123,7 @@ class SidebarItemComponent extends BaseComponent {
107
123
  *
108
124
  * @default undefined
109
125
  */
110
- this.icon = model(undefined);
126
+ this.icon = model(inject(FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE));
111
127
  /**
112
128
  * Set the sidebar item color
113
129
  *
@@ -120,11 +136,11 @@ class SidebarItemComponent extends BaseComponent {
120
136
  *
121
137
  * @default undefined
122
138
  */
123
- this.label = model(undefined);
139
+ this.label = model(inject(FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE));
124
140
  /**
125
141
  * Set the custom style for this sidebar item
126
142
  */
127
- this.customStyle = model({});
143
+ this.customStyle = model(inject(FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE));
128
144
  }
129
145
  //#endregion
130
146
  //#region BaseComponent implementation
@@ -136,11 +152,6 @@ class SidebarItemComponent extends BaseComponent {
136
152
  customStyle: this.customStyle(),
137
153
  });
138
154
  }
139
- verify() {
140
- if (this.sidebarMenuComponent === undefined && this.sidebarItemGroupComponent === undefined) {
141
- throw new Error('No SidebarMenuComponent/SidebarItemGroupComponent available');
142
- }
143
- }
144
155
  //#endregion
145
156
  /**
146
157
  * Toggle sidebar menu visibility
@@ -150,36 +161,44 @@ class SidebarItemComponent extends BaseComponent {
150
161
  (this.sidebarMenuComponent || this.sidebarItemGroupComponent?.sidebarMenuComponent)?.sidebarComponent.toggleVisibility(false);
151
162
  }
152
163
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: SidebarItemComponent, isStandalone: true, selector: "flowbite-sidebar-item", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { icon: "iconChange", color: "colorChange", label: "labelChange", customStyle: "customStyleChange" }, host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0, template: `
154
- <span
155
- class="flex-shrink-0"
156
- [innerHTML]="icon()! | sanitizeHtml"
157
- *ngIf="icon()"></span>
164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: SidebarItemComponent, isStandalone: true, selector: "flowbite-sidebar-item", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { icon: "iconChange", color: "colorChange", label: "labelChange", customStyle: "customStyleChange" }, host: { listeners: { "click": "onClick()" } }, usesInheritance: true, ngImport: i0, template: `
165
+ @if (icon()) {
166
+ <span
167
+ class="flex-shrink-0"
168
+ [innerHTML]="icon()! | sanitizeHtml"></span>
169
+ }
170
+
158
171
  <span
159
- [ngClass]="contentClasses().sidebarIconClass"
172
+ [class]="contentClasses().sidebarIconClass"
160
173
  [class.ml-3]="icon()">
161
174
  <ng-content />
162
175
  </span>
163
- <flowbite-badge *ngIf="label()">{{ label() }}</flowbite-badge>
164
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "component", type: BadgeComponent, selector: "flowbite-badge", inputs: ["color", "size", "isIconOnly", "isPill", "customStyle"], outputs: ["colorChange", "sizeChange", "isIconOnlyChange", "isPillChange", "customStyleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
176
+ @if (label()) {
177
+ <flowbite-badge>{{ label() }}</flowbite-badge>
178
+ }
179
+ `, isInline: true, dependencies: [{ kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "component", type: BadgeComponent, selector: "flowbite-badge", inputs: ["color", "size", "isIconOnly", "isPill", "customStyle"], outputs: ["colorChange", "sizeChange", "isIconOnlyChange", "isPillChange", "customStyleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
165
180
  }
166
181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemComponent, decorators: [{
167
182
  type: Component,
168
183
  args: [{
169
184
  standalone: true,
170
- imports: [NgIf, NgClass, SanitizeHtmlPipe, BadgeComponent],
185
+ imports: [SanitizeHtmlPipe, BadgeComponent],
171
186
  selector: 'flowbite-sidebar-item',
172
187
  template: `
188
+ @if (icon()) {
189
+ <span
190
+ class="flex-shrink-0"
191
+ [innerHTML]="icon()! | sanitizeHtml"></span>
192
+ }
193
+
173
194
  <span
174
- class="flex-shrink-0"
175
- [innerHTML]="icon()! | sanitizeHtml"
176
- *ngIf="icon()"></span>
177
- <span
178
- [ngClass]="contentClasses().sidebarIconClass"
195
+ [class]="contentClasses().sidebarIconClass"
179
196
  [class.ml-3]="icon()">
180
197
  <ng-content />
181
198
  </span>
182
- <flowbite-badge *ngIf="label()">{{ label() }}</flowbite-badge>
199
+ @if (label()) {
200
+ <flowbite-badge>{{ label() }}</flowbite-badge>
201
+ }
183
202
  `,
184
203
  host: {
185
204
  '(click)': 'onClick()',
@@ -189,6 +208,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
189
208
  }]
190
209
  }] });
191
210
 
211
+ const FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE');
212
+ const sidebarItemGroupDefaultValueProvider = makeEnvironmentProviders([
213
+ {
214
+ provide: FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE,
215
+ useValue: {},
216
+ },
217
+ ]);
192
218
  /**
193
219
  * @see https://flowbite.com/docs/components/sidebar/
194
220
  */
@@ -236,7 +262,7 @@ class SidebarItemGroupComponent extends BaseComponent {
236
262
  /**
237
263
  * Set the custom style for this sidebar item group
238
264
  */
239
- this.customStyle = model({});
265
+ this.customStyle = model(inject(FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE));
240
266
  }
241
267
  //#endregion
242
268
  //#region BaseComponent implementation
@@ -246,11 +272,6 @@ class SidebarItemGroupComponent extends BaseComponent {
246
272
  customStyle: this.customStyle(),
247
273
  });
248
274
  }
249
- verify() {
250
- if (this.sidebarItemChildren().length === 0) {
251
- throw new Error('No SidebarItemComponent available');
252
- }
253
- }
254
275
  init() {
255
276
  this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'chevron-down', this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_DOWN_SVG_ICON));
256
277
  }
@@ -267,7 +288,7 @@ class SidebarItemGroupComponent extends BaseComponent {
267
288
  this.isOpen.set(isOpen);
268
289
  }
269
290
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
270
- 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: `
291
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.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: `
271
292
  <span
272
293
  [class]="contentClasses().spanClass"
273
294
  (click)="toggleVisibility()">
@@ -277,14 +298,16 @@ class SidebarItemGroupComponent extends BaseComponent {
277
298
  class="h-6 w-6 shrink-0 duration-200"
278
299
  [class.rotate-180]="!isOpen()" />
279
300
  </span>
280
- <ng-content *ngIf="isOpen()" />
281
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
301
+ @if (isOpen()) {
302
+ <ng-content />
303
+ }
304
+ `, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
282
305
  }
283
306
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: SidebarItemGroupComponent, decorators: [{
284
307
  type: Component,
285
308
  args: [{
286
309
  standalone: true,
287
- imports: [NgClass, NgIf, IconComponent],
310
+ imports: [IconComponent],
288
311
  selector: 'flowbite-sidebar-item-group',
289
312
  template: `
290
313
  <span
@@ -296,7 +319,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
296
319
  class="h-6 w-6 shrink-0 duration-200"
297
320
  [class.rotate-180]="!isOpen()" />
298
321
  </span>
299
- <ng-content *ngIf="isOpen()" />
322
+ @if (isOpen()) {
323
+ <ng-content />
324
+ }
300
325
  `,
301
326
  encapsulation: ViewEncapsulation.None,
302
327
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -333,6 +358,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
333
358
  }]
334
359
  }] });
335
360
 
361
+ const FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE');
362
+ const sidebarMenuDefaultValueProvider = makeEnvironmentProviders([
363
+ {
364
+ provide: FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE,
365
+ useValue: {},
366
+ },
367
+ ]);
336
368
  /**
337
369
  * @see https://flowbite.com/docs/components/sidebar/
338
370
  */
@@ -365,7 +397,7 @@ class SidebarMenuComponent extends BaseComponent {
365
397
  /**
366
398
  * Set the custom style for this sidebar menu
367
399
  */
368
- this.customStyle = model({});
400
+ this.customStyle = model(inject(FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE));
369
401
  }
370
402
  //#endregion
371
403
  fetchClass() {
@@ -376,11 +408,6 @@ class SidebarMenuComponent extends BaseComponent {
376
408
  customStyle: this.customStyle(),
377
409
  });
378
410
  }
379
- verify() {
380
- if (this.sidebarItemChildren().length === 0 && this.sidebarItemGroupChildren().length === 0) {
381
- throw new Error('No SidebarItemComponent/SidebarItemGroupComponent available');
382
- }
383
- }
384
411
  /**
385
412
  * Toggle visibility of ll children to false
386
413
  */
@@ -394,7 +421,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
394
421
  type: Component,
395
422
  args: [{
396
423
  standalone: true,
397
- imports: [],
398
424
  selector: 'flowbite-sidebar-menu',
399
425
  template: '<ng-content />',
400
426
  encapsulation: ViewEncapsulation.None,
@@ -432,6 +458,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
432
458
  }]
433
459
  }] });
434
460
 
461
+ const FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');
462
+ const sidebarPageContentDefaultValueProvider = makeEnvironmentProviders([
463
+ {
464
+ provide: FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE,
465
+ useValue: {},
466
+ },
467
+ ]);
435
468
  /**
436
469
  * @see https://flowbite.com/docs/components/sidebar/
437
470
  */
@@ -450,7 +483,7 @@ class SidebarPageContentComponent extends BaseComponent {
450
483
  /**
451
484
  * Set the custom style for this sidebar page content
452
485
  */
453
- this.customStyle = model({});
486
+ this.customStyle = model(inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));
454
487
  }
455
488
  //endregion
456
489
  //region BaseComponent implementation
@@ -468,7 +501,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
468
501
  type: Component,
469
502
  args: [{
470
503
  standalone: true,
471
- imports: [],
472
504
  selector: 'flowbite-sidebar-page-content',
473
505
  template: `<ng-content />`,
474
506
  encapsulation: ViewEncapsulation.None,
@@ -506,6 +538,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
506
538
  }]
507
539
  }] });
508
540
 
541
+ const FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE');
542
+ const FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE');
543
+ const FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE');
544
+ const FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE');
545
+ const FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE');
546
+ const sidebarDefaultValueProvider = makeEnvironmentProviders([
547
+ {
548
+ provide: FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE,
549
+ useValue: 'primary',
550
+ },
551
+ {
552
+ provide: FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE,
553
+ useValue: 'push',
554
+ },
555
+ {
556
+ provide: FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE,
557
+ useValue: false,
558
+ },
559
+ {
560
+ provide: FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE,
561
+ useValue: false,
562
+ },
563
+ {
564
+ provide: FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE,
565
+ useValue: {},
566
+ },
567
+ ]);
509
568
  /**
510
569
  * @see https://flowbite.com/docs/components/sidebar/
511
570
  */
@@ -519,40 +578,40 @@ class SidebarComponent extends BaseComponent {
519
578
  /**
520
579
  * The child `SidebarMenuComponent`
521
580
  */
522
- this.sidebarMenuChild = contentChild(SidebarMenuComponent);
581
+ this.sidebarMenuChild = contentChild.required(SidebarMenuComponent);
523
582
  /**
524
583
  * The child `SidebarPageContentComponent`
525
584
  */
526
- this.sidebarPageContentChild = contentChild(SidebarPageContentComponent);
585
+ this.sidebarPageContentChild = contentChild.required(SidebarPageContentComponent);
527
586
  //#region properties
528
587
  /**
529
588
  * Set the sidebar color
530
589
  *
531
590
  * @default primary
532
591
  */
533
- this.color = model('primary');
592
+ this.color = model(inject(FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE));
534
593
  /**
535
594
  * Set the sidebar display mode
536
595
  *
537
596
  * @default push
538
597
  */
539
- this.displayMode = model('push');
598
+ this.displayMode = model(inject(FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE));
540
599
  /**
541
600
  * Set is the sidebar is open
542
601
  *
543
602
  * @default false
544
603
  */
545
- this.isOpen = model(false);
604
+ this.isOpen = model(inject(FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE));
546
605
  /**
547
606
  * Set is the sidebar is rounded
548
607
  *
549
608
  * @default false
550
609
  */
551
- this.isRounded = model(false);
610
+ this.isRounded = model(inject(FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE));
552
611
  /**
553
612
  * Set the custom style for this sidebar
554
613
  */
555
- this.customStyle = model({});
614
+ this.customStyle = model(inject(FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE));
556
615
  }
557
616
  //#endregion
558
617
  //#region BaseComponent implementation
@@ -563,14 +622,6 @@ class SidebarComponent extends BaseComponent {
563
622
  customStyle: this.customStyle(),
564
623
  });
565
624
  }
566
- verify() {
567
- if (this.sidebarMenuChild() === undefined) {
568
- throw new Error('No SidebarMenuComponent available');
569
- }
570
- if (this.sidebarPageContentChild() === undefined) {
571
- throw new Error('No SidebarPageContentComponent available');
572
- }
573
- }
574
625
  //#endregion
575
626
  /**
576
627
  * Toggle sidebar visibility
@@ -590,7 +641,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
590
641
  type: Component,
591
642
  args: [{
592
643
  standalone: true,
593
- imports: [NgClass],
594
644
  selector: 'flowbite-sidebar',
595
645
  template: `<ng-content />`,
596
646
  encapsulation: ViewEncapsulation.None,
@@ -678,6 +728,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
678
728
  }]
679
729
  }] });
680
730
 
731
+ const FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE');
732
+ const FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE');
733
+ const FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE');
734
+ const sidebarToggleDefaultValueProvider = makeEnvironmentProviders([
735
+ {
736
+ provide: FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE,
737
+ useValue: 'primary',
738
+ },
739
+ {
740
+ provide: FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE,
741
+ useValue: 'sm',
742
+ },
743
+ {
744
+ provide: FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE,
745
+ useValue: {},
746
+ },
747
+ ]);
681
748
  /**
682
749
  * @see https://flowbite.com/docs/components/sidebar/
683
750
  */
@@ -708,17 +775,17 @@ class SidebarToggleComponent extends BaseComponent {
708
775
  *
709
776
  * @default primary
710
777
  */
711
- this.color = model('primary');
778
+ this.color = model(inject(FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE));
712
779
  /**
713
780
  * Set the sidebar toggle size
714
781
  *
715
782
  * @default sm
716
783
  */
717
- this.size = model('sm');
784
+ this.size = model(inject(FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE));
718
785
  /**
719
786
  * Set the custom style for this sidebar toggle
720
787
  */
721
- this.customStyle = model({});
788
+ this.customStyle = model(inject(FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE));
722
789
  }
723
790
  //#endregion
724
791
  //#region BaseComponent implementation
@@ -822,5 +889,5 @@ const sidebarMenuTheme = createTheme({
822
889
  * Generated bundle index. Do not edit.
823
890
  */
824
891
 
825
- export { FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN, FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN, FLOWBITE_SIDEBAR_MENU_THEME_TOKEN, FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN, FLOWBITE_SIDEBAR_THEME_TOKEN, FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN, SidebarComponent, SidebarItemComponent, SidebarItemGroupComponent, SidebarItemGroupThemeService, SidebarItemThemeService, SidebarMenuComponent, SidebarMenuThemeService, SidebarPageContentComponent, SidebarPageContentThemeService, SidebarThemeService, SidebarToggleComponent, SidebarToggleThemeService, sidebarItemGroupTheme, sidebarItemTheme, sidebarMenuTheme, sidebarPageContentTheme, sidebarTheme, sidebarToggleTheme };
892
+ export { FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE, FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE, FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE, FLOWBITE_SIDEBAR_ITEM_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_ITEM_GROUP_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN, FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE, FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE, FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN, FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_MENU_THEME_TOKEN, FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN, FLOWBITE_SIDEBAR_THEME_TOKEN, FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE, FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE, FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN, SidebarComponent, SidebarItemComponent, SidebarItemGroupComponent, SidebarItemGroupThemeService, SidebarItemThemeService, SidebarMenuComponent, SidebarMenuThemeService, SidebarPageContentComponent, SidebarPageContentThemeService, SidebarThemeService, SidebarToggleComponent, SidebarToggleThemeService, sidebarDefaultValueProvider, sidebarItemDefaultValueProvider, sidebarItemGroupDefaultValueProvider, sidebarItemGroupTheme, sidebarItemTheme, sidebarMenuDefaultValueProvider, sidebarMenuTheme, sidebarPageContentDefaultValueProvider, sidebarPageContentTheme, sidebarTheme, sidebarToggleDefaultValueProvider, sidebarToggleTheme };
826
893
  //# sourceMappingURL=flowbite-angular-sidebar.mjs.map