flowbite-angular 1.0.0 → 1.1.1
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.
- package/README.md +15 -15
- package/accordion/accordion-content.component.d.ts +20 -4
- package/accordion/accordion-content.theme.d.ts +0 -2
- package/accordion/accordion-panel.component.d.ts +10 -3
- package/accordion/accordion-title.component.d.ts +27 -0
- package/accordion/accordion.component.d.ts +10 -1
- package/accordion/index.d.ts +4 -4
- package/alert/alert.component.d.ts +42 -1
- package/alert/index.d.ts +1 -1
- package/badge/badge.component.d.ts +40 -0
- package/badge/index.d.ts +1 -1
- package/base-component.directive.d.ts +0 -4
- package/breadcrumb/breadcrumb-item.component.d.ts +19 -0
- package/breadcrumb/breadcrumb.component.d.ts +8 -1
- package/breadcrumb/index.d.ts +2 -2
- package/button/button.component.d.ts +100 -1
- package/button/index.d.ts +1 -1
- package/dark-theme-toggle/dark-theme-toggle.component.d.ts +12 -17
- package/dark-theme-toggle/index.d.ts +1 -1
- package/dropdown/dropdown-divider.component.d.ts +13 -2
- package/dropdown/dropdown-divider.theme.d.ts +2 -2
- package/dropdown/dropdown-header.component.d.ts +19 -2
- package/dropdown/dropdown-item.component.d.ts +7 -0
- package/dropdown/dropdown.component.d.ts +39 -13
- package/dropdown/index.d.ts +4 -4
- package/esm2022/accordion/accordion-content.component.mjs +29 -16
- package/esm2022/accordion/accordion-content.theme.mjs +2 -6
- package/esm2022/accordion/accordion-content.theme.service.mjs +2 -2
- package/esm2022/accordion/accordion-panel.component.mjs +18 -15
- package/esm2022/accordion/accordion-title.component.mjs +14 -8
- package/esm2022/accordion/accordion.component.mjs +28 -13
- package/esm2022/accordion/index.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +93 -37
- package/esm2022/alert/index.mjs +2 -2
- package/esm2022/badge/badge.component.mjs +34 -9
- package/esm2022/badge/index.mjs +2 -2
- package/esm2022/base-component.directive.mjs +1 -7
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +14 -8
- package/esm2022/breadcrumb/breadcrumb.component.mjs +16 -11
- package/esm2022/breadcrumb/index.mjs +3 -3
- package/esm2022/button/button.component.mjs +72 -34
- package/esm2022/button/index.mjs +2 -2
- package/esm2022/core/flowbite.theme.init.mjs +48 -14
- package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +17 -42
- package/esm2022/dark-theme-toggle/index.mjs +2 -2
- package/esm2022/dropdown/dropdown-divider.component.mjs +10 -5
- package/esm2022/dropdown/dropdown-divider.theme.mjs +1 -1
- package/esm2022/dropdown/dropdown-header.component.mjs +13 -10
- package/esm2022/dropdown/dropdown-item.component.mjs +10 -5
- package/esm2022/dropdown/dropdown.component.mjs +51 -72
- package/esm2022/dropdown/dropdown.theme.mjs +6 -6
- package/esm2022/dropdown/index.mjs +5 -5
- package/esm2022/indicator/index.mjs +2 -2
- package/esm2022/indicator/indicators.component.mjs +64 -14
- package/esm2022/modal/index.mjs +5 -5
- package/esm2022/modal/modal-body.component.mjs +10 -5
- package/esm2022/modal/modal-footer.component.mjs +10 -5
- package/esm2022/modal/modal-header.component.mjs +16 -10
- package/esm2022/modal/modal.component.mjs +42 -23
- package/esm2022/navbar/index.mjs +7 -7
- package/esm2022/navbar/navbar-brand.component.mjs +10 -5
- package/esm2022/navbar/navbar-content.component.mjs +35 -11
- package/esm2022/navbar/navbar-content.theme.mjs +2 -6
- package/esm2022/navbar/navbar-content.theme.service.mjs +2 -2
- package/esm2022/navbar/navbar-icon-button.component.mjs +10 -9
- package/esm2022/navbar/navbar-item.component.mjs +10 -5
- package/esm2022/navbar/navbar-toggle.component.mjs +12 -6
- package/esm2022/navbar/navbar.component.mjs +41 -16
- package/esm2022/navbar/navbar.theme.mjs +2 -2
- package/esm2022/scroll-top/index.mjs +2 -2
- package/esm2022/scroll-top/scroll-top.component.mjs +22 -5
- package/esm2022/sidebar/index.mjs +7 -7
- package/esm2022/sidebar/sidebar-item-group.component.mjs +19 -14
- package/esm2022/sidebar/sidebar-item.component.mjs +45 -26
- package/esm2022/sidebar/sidebar-menu.component.mjs +10 -9
- package/esm2022/sidebar/sidebar-page-content.component.mjs +10 -4
- package/esm2022/sidebar/sidebar-toggle.component.mjs +22 -5
- package/esm2022/sidebar/sidebar.component.mjs +36 -19
- package/esm2022/theme/flowbite-angular-theme.mjs +5 -0
- package/esm2022/theme/flowbite-theme.directive.mjs +71 -0
- package/esm2022/theme/index.mjs +2 -0
- package/fesm2022/flowbite-angular-accordion.mjs +85 -50
- package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
- package/fesm2022/flowbite-angular-alert.mjs +93 -37
- package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
- package/fesm2022/flowbite-angular-badge.mjs +34 -9
- package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
- package/fesm2022/flowbite-angular-breadcrumb.mjs +28 -16
- package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/flowbite-angular-button.mjs +72 -34
- package/fesm2022/flowbite-angular-button.mjs.map +1 -1
- package/fesm2022/flowbite-angular-core.mjs +47 -13
- package/fesm2022/flowbite-angular-core.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +17 -42
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dropdown.mjs +83 -88
- package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
- package/fesm2022/flowbite-angular-indicator.mjs +64 -14
- package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
- package/fesm2022/flowbite-angular-modal.mjs +72 -34
- package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
- package/fesm2022/flowbite-angular-navbar.mjs +110 -44
- package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-scroll-top.mjs +22 -5
- package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
- package/fesm2022/flowbite-angular-sidebar.mjs +132 -65
- package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-theme.mjs +78 -0
- package/fesm2022/flowbite-angular-theme.mjs.map +1 -0
- package/fesm2022/flowbite-angular.mjs +0 -6
- package/fesm2022/flowbite-angular.mjs.map +1 -1
- package/indicator/index.d.ts +1 -1
- package/indicator/indicators.component.d.ts +81 -0
- package/modal/index.d.ts +4 -4
- package/modal/modal-body.component.d.ts +7 -0
- package/modal/modal-footer.component.d.ts +7 -0
- package/modal/modal-header.component.d.ts +13 -0
- package/modal/modal.component.d.ts +40 -2
- package/navbar/index.d.ts +6 -6
- package/navbar/navbar-brand.component.d.ts +7 -0
- package/navbar/navbar-content.component.d.ts +13 -4
- package/navbar/navbar-content.theme.d.ts +1 -3
- package/navbar/navbar-icon-button.component.d.ts +12 -1
- package/navbar/navbar-item.component.d.ts +12 -0
- package/navbar/navbar-toggle.component.d.ts +7 -0
- package/navbar/navbar.component.d.ts +30 -2
- package/package.json +7 -2
- package/scroll-top/index.d.ts +1 -1
- package/scroll-top/scroll-top.component.d.ts +31 -0
- package/sidebar/index.d.ts +6 -6
- package/sidebar/sidebar-item-group.component.d.ts +19 -1
- package/sidebar/sidebar-item.component.d.ts +21 -1
- package/sidebar/sidebar-menu.component.d.ts +25 -1
- package/sidebar/sidebar-page-content.component.d.ts +12 -0
- package/sidebar/sidebar-toggle.component.d.ts +22 -0
- package/sidebar/sidebar.component.d.ts +17 -3
- package/theme/README.md +4 -0
- package/theme/flowbite-theme.directive.d.ts +36 -0
- 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(
|
|
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(
|
|
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":";;;;;;;;AAQA;;;;;;;AAOG;MACU,+BAA+B,GAAG,IAAI,cAAc,CAC/D,iCAAiC,EACjC;MAKW,qBAAqB,CAAA;AAHlC,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAetE,KAAA;AAbQ,IAAA,UAAU,CAAC,UAA+B,EAAA;AAC/C,QAAA,MAAM,KAAK,GAAmB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AAEjF,QAAA,MAAM,MAAM,GAAmB;AAC7B,YAAA,SAAS,EAAE,OAAO,CAChB,KAAK,CAAC,IAAI,CAAC,IAAI,EACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CACzC;SACF,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;8GAfU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACCD;;AAEG;AAcG,MAAO,kBAAmB,SAAQ,aAA6B,CAAA;AAbrE,IAAA,WAAA,GAAA;;AAcE;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC7D;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACpD;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;;AAGpD;;;;AAIG;AACI,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAwB,SAAS,CAAC,CAAC;AACvD;;;;AAIG;AACI,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA2B,cAAc,CAAC,CAAC;AAClE;;AAEG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA8B,EAAE,CAAC,CAAC;AA2B7D,KAAA;;;IAvBiB,UAAU,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC,CAAC;KACJ;IAEe,IAAI,GAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,wBAAwB,CACxC,kBAAkB,EAClB,YAAY,EACZ,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,CAC/D,CAAC;KACH;;AAGD;;AAEG;IACI,OAAO,GAAA;QACZ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KACpC;8GAxDU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EATnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAEW,sBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAHX,aAAa,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAUZ,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,QAAQ,EAAE,CAAA;;AAEW,sBAAA,CAAA;AACrB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,WAAW;AACvB,qBAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;ACUD;;AAEG;AACI,MAAM,cAAc,GAAmB,WAAW,CAAC;AACxD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,sEAAsE;AAC5E,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,IAAI,EAAE,8CAA8C;AACpD,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,MAAM,EAAE,eAAe;AACvB,YAAA,GAAG,EAAE,YAAY;AAClB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,eAAe,EAAE,6BAA6B;AAC9C,YAAA,aAAa,EAAE,iBAAiB;AAChC,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,aAAa,EAAE,2BAA2B;AAC1C,YAAA,cAAc,EAAE,4BAA4B;AAC5C,YAAA,YAAY,EAAE,0BAA0B;AACxC,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,WAAW,EAAE,eAAe;AAC7B,SAAA;AACF,KAAA;AACF,CAAA;;AC3ED;;AAEG;;;;"}
|
|
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(
|
|
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(
|
|
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.
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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
|
-
[
|
|
172
|
+
[class]="contentClasses().sidebarIconClass"
|
|
160
173
|
[class.ml-3]="icon()">
|
|
161
174
|
<ng-content />
|
|
162
175
|
</span>
|
|
163
|
-
|
|
164
|
-
|
|
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: [
|
|
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="
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
281
|
-
|
|
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: [
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|