flowbite-angular 1.2.0 → 20.0.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 +30 -39
- package/accordion/index.d.ts +569 -16
- package/alert/index.d.ts +602 -4
- package/badge/index.d.ts +636 -4
- package/breadcrumb/index.d.ts +452 -8
- package/button/index.d.ts +335 -4
- package/button-group/README.md +4 -0
- package/button-group/index.d.ts +85 -0
- package/{core → card}/README.md +2 -2
- package/card/index.d.ts +640 -0
- package/{accordion → clipboard}/README.md +2 -2
- package/clipboard/index.d.ts +103 -0
- package/dropdown/index.d.ts +536 -16
- package/fesm2022/flowbite-angular-accordion.mjs +340 -479
- package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
- package/fesm2022/flowbite-angular-alert.mjs +309 -240
- package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
- package/fesm2022/flowbite-angular-badge.mjs +334 -136
- package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
- package/fesm2022/flowbite-angular-breadcrumb.mjs +263 -191
- package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/flowbite-angular-button-group.mjs +86 -0
- package/fesm2022/flowbite-angular-button-group.mjs.map +1 -0
- package/fesm2022/flowbite-angular-button.mjs +190 -270
- package/fesm2022/flowbite-angular-button.mjs.map +1 -1
- package/fesm2022/flowbite-angular-card.mjs +344 -0
- package/fesm2022/flowbite-angular-card.mjs.map +1 -0
- package/fesm2022/flowbite-angular-clipboard.mjs +174 -0
- package/fesm2022/flowbite-angular-clipboard.mjs.map +1 -0
- package/fesm2022/flowbite-angular-dropdown.mjs +273 -459
- package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
- package/fesm2022/flowbite-angular-form.mjs +444 -0
- package/fesm2022/flowbite-angular-form.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-brand.mjs +71 -0
- package/fesm2022/flowbite-angular-icon-brand.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-arrows.mjs +51 -0
- package/fesm2022/flowbite-angular-icon-outline-arrows.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-e-commerce.mjs +23 -0
- package/fesm2022/flowbite-angular-icon-outline-e-commerce.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-emoji.mjs +13 -0
- package/fesm2022/flowbite-angular-icon-outline-emoji.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-files-folders.mjs +42 -0
- package/fesm2022/flowbite-angular-icon-outline-files-folders.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-general.mjs +145 -0
- package/fesm2022/flowbite-angular-icon-outline-general.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-media.mjs +25 -0
- package/fesm2022/flowbite-angular-icon-outline-media.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-text.mjs +20 -0
- package/fesm2022/flowbite-angular-icon-outline-text.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-user.mjs +17 -0
- package/fesm2022/flowbite-angular-icon-outline-user.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-weather.mjs +9 -0
- package/fesm2022/flowbite-angular-icon-outline-weather.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline.mjs +6 -0
- package/fesm2022/flowbite-angular-icon-outline.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-arrows.mjs +17 -0
- package/fesm2022/flowbite-angular-icon-solid-arrows.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-brands.mjs +33 -0
- package/fesm2022/flowbite-angular-icon-solid-brands.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-e-commerce.mjs +21 -0
- package/fesm2022/flowbite-angular-icon-solid-e-commerce.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-emoji.mjs +13 -0
- package/fesm2022/flowbite-angular-icon-solid-emoji.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-files-folder.mjs +42 -0
- package/fesm2022/flowbite-angular-icon-solid-files-folder.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-general.mjs +123 -0
- package/fesm2022/flowbite-angular-icon-solid-general.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-media.mjs +24 -0
- package/fesm2022/flowbite-angular-icon-solid-media.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-text.mjs +11 -0
- package/fesm2022/flowbite-angular-icon-solid-text.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-user.mjs +17 -0
- package/fesm2022/flowbite-angular-icon-solid-user.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-weather.mjs +9 -0
- package/fesm2022/flowbite-angular-icon-solid-weather.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid.mjs +6 -0
- package/fesm2022/flowbite-angular-icon-solid.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon.mjs +318 -219
- package/fesm2022/flowbite-angular-icon.mjs.map +1 -1
- package/fesm2022/flowbite-angular-indicator.mjs +119 -231
- package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
- package/fesm2022/flowbite-angular-modal.mjs +338 -486
- package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
- package/fesm2022/flowbite-angular-navbar.mjs +601 -604
- package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-pagination.mjs +994 -0
- package/fesm2022/flowbite-angular-pagination.mjs.map +1 -0
- package/fesm2022/flowbite-angular-sidebar.mjs +403 -776
- package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-tab.mjs +465 -0
- package/fesm2022/flowbite-angular-tab.mjs.map +1 -0
- package/fesm2022/flowbite-angular-theme-toggle.mjs +263 -0
- package/fesm2022/flowbite-angular-theme-toggle.mjs.map +1 -0
- package/fesm2022/flowbite-angular-tooltip.mjs +117 -0
- package/fesm2022/flowbite-angular-tooltip.mjs.map +1 -0
- package/fesm2022/flowbite-angular.mjs +53 -66
- package/fesm2022/flowbite-angular.mjs.map +1 -1
- package/{alert → form}/README.md +2 -2
- package/form/index.d.ts +684 -0
- package/{breadcrumb → icon/brand}/README.md +2 -2
- package/icon/brand/index.d.ts +66 -0
- package/icon/index.d.ts +322 -5
- package/icon/outline/README.md +4 -0
- package/icon/outline/arrows/index.d.ts +46 -0
- package/icon/outline/e-commerce/index.d.ts +18 -0
- package/icon/outline/emoji/index.d.ts +8 -0
- package/icon/outline/files-folders/index.d.ts +37 -0
- package/icon/outline/general/index.d.ts +140 -0
- package/icon/outline/index.d.ts +2 -0
- package/icon/outline/media/index.d.ts +20 -0
- package/icon/outline/text/index.d.ts +15 -0
- package/icon/outline/user/index.d.ts +12 -0
- package/icon/outline/weather/index.d.ts +4 -0
- package/icon/solid/README.md +4 -0
- package/icon/solid/arrows/index.d.ts +12 -0
- package/icon/solid/brands/index.d.ts +28 -0
- package/icon/solid/e-commerce/index.d.ts +16 -0
- package/icon/solid/emoji/index.d.ts +8 -0
- package/icon/solid/files-folder/index.d.ts +37 -0
- package/icon/solid/general/index.d.ts +118 -0
- package/icon/solid/index.d.ts +2 -0
- package/icon/solid/media/index.d.ts +19 -0
- package/icon/solid/text/index.d.ts +6 -0
- package/icon/solid/user/index.d.ts +12 -0
- package/icon/solid/weather/index.d.ts +4 -0
- package/index.d.ts +126 -3
- package/indicator/index.d.ts +242 -4
- package/modal/index.d.ts +458 -16
- package/navbar/index.d.ts +1467 -24
- package/package.json +137 -42
- package/pagination/README.md +4 -0
- package/pagination/index.d.ts +1135 -0
- package/sidebar/index.d.ts +880 -24
- package/styles/flowbite-angular.css +8 -0
- package/styles/part/animation.css +0 -0
- package/styles/part/color.css +125 -0
- package/styles/part/font-size.css +67 -0
- package/styles/part/rounded.css +11 -0
- package/styles/part/shadow.css +9 -0
- package/styles/part/spacing.css +38 -0
- package/{badge → tab}/README.md +2 -2
- package/tab/index.d.ts +791 -0
- package/theme-toggle/README.md +4 -0
- package/theme-toggle/index.d.ts +342 -0
- package/{button → tooltip}/README.md +2 -2
- package/tooltip/index.d.ts +158 -0
- package/accordion/accordion-content.component.d.ts +0 -69
- package/accordion/accordion-content.theme.d.ts +0 -28
- package/accordion/accordion-content.theme.service.d.ts +0 -19
- package/accordion/accordion-panel.component.d.ts +0 -67
- package/accordion/accordion-panel.theme.d.ts +0 -23
- package/accordion/accordion-panel.theme.service.d.ts +0 -20
- package/accordion/accordion-title.component.d.ts +0 -106
- package/accordion/accordion-title.theme.d.ts +0 -35
- package/accordion/accordion-title.theme.service.d.ts +0 -19
- package/accordion/accordion.component.d.ts +0 -61
- package/accordion/accordion.theme.d.ts +0 -29
- package/accordion/accordion.theme.service.d.ts +0 -19
- package/alert/alert.component.d.ts +0 -150
- package/alert/alert.theme.d.ts +0 -39
- package/alert/alert.theme.service.d.ts +0 -19
- package/badge/badge.component.d.ts +0 -122
- package/badge/badge.theme.d.ts +0 -45
- package/badge/badge.theme.service.d.ts +0 -19
- package/base-component.directive.d.ts +0 -51
- package/breadcrumb/breadcrumb-item.component.d.ts +0 -84
- package/breadcrumb/breadcrumb-item.theme.d.ts +0 -33
- package/breadcrumb/breadcrumb-item.theme.service.d.ts +0 -19
- package/breadcrumb/breadcrumb.component.d.ts +0 -43
- package/breadcrumb/breadcrumb.theme.d.ts +0 -29
- package/breadcrumb/breadcrumb.theme.service.d.ts +0 -19
- package/button/button.component.d.ts +0 -250
- package/button/button.theme.d.ts +0 -79
- package/button/button.theme.service.d.ts +0 -19
- package/core/flowbite.theme.init.d.ts +0 -9
- package/core/index.d.ts +0 -1
- package/dark-theme-toggle/README.md +0 -4
- package/dark-theme-toggle/dark-theme-toggle.component.d.ts +0 -51
- package/dark-theme-toggle/dark-theme-toggle.theme.d.ts +0 -23
- package/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +0 -19
- package/dark-theme-toggle/index.d.ts +0 -3
- package/dropdown/README.md +0 -4
- package/dropdown/dropdown-divider.component.d.ts +0 -36
- package/dropdown/dropdown-divider.theme.d.ts +0 -23
- package/dropdown/dropdown-divider.theme.service.d.ts +0 -19
- package/dropdown/dropdown-header.component.d.ts +0 -42
- package/dropdown/dropdown-header.theme.d.ts +0 -28
- package/dropdown/dropdown-header.theme.service.d.ts +0 -19
- package/dropdown/dropdown-item.component.d.ts +0 -36
- package/dropdown/dropdown-item.theme.d.ts +0 -23
- package/dropdown/dropdown-item.theme.service.d.ts +0 -19
- package/dropdown/dropdown.component.d.ts +0 -136
- package/dropdown/dropdown.theme.d.ts +0 -56
- package/dropdown/dropdown.theme.service.d.ts +0 -19
- package/fesm2022/flowbite-angular-core.mjs +0 -322
- package/fesm2022/flowbite-angular-core.mjs.map +0 -1
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +0 -138
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +0 -1
- package/fesm2022/flowbite-angular-router-link-active.mjs +0 -68
- package/fesm2022/flowbite-angular-router-link-active.mjs.map +0 -1
- package/fesm2022/flowbite-angular-router-link.mjs +0 -73
- package/fesm2022/flowbite-angular-router-link.mjs.map +0 -1
- package/fesm2022/flowbite-angular-sanitize-html.mjs +0 -39
- package/fesm2022/flowbite-angular-sanitize-html.mjs.map +0 -1
- package/fesm2022/flowbite-angular-scroll-top.mjs +0 -192
- package/fesm2022/flowbite-angular-scroll-top.mjs.map +0 -1
- package/fesm2022/flowbite-angular-theme.mjs +0 -78
- package/fesm2022/flowbite-angular-theme.mjs.map +0 -1
- package/fesm2022/flowbite-angular-utils.mjs +0 -210
- package/fesm2022/flowbite-angular-utils.mjs.map +0 -1
- package/flowbite.theme.service.d.ts +0 -12
- package/icon/icon-registry.d.ts +0 -45
- package/icon/icon.component.d.ts +0 -22
- package/icon/trusted-types.d.ts +0 -15
- package/indicator/indicators.component.d.ts +0 -224
- package/indicator/indicators.theme.d.ts +0 -59
- package/indicator/indicators.theme.service.d.ts +0 -19
- package/modal/modal-body.component.d.ts +0 -36
- package/modal/modal-body.theme.d.ts +0 -23
- package/modal/modal-body.theme.service.d.ts +0 -19
- package/modal/modal-footer.component.d.ts +0 -36
- package/modal/modal-footer.theme.d.ts +0 -23
- package/modal/modal-footer.theme.service.d.ts +0 -19
- package/modal/modal-header.component.d.ts +0 -60
- package/modal/modal-header.theme.d.ts +0 -32
- package/modal/modal-header.theme.service.d.ts +0 -19
- package/modal/modal.component.d.ts +0 -146
- package/modal/modal.theme.d.ts +0 -35
- package/modal/modal.theme.service.d.ts +0 -19
- package/navbar/navbar-brand.component.d.ts +0 -36
- package/navbar/navbar-brand.theme.d.ts +0 -23
- package/navbar/navbar-brand.theme.service.d.ts +0 -19
- package/navbar/navbar-content.component.d.ts +0 -50
- package/navbar/navbar-content.theme.d.ts +0 -28
- package/navbar/navbar-content.theme.service.d.ts +0 -19
- package/navbar/navbar-icon-button.component.d.ts +0 -59
- package/navbar/navbar-icon-button.theme.d.ts +0 -26
- package/navbar/navbar-icon-button.theme.service.d.ts +0 -19
- package/navbar/navbar-item.component.d.ts +0 -67
- package/navbar/navbar-item.theme.d.ts +0 -26
- package/navbar/navbar-item.theme.service.d.ts +0 -19
- package/navbar/navbar-toggle.component.d.ts +0 -51
- package/navbar/navbar-toggle.theme.d.ts +0 -23
- package/navbar/navbar-toggle.theme.service.d.ts +0 -19
- package/navbar/navbar.component.d.ts +0 -121
- package/navbar/navbar.theme.d.ts +0 -21
- package/navbar/navbar.theme.service.d.ts +0 -19
- package/router-link/README.md +0 -4
- package/router-link/flowbite-router-link.directive.d.ts +0 -28
- package/router-link/index.d.ts +0 -1
- package/router-link-active/README.md +0 -4
- package/router-link-active/flowbite-router-link-active.directive.d.ts +0 -37
- package/router-link-active/index.d.ts +0 -1
- package/sanitize-html/README.md +0 -4
- package/sanitize-html/index.d.ts +0 -1
- package/sanitize-html/sanitize-html.pipe.d.ts +0 -20
- package/scroll-top/README.md +0 -4
- package/scroll-top/index.d.ts +0 -4
- package/scroll-top/scroll-top.component.d.ts +0 -114
- package/scroll-top/scroll-top.theme.d.ts +0 -39
- package/scroll-top/scroll-top.theme.service.d.ts +0 -19
- package/sidebar/sidebar-item-group.component.d.ts +0 -100
- package/sidebar/sidebar-item-group.theme.d.ts +0 -31
- package/sidebar/sidebar-item-group.theme.service.d.ts +0 -19
- package/sidebar/sidebar-item.component.d.ts +0 -101
- package/sidebar/sidebar-item.theme.d.ts +0 -33
- package/sidebar/sidebar-item.theme.service.d.ts +0 -19
- package/sidebar/sidebar-menu.component.d.ts +0 -93
- package/sidebar/sidebar-menu.theme.d.ts +0 -30
- package/sidebar/sidebar-menu.theme.service.d.ts +0 -19
- package/sidebar/sidebar-page-content.component.d.ts +0 -46
- package/sidebar/sidebar-page-content.theme.d.ts +0 -27
- package/sidebar/sidebar-page-content.theme.service.d.ts +0 -19
- package/sidebar/sidebar-toggle.component.d.ts +0 -95
- package/sidebar/sidebar-toggle.theme.d.ts +0 -34
- package/sidebar/sidebar-toggle.theme.service.d.ts +0 -19
- package/sidebar/sidebar.component.d.ts +0 -84
- package/sidebar/sidebar.theme.d.ts +0 -22
- package/sidebar/sidebar.theme.service.d.ts +0 -19
- package/tailwind.config.js +0 -303
- package/theme/README.md +0 -4
- package/theme/flowbite-theme.directive.d.ts +0 -36
- package/theme/index.d.ts +0 -1
- package/type-definitions/colors/flowbite.colors.d.ts +0 -19
- package/type-definitions/colors/flowbite.gradient-colors.d.ts +0 -11
- package/type-definitions/colors/flowbite.gradient-duo-tone-colors.d.ts +0 -12
- package/type-definitions/colors/index.d.ts +0 -3
- package/type-definitions/flowbite.boolean.d.ts +0 -14
- package/type-definitions/flowbite.class.d.ts +0 -6
- package/type-definitions/flowbite.combination.d.ts +0 -8
- package/type-definitions/flowbite.content-positions.d.ts +0 -6
- package/type-definitions/flowbite.deep-partial.d.ts +0 -6
- package/type-definitions/flowbite.heading-levels.d.ts +0 -4
- package/type-definitions/flowbite.positions.d.ts +0 -14
- package/type-definitions/flowbite.router-link-parameter.d.ts +0 -5
- package/type-definitions/flowbite.sizes.d.ts +0 -10
- package/type-definitions/flowbite.themes.d.ts +0 -4
- package/type-definitions/index.d.ts +0 -12
- package/utils/README.md +0 -4
- package/utils/icon.list.d.ts +0 -7
- package/utils/id.generator.d.ts +0 -59
- package/utils/index.d.ts +0 -8
- package/utils/theme/clone-deep.d.ts +0 -7
- package/utils/theme/create-class.d.ts +0 -7
- package/utils/theme/create-theme.d.ts +0 -7
- package/utils/theme/is-object.d.ts +0 -7
- package/utils/theme/merge-theme.d.ts +0 -8
- package/utils/theme/to-string.d.ts +0 -7
|
@@ -1,890 +1,517 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createTheme, mergeDeep, colorToTheme } from 'flowbite-angular';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, inject,
|
|
3
|
+
import { InjectionToken, inject, input, booleanAttribute, computed, Directive, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
4
|
+
import { createStateToken, createStateProvider, createStateInjector, createState } from 'ng-primitives/state';
|
|
4
5
|
import { twMerge } from 'tailwind-merge';
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
6
|
+
import * as i1 from 'flowbite-angular/button';
|
|
7
|
+
import { BaseButton } from 'flowbite-angular/button';
|
|
8
|
+
import { barsFromLeft } from 'flowbite-angular/icon/outline/general';
|
|
9
|
+
import { provideIcons } from '@ng-icons/core';
|
|
10
|
+
import * as i2 from 'ng-primitives/button';
|
|
11
|
+
import { NgpButton } from 'ng-primitives/button';
|
|
12
|
+
import * as i3 from 'ng-primitives/interactions';
|
|
13
|
+
import { NgpFocus } from 'ng-primitives/interactions';
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
constructor() {
|
|
24
|
-
this.baseTheme = inject(FLOWBITE_SIDEBAR_ITEM_GROUP_THEME_TOKEN);
|
|
25
|
-
}
|
|
26
|
-
getClasses(properties) {
|
|
27
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
28
|
-
const output = {
|
|
29
|
-
rootClass: twMerge(theme.root.base),
|
|
30
|
-
spanClass: twMerge(theme.spanText.base, theme.spanText.color[properties.color]),
|
|
31
|
-
};
|
|
32
|
-
return output;
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarItemGroupThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarItemGroupThemeService, providedIn: 'root' }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarItemGroupThemeService, decorators: [{
|
|
38
|
-
type: Injectable,
|
|
39
|
-
args: [{
|
|
40
|
-
providedIn: 'root',
|
|
41
|
-
}]
|
|
42
|
-
}] });
|
|
15
|
+
const flowbiteSidebarTheme = createTheme({
|
|
16
|
+
host: {
|
|
17
|
+
base: 'fixed inset-0 top-0 left-0 z-40 h-screen lg:w-64',
|
|
18
|
+
transition: '',
|
|
19
|
+
open: {
|
|
20
|
+
on: 'w-full backdrop-blur-sm',
|
|
21
|
+
off: 'w-0',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
});
|
|
43
25
|
|
|
26
|
+
const defaultFlowbiteSidebarConfig = {
|
|
27
|
+
baseTheme: flowbiteSidebarTheme,
|
|
28
|
+
open: false,
|
|
29
|
+
color: 'default',
|
|
30
|
+
customTheme: {},
|
|
31
|
+
};
|
|
32
|
+
const FlowbiteSidebarConfigToken = new InjectionToken('FlowbiteSidebarConfigToken');
|
|
44
33
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* @
|
|
48
|
-
* ```
|
|
49
|
-
* var theme = inject(FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN)
|
|
50
|
-
* ```
|
|
34
|
+
* Provide the default Sidebar configuration
|
|
35
|
+
* @param config The Sidebar configuration
|
|
36
|
+
* @returns The provider
|
|
51
37
|
*/
|
|
52
|
-
const
|
|
53
|
-
class SidebarItemThemeService {
|
|
54
|
-
constructor() {
|
|
55
|
-
this.baseTheme = inject(FLOWBITE_SIDEBAR_ITEM_THEME_TOKEN);
|
|
56
|
-
}
|
|
57
|
-
getClasses(properties) {
|
|
58
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
59
|
-
const output = {
|
|
60
|
-
rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),
|
|
61
|
-
sidebarIconClass: twMerge(theme.icon.base),
|
|
62
|
-
};
|
|
63
|
-
return output;
|
|
64
|
-
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarItemThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
66
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarItemThemeService, providedIn: 'root' }); }
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarItemThemeService, decorators: [{
|
|
69
|
-
type: Injectable,
|
|
70
|
-
args: [{
|
|
71
|
-
providedIn: 'root',
|
|
72
|
-
}]
|
|
73
|
-
}] });
|
|
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([
|
|
38
|
+
const provideFlowbiteSidebarConfig = (config) => [
|
|
79
39
|
{
|
|
80
|
-
provide:
|
|
81
|
-
useValue:
|
|
40
|
+
provide: FlowbiteSidebarConfigToken,
|
|
41
|
+
useValue: { ...defaultFlowbiteSidebarConfig, ...config },
|
|
82
42
|
},
|
|
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
|
-
]);
|
|
43
|
+
];
|
|
92
44
|
/**
|
|
93
|
-
*
|
|
45
|
+
* Inject the Sidebar configuration
|
|
46
|
+
* @see {@link defaultFlowbiteSidebarConfig}
|
|
47
|
+
* @returns The configuration
|
|
94
48
|
*/
|
|
95
|
-
|
|
49
|
+
const injectFlowbiteSidebarConfig = () => inject(FlowbiteSidebarConfigToken, { optional: true }) ?? defaultFlowbiteSidebarConfig;
|
|
50
|
+
|
|
51
|
+
const FlowbiteSidebarStateToken = createStateToken('Flowbite Sidebar');
|
|
52
|
+
const provideFlowbiteSidebarState = createStateProvider(FlowbiteSidebarStateToken);
|
|
53
|
+
const injectFlowbiteSidebarState = createStateInjector(FlowbiteSidebarStateToken);
|
|
54
|
+
const flowbiteSidebarState = createState(FlowbiteSidebarStateToken);
|
|
55
|
+
|
|
56
|
+
class Sidebar {
|
|
96
57
|
constructor() {
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Optional `FlowbiteRouterLinkDirective` injected
|
|
100
|
-
*/
|
|
101
|
-
this.flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });
|
|
58
|
+
this.config = injectFlowbiteSidebarConfig();
|
|
102
59
|
/**
|
|
103
|
-
*
|
|
60
|
+
* @see {@link injectFlowbiteSidebarConfig}
|
|
104
61
|
*/
|
|
105
|
-
this.
|
|
106
|
-
optional: true,
|
|
107
|
-
});
|
|
62
|
+
this.open = input(this.config.open, { transform: booleanAttribute });
|
|
108
63
|
/**
|
|
109
|
-
*
|
|
64
|
+
* @see {@link injectFlowbiteSidebarConfig}
|
|
110
65
|
*/
|
|
111
|
-
this.
|
|
66
|
+
this.color = input(this.config.color);
|
|
112
67
|
/**
|
|
113
|
-
*
|
|
68
|
+
* @see {@link injectFlowbiteSidebarConfig}
|
|
114
69
|
*/
|
|
115
|
-
this.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
* @default undefined
|
|
125
|
-
*/
|
|
126
|
-
this.icon = model(inject(FLOWBITE_SIDEBAR_ITEM_ICON_DEFAULT_VALUE));
|
|
127
|
-
/**
|
|
128
|
-
* Set the sidebar item color
|
|
129
|
-
*
|
|
130
|
-
* @default `SidebarItemGroupComponent`'s color
|
|
131
|
-
* @default `SidebarMenuComponent`'s color
|
|
132
|
-
*/
|
|
133
|
-
this.color = model((this.sidebarItemGroupComponent ?? this.sidebarMenuComponent).color());
|
|
134
|
-
/**
|
|
135
|
-
* Set the sidebar item label
|
|
136
|
-
*
|
|
137
|
-
* @default undefined
|
|
138
|
-
*/
|
|
139
|
-
this.label = model(inject(FLOWBITE_SIDEBAR_ITEM_LABEL_DEFAULT_VALUE));
|
|
70
|
+
this.customTheme = input(this.config.customTheme);
|
|
71
|
+
this.theme = computed(() => {
|
|
72
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
73
|
+
return {
|
|
74
|
+
host: {
|
|
75
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.open[this.state.open() ? 'on' : 'off']),
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
});
|
|
140
79
|
/**
|
|
141
|
-
*
|
|
80
|
+
* @internal
|
|
142
81
|
*/
|
|
143
|
-
this.
|
|
82
|
+
this.state = flowbiteSidebarState(this);
|
|
144
83
|
}
|
|
145
|
-
//#endregion
|
|
146
|
-
//#region BaseComponent implementation
|
|
147
|
-
fetchClass() {
|
|
148
|
-
return this.themeService.getClasses({
|
|
149
|
-
icon: this.icon(),
|
|
150
|
-
color: this.color(),
|
|
151
|
-
label: this.label(),
|
|
152
|
-
customStyle: this.customStyle(),
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
//#endregion
|
|
156
84
|
/**
|
|
157
|
-
*
|
|
85
|
+
* @internal
|
|
158
86
|
*/
|
|
159
87
|
onClick() {
|
|
160
|
-
|
|
161
|
-
(this.sidebarMenuComponent || this.sidebarItemGroupComponent?.sidebarMenuComponent)?.sidebarComponent.toggleVisibility(false);
|
|
162
|
-
}
|
|
163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", 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>
|
|
88
|
+
this.toggle();
|
|
169
89
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
@if (label()) {
|
|
177
|
-
<flowbite-badge>{{ label() }}</flowbite-badge>
|
|
90
|
+
/**
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
toggle(newState) {
|
|
94
|
+
newState ??= !this.state.open();
|
|
95
|
+
this.state.open.set(newState);
|
|
178
96
|
}
|
|
179
|
-
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Sidebar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
98
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: Sidebar, isStandalone: true, selector: "\n aside[flowbiteSidebar]\n ", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteSidebarState({ inherit: true })], exportAs: ["flowbiteSidebar"], ngImport: i0 }); }
|
|
180
99
|
}
|
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
182
|
-
type:
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Sidebar, decorators: [{
|
|
101
|
+
type: Directive,
|
|
183
102
|
args: [{
|
|
184
|
-
|
|
185
|
-
selector:
|
|
186
|
-
|
|
187
|
-
@if (icon()) {
|
|
188
|
-
<span
|
|
189
|
-
class="flex-shrink-0"
|
|
190
|
-
[innerHTML]="icon()! | sanitizeHtml"></span>
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
<span
|
|
194
|
-
[class]="contentClasses().sidebarIconClass"
|
|
195
|
-
[class.ml-3]="icon()">
|
|
196
|
-
<ng-content />
|
|
197
|
-
</span>
|
|
198
|
-
@if (label()) {
|
|
199
|
-
<flowbite-badge>{{ label() }}</flowbite-badge>
|
|
200
|
-
}
|
|
103
|
+
standalone: true,
|
|
104
|
+
selector: `
|
|
105
|
+
aside[flowbiteSidebar]
|
|
201
106
|
`,
|
|
107
|
+
exportAs: 'flowbiteSidebar',
|
|
108
|
+
hostDirectives: [],
|
|
109
|
+
providers: [provideFlowbiteSidebarState({ inherit: true })],
|
|
202
110
|
host: {
|
|
111
|
+
'[class]': `theme().host.root`,
|
|
203
112
|
'(click)': 'onClick()',
|
|
204
113
|
},
|
|
205
|
-
encapsulation: ViewEncapsulation.None,
|
|
206
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
207
114
|
}]
|
|
208
115
|
}] });
|
|
209
116
|
|
|
210
|
-
const
|
|
211
|
-
|
|
117
|
+
const flowbiteSidebarContentTheme = createTheme({
|
|
118
|
+
host: {
|
|
119
|
+
base: 'h-full overflow-y-auto border-r px-3 py-4 lg:translate-x-0 lg:border-0',
|
|
120
|
+
transition: '',
|
|
121
|
+
open: {
|
|
122
|
+
on: 'w-64 translate-x-0',
|
|
123
|
+
off: '-translate-x-full',
|
|
124
|
+
},
|
|
125
|
+
color: {
|
|
126
|
+
default: {
|
|
127
|
+
light: 'border-gray-200 bg-gray-100',
|
|
128
|
+
dark: 'dark:border-gray-800 dark:bg-gray-900',
|
|
129
|
+
},
|
|
130
|
+
info: {
|
|
131
|
+
light: 'border-blue-200 bg-gray-100',
|
|
132
|
+
dark: 'dark:border-blue-800 dark:bg-gray-900',
|
|
133
|
+
},
|
|
134
|
+
failure: {
|
|
135
|
+
light: 'border-red-200 bg-gray-100',
|
|
136
|
+
dark: 'dark:border-red-800 dark:bg-gray-900',
|
|
137
|
+
},
|
|
138
|
+
success: {
|
|
139
|
+
light: 'border-green-200 bg-gray-100',
|
|
140
|
+
dark: 'dark:border-green-800 dark:bg-gray-900',
|
|
141
|
+
},
|
|
142
|
+
warning: {
|
|
143
|
+
light: 'border-yellow-200 bg-gray-100',
|
|
144
|
+
dark: 'dark:border-yellow-800 dark:bg-gray-900',
|
|
145
|
+
},
|
|
146
|
+
primary: {
|
|
147
|
+
light: 'border-primary-200 bg-gray-100',
|
|
148
|
+
dark: 'dark:border-primary-800 dark:bg-gray-900',
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
container: {
|
|
153
|
+
base: 'space-y-2 font-medium',
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
const defaultFlowbiteSidebarContentConfig = {
|
|
158
|
+
baseTheme: flowbiteSidebarContentTheme,
|
|
159
|
+
customTheme: {},
|
|
160
|
+
};
|
|
161
|
+
const FlowbiteSidebarContentConfigToken = new InjectionToken('FlowbiteSidebarContentConfigToken');
|
|
162
|
+
/**
|
|
163
|
+
* Provide the default SidebarContent configuration
|
|
164
|
+
* @param config The SidebarContent configuration
|
|
165
|
+
* @returns The provider
|
|
166
|
+
*/
|
|
167
|
+
const provideFlowbiteSidebarContentConfig = (config) => [
|
|
212
168
|
{
|
|
213
|
-
provide:
|
|
214
|
-
useValue: {},
|
|
169
|
+
provide: FlowbiteSidebarContentConfigToken,
|
|
170
|
+
useValue: { ...defaultFlowbiteSidebarContentConfig, ...config },
|
|
215
171
|
},
|
|
216
|
-
]
|
|
172
|
+
];
|
|
217
173
|
/**
|
|
218
|
-
*
|
|
174
|
+
* Inject the SidebarContent configuration
|
|
175
|
+
* @see {@link defaultFlowbiteSidebarContentConfig}
|
|
176
|
+
* @returns The configuration
|
|
219
177
|
*/
|
|
220
|
-
|
|
178
|
+
const injectFlowbiteSidebarContentConfig = () => inject(FlowbiteSidebarContentConfigToken, { optional: true }) ??
|
|
179
|
+
defaultFlowbiteSidebarContentConfig;
|
|
180
|
+
|
|
181
|
+
const FlowbiteSidebarContentStateToken = createStateToken('Flowbite SidebarContent');
|
|
182
|
+
const provideFlowbiteSidebarContentState = createStateProvider(FlowbiteSidebarContentStateToken);
|
|
183
|
+
const injectFlowbiteSidebarContentState = createStateInjector(FlowbiteSidebarContentStateToken);
|
|
184
|
+
const flowbiteSidebarContentState = createState(FlowbiteSidebarContentStateToken);
|
|
185
|
+
|
|
186
|
+
class SidebarContent {
|
|
221
187
|
constructor() {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* List of `SidebarItemComponent`
|
|
241
|
-
*/
|
|
242
|
-
this.sidebarItemChildren = contentChildren(SidebarItemComponent);
|
|
243
|
-
//#region properties
|
|
244
|
-
/**
|
|
245
|
-
* Set if the sidebar item group is open
|
|
246
|
-
*
|
|
247
|
-
* @default One of children is active
|
|
248
|
-
* @default false
|
|
249
|
-
*/
|
|
250
|
-
this.isOpen = model(this.sidebarItemChildren().some((x) => x.flowbiteRouterLinkActive?.isActive() ?? false));
|
|
251
|
-
/**
|
|
252
|
-
* Set the sidebar item group color
|
|
253
|
-
*
|
|
254
|
-
* @default `SidebarMenuComponent`'s color
|
|
255
|
-
*/
|
|
256
|
-
this.color = model(this.sidebarMenuComponent.color());
|
|
257
|
-
/**
|
|
258
|
-
* Set the sidebar item group title
|
|
259
|
-
*/
|
|
260
|
-
this.title = model.required();
|
|
188
|
+
this.config = injectFlowbiteSidebarContentConfig();
|
|
189
|
+
this.sidebarState = injectFlowbiteSidebarState();
|
|
190
|
+
/**
|
|
191
|
+
* @see {@link injectFlowbiteSidebarContentConfig}
|
|
192
|
+
*/
|
|
193
|
+
this.customTheme = input(this.config.customTheme);
|
|
194
|
+
this.theme = computed(() => {
|
|
195
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
196
|
+
return {
|
|
197
|
+
host: {
|
|
198
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.open[this.sidebarState().open() ? 'on' : 'off'], colorToTheme(mergedTheme.host.color, this.sidebarState().color())),
|
|
199
|
+
},
|
|
200
|
+
container: {
|
|
201
|
+
root: twMerge(mergedTheme.container.base),
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
});
|
|
261
205
|
/**
|
|
262
|
-
*
|
|
206
|
+
* @internal
|
|
263
207
|
*/
|
|
264
|
-
this.
|
|
265
|
-
}
|
|
266
|
-
//#endregion
|
|
267
|
-
//#region BaseComponent implementation
|
|
268
|
-
fetchClass() {
|
|
269
|
-
return this.themeService.getClasses({
|
|
270
|
-
color: this.color(),
|
|
271
|
-
customStyle: this.customStyle(),
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
init() {
|
|
275
|
-
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'chevron-down', this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_DOWN_SVG_ICON));
|
|
208
|
+
this.state = flowbiteSidebarContentState(this);
|
|
276
209
|
}
|
|
277
|
-
//#endregion
|
|
278
210
|
/**
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
* @param isOpen If provided force isOpen value
|
|
211
|
+
* @internal
|
|
282
212
|
*/
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
isOpen = untracked(() => !this.isOpen());
|
|
286
|
-
}
|
|
287
|
-
this.isOpen.set(isOpen);
|
|
213
|
+
onClick($event) {
|
|
214
|
+
$event.stopPropagation();
|
|
288
215
|
}
|
|
289
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
290
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
291
|
-
<
|
|
292
|
-
[class]="contentClasses().spanClass"
|
|
293
|
-
(click)="toggleVisibility()">
|
|
294
|
-
<h4>{{ title() }}</h4>
|
|
295
|
-
<flowbite-icon
|
|
296
|
-
svgIcon="flowbite-angular:chevron-down"
|
|
297
|
-
class="h-6 w-6 shrink-0 duration-200"
|
|
298
|
-
[class.rotate-180]="!isOpen()" />
|
|
299
|
-
</span>
|
|
300
|
-
@if (isOpen()) {
|
|
216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SidebarContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: SidebarContent, isStandalone: true, selector: "\n div[flowbiteSidebarContent]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteSidebarContentState()], exportAs: ["flowbiteSidebarContent"], ngImport: i0, template: `
|
|
218
|
+
<ul [class]="theme().container.root">
|
|
301
219
|
<ng-content />
|
|
302
|
-
|
|
303
|
-
`, isInline: true,
|
|
220
|
+
</ul>
|
|
221
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
304
222
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SidebarContent, decorators: [{
|
|
306
224
|
type: Component,
|
|
307
225
|
args: [{
|
|
308
|
-
|
|
309
|
-
selector:
|
|
226
|
+
standalone: true,
|
|
227
|
+
selector: `
|
|
228
|
+
div[flowbiteSidebarContent]
|
|
229
|
+
`,
|
|
230
|
+
exportAs: 'flowbiteSidebarContent',
|
|
231
|
+
hostDirectives: [],
|
|
232
|
+
imports: [],
|
|
233
|
+
providers: [provideFlowbiteSidebarContentState()],
|
|
234
|
+
host: {
|
|
235
|
+
'[class]': `theme().host.root`,
|
|
236
|
+
'(click)': 'onClick($event)',
|
|
237
|
+
},
|
|
310
238
|
template: `
|
|
311
|
-
<
|
|
312
|
-
[class]="contentClasses().spanClass"
|
|
313
|
-
(click)="toggleVisibility()">
|
|
314
|
-
<h4>{{ title() }}</h4>
|
|
315
|
-
<flowbite-icon
|
|
316
|
-
svgIcon="flowbite-angular:chevron-down"
|
|
317
|
-
class="h-6 w-6 shrink-0 duration-200"
|
|
318
|
-
[class.rotate-180]="!isOpen()" />
|
|
319
|
-
</span>
|
|
320
|
-
@if (isOpen()) {
|
|
239
|
+
<ul [class]="theme().container.root">
|
|
321
240
|
<ng-content />
|
|
322
|
-
|
|
241
|
+
</ul>
|
|
323
242
|
`,
|
|
324
243
|
encapsulation: ViewEncapsulation.None,
|
|
325
244
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
326
245
|
}]
|
|
327
246
|
}] });
|
|
328
247
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
248
|
+
const flowbiteSidebarToggleTheme = createTheme({
|
|
249
|
+
host: {
|
|
250
|
+
base: 'inline-flex h-10 w-10 cursor-pointer items-center justify-center rounded-lg p-2 text-sm lg:hidden',
|
|
251
|
+
transition: '',
|
|
252
|
+
focus: 'data-focus:ring-0 data-focus:outline-none data-focus-visible:ring-2 data-focus-visible:outline-none',
|
|
253
|
+
disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
254
|
+
size: {},
|
|
255
|
+
pill: {},
|
|
256
|
+
color: {
|
|
257
|
+
default: {
|
|
258
|
+
light: 'text-gray-900',
|
|
259
|
+
dark: 'dark:text-gray-100',
|
|
260
|
+
},
|
|
261
|
+
info: {
|
|
262
|
+
light: 'text-blue-900',
|
|
263
|
+
dark: 'dark:text-blue-100',
|
|
264
|
+
},
|
|
265
|
+
failure: {
|
|
266
|
+
light: 'text-red-900',
|
|
267
|
+
dark: 'dark:text-red-100',
|
|
268
|
+
},
|
|
269
|
+
success: {
|
|
270
|
+
light: 'text-green-900',
|
|
271
|
+
dark: 'dark:text-green-100',
|
|
272
|
+
},
|
|
273
|
+
warning: {
|
|
274
|
+
light: 'text-yellow-900',
|
|
275
|
+
dark: 'dark:text-yellow-100',
|
|
276
|
+
},
|
|
277
|
+
primary: {
|
|
278
|
+
light: 'text-primary-900',
|
|
279
|
+
dark: 'dark:text-primary-100',
|
|
280
|
+
},
|
|
281
|
+
},
|
|
282
|
+
colorOutline: {},
|
|
364
283
|
},
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* @see https://flowbite.com/docs/components/sidebar/
|
|
368
|
-
*/
|
|
369
|
-
class SidebarMenuComponent extends BaseComponent {
|
|
370
|
-
constructor() {
|
|
371
|
-
super(...arguments);
|
|
372
|
-
/**
|
|
373
|
-
* Service injected used to generate class
|
|
374
|
-
*/
|
|
375
|
-
this.themeService = inject(SidebarMenuThemeService);
|
|
376
|
-
/**
|
|
377
|
-
* The parent `SidebarComponent`
|
|
378
|
-
*/
|
|
379
|
-
this.sidebarComponent = inject(SidebarComponent);
|
|
380
|
-
/**
|
|
381
|
-
* List of `SidebarItemGroupComponent`
|
|
382
|
-
*/
|
|
383
|
-
this.sidebarItemGroupChildren = contentChildren(SidebarItemGroupComponent);
|
|
384
|
-
/**
|
|
385
|
-
* List of `SidebarItemComponent`
|
|
386
|
-
*/
|
|
387
|
-
this.sidebarItemChildren = contentChildren(SidebarItemComponent);
|
|
388
|
-
//#region properties
|
|
389
|
-
/**
|
|
390
|
-
* Set the sidebar menu color
|
|
391
|
-
*
|
|
392
|
-
* @default `SidebarComponent`'s color
|
|
393
|
-
*/
|
|
394
|
-
this.color = model(this.sidebarComponent.color());
|
|
395
|
-
/**
|
|
396
|
-
* Set the custom style for this sidebar menu
|
|
397
|
-
*/
|
|
398
|
-
this.customStyle = model(inject(FLOWBITE_SIDEBAR_MENU_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
399
|
-
}
|
|
400
|
-
//#endregion
|
|
401
|
-
fetchClass() {
|
|
402
|
-
return this.themeService.getClasses({
|
|
403
|
-
isOpen: booleanToFlowbiteBoolean(this.sidebarComponent.isOpen()),
|
|
404
|
-
color: this.color(),
|
|
405
|
-
displayMode: this.sidebarComponent.displayMode(),
|
|
406
|
-
customStyle: this.customStyle(),
|
|
407
|
-
});
|
|
408
|
-
}
|
|
409
|
-
/**
|
|
410
|
-
* Toggle visibility of ll children to false
|
|
411
|
-
*/
|
|
412
|
-
closeAll() {
|
|
413
|
-
this.sidebarItemGroupChildren().forEach((x) => x.toggleVisibility(false));
|
|
414
|
-
}
|
|
415
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
416
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.4", type: SidebarMenuComponent, isStandalone: true, selector: "flowbite-sidebar-menu", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { color: "colorChange", customStyle: "customStyleChange" }, queries: [{ propertyName: "sidebarItemGroupChildren", predicate: SidebarItemGroupComponent, isSignal: true }, { propertyName: "sidebarItemChildren", predicate: SidebarItemComponent, isSignal: true }], usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
417
|
-
}
|
|
418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarMenuComponent, decorators: [{
|
|
419
|
-
type: Component,
|
|
420
|
-
args: [{
|
|
421
|
-
standalone: true,
|
|
422
|
-
selector: 'flowbite-sidebar-menu',
|
|
423
|
-
template: '<ng-content />',
|
|
424
|
-
encapsulation: ViewEncapsulation.None,
|
|
425
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
426
|
-
}]
|
|
427
|
-
}] });
|
|
284
|
+
});
|
|
428
285
|
|
|
286
|
+
const defaultFlowbiteSidebarToggleConfig = {
|
|
287
|
+
baseTheme: flowbiteSidebarToggleTheme,
|
|
288
|
+
customTheme: {},
|
|
289
|
+
};
|
|
290
|
+
const FlowbiteSidebarToggleConfigToken = new InjectionToken('FlowbiteSidebarToggleConfigToken');
|
|
429
291
|
/**
|
|
430
|
-
*
|
|
431
|
-
*
|
|
432
|
-
* @
|
|
433
|
-
* ```
|
|
434
|
-
* var theme = inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN)
|
|
435
|
-
* ```
|
|
292
|
+
* Provide the default SidebarToggle configuration
|
|
293
|
+
* @param config The SidebarToggle configuration
|
|
294
|
+
* @returns The provider
|
|
436
295
|
*/
|
|
437
|
-
const
|
|
438
|
-
class SidebarPageContentThemeService {
|
|
439
|
-
constructor() {
|
|
440
|
-
this.baseTheme = inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_THEME_TOKEN);
|
|
441
|
-
}
|
|
442
|
-
getClasses(properties) {
|
|
443
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
444
|
-
const output = {
|
|
445
|
-
rootClass: twMerge(theme.root.base, properties.isOpen === 'enabled' && theme.root.displayMode[properties.displayMode]),
|
|
446
|
-
};
|
|
447
|
-
return output;
|
|
448
|
-
}
|
|
449
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarPageContentThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
450
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarPageContentThemeService, providedIn: 'root' }); }
|
|
451
|
-
}
|
|
452
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarPageContentThemeService, decorators: [{
|
|
453
|
-
type: Injectable,
|
|
454
|
-
args: [{
|
|
455
|
-
providedIn: 'root',
|
|
456
|
-
}]
|
|
457
|
-
}] });
|
|
458
|
-
|
|
459
|
-
const FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
460
|
-
const sidebarPageContentDefaultValueProvider = makeEnvironmentProviders([
|
|
296
|
+
const provideFlowbiteSidebarToggleConfig = (config) => [
|
|
461
297
|
{
|
|
462
|
-
provide:
|
|
463
|
-
useValue: {},
|
|
298
|
+
provide: FlowbiteSidebarToggleConfigToken,
|
|
299
|
+
useValue: { ...defaultFlowbiteSidebarToggleConfig, ...config },
|
|
464
300
|
},
|
|
465
|
-
]
|
|
301
|
+
];
|
|
466
302
|
/**
|
|
467
|
-
*
|
|
303
|
+
* Inject the SidebarToggle configuration
|
|
304
|
+
* @see {@link defaultFlowbiteSidebarToggleConfig}
|
|
305
|
+
* @returns The configuration
|
|
468
306
|
*/
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
super(...arguments);
|
|
472
|
-
/**
|
|
473
|
-
* Service injected used to generate class
|
|
474
|
-
*/
|
|
475
|
-
this.themeService = inject(SidebarPageContentThemeService);
|
|
476
|
-
/**
|
|
477
|
-
* The parent `SidebarComponent`
|
|
478
|
-
*/
|
|
479
|
-
this.sidebarComponent = inject(SidebarComponent);
|
|
480
|
-
//#region properties
|
|
481
|
-
/**
|
|
482
|
-
* Set the custom style for this sidebar page content
|
|
483
|
-
*/
|
|
484
|
-
this.customStyle = model(inject(FLOWBITE_SIDEBAR_PAGE_CONTENT_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
485
|
-
}
|
|
486
|
-
//endregion
|
|
487
|
-
//region BaseComponent implementation
|
|
488
|
-
fetchClass() {
|
|
489
|
-
return this.themeService.getClasses({
|
|
490
|
-
isOpen: booleanToFlowbiteBoolean(this.sidebarComponent.isOpen()),
|
|
491
|
-
displayMode: this.sidebarComponent.displayMode(),
|
|
492
|
-
customStyle: this.customStyle(),
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarPageContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
496
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.4", type: SidebarPageContentComponent, isStandalone: true, selector: "flowbite-sidebar-page-content", inputs: { customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
497
|
-
}
|
|
498
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarPageContentComponent, decorators: [{
|
|
499
|
-
type: Component,
|
|
500
|
-
args: [{
|
|
501
|
-
standalone: true,
|
|
502
|
-
selector: 'flowbite-sidebar-page-content',
|
|
503
|
-
template: `<ng-content />`,
|
|
504
|
-
encapsulation: ViewEncapsulation.None,
|
|
505
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
506
|
-
}]
|
|
507
|
-
}] });
|
|
307
|
+
const injectFlowbiteSidebarToggleConfig = () => inject(FlowbiteSidebarToggleConfigToken, { optional: true }) ??
|
|
308
|
+
defaultFlowbiteSidebarToggleConfig;
|
|
508
309
|
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
* ```
|
|
514
|
-
* var theme = inject(FLOWBITE_SIDEBAR_THEME_TOKEN)
|
|
515
|
-
* ```
|
|
516
|
-
*/
|
|
517
|
-
const FLOWBITE_SIDEBAR_THEME_TOKEN = new InjectionToken('FLOWBITE_SIDEBAR_THEME_TOKEN');
|
|
518
|
-
class SidebarThemeService {
|
|
519
|
-
constructor() {
|
|
520
|
-
this.baseTheme = inject(FLOWBITE_SIDEBAR_THEME_TOKEN);
|
|
521
|
-
}
|
|
522
|
-
getClasses(properties) {
|
|
523
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
524
|
-
const output = {
|
|
525
|
-
rootClass: twMerge(theme.root.base, theme.root.isRounded[properties.isRounded]),
|
|
526
|
-
};
|
|
527
|
-
return output;
|
|
528
|
-
}
|
|
529
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
530
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarThemeService, providedIn: 'root' }); }
|
|
531
|
-
}
|
|
532
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarThemeService, decorators: [{
|
|
533
|
-
type: Injectable,
|
|
534
|
-
args: [{
|
|
535
|
-
providedIn: 'root',
|
|
536
|
-
}]
|
|
537
|
-
}] });
|
|
310
|
+
const FlowbiteSidebarToggleStateToken = createStateToken('Flowbite SidebarToggle');
|
|
311
|
+
const provideFlowbiteSidebarToggleState = createStateProvider(FlowbiteSidebarToggleStateToken);
|
|
312
|
+
const injectFlowbiteSidebarToggleState = createStateInjector(FlowbiteSidebarToggleStateToken);
|
|
313
|
+
const flowbiteSidebarToggleState = createState(FlowbiteSidebarToggleStateToken);
|
|
538
314
|
|
|
539
|
-
|
|
540
|
-
const FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE');
|
|
541
|
-
const FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE');
|
|
542
|
-
const FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE');
|
|
543
|
-
const FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
544
|
-
const sidebarDefaultValueProvider = makeEnvironmentProviders([
|
|
545
|
-
{
|
|
546
|
-
provide: FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE,
|
|
547
|
-
useValue: 'primary',
|
|
548
|
-
},
|
|
549
|
-
{
|
|
550
|
-
provide: FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE,
|
|
551
|
-
useValue: 'push',
|
|
552
|
-
},
|
|
553
|
-
{
|
|
554
|
-
provide: FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE,
|
|
555
|
-
useValue: false,
|
|
556
|
-
},
|
|
557
|
-
{
|
|
558
|
-
provide: FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE,
|
|
559
|
-
useValue: false,
|
|
560
|
-
},
|
|
561
|
-
{
|
|
562
|
-
provide: FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
563
|
-
useValue: {},
|
|
564
|
-
},
|
|
565
|
-
]);
|
|
566
|
-
/**
|
|
567
|
-
* @see https://flowbite.com/docs/components/sidebar/
|
|
568
|
-
*/
|
|
569
|
-
class SidebarComponent extends BaseComponent {
|
|
315
|
+
class SidebarToggle {
|
|
570
316
|
constructor() {
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
/**
|
|
586
|
-
* Set the sidebar color
|
|
587
|
-
*
|
|
588
|
-
* @default primary
|
|
589
|
-
*/
|
|
590
|
-
this.color = model(inject(FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE));
|
|
591
|
-
/**
|
|
592
|
-
* Set the sidebar display mode
|
|
593
|
-
*
|
|
594
|
-
* @default push
|
|
595
|
-
*/
|
|
596
|
-
this.displayMode = model(inject(FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE));
|
|
597
|
-
/**
|
|
598
|
-
* Set is the sidebar is open
|
|
599
|
-
*
|
|
600
|
-
* @default false
|
|
601
|
-
*/
|
|
602
|
-
this.isOpen = model(inject(FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE));
|
|
603
|
-
/**
|
|
604
|
-
* Set is the sidebar is rounded
|
|
605
|
-
*
|
|
606
|
-
* @default false
|
|
607
|
-
*/
|
|
608
|
-
this.isRounded = model(inject(FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE));
|
|
317
|
+
this.config = injectFlowbiteSidebarToggleConfig();
|
|
318
|
+
this.sidebarState = injectFlowbiteSidebarState();
|
|
319
|
+
/**
|
|
320
|
+
* @see {@link injectFlowbiteSidebarToggleConfig}
|
|
321
|
+
*/
|
|
322
|
+
this.customTheme = input(this.config.customTheme);
|
|
323
|
+
this.theme = computed(() => {
|
|
324
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
325
|
+
return {
|
|
326
|
+
host: {
|
|
327
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.focus, mergedTheme.host.disabled, colorToTheme(mergedTheme.host.color, this.sidebarState().color())),
|
|
328
|
+
},
|
|
329
|
+
};
|
|
330
|
+
});
|
|
609
331
|
/**
|
|
610
|
-
*
|
|
332
|
+
* @internal
|
|
611
333
|
*/
|
|
612
|
-
this.
|
|
334
|
+
this.state = flowbiteSidebarToggleState(this);
|
|
613
335
|
}
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
isRounded: booleanToFlowbiteBoolean(this.isRounded()),
|
|
620
|
-
customStyle: this.customStyle(),
|
|
621
|
-
});
|
|
336
|
+
/**
|
|
337
|
+
* @internal
|
|
338
|
+
*/
|
|
339
|
+
onClick() {
|
|
340
|
+
this.toggleSidebar();
|
|
622
341
|
}
|
|
623
|
-
//#endregion
|
|
624
342
|
/**
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
* @param isOpen If provided force isOpen value
|
|
343
|
+
* @internal
|
|
628
344
|
*/
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
isOpen = untracked(() => !this.isOpen());
|
|
632
|
-
}
|
|
633
|
-
this.isOpen.set(isOpen);
|
|
345
|
+
toggleSidebar() {
|
|
346
|
+
this.sidebarState().toggle();
|
|
634
347
|
}
|
|
635
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
636
|
-
static { this.ɵ
|
|
348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SidebarToggle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
349
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SidebarToggle, isStandalone: true, selector: "\n button[flowbiteSidebarToggle]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteSidebarToggleState(), provideIcons({ barsFromLeft })], exportAs: ["flowbiteSidebarToggle"], hostDirectives: [{ directive: i1.BaseButton }], ngImport: i0 }); }
|
|
637
350
|
}
|
|
638
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
639
|
-
type:
|
|
351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SidebarToggle, decorators: [{
|
|
352
|
+
type: Directive,
|
|
640
353
|
args: [{
|
|
641
354
|
standalone: true,
|
|
642
|
-
selector:
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
355
|
+
selector: `
|
|
356
|
+
button[flowbiteSidebarToggle]
|
|
357
|
+
`,
|
|
358
|
+
exportAs: 'flowbiteSidebarToggle',
|
|
359
|
+
hostDirectives: [
|
|
360
|
+
{
|
|
361
|
+
directive: BaseButton,
|
|
362
|
+
inputs: [],
|
|
363
|
+
outputs: [],
|
|
364
|
+
},
|
|
365
|
+
],
|
|
366
|
+
providers: [provideFlowbiteSidebarToggleState(), provideIcons({ barsFromLeft })],
|
|
367
|
+
host: {
|
|
368
|
+
'[class]': `theme().host.root`,
|
|
369
|
+
'(click)': 'onClick()',
|
|
370
|
+
},
|
|
646
371
|
}]
|
|
647
372
|
}] });
|
|
648
373
|
|
|
649
|
-
const
|
|
650
|
-
|
|
651
|
-
base: 'flex flex-row
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
},
|
|
656
|
-
|
|
657
|
-
});
|
|
658
|
-
|
|
659
|
-
/**
|
|
660
|
-
* Default theme for `SidebarItemComponent`
|
|
661
|
-
*/
|
|
662
|
-
const sidebarItemTheme = createTheme({
|
|
663
|
-
root: {
|
|
664
|
-
base: 'group flex cursor-pointer items-center rounded-lg p-2 text-base font-normal text-gray-900 dark:text-white',
|
|
665
|
-
color: {
|
|
666
|
-
primary: 'aria-current:text-primary-500 dark:aria-current:text-primary-300 hover:bg-primary-200/35 dark:hover:bg-primary-700/35',
|
|
667
|
-
dark: 'aria-current:text-gray-500 dark:aria-current:text-gray-300 hover:bg-gray-200/35 dark:hover:bg-gray-700/35',
|
|
668
|
-
blue: 'aria-current:text-blue-500 dark:aria-current:text-blue-300 hover:bg-blue-200/35 dark:hover:bg-blue-700/35',
|
|
669
|
-
red: 'aria-current:text-red-500 dark:aria-current:text-red-300 hover:bg-red-200/35 dark:hover:bg-red-700/35',
|
|
670
|
-
green: 'aria-current:text-green-500 dark:aria-current:text-green-300 hover:bg-green-200/35 dark:hover:bg-green-700/35',
|
|
671
|
-
yellow: 'aria-current:text-yellow-500 dark:aria-current:text-yellow-300 hover:bg-yellow-200/35 dark:hover:bg-yellow-700/35',
|
|
672
|
-
},
|
|
673
|
-
},
|
|
674
|
-
icon: {
|
|
675
|
-
base: 'flex-1 whitespace-nowrap',
|
|
676
|
-
},
|
|
677
|
-
});
|
|
678
|
-
|
|
679
|
-
/**
|
|
680
|
-
* Default theme for `SidebarItemGroupComponent`
|
|
681
|
-
*/
|
|
682
|
-
const sidebarItemGroupTheme = createTheme({
|
|
683
|
-
root: {
|
|
684
|
-
base: 'flex flex-col py-2 font-semibold cursor-pointer',
|
|
685
|
-
},
|
|
686
|
-
spanText: {
|
|
687
|
-
base: 'flex flex-row justify-between m-2',
|
|
374
|
+
const flowbiteSidebarItemTheme = createTheme({
|
|
375
|
+
host: {
|
|
376
|
+
base: 'm-0 flex cursor-pointer flex-row rounded-sm px-3 py-2',
|
|
377
|
+
transition: '',
|
|
378
|
+
focus: 'data-focus:ring-0 data-focus:outline-none data-focus-visible:ring-2 data-focus-visible:outline-none',
|
|
379
|
+
disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
380
|
+
size: {},
|
|
381
|
+
pill: {},
|
|
688
382
|
color: {
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
383
|
+
default: {
|
|
384
|
+
light: 'text-gray-800 data-hover:text-gray-900',
|
|
385
|
+
dark: 'dark:text-white dark:data-hover:text-gray-100',
|
|
386
|
+
},
|
|
387
|
+
info: {
|
|
388
|
+
light: 'text-gray-800 data-hover:text-blue-900',
|
|
389
|
+
dark: 'dark:text-white dark:data-hover:text-blue-100',
|
|
390
|
+
},
|
|
391
|
+
failure: {
|
|
392
|
+
light: 'text-gray-800 data-hover:text-red-900',
|
|
393
|
+
dark: 'dark:text-white dark:data-hover:text-red-100',
|
|
394
|
+
},
|
|
395
|
+
success: {
|
|
396
|
+
light: 'text-gray-800 data-hover:text-green-900',
|
|
397
|
+
dark: 'dark:text-white dark:data-hover:text-green-100',
|
|
398
|
+
},
|
|
399
|
+
warning: {
|
|
400
|
+
light: 'text-gray-800 data-hover:text-yellow-900',
|
|
401
|
+
dark: 'dark:text-white dark:data-hover:text-yellow-100',
|
|
402
|
+
},
|
|
403
|
+
primary: {
|
|
404
|
+
light: 'data-hover:text-primary-900 text-gray-800',
|
|
405
|
+
dark: 'dark:data-hover:text-primary-100 dark:text-white',
|
|
406
|
+
},
|
|
695
407
|
},
|
|
408
|
+
colorOutline: {},
|
|
696
409
|
},
|
|
697
410
|
});
|
|
698
411
|
|
|
412
|
+
const defaultFlowbiteSidebarItemConfig = {
|
|
413
|
+
baseTheme: flowbiteSidebarItemTheme,
|
|
414
|
+
customTheme: {},
|
|
415
|
+
};
|
|
416
|
+
const FlowbiteSidebarItemConfigToken = new InjectionToken('FlowbiteSidebarItemConfigToken');
|
|
699
417
|
/**
|
|
700
|
-
*
|
|
701
|
-
*
|
|
702
|
-
* @
|
|
703
|
-
* ```
|
|
704
|
-
* var theme = inject(FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN)
|
|
705
|
-
* ```
|
|
418
|
+
* Provide the default SidebarItem configuration
|
|
419
|
+
* @param config The SidebarItem configuration
|
|
420
|
+
* @returns The provider
|
|
706
421
|
*/
|
|
707
|
-
const
|
|
708
|
-
class SidebarToggleThemeService {
|
|
709
|
-
constructor() {
|
|
710
|
-
this.baseTheme = inject(FLOWBITE_SIDEBAR_TOGGLE_THEME_TOKEN);
|
|
711
|
-
}
|
|
712
|
-
getClasses(properties) {
|
|
713
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
714
|
-
const output = {
|
|
715
|
-
rootClass: twMerge(theme.root.base, theme.root.color[properties.color], theme.root.size[properties.color]),
|
|
716
|
-
};
|
|
717
|
-
return output;
|
|
718
|
-
}
|
|
719
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarToggleThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
720
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarToggleThemeService, providedIn: 'root' }); }
|
|
721
|
-
}
|
|
722
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: SidebarToggleThemeService, decorators: [{
|
|
723
|
-
type: Injectable,
|
|
724
|
-
args: [{
|
|
725
|
-
providedIn: 'root',
|
|
726
|
-
}]
|
|
727
|
-
}] });
|
|
728
|
-
|
|
729
|
-
const FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE');
|
|
730
|
-
const FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE');
|
|
731
|
-
const FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
732
|
-
const sidebarToggleDefaultValueProvider = makeEnvironmentProviders([
|
|
422
|
+
const provideFlowbiteSidebarItemConfig = (config) => [
|
|
733
423
|
{
|
|
734
|
-
provide:
|
|
735
|
-
useValue:
|
|
424
|
+
provide: FlowbiteSidebarItemConfigToken,
|
|
425
|
+
useValue: { ...defaultFlowbiteSidebarItemConfig, ...config },
|
|
736
426
|
},
|
|
737
|
-
|
|
738
|
-
provide: FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE,
|
|
739
|
-
useValue: 'sm',
|
|
740
|
-
},
|
|
741
|
-
{
|
|
742
|
-
provide: FLOWBITE_SIDEBAR_TOGGLE_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
743
|
-
useValue: {},
|
|
744
|
-
},
|
|
745
|
-
]);
|
|
427
|
+
];
|
|
746
428
|
/**
|
|
747
|
-
*
|
|
429
|
+
* Inject the SidebarItem configuration
|
|
430
|
+
* @see {@link defaultFlowbiteSidebarItemConfig}
|
|
431
|
+
* @returns The configuration
|
|
748
432
|
*/
|
|
749
|
-
|
|
433
|
+
const injectFlowbiteSidebarItemConfig = () => inject(FlowbiteSidebarItemConfigToken, { optional: true }) ?? defaultFlowbiteSidebarItemConfig;
|
|
434
|
+
|
|
435
|
+
const FlowbiteSidebarItemStateToken = createStateToken('Flowbite SidebarItem');
|
|
436
|
+
const provideFlowbiteSidebarItemState = createStateProvider(FlowbiteSidebarItemStateToken);
|
|
437
|
+
const injectFlowbiteSidebarItemState = createStateInjector(FlowbiteSidebarItemStateToken);
|
|
438
|
+
const flowbiteSidebarItemState = createState(FlowbiteSidebarItemStateToken);
|
|
439
|
+
|
|
440
|
+
class SidebarItem {
|
|
750
441
|
constructor() {
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
* The `SidebarComponent` to use
|
|
766
|
-
*
|
|
767
|
-
* @default The injected `SidebarComponent`
|
|
768
|
-
*/
|
|
769
|
-
this.sidebarComponent = model(inject(SidebarComponent));
|
|
770
|
-
//#region properties
|
|
771
|
-
/**
|
|
772
|
-
* Set the sidebar toggle color
|
|
773
|
-
*
|
|
774
|
-
* @default primary
|
|
775
|
-
*/
|
|
776
|
-
this.color = model(inject(FLOWBITE_SIDEBAR_TOGGLE_COLOR_DEFAULT_VALUE));
|
|
777
|
-
/**
|
|
778
|
-
* Set the sidebar toggle size
|
|
779
|
-
*
|
|
780
|
-
* @default sm
|
|
781
|
-
*/
|
|
782
|
-
this.size = model(inject(FLOWBITE_SIDEBAR_TOGGLE_SIZE_DEFAULT_VALUE));
|
|
442
|
+
this.config = injectFlowbiteSidebarItemConfig();
|
|
443
|
+
this.sidebarState = injectFlowbiteSidebarState();
|
|
444
|
+
/**
|
|
445
|
+
* @see {@link injectFlowbiteSidebarItemConfig}
|
|
446
|
+
*/
|
|
447
|
+
this.customTheme = input(this.config.customTheme);
|
|
448
|
+
this.theme = computed(() => {
|
|
449
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
450
|
+
return {
|
|
451
|
+
host: {
|
|
452
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.focus, mergedTheme.host.disabled, colorToTheme(mergedTheme.host.color, this.sidebarState().color())),
|
|
453
|
+
},
|
|
454
|
+
};
|
|
455
|
+
});
|
|
783
456
|
/**
|
|
784
|
-
*
|
|
457
|
+
* @internal
|
|
785
458
|
*/
|
|
786
|
-
this.
|
|
787
|
-
}
|
|
788
|
-
//#endregion
|
|
789
|
-
//#region BaseComponent implementation
|
|
790
|
-
fetchClass() {
|
|
791
|
-
return this.themeService.getClasses({
|
|
792
|
-
color: this.color(),
|
|
793
|
-
size: this.size(),
|
|
794
|
-
customStyle: this.customStyle(),
|
|
795
|
-
});
|
|
796
|
-
}
|
|
797
|
-
init() {
|
|
798
|
-
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'tabs', this.domSanitizer.bypassSecurityTrustHtml(BARS_SVG_ICON));
|
|
459
|
+
this.state = flowbiteSidebarItemState(this);
|
|
799
460
|
}
|
|
800
|
-
//#endregion
|
|
801
461
|
/**
|
|
802
|
-
*
|
|
462
|
+
* @internal
|
|
803
463
|
*/
|
|
804
464
|
onClick() {
|
|
805
|
-
|
|
806
|
-
this.sidebarComponent().isOpen.set(!isOpen);
|
|
465
|
+
this.toggleSidebar();
|
|
807
466
|
}
|
|
808
|
-
|
|
809
|
-
|
|
467
|
+
/**
|
|
468
|
+
* @internal
|
|
469
|
+
*/
|
|
470
|
+
toggleSidebar() {
|
|
471
|
+
this.sidebarState().toggle();
|
|
472
|
+
}
|
|
473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SidebarItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
474
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SidebarItem, isStandalone: true, selector: "\n a[flowbiteSidebarItem],\n button[flowbiteSidebarItem]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteSidebarItemState()], exportAs: ["flowbiteSidebarItem"], hostDirectives: [{ directive: i1.BaseButton }, { directive: i2.NgpButton, inputs: ["disabled", "disabled"] }, { directive: i3.NgpFocus, inputs: ["ngpFocusDisabled", "focusDisabled"], outputs: ["ngpFocus", "ngpFocus"] }], ngImport: i0 }); }
|
|
810
475
|
}
|
|
811
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
812
|
-
type:
|
|
476
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SidebarItem, decorators: [{
|
|
477
|
+
type: Directive,
|
|
813
478
|
args: [{
|
|
814
|
-
|
|
815
|
-
selector:
|
|
816
|
-
|
|
479
|
+
standalone: true,
|
|
480
|
+
selector: `
|
|
481
|
+
a[flowbiteSidebarItem],
|
|
482
|
+
button[flowbiteSidebarItem]
|
|
483
|
+
`,
|
|
484
|
+
exportAs: 'flowbiteSidebarItem',
|
|
485
|
+
hostDirectives: [
|
|
486
|
+
{
|
|
487
|
+
directive: BaseButton,
|
|
488
|
+
inputs: [],
|
|
489
|
+
outputs: [],
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
directive: NgpButton,
|
|
493
|
+
inputs: ['disabled:disabled'],
|
|
494
|
+
outputs: [],
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
directive: NgpFocus,
|
|
498
|
+
inputs: ['ngpFocusDisabled:focusDisabled'],
|
|
499
|
+
outputs: ['ngpFocus'],
|
|
500
|
+
},
|
|
501
|
+
],
|
|
502
|
+
providers: [provideFlowbiteSidebarItemState()],
|
|
817
503
|
host: {
|
|
504
|
+
'[class]': `theme().host.root`,
|
|
818
505
|
'(click)': 'onClick()',
|
|
819
506
|
},
|
|
820
|
-
encapsulation: ViewEncapsulation.None,
|
|
821
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
822
507
|
}]
|
|
823
508
|
}] });
|
|
824
509
|
|
|
825
|
-
|
|
826
|
-
* Default theme for `SidebarToggleComponent`
|
|
827
|
-
*/
|
|
828
|
-
const sidebarToggleTheme = createTheme({
|
|
829
|
-
root: {
|
|
830
|
-
base: 'cursor-pointer inline-flex items-center p-2 justify-center rounded-lg focus:outline-none focus:ring-2',
|
|
831
|
-
color: {
|
|
832
|
-
primary: 'text-primary-500 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-gray-700 focus:ring-primary-200 dark:focus:ring-primary-600',
|
|
833
|
-
dark: 'text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:ring-gray-200 dark:focus:ring-gray-600',
|
|
834
|
-
blue: 'text-blue-500 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-700 focus:ring-blue-200 dark:focus:ring-blue-600',
|
|
835
|
-
red: 'text-red-500 dark:text-red-400 hover:bg-red-100 dark:hover:bg-red-700 focus:ring-red-200 dark:focus:ring-red-600',
|
|
836
|
-
green: 'text-green-500 dark:text-green-400 hover:bg-green-100 dark:hover:bg-green-700 focus:ring-green-200 dark:focus:ring-green-600',
|
|
837
|
-
yellow: 'text-yellow-500 dark:text-yellow-400 hover:bg-yellow-100 dark:hover:bg-yellow-700 focus:ring-yellow-200 dark:focus:ring-yellow-600',
|
|
838
|
-
},
|
|
839
|
-
size: {
|
|
840
|
-
sm: 'text-sm',
|
|
841
|
-
},
|
|
842
|
-
},
|
|
843
|
-
});
|
|
844
|
-
|
|
845
|
-
/**
|
|
846
|
-
* Default theme for `SidebarPageContentComponent`
|
|
847
|
-
*/
|
|
848
|
-
const sidebarPageContentTheme = createTheme({
|
|
849
|
-
root: {
|
|
850
|
-
base: 'flex flex-1',
|
|
851
|
-
displayMode: {
|
|
852
|
-
push: '',
|
|
853
|
-
over: '',
|
|
854
|
-
backdrop: 'sticky left-0 right-0 z-30 bg-gray-500 bg-opacity-50 blur-md',
|
|
855
|
-
},
|
|
856
|
-
},
|
|
857
|
-
});
|
|
858
|
-
|
|
859
|
-
/**
|
|
860
|
-
* Default theme for `SidebarMenuComponent`
|
|
861
|
-
*/
|
|
862
|
-
const sidebarMenuTheme = createTheme({
|
|
863
|
-
root: {
|
|
864
|
-
base: 'flex-col min-h-full overflow-y-auto shrink-0 pr-1 border-r bg-white dark:bg-gray-800',
|
|
865
|
-
displayMode: {
|
|
866
|
-
push: '',
|
|
867
|
-
over: 'sticky top-0 z-50',
|
|
868
|
-
backdrop: 'sticky top-0 z-50',
|
|
869
|
-
},
|
|
870
|
-
isOpen: {
|
|
871
|
-
enabled: 'flex',
|
|
872
|
-
disabled: 'hidden',
|
|
873
|
-
},
|
|
874
|
-
color: {
|
|
875
|
-
primary: 'border-primary-200 dark:border-primary-700',
|
|
876
|
-
dark: 'border-gray-200 dark:border-gray-800',
|
|
877
|
-
blue: 'border-blue-200 dark:border-blue-700',
|
|
878
|
-
red: 'border-red-200 dark:border-red-700',
|
|
879
|
-
green: 'border-green-200 dark:border-green-700',
|
|
880
|
-
yellow: 'border-yellow-200 dark:border-yellow-700',
|
|
881
|
-
},
|
|
882
|
-
},
|
|
883
|
-
});
|
|
510
|
+
/* Sidebar */
|
|
884
511
|
|
|
885
512
|
/**
|
|
886
513
|
* Generated bundle index. Do not edit.
|
|
887
514
|
*/
|
|
888
515
|
|
|
889
|
-
export {
|
|
516
|
+
export { FlowbiteSidebarConfigToken, FlowbiteSidebarContentConfigToken, FlowbiteSidebarContentStateToken, FlowbiteSidebarItemConfigToken, FlowbiteSidebarItemStateToken, FlowbiteSidebarStateToken, FlowbiteSidebarToggleConfigToken, FlowbiteSidebarToggleStateToken, Sidebar, SidebarContent, SidebarItem, SidebarToggle, defaultFlowbiteSidebarConfig, defaultFlowbiteSidebarContentConfig, defaultFlowbiteSidebarItemConfig, defaultFlowbiteSidebarToggleConfig, flowbiteSidebarContentState, flowbiteSidebarContentTheme, flowbiteSidebarItemState, flowbiteSidebarItemTheme, flowbiteSidebarState, flowbiteSidebarTheme, flowbiteSidebarToggleState, flowbiteSidebarToggleTheme, injectFlowbiteSidebarConfig, injectFlowbiteSidebarContentConfig, injectFlowbiteSidebarContentState, injectFlowbiteSidebarItemConfig, injectFlowbiteSidebarItemState, injectFlowbiteSidebarState, injectFlowbiteSidebarToggleConfig, injectFlowbiteSidebarToggleState, provideFlowbiteSidebarConfig, provideFlowbiteSidebarContentConfig, provideFlowbiteSidebarContentState, provideFlowbiteSidebarItemConfig, provideFlowbiteSidebarItemState, provideFlowbiteSidebarState, provideFlowbiteSidebarToggleConfig, provideFlowbiteSidebarToggleState };
|
|
890
517
|
//# sourceMappingURL=flowbite-angular-sidebar.mjs.map
|