flowbite-angular 1.1.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-title.component.d.ts +9 -2
- package/badge/badge.component.d.ts +75 -1
- package/badge/badge.theme.d.ts +9 -1
- package/fesm2022/flowbite-angular-accordion.mjs +54 -34
- package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
- package/fesm2022/flowbite-angular-alert.mjs +6 -6
- package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
- package/fesm2022/flowbite-angular-badge.mjs +122 -18
- package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
- package/fesm2022/flowbite-angular-breadcrumb.mjs +12 -12
- package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/flowbite-angular-button.mjs +6 -6
- package/fesm2022/flowbite-angular-button.mjs.map +1 -1
- package/fesm2022/flowbite-angular-core.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +6 -6
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dropdown.mjs +24 -24
- package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
- package/fesm2022/flowbite-angular-icon.mjs +7 -7
- package/fesm2022/flowbite-angular-icon.mjs.map +1 -1
- package/fesm2022/flowbite-angular-indicator.mjs +6 -6
- package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
- package/fesm2022/flowbite-angular-modal.mjs +24 -24
- package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
- package/fesm2022/flowbite-angular-navbar.mjs +41 -41
- package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-router-link-active.mjs +3 -3
- package/fesm2022/flowbite-angular-router-link-active.mjs.map +1 -1
- package/fesm2022/flowbite-angular-router-link.mjs +3 -3
- package/fesm2022/flowbite-angular-router-link.mjs.map +1 -1
- package/fesm2022/flowbite-angular-sanitize-html.mjs +3 -3
- package/fesm2022/flowbite-angular-sanitize-html.mjs.map +1 -1
- package/fesm2022/flowbite-angular-scroll-top.mjs +39 -13
- package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
- package/fesm2022/flowbite-angular-sidebar.mjs +37 -37
- package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-theme.mjs +3 -3
- package/fesm2022/flowbite-angular-theme.mjs.map +1 -1
- package/fesm2022/flowbite-angular-utils.mjs.map +1 -1
- package/fesm2022/flowbite-angular.mjs +3 -3
- package/fesm2022/flowbite-angular.mjs.map +1 -1
- package/package.json +12 -45
- package/scroll-top/scroll-top.component.d.ts +11 -2
- package/esm2022/accordion/accordion-content.component.mjs +0 -78
- package/esm2022/accordion/accordion-content.theme.mjs +0 -22
- package/esm2022/accordion/accordion-content.theme.service.mjs +0 -34
- package/esm2022/accordion/accordion-panel.component.mjs +0 -95
- package/esm2022/accordion/accordion-panel.theme.mjs +0 -10
- package/esm2022/accordion/accordion-panel.theme.service.mjs +0 -34
- package/esm2022/accordion/accordion-title.component.mjs +0 -103
- package/esm2022/accordion/accordion-title.theme.mjs +0 -29
- package/esm2022/accordion/accordion-title.theme.service.mjs +0 -35
- package/esm2022/accordion/accordion.component.mjs +0 -93
- package/esm2022/accordion/accordion.theme.mjs +0 -10
- package/esm2022/accordion/accordion.theme.service.mjs +0 -34
- package/esm2022/accordion/flowbite-angular-accordion.mjs +0 -5
- package/esm2022/accordion/index.mjs +0 -13
- package/esm2022/alert/alert.component.mjs +0 -209
- package/esm2022/alert/alert.theme.mjs +0 -37
- package/esm2022/alert/alert.theme.service.mjs +0 -35
- package/esm2022/alert/flowbite-angular-alert.mjs +0 -5
- package/esm2022/alert/index.mjs +0 -4
- package/esm2022/badge/badge.component.mjs +0 -102
- package/esm2022/badge/badge.theme.mjs +0 -37
- package/esm2022/badge/badge.theme.service.mjs +0 -36
- package/esm2022/badge/flowbite-angular-badge.mjs +0 -5
- package/esm2022/badge/index.mjs +0 -4
- package/esm2022/base-component.directive.mjs +0 -64
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +0 -91
- package/esm2022/breadcrumb/breadcrumb-item.theme.mjs +0 -21
- package/esm2022/breadcrumb/breadcrumb-item.theme.service.mjs +0 -35
- package/esm2022/breadcrumb/breadcrumb.component.mjs +0 -67
- package/esm2022/breadcrumb/breadcrumb.theme.mjs +0 -10
- package/esm2022/breadcrumb/breadcrumb.theme.service.mjs +0 -34
- package/esm2022/breadcrumb/flowbite-angular-breadcrumb.mjs +0 -5
- package/esm2022/breadcrumb/index.mjs +0 -7
- package/esm2022/button/button.component.mjs +0 -161
- package/esm2022/button/button.theme.mjs +0 -116
- package/esm2022/button/button.theme.service.mjs +0 -41
- package/esm2022/button/flowbite-angular-button.mjs +0 -5
- package/esm2022/button/index.mjs +0 -4
- package/esm2022/core/flowbite-angular-core.mjs +0 -5
- package/esm2022/core/flowbite.theme.init.mjs +0 -315
- package/esm2022/core/index.mjs +0 -2
- package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +0 -93
- package/esm2022/dark-theme-toggle/dark-theme-toggle.theme.mjs +0 -10
- package/esm2022/dark-theme-toggle/dark-theme-toggle.theme.service.mjs +0 -34
- package/esm2022/dark-theme-toggle/flowbite-angular-dark-theme-toggle.mjs +0 -5
- package/esm2022/dark-theme-toggle/index.mjs +0 -4
- package/esm2022/dropdown/dropdown-divider.component.mjs +0 -53
- package/esm2022/dropdown/dropdown-divider.theme.mjs +0 -10
- package/esm2022/dropdown/dropdown-divider.theme.service.mjs +0 -34
- package/esm2022/dropdown/dropdown-header.component.mjs +0 -61
- package/esm2022/dropdown/dropdown-header.theme.mjs +0 -13
- package/esm2022/dropdown/dropdown-header.theme.service.mjs +0 -35
- package/esm2022/dropdown/dropdown-item.component.mjs +0 -53
- package/esm2022/dropdown/dropdown-item.theme.mjs +0 -9
- package/esm2022/dropdown/dropdown-item.theme.service.mjs +0 -34
- package/esm2022/dropdown/dropdown.component.mjs +0 -182
- package/esm2022/dropdown/dropdown.theme.mjs +0 -35
- package/esm2022/dropdown/dropdown.theme.service.mjs +0 -39
- package/esm2022/dropdown/flowbite-angular-dropdown.mjs +0 -5
- package/esm2022/dropdown/index.mjs +0 -13
- package/esm2022/flowbite-angular.mjs +0 -5
- package/esm2022/flowbite.theme.service.mjs +0 -6
- package/esm2022/icon/flowbite-angular-icon.mjs +0 -5
- package/esm2022/icon/icon-registry.mjs +0 -159
- package/esm2022/icon/icon.component.mjs +0 -72
- package/esm2022/icon/index.mjs +0 -4
- package/esm2022/icon/trusted-types.mjs +0 -21
- package/esm2022/index.mjs +0 -4
- package/esm2022/indicator/flowbite-angular-indicator.mjs +0 -5
- package/esm2022/indicator/index.mjs +0 -4
- package/esm2022/indicator/indicators.component.mjs +0 -156
- package/esm2022/indicator/indicators.theme.mjs +0 -71
- package/esm2022/indicator/indicators.theme.service.mjs +0 -36
- package/esm2022/modal/flowbite-angular-modal.mjs +0 -5
- package/esm2022/modal/index.mjs +0 -13
- package/esm2022/modal/modal-body.component.mjs +0 -53
- package/esm2022/modal/modal-body.theme.mjs +0 -10
- package/esm2022/modal/modal-body.theme.service.mjs +0 -34
- package/esm2022/modal/modal-footer.component.mjs +0 -53
- package/esm2022/modal/modal-footer.theme.mjs +0 -10
- package/esm2022/modal/modal-footer.theme.service.mjs +0 -34
- package/esm2022/modal/modal-header.component.mjs +0 -96
- package/esm2022/modal/modal-header.theme.mjs +0 -16
- package/esm2022/modal/modal-header.theme.service.mjs +0 -36
- package/esm2022/modal/modal.component.mjs +0 -201
- package/esm2022/modal/modal.theme.mjs +0 -33
- package/esm2022/modal/modal.theme.service.mjs +0 -37
- package/esm2022/navbar/flowbite-angular-navbar.mjs +0 -5
- package/esm2022/navbar/index.mjs +0 -19
- package/esm2022/navbar/navbar-brand.component.mjs +0 -53
- package/esm2022/navbar/navbar-brand.theme.mjs +0 -10
- package/esm2022/navbar/navbar-brand.theme.service.mjs +0 -34
- package/esm2022/navbar/navbar-content.component.mjs +0 -84
- package/esm2022/navbar/navbar-content.theme.mjs +0 -13
- package/esm2022/navbar/navbar-content.theme.service.mjs +0 -35
- package/esm2022/navbar/navbar-icon-button.component.mjs +0 -66
- package/esm2022/navbar/navbar-icon-button.theme.mjs +0 -18
- package/esm2022/navbar/navbar-icon-button.theme.service.mjs +0 -34
- package/esm2022/navbar/navbar-item.component.mjs +0 -82
- package/esm2022/navbar/navbar-item.theme.mjs +0 -14
- package/esm2022/navbar/navbar-item.theme.service.mjs +0 -34
- package/esm2022/navbar/navbar-toggle.component.mjs +0 -87
- package/esm2022/navbar/navbar-toggle.theme.mjs +0 -10
- package/esm2022/navbar/navbar-toggle.theme.service.mjs +0 -34
- package/esm2022/navbar/navbar.component.mjs +0 -133
- package/esm2022/navbar/navbar.theme.mjs +0 -23
- package/esm2022/navbar/navbar.theme.service.mjs +0 -34
- package/esm2022/router-link/flowbite-angular-router-link.mjs +0 -5
- package/esm2022/router-link/flowbite-router-link.directive.mjs +0 -66
- package/esm2022/router-link/index.mjs +0 -2
- package/esm2022/router-link-active/flowbite-angular-router-link-active.mjs +0 -5
- package/esm2022/router-link-active/flowbite-router-link-active.directive.mjs +0 -61
- package/esm2022/router-link-active/index.mjs +0 -2
- package/esm2022/sanitize-html/flowbite-angular-sanitize-html.mjs +0 -5
- package/esm2022/sanitize-html/index.mjs +0 -2
- package/esm2022/sanitize-html/sanitize-html.pipe.mjs +0 -32
- package/esm2022/scroll-top/flowbite-angular-scroll-top.mjs +0 -5
- package/esm2022/scroll-top/index.mjs +0 -4
- package/esm2022/scroll-top/scroll-top.component.mjs +0 -101
- package/esm2022/scroll-top/scroll-top.theme.mjs +0 -30
- package/esm2022/scroll-top/scroll-top.theme.service.mjs +0 -34
- package/esm2022/sidebar/flowbite-angular-sidebar.mjs +0 -5
- package/esm2022/sidebar/index.mjs +0 -19
- package/esm2022/sidebar/sidebar-item-group.component.mjs +0 -129
- package/esm2022/sidebar/sidebar-item-group.theme.mjs +0 -21
- package/esm2022/sidebar/sidebar-item-group.theme.service.mjs +0 -35
- package/esm2022/sidebar/sidebar-item.component.mjs +0 -146
- package/esm2022/sidebar/sidebar-item.theme.mjs +0 -21
- package/esm2022/sidebar/sidebar-item.theme.service.mjs +0 -35
- package/esm2022/sidebar/sidebar-menu.component.mjs +0 -77
- package/esm2022/sidebar/sidebar-menu.theme.mjs +0 -27
- package/esm2022/sidebar/sidebar-menu.theme.service.mjs +0 -34
- package/esm2022/sidebar/sidebar-page-content.component.mjs +0 -55
- package/esm2022/sidebar/sidebar-page-content.theme.mjs +0 -15
- package/esm2022/sidebar/sidebar-page-content.theme.service.mjs +0 -34
- package/esm2022/sidebar/sidebar-toggle.component.mjs +0 -105
- package/esm2022/sidebar/sidebar-toggle.theme.mjs +0 -21
- package/esm2022/sidebar/sidebar-toggle.theme.service.mjs +0 -34
- package/esm2022/sidebar/sidebar.component.mjs +0 -116
- package/esm2022/sidebar/sidebar.theme.mjs +0 -11
- package/esm2022/sidebar/sidebar.theme.service.mjs +0 -34
- package/esm2022/theme/flowbite-angular-theme.mjs +0 -5
- package/esm2022/theme/flowbite-theme.directive.mjs +0 -71
- package/esm2022/theme/index.mjs +0 -2
- package/esm2022/type-definitions/colors/flowbite.colors.mjs +0 -2
- package/esm2022/type-definitions/colors/flowbite.gradient-colors.mjs +0 -2
- package/esm2022/type-definitions/colors/flowbite.gradient-duo-tone-colors.mjs +0 -2
- package/esm2022/type-definitions/colors/index.mjs +0 -2
- package/esm2022/type-definitions/flowbite.boolean.mjs +0 -10
- package/esm2022/type-definitions/flowbite.class.mjs +0 -2
- package/esm2022/type-definitions/flowbite.combination.mjs +0 -5
- package/esm2022/type-definitions/flowbite.content-positions.mjs +0 -2
- package/esm2022/type-definitions/flowbite.deep-partial.mjs +0 -2
- package/esm2022/type-definitions/flowbite.heading-levels.mjs +0 -2
- package/esm2022/type-definitions/flowbite.positions.mjs +0 -2
- package/esm2022/type-definitions/flowbite.router-link-parameter.mjs +0 -2
- package/esm2022/type-definitions/flowbite.sizes.mjs +0 -2
- package/esm2022/type-definitions/flowbite.themes.mjs +0 -2
- package/esm2022/type-definitions/index.mjs +0 -3
- package/esm2022/utils/flowbite-angular-utils.mjs +0 -5
- package/esm2022/utils/icon.list.mjs +0 -39
- package/esm2022/utils/id.generator.mjs +0 -81
- package/esm2022/utils/index.mjs +0 -9
- package/esm2022/utils/theme/clone-deep.mjs +0 -18
- package/esm2022/utils/theme/create-class.mjs +0 -10
- package/esm2022/utils/theme/create-theme.mjs +0 -10
- package/esm2022/utils/theme/is-object.mjs +0 -10
- package/esm2022/utils/theme/merge-theme.mjs +0 -29
- package/esm2022/utils/theme/to-string.mjs +0 -10
|
@@ -29,10 +29,10 @@ class AlertThemeService {
|
|
|
29
29
|
};
|
|
30
30
|
return output;
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
33
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: AlertThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: AlertThemeService, providedIn: 'root' }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: AlertThemeService, decorators: [{
|
|
36
36
|
type: Injectable,
|
|
37
37
|
args: [{
|
|
38
38
|
providedIn: 'root',
|
|
@@ -169,8 +169,8 @@ class AlertComponent extends BaseComponent {
|
|
|
169
169
|
if (func)
|
|
170
170
|
func();
|
|
171
171
|
}
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
173
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
172
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: AlertComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
173
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: AlertComponent, isStandalone: true, selector: "flowbite-alert", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, hasBorder: { classPropertyName: "hasBorder", publicName: "hasBorder", isSignal: true, isRequired: false, transformFunction: null }, hasBorderAccent: { classPropertyName: "hasBorderAccent", publicName: "hasBorderAccent", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, additionalContent: { classPropertyName: "additionalContent", publicName: "additionalContent", isSignal: true, isRequired: false, transformFunction: null }, isDismissable: { classPropertyName: "isDismissable", publicName: "isDismissable", isSignal: true, isRequired: false, transformFunction: null }, onDismiss: { classPropertyName: "onDismiss", publicName: "onDismiss", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { color: "colorChange", hasBorder: "hasBorderChange", hasBorderAccent: "hasBorderAccentChange", customStyle: "customStyleChange", icon: "iconChange", additionalContent: "additionalContentChange", isDismissable: "isDismissableChange", onDismiss: "onDismissChange" }, host: { properties: { "attr.role": "alert", "@onDestroyAnimation": "" } }, usesInheritance: true, ngImport: i0, template: `
|
|
174
174
|
<div class="flex items-center">
|
|
175
175
|
<ng-container [ngTemplateOutlet]="icon()"></ng-container>
|
|
176
176
|
<div>
|
|
@@ -197,7 +197,7 @@ class AlertComponent extends BaseComponent {
|
|
|
197
197
|
]),
|
|
198
198
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
199
199
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: AlertComponent, decorators: [{
|
|
201
201
|
type: Component,
|
|
202
202
|
args: [{
|
|
203
203
|
standalone: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowbite-angular-alert.mjs","sources":["../../../../libs/flowbite-angular/alert/alert.theme.service.ts","../../../../libs/flowbite-angular/alert/alert.component.ts","../../../../libs/flowbite-angular/alert/alert.theme.ts","../../../../libs/flowbite-angular/alert/flowbite-angular-alert.ts"],"sourcesContent":["import type { AlertClass, AlertProperties, AlertTheme } from './alert.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 `AlertTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ALERT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ALERT_THEME_TOKEN = new InjectionToken<AlertTheme>(\n 'FLOWBITE_ALERT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlertThemeService implements FlowbiteThemeService<AlertProperties> {\n private readonly baseTheme = inject(FLOWBITE_ALERT_THEME_TOKEN);\n\n public getClasses(properties: AlertProperties): AlertClass {\n const theme: AlertTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AlertClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.hasBorderAccent[properties.hasBorderAccent]\n ),\n closeButtonClass: twMerge(theme.closeButton.base, theme.closeButton.color[properties.color]),\n };\n\n return output;\n }\n}\n","import type { AlertClass, AlertColors, AlertTheme } from './alert.theme';\nimport { AlertThemeService } from './alert.theme.service';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CLOSE_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { NgTemplateOutlet } from '@angular/common';\nimport type { OnInit, TemplateRef } 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_ALERT_COLOR_DEFAULT_VALUE = new InjectionToken<keyof AlertColors>(\n 'FLOWBITE_ALERT_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<AlertTheme>\n>('FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const FLOWBITE_ALERT_ICON_DEFAULT_VALUE = new InjectionToken<TemplateRef<unknown> | null>(\n 'FLOWBITE_ALERT_ICON_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE =\n new InjectionToken<TemplateRef<unknown> | null>(\n 'FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE'\n );\n\nexport const FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE = new InjectionToken<(() => void) | undefined>(\n 'FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE'\n);\n\nexport const alertDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_ALERT_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n {\n provide: FLOWBITE_ALERT_ICON_DEFAULT_VALUE,\n useValue: null,\n },\n {\n provide: FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE,\n useValue: null,\n },\n {\n provide: FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE,\n useValue: undefined,\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/alerts/\n */\n@Component({\n standalone: true,\n imports: [NgTemplateOutlet, IconComponent],\n selector: 'flowbite-alert',\n template: `\n <div class=\"flex items-center\">\n <ng-container [ngTemplateOutlet]=\"icon()\"></ng-container>\n <div>\n <ng-content />\n </div>\n @if (isDismissable()) {\n <button\n type=\"button\"\n [class]=\"contentClasses()!.closeButtonClass\"\n aria-label=\"Close\"\n (click)=\"onDismissClick()\">\n <span class=\"sr-only\">Close</span>\n <flowbite-icon\n svgIcon=\"flowbite-angular:close\"\n class=\"h-5 w-5\" />\n </button>\n }\n </div>\n <ng-container [ngTemplateOutlet]=\"additionalContent()\"></ng-container>\n `,\n host: {\n '[attr.role]': 'alert',\n '[@onDestroyAnimation]': '',\n },\n animations: [\n trigger('onDestroyAnimation', [\n transition(':enter', [style({ opacity: 0 }), animate('300ms', style({ opacity: 1 }))]),\n transition(':leave', [animate('300ms', style({ opacity: 0 }))]),\n ]),\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AlertComponent extends BaseComponent<AlertClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AlertThemeService);\n /**\n * `IcoRegistry` 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 indicator color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_ALERT_COLOR_DEFAULT_VALUE));\n /**\n * Set if the alert has border\n *\n * @default false\n */\n public hasBorder = model(inject(FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE));\n /**\n * Set if the alert has border accent\n *\n * @default false\n */\n public hasBorderAccent = model(inject(FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE));\n /**\n * Set the custom style for this alert\n */\n public customStyle = model(inject(FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE));\n /**\n * Set the custom icon\n *\n * @default null\n */\n public icon = model(inject(FLOWBITE_ALERT_ICON_DEFAULT_VALUE));\n /**\n * Set the additional content\n *\n * @default null\n */\n public additionalContent = model(inject(FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE));\n /**\n * Set if the alert is dismissable\n *\n * @default false\n */\n public isDismissable = model(inject(FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE));\n /**\n * Set the function called when the alert is dismissed\n *\n * @default undefined\n */\n public onDismiss = model(inject(FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AlertClass {\n return this.themeService.getClasses({\n color: this.color(),\n hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),\n hasBorderAccent: booleanToFlowbiteBoolean(this.hasBorderAccent()),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'close',\n this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Call the onDismiss function if it's not undefined\n */\n public onDismissClick() {\n const func = this.onDismiss();\n\n if (func) func();\n }\n}\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `AlertComponent`\n */\nexport type AlertColors = Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow'\n>;\n//#endregion\n\n/**\n * Required properties for the class generation of `AlertComponent`\n */\nexport interface AlertProperties {\n color: keyof AlertColors;\n hasBorder: keyof FlowbiteBoolean;\n hasBorderAccent: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AlertTheme>;\n}\n\n/**\n * Theme definition for `AlertComponent`\n */\nexport interface AlertTheme {\n root: {\n base: string;\n color: AlertColors;\n hasBorder: FlowbiteBoolean;\n hasBorderAccent: FlowbiteBoolean;\n };\n closeButton: {\n base: string;\n color: AlertColors;\n };\n}\n\n/**\n * Default theme for `AlertComponent`\n */\nexport const alertTheme: AlertTheme = createTheme({\n root: {\n base: 'flex flex-col gap-2 p-4 text-sm rounded-lg',\n color: {\n primary:\n 'text-primary-800 dark:text-primary-400 bg-primary-50 dark:bg-gray-800 border-primary-300 dark:border-primary-800',\n dark: 'text-gray-800 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-600',\n blue: 'text-blue-800 dark:text-blue-400 bg-blue-50 dark:bg-gray-800 border-blue-300 dark:border-blue-800',\n red: 'text-red-800 dark:text-red-400 bg-red-100 dark:bg-gray-800 border-red-300 dark:border-red-800',\n green:\n 'text-green-800 dark:text-green-400 bg-green-100 dark:bg-gray-800 border-green-300 dark:border-green-800',\n yellow:\n 'text-yellow-800 dark:text-yellow-300 bg-yellow-100 dark:bg-gray-800 border-yellow-300 dark:border-yellow-800',\n },\n hasBorder: {\n enabled: 'border',\n disabled: 'border-0',\n },\n hasBorderAccent: {\n enabled: 'border-t-4',\n disabled: '',\n },\n },\n closeButton: {\n base: '-mx-1.5 -my-1.5 ml-auto inline-flex h-8 w-8 rounded-lg p-1.5 focus:ring-2',\n color: {\n primary:\n 'text-primary-500 dark:text-primary-600 hover:bg-primary-200 dark:hover:bg-primary-300',\n dark: 'text-gray-500 dark:text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-300',\n blue: 'text-blue-500 dark:text-blue-600 hover:bg-blue-200 dark:hover:bg-blue-300',\n red: 'text-red-500 dark:text-red-600 hover:bg-red-200 dark:hover:bg-red-300',\n green: 'text-green-500 dark:text-green-600 hover:bg-green-200 dark:hover:bg-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-600 hover:bg-yellow-200 dark:hover:bg-yellow-300',\n },\n },\n});\n\n/**\n * Generated class definition for `AlertComponent`\n */\nexport interface AlertClass extends FlowbiteClass {\n closeButtonClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flowbite-angular-alert.mjs","sources":["../../../../libs/flowbite-angular/alert/alert.theme.service.ts","../../../../libs/flowbite-angular/alert/alert.component.ts","../../../../libs/flowbite-angular/alert/alert.theme.ts","../../../../libs/flowbite-angular/alert/flowbite-angular-alert.ts"],"sourcesContent":["import type { AlertClass, AlertProperties, AlertTheme } from './alert.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 `AlertTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_ALERT_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_ALERT_THEME_TOKEN = new InjectionToken<AlertTheme>(\n 'FLOWBITE_ALERT_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AlertThemeService implements FlowbiteThemeService<AlertProperties> {\n private readonly baseTheme = inject(FLOWBITE_ALERT_THEME_TOKEN);\n\n public getClasses(properties: AlertProperties): AlertClass {\n const theme: AlertTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: AlertClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.hasBorderAccent[properties.hasBorderAccent]\n ),\n closeButtonClass: twMerge(theme.closeButton.base, theme.closeButton.color[properties.color]),\n };\n\n return output;\n }\n}\n","import type { AlertClass, AlertColors, AlertTheme } from './alert.theme';\nimport { AlertThemeService } from './alert.theme.service';\n\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport type { DeepPartial } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CLOSE_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { NgTemplateOutlet } from '@angular/common';\nimport type { OnInit, TemplateRef } 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_ALERT_COLOR_DEFAULT_VALUE = new InjectionToken<keyof AlertColors>(\n 'FLOWBITE_ALERT_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<AlertTheme>\n>('FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const FLOWBITE_ALERT_ICON_DEFAULT_VALUE = new InjectionToken<TemplateRef<unknown> | null>(\n 'FLOWBITE_ALERT_ICON_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE =\n new InjectionToken<TemplateRef<unknown> | null>(\n 'FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE'\n );\n\nexport const FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE = new InjectionToken<(() => void) | undefined>(\n 'FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE'\n);\n\nexport const alertDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_ALERT_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n {\n provide: FLOWBITE_ALERT_ICON_DEFAULT_VALUE,\n useValue: null,\n },\n {\n provide: FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE,\n useValue: null,\n },\n {\n provide: FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE,\n useValue: undefined,\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/alerts/\n */\n@Component({\n standalone: true,\n imports: [NgTemplateOutlet, IconComponent],\n selector: 'flowbite-alert',\n template: `\n <div class=\"flex items-center\">\n <ng-container [ngTemplateOutlet]=\"icon()\"></ng-container>\n <div>\n <ng-content />\n </div>\n @if (isDismissable()) {\n <button\n type=\"button\"\n [class]=\"contentClasses()!.closeButtonClass\"\n aria-label=\"Close\"\n (click)=\"onDismissClick()\">\n <span class=\"sr-only\">Close</span>\n <flowbite-icon\n svgIcon=\"flowbite-angular:close\"\n class=\"h-5 w-5\" />\n </button>\n }\n </div>\n <ng-container [ngTemplateOutlet]=\"additionalContent()\"></ng-container>\n `,\n host: {\n '[attr.role]': 'alert',\n '[@onDestroyAnimation]': '',\n },\n animations: [\n trigger('onDestroyAnimation', [\n transition(':enter', [style({ opacity: 0 }), animate('300ms', style({ opacity: 1 }))]),\n transition(':leave', [animate('300ms', style({ opacity: 0 }))]),\n ]),\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AlertComponent extends BaseComponent<AlertClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(AlertThemeService);\n /**\n * `IcoRegistry` 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 indicator color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_ALERT_COLOR_DEFAULT_VALUE));\n /**\n * Set if the alert has border\n *\n * @default false\n */\n public hasBorder = model(inject(FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE));\n /**\n * Set if the alert has border accent\n *\n * @default false\n */\n public hasBorderAccent = model(inject(FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE));\n /**\n * Set the custom style for this alert\n */\n public customStyle = model(inject(FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE));\n /**\n * Set the custom icon\n *\n * @default null\n */\n public icon = model(inject(FLOWBITE_ALERT_ICON_DEFAULT_VALUE));\n /**\n * Set the additional content\n *\n * @default null\n */\n public additionalContent = model(inject(FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE));\n /**\n * Set if the alert is dismissable\n *\n * @default false\n */\n public isDismissable = model(inject(FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE));\n /**\n * Set the function called when the alert is dismissed\n *\n * @default undefined\n */\n public onDismiss = model(inject(FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): AlertClass {\n return this.themeService.getClasses({\n color: this.color(),\n hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),\n hasBorderAccent: booleanToFlowbiteBoolean(this.hasBorderAccent()),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'close',\n this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Call the onDismiss function if it's not undefined\n */\n public onDismissClick() {\n const func = this.onDismiss();\n\n if (func) func();\n }\n}\n","import type { DeepPartial, FlowbiteBoolean, FlowbiteClass, FlowbiteColors } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `AlertComponent`\n */\nexport type AlertColors = Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow'\n>;\n//#endregion\n\n/**\n * Required properties for the class generation of `AlertComponent`\n */\nexport interface AlertProperties {\n color: keyof AlertColors;\n hasBorder: keyof FlowbiteBoolean;\n hasBorderAccent: keyof FlowbiteBoolean;\n customStyle: DeepPartial<AlertTheme>;\n}\n\n/**\n * Theme definition for `AlertComponent`\n */\nexport interface AlertTheme {\n root: {\n base: string;\n color: AlertColors;\n hasBorder: FlowbiteBoolean;\n hasBorderAccent: FlowbiteBoolean;\n };\n closeButton: {\n base: string;\n color: AlertColors;\n };\n}\n\n/**\n * Default theme for `AlertComponent`\n */\nexport const alertTheme: AlertTheme = createTheme({\n root: {\n base: 'flex flex-col gap-2 p-4 text-sm rounded-lg',\n color: {\n primary:\n 'text-primary-800 dark:text-primary-400 bg-primary-50 dark:bg-gray-800 border-primary-300 dark:border-primary-800',\n dark: 'text-gray-800 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 border-gray-300 dark:border-gray-600',\n blue: 'text-blue-800 dark:text-blue-400 bg-blue-50 dark:bg-gray-800 border-blue-300 dark:border-blue-800',\n red: 'text-red-800 dark:text-red-400 bg-red-100 dark:bg-gray-800 border-red-300 dark:border-red-800',\n green:\n 'text-green-800 dark:text-green-400 bg-green-100 dark:bg-gray-800 border-green-300 dark:border-green-800',\n yellow:\n 'text-yellow-800 dark:text-yellow-300 bg-yellow-100 dark:bg-gray-800 border-yellow-300 dark:border-yellow-800',\n },\n hasBorder: {\n enabled: 'border',\n disabled: 'border-0',\n },\n hasBorderAccent: {\n enabled: 'border-t-4',\n disabled: '',\n },\n },\n closeButton: {\n base: '-mx-1.5 -my-1.5 ml-auto inline-flex h-8 w-8 rounded-lg p-1.5 focus:ring-2',\n color: {\n primary:\n 'text-primary-500 dark:text-primary-600 hover:bg-primary-200 dark:hover:bg-primary-300',\n dark: 'text-gray-500 dark:text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-300',\n blue: 'text-blue-500 dark:text-blue-600 hover:bg-blue-200 dark:hover:bg-blue-300',\n red: 'text-red-500 dark:text-red-600 hover:bg-red-200 dark:hover:bg-red-300',\n green: 'text-green-500 dark:text-green-600 hover:bg-green-200 dark:hover:bg-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-600 hover:bg-yellow-200 dark:hover:bg-yellow-300',\n },\n },\n});\n\n/**\n * Generated class definition for `AlertComponent`\n */\nexport interface AlertClass extends FlowbiteClass {\n closeButtonClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAQA;;;;;;;AAOG;MACU,0BAA0B,GAAG,IAAI,cAAc,CAC1D,4BAA4B;MAMjB,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAiBhE;AAfQ,IAAA,UAAU,CAAC,UAA2B,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAe,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;AAE5E,QAAA,MAAM,MAAM,GAAe;AACzB,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,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAC1C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,CACvD;AACD,YAAA,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SAC7F;AAED,QAAA,OAAO,MAAM;;8GAhBJ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,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,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCAY,kCAAkC,GAAG,IAAI,cAAc,CAClE,oCAAoC;MAGzB,uCAAuC,GAAG,IAAI,cAAc,CACvE,yCAAyC;MAG9B,8CAA8C,GAAG,IAAI,cAAc,CAC9E,gDAAgD;MAGrC,yCAAyC,GAAG,IAAI,cAAc,CAEzE,2CAA2C;MAEhC,iCAAiC,GAAG,IAAI,cAAc,CACjE,mCAAmC;MAGxB,+CAA+C,GAC1D,IAAI,cAAc,CAChB,iDAAiD;MAGxC,2CAA2C,GAAG,IAAI,cAAc,CAC3E,6CAA6C;MAGlC,uCAAuC,GAAG,IAAI,cAAc,CACvE,yCAAyC;AAGpC,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAChE,IAAA;AACE,QAAA,OAAO,EAAE,kCAAkC;AAC3C,QAAA,QAAQ,EAAE,SAAS;AACpB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,uCAAuC;AAChD,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,8CAA8C;AACvD,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,yCAAyC;AAClD,QAAA,QAAQ,EAAE,EAAE;AACb,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,iCAAiC;AAC1C,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,+CAA+C;AACxD,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,2CAA2C;AACpD,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,uCAAuC;AAChD,QAAA,QAAQ,EAAE,SAAS;AACpB,KAAA;AACF,CAAA;AAED;;AAEG;AAuCG,MAAO,cAAe,SAAQ,aAAyB,CAAA;AAtC7D,IAAA,WAAA,GAAA;;AAuCE;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACxD;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnD;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;;AAGnD;;;;AAIG;QACI,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAChE;;;;AAIG;QACI,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;AACzE;;;;AAIG;QACI,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC;AACtF;;AAEG;QACI,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC;AAC7E;;;;AAIG;QACI,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAC9D;;;;AAIG;QACI,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC;AACzF;;;;AAIG;QACI,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;AACjF;;;;AAIG;QACI,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC;AA8B1E;;;IA1BiB,UAAU,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,YAAA,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AACrD,YAAA,eAAe,EAAE,wBAAwB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AACjE,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC;;IAGY,IAAI,GAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,wBAAwB,CACxC,kBAAkB,EAClB,OAAO,EACP,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAC1D;;;AAIH;;AAEG;IACI,cAAc,GAAA;AACnB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE;AAE7B,QAAA,IAAI,IAAI;AAAE,YAAA,IAAI,EAAE;;8GAxFP,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAlCf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,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,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;GAoBT,EAtBS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAAE,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,EA2B7B,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,oBAAoB,EAAE;gBAC5B,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtF,gBAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAChE,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAtC1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;AAC1C,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;AAoBT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,aAAa,EAAE,OAAO;AACtB,wBAAA,uBAAuB,EAAE,EAAE;AAC5B,qBAAA;AACD,oBAAA,UAAU,EAAE;wBACV,OAAO,CAAC,oBAAoB,EAAE;4BAC5B,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtF,4BAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBAChE,CAAC;AACH,qBAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA;;;AC3FD;;AAEG;AACI,MAAM,UAAU,GAAe,WAAW,CAAC;AAChD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,4CAA4C;AAClD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EACL,kHAAkH;AACpH,YAAA,IAAI,EAAE,oGAAoG;AAC1G,YAAA,IAAI,EAAE,mGAAmG;AACzG,YAAA,GAAG,EAAE,+FAA+F;AACpG,YAAA,KAAK,EACH,yGAAyG;AAC3G,YAAA,MAAM,EACJ,8GAA8G;AACjH,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,QAAQ,EAAE,UAAU;AACrB,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA;AACF,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE,2EAA2E;AACjF,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EACL,uFAAuF;AACzF,YAAA,IAAI,EAAE,2EAA2E;AACjF,YAAA,IAAI,EAAE,2EAA2E;AACjF,YAAA,GAAG,EAAE,uEAAuE;AAC5E,YAAA,KAAK,EAAE,+EAA+E;AACtF,YAAA,MAAM,EAAE,mFAAmF;AAC5F,SAAA;AACF,KAAA;AACF,CAAA;;AC7ED;;AAEG;;;;"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { mergeTheme, createTheme } from 'flowbite-angular/utils';
|
|
1
|
+
import { mergeTheme, CLOSE_SVG_ICON, createTheme } from 'flowbite-angular/utils';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, inject, Injectable, makeEnvironmentProviders, model, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
|
|
6
|
+
import { IconRegistry, IconComponent } from 'flowbite-angular/icon';
|
|
6
7
|
import { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';
|
|
8
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
11
|
* `InjectionToken` used to import `BadgeTheme` value
|
|
@@ -21,16 +23,17 @@ class BadgeThemeService {
|
|
|
21
23
|
getClasses(properties) {
|
|
22
24
|
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
23
25
|
const output = {
|
|
24
|
-
rootClass: twMerge(theme.root.base, theme.root.color[properties.color], theme.root.size[properties.size], theme.root.isPill[properties.isPill == 'enabled' || properties.isIconOnly == 'enabled'
|
|
26
|
+
rootClass: twMerge(theme.root.base, theme.root.color[properties.color], theme.root.hasBorder[properties.hasBorder], theme.root.size[properties.size], theme.root.isPill[properties.isPill == 'enabled' || properties.isIconOnly == 'enabled'
|
|
25
27
|
? 'enabled'
|
|
26
28
|
: properties.isPill], theme.root.isIconOnly[properties.isIconOnly], theme.root.link[properties.link ? 'enabled' : 'disabled']),
|
|
29
|
+
closeButtonClass: twMerge(theme.closeButton.base, theme.closeButton.color[properties.color]),
|
|
27
30
|
};
|
|
28
31
|
return output;
|
|
29
32
|
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
31
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BadgeThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BadgeThemeService, providedIn: 'root' }); }
|
|
32
35
|
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BadgeThemeService, decorators: [{
|
|
34
37
|
type: Injectable,
|
|
35
38
|
args: [{
|
|
36
39
|
providedIn: 'root',
|
|
@@ -38,15 +41,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
38
41
|
}] });
|
|
39
42
|
|
|
40
43
|
const FLOWBITE_BADGE_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_COLOR_DEFAULT_VALUE');
|
|
44
|
+
const FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE');
|
|
41
45
|
const FLOWBITE_BADGE_SIZE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_SIZE_DEFAULT_VALUE');
|
|
42
46
|
const FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE');
|
|
43
47
|
const FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE');
|
|
44
48
|
const FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
49
|
+
const FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE');
|
|
50
|
+
const FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE');
|
|
45
51
|
const badgeDefaultValueProvider = makeEnvironmentProviders([
|
|
46
52
|
{
|
|
47
53
|
provide: FLOWBITE_BADGE_COLOR_DEFAULT_VALUE,
|
|
48
54
|
useValue: 'primary',
|
|
49
55
|
},
|
|
56
|
+
{
|
|
57
|
+
provide: FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE,
|
|
58
|
+
useValue: false,
|
|
59
|
+
},
|
|
50
60
|
{
|
|
51
61
|
provide: FLOWBITE_BADGE_SIZE_DEFAULT_VALUE,
|
|
52
62
|
useValue: 'xs',
|
|
@@ -63,6 +73,14 @@ const badgeDefaultValueProvider = makeEnvironmentProviders([
|
|
|
63
73
|
provide: FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
64
74
|
useValue: {},
|
|
65
75
|
},
|
|
76
|
+
{
|
|
77
|
+
provide: FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE,
|
|
78
|
+
useValue: false,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
provide: FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE,
|
|
82
|
+
useValue: undefined,
|
|
83
|
+
},
|
|
66
84
|
]);
|
|
67
85
|
/**
|
|
68
86
|
* @see https://flowbite.com/docs/components/badge/
|
|
@@ -78,6 +96,14 @@ class BadgeComponent extends BaseComponent {
|
|
|
78
96
|
* Service injected used to generate class
|
|
79
97
|
*/
|
|
80
98
|
this.themeService = inject(BadgeThemeService);
|
|
99
|
+
/**
|
|
100
|
+
* `IcoRegistry` service
|
|
101
|
+
*/
|
|
102
|
+
this.iconRegistry = inject(IconRegistry);
|
|
103
|
+
/**
|
|
104
|
+
* `DomSanitizer` service
|
|
105
|
+
*/
|
|
106
|
+
this.domSanitizer = inject(DomSanitizer);
|
|
81
107
|
//#region properties
|
|
82
108
|
/**
|
|
83
109
|
* Set the badge color
|
|
@@ -85,6 +111,12 @@ class BadgeComponent extends BaseComponent {
|
|
|
85
111
|
* @default primary
|
|
86
112
|
*/
|
|
87
113
|
this.color = model(inject(FLOWBITE_BADGE_COLOR_DEFAULT_VALUE));
|
|
114
|
+
/**
|
|
115
|
+
* Set if the badge has border
|
|
116
|
+
*
|
|
117
|
+
* @default false
|
|
118
|
+
*/
|
|
119
|
+
this.hasBorder = model(inject(FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE));
|
|
88
120
|
/**
|
|
89
121
|
* Set the badge size
|
|
90
122
|
*
|
|
@@ -107,12 +139,25 @@ class BadgeComponent extends BaseComponent {
|
|
|
107
139
|
* Set the custom style for this badge
|
|
108
140
|
*/
|
|
109
141
|
this.customStyle = model(inject(FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
142
|
+
/**
|
|
143
|
+
* Set if the badge is dismissable
|
|
144
|
+
*
|
|
145
|
+
* @default false
|
|
146
|
+
*/
|
|
147
|
+
this.isDismissable = model(inject(FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE));
|
|
148
|
+
/**
|
|
149
|
+
* Set the function called when the badge is dismissed
|
|
150
|
+
*
|
|
151
|
+
* @default undefined
|
|
152
|
+
*/
|
|
153
|
+
this.onDismiss = model(inject(FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE));
|
|
110
154
|
}
|
|
111
155
|
//#endregion
|
|
112
156
|
//#region BaseComponent implementation
|
|
113
157
|
fetchClass() {
|
|
114
158
|
return this.themeService.getClasses({
|
|
115
159
|
color: this.color(),
|
|
160
|
+
hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),
|
|
116
161
|
size: this.size(),
|
|
117
162
|
isIconOnly: booleanToFlowbiteBoolean(this.isIconOnly()),
|
|
118
163
|
isPill: booleanToFlowbiteBoolean(this.isPill()),
|
|
@@ -120,15 +165,56 @@ class BadgeComponent extends BaseComponent {
|
|
|
120
165
|
customStyle: this.customStyle(),
|
|
121
166
|
});
|
|
122
167
|
}
|
|
123
|
-
|
|
124
|
-
|
|
168
|
+
init() {
|
|
169
|
+
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'close', this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON));
|
|
170
|
+
}
|
|
171
|
+
//#endregion
|
|
172
|
+
/**
|
|
173
|
+
* Call the onDismiss function if it's not undefined
|
|
174
|
+
*/
|
|
175
|
+
onDismissClick() {
|
|
176
|
+
const func = this.onDismiss();
|
|
177
|
+
if (func)
|
|
178
|
+
func();
|
|
179
|
+
}
|
|
180
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BadgeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.4", type: BadgeComponent, isStandalone: true, selector: "flowbite-badge", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, hasBorder: { classPropertyName: "hasBorder", publicName: "hasBorder", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, isIconOnly: { classPropertyName: "isIconOnly", publicName: "isIconOnly", isSignal: true, isRequired: false, transformFunction: null }, isPill: { classPropertyName: "isPill", publicName: "isPill", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null }, isDismissable: { classPropertyName: "isDismissable", publicName: "isDismissable", isSignal: true, isRequired: false, transformFunction: null }, onDismiss: { classPropertyName: "onDismiss", publicName: "onDismiss", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { color: "colorChange", hasBorder: "hasBorderChange", size: "sizeChange", isIconOnly: "isIconOnlyChange", isPill: "isPillChange", customStyle: "customStyleChange", isDismissable: "isDismissableChange", onDismiss: "onDismissChange" }, usesInheritance: true, ngImport: i0, template: `
|
|
182
|
+
<ng-content />
|
|
183
|
+
@if (isDismissable()) {
|
|
184
|
+
<button
|
|
185
|
+
type="button"
|
|
186
|
+
[class]="contentClasses()!.closeButtonClass"
|
|
187
|
+
aria-label="Close"
|
|
188
|
+
(click)="onDismissClick()">
|
|
189
|
+
<span class="sr-only">Close</span>
|
|
190
|
+
<flowbite-icon
|
|
191
|
+
svgIcon="flowbite-angular:close"
|
|
192
|
+
class="h-3 w-3" />
|
|
193
|
+
</button>
|
|
194
|
+
}
|
|
195
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
125
196
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BadgeComponent, decorators: [{
|
|
127
198
|
type: Component,
|
|
128
199
|
args: [{
|
|
129
200
|
standalone: true,
|
|
201
|
+
imports: [IconComponent],
|
|
130
202
|
selector: 'flowbite-badge',
|
|
131
|
-
template:
|
|
203
|
+
template: `
|
|
204
|
+
<ng-content />
|
|
205
|
+
@if (isDismissable()) {
|
|
206
|
+
<button
|
|
207
|
+
type="button"
|
|
208
|
+
[class]="contentClasses()!.closeButtonClass"
|
|
209
|
+
aria-label="Close"
|
|
210
|
+
(click)="onDismissClick()">
|
|
211
|
+
<span class="sr-only">Close</span>
|
|
212
|
+
<flowbite-icon
|
|
213
|
+
svgIcon="flowbite-angular:close"
|
|
214
|
+
class="h-3 w-3" />
|
|
215
|
+
</button>
|
|
216
|
+
}
|
|
217
|
+
`,
|
|
132
218
|
encapsulation: ViewEncapsulation.None,
|
|
133
219
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
134
220
|
}]
|
|
@@ -141,15 +227,19 @@ const badgeTheme = createTheme({
|
|
|
141
227
|
root: {
|
|
142
228
|
base: 'flex h-fit items-center gap-1 font-semibold',
|
|
143
229
|
color: {
|
|
144
|
-
primary: 'bg-primary-100 dark:bg-primary-700 text-primary-800 dark:text-primary-300 group-hover:bg-primary-200 dark:group-hover:bg-primary-600',
|
|
145
|
-
dark: 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600',
|
|
146
|
-
blue: 'bg-blue-100 dark:bg-blue-200 text-blue-800 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300',
|
|
147
|
-
red: 'bg-red-100 dark:bg-red-200 text-red-800 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',
|
|
148
|
-
green: 'bg-green-100 dark:bg-green-200 text-green-800 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',
|
|
149
|
-
yellow: 'bg-yellow-100 dark:bg-yellow-200 text-yellow-800 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',
|
|
150
|
-
indigo: 'bg-indigo-100 dark:bg-indigo-200 text-indigo-800 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300',
|
|
151
|
-
purple: 'bg-purple-100 dark:bg-purple-200 text-purple-800 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300',
|
|
152
|
-
pink: 'bg-pink-100 dark:bg-pink-200 text-pink-800 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300',
|
|
230
|
+
primary: 'bg-primary-100 dark:bg-primary-700 text-primary-800 dark:text-primary-300 group-hover:bg-primary-200 dark:group-hover:bg-primary-600 border-primary-300 dark:border-primary-800',
|
|
231
|
+
dark: 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600 border-gray-300 dark:border-gray-600',
|
|
232
|
+
blue: 'bg-blue-100 dark:bg-blue-200 text-blue-800 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300 border-blue-300 dark:border-blue-800',
|
|
233
|
+
red: 'bg-red-100 dark:bg-red-200 text-red-800 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300 border-red-300 dark:border-red-800',
|
|
234
|
+
green: 'bg-green-100 dark:bg-green-200 text-green-800 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300 border-green-300 dark:border-green-800',
|
|
235
|
+
yellow: 'bg-yellow-100 dark:bg-yellow-200 text-yellow-800 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300 border-yellow-300 dark:border-yellow-800',
|
|
236
|
+
indigo: 'bg-indigo-100 dark:bg-indigo-200 text-indigo-800 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300 border-indigo-300 dark:border-indigo-800',
|
|
237
|
+
purple: 'bg-purple-100 dark:bg-purple-200 text-purple-800 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300 border-purple-300 dark:border-purple-800',
|
|
238
|
+
pink: 'bg-pink-100 dark:bg-pink-200 text-pink-800 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300 border-pink-300 dark:border-pink-800',
|
|
239
|
+
},
|
|
240
|
+
hasBorder: {
|
|
241
|
+
enabled: 'border',
|
|
242
|
+
disabled: 'border-0',
|
|
153
243
|
},
|
|
154
244
|
size: {
|
|
155
245
|
xs: 'text-xs p-1',
|
|
@@ -168,6 +258,20 @@ const badgeTheme = createTheme({
|
|
|
168
258
|
disabled: 'px-2 py-0.5',
|
|
169
259
|
},
|
|
170
260
|
},
|
|
261
|
+
closeButton: {
|
|
262
|
+
base: 'ms-1 inline-flex items-center rounded-sm p-1 focus:ring-2',
|
|
263
|
+
color: {
|
|
264
|
+
primary: 'text-primary-500 dark:text-primary-600 hover:bg-primary-200 dark:hover:bg-primary-300',
|
|
265
|
+
dark: 'text-gray-500 dark:text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-300',
|
|
266
|
+
blue: 'text-blue-500 dark:text-blue-600 hover:bg-blue-200 dark:hover:bg-blue-300',
|
|
267
|
+
red: 'text-red-500 dark:text-red-600 hover:bg-red-200 dark:hover:bg-red-300',
|
|
268
|
+
green: 'text-green-500 dark:text-green-600 hover:bg-green-200 dark:hover:bg-green-300',
|
|
269
|
+
yellow: 'text-yellow-500 dark:text-yellow-600 hover:bg-yellow-200 dark:hover:bg-yellow-300',
|
|
270
|
+
indigo: 'text-indigo-500 dark:text-indigo-600 hover:bg-indigo-200 dark:hover:bg-indigo-300',
|
|
271
|
+
purple: 'text-purple-500 dark:text-purple-600 hover:bg-purple-200 dark:hover:bg-purple-300',
|
|
272
|
+
pink: 'text-pink-500 dark:text-pink-600 hover:bg-pink-200 dark:hover:bg-pink-300',
|
|
273
|
+
},
|
|
274
|
+
},
|
|
171
275
|
});
|
|
172
276
|
|
|
173
277
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowbite-angular-badge.mjs","sources":["../../../../libs/flowbite-angular/badge/badge.theme.service.ts","../../../../libs/flowbite-angular/badge/badge.component.ts","../../../../libs/flowbite-angular/badge/badge.theme.ts","../../../../libs/flowbite-angular/badge/flowbite-angular-badge.ts"],"sourcesContent":["import type { BadgeClass, BadgeProperties, BadgeTheme } from './badge.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 `BadgeTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_BADGE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_BADGE_THEME_TOKEN = new InjectionToken<BadgeTheme>(\n 'FLOWBITE_BADGE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BadgeThemeService implements FlowbiteThemeService<BadgeProperties> {\n private readonly baseTheme = inject(FLOWBITE_BADGE_THEME_TOKEN);\n\n public getClasses(properties: BadgeProperties): BadgeClass {\n const theme: BadgeTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BadgeClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.size[properties.size],\n theme.root.isPill[\n properties.isPill == 'enabled' || properties.isIconOnly == 'enabled'\n ? 'enabled'\n : properties.isPill\n ],\n theme.root.isIconOnly[properties.isIconOnly],\n theme.root.link[properties.link ? 'enabled' : 'disabled']\n ),\n };\n\n return output;\n }\n}\n","import type { BadgeClass, BadgeColors, BadgeSizes, BadgeTheme } from './badge.theme';\nimport { BadgeThemeService } from './badge.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_BADGE_COLOR_DEFAULT_VALUE = new InjectionToken<keyof BadgeColors>(\n 'FLOWBITE_BADGE_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_SIZE_DEFAULT_VALUE = new InjectionToken<keyof BadgeSizes>(\n 'FLOWBITE_BADGE_SIZE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<BadgeTheme>\n>('FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const badgeDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_BADGE_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_BADGE_SIZE_DEFAULT_VALUE,\n useValue: 'xs',\n },\n {\n provide: FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/badge/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-badge',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent extends BaseComponent<BadgeClass> {\n /**\n * Optional `FlowbiteRouterLinkDirective` injected\n */\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(BadgeThemeService);\n\n //#region properties\n /**\n * Set the badge color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_BADGE_COLOR_DEFAULT_VALUE));\n /**\n * Set the badge size\n *\n * @default xs\n */\n public size = model(inject(FLOWBITE_BADGE_SIZE_DEFAULT_VALUE));\n /**\n * Set if the badge is icon only\n *\n * @default false\n */\n public isIconOnly = model(inject(FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE));\n /**\n * Set if the badge is pill\n *\n * @default false\n */\n public isPill = model(inject(FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE));\n /**\n * Set the custom style for this badge\n */\n public customStyle = model(inject(FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BadgeClass {\n return this.themeService.getClasses({\n color: this.color(),\n size: this.size(),\n isIconOnly: booleanToFlowbiteBoolean(this.isIconOnly()),\n isPill: booleanToFlowbiteBoolean(this.isPill()),\n link: this.flowbiteRouterLink?.routerLink.urlTree ?? null,\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n DeepPartial,\n FlowbiteBoolean,\n FlowbiteClass,\n FlowbiteColors,\n FlowbiteSizes,\n RouterLinkParameter,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `BadgeComponent`\n */\nexport interface BadgeColors\n extends Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow' | 'indigo' | 'purple' | 'pink'\n > {\n [key: string]: string;\n}\n\n/**\n * Available sizes for `BadgeComponent`\n */\nexport interface BadgeSizes extends Pick<FlowbiteSizes, 'xs' | 'sm'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `BadgeComponent`\n */\nexport interface BadgeProperties {\n color: keyof BadgeColors;\n size: keyof BadgeSizes;\n isIconOnly: keyof FlowbiteBoolean;\n isPill: keyof FlowbiteBoolean;\n link: RouterLinkParameter;\n customStyle: DeepPartial<BadgeTheme>;\n}\n\n/**\n * Theme definition for `BadgeComponent`\n */\nexport interface BadgeTheme {\n root: {\n base: string;\n color: BadgeColors;\n size: BadgeSizes;\n isPill: FlowbiteBoolean;\n isIconOnly: FlowbiteBoolean;\n link: FlowbiteBoolean;\n };\n}\n\n/**\n * Default theme for `BadgeComponent`\n */\nexport const badgeTheme: BadgeTheme = createTheme({\n root: {\n base: 'flex h-fit items-center gap-1 font-semibold',\n color: {\n primary:\n 'bg-primary-100 dark:bg-primary-700 text-primary-800 dark:text-primary-300 group-hover:bg-primary-200 dark:group-hover:bg-primary-600',\n dark: 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600',\n blue: 'bg-blue-100 dark:bg-blue-200 text-blue-800 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300',\n red: 'bg-red-100 dark:bg-red-200 text-red-800 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300',\n green:\n 'bg-green-100 dark:bg-green-200 text-green-800 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300',\n yellow:\n 'bg-yellow-100 dark:bg-yellow-200 text-yellow-800 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300',\n indigo:\n 'bg-indigo-100 dark:bg-indigo-200 text-indigo-800 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300',\n purple:\n 'bg-purple-100 dark:bg-purple-200 text-purple-800 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300',\n pink: 'bg-pink-100 dark:bg-pink-200 text-pink-800 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300',\n },\n size: {\n xs: 'text-xs p-1',\n sm: 'text-sm p-1.5',\n },\n isPill: {\n enabled: 'rounded-full',\n disabled: 'rounded',\n },\n link: {\n enabled: 'group cursor-pointer',\n disabled: '',\n },\n isIconOnly: {\n enabled: '',\n disabled: 'px-2 py-0.5',\n },\n },\n});\n\n/**\n * Generated class definition for `BadgeComponent`\n */\nexport type BadgeClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAQA;;;;;;;AAOG;MACU,0BAA0B,GAAG,IAAI,cAAc,CAC1D,4BAA4B,EAC5B;MAKW,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAsBjE,KAAA;AApBQ,IAAA,UAAU,CAAC,UAA2B,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAe,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AAE7E,QAAA,MAAM,MAAM,GAAe;YACzB,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,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAChC,KAAK,CAAC,IAAI,CAAC,MAAM,CACf,UAAU,CAAC,MAAM,IAAI,SAAS,IAAI,UAAU,CAAC,UAAU,IAAI,SAAS;AAClE,kBAAE,SAAS;AACX,kBAAE,UAAU,CAAC,MAAM,CACtB,EACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC,CAC1D;SACF,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;8GAtBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,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,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCLY,kCAAkC,GAAG,IAAI,cAAc,CAClE,oCAAoC,EACpC;MAEW,iCAAiC,GAAG,IAAI,cAAc,CACjE,mCAAmC,EACnC;MAEW,yCAAyC,GAAG,IAAI,cAAc,CACzE,2CAA2C,EAC3C;MAEW,oCAAoC,GAAG,IAAI,cAAc,CACpE,sCAAsC,EACtC;MAEW,yCAAyC,GAAG,IAAI,cAAc,CAEzE,2CAA2C,EAAE;AAExC,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAChE,IAAA;AACE,QAAA,OAAO,EAAE,kCAAkC;AAC3C,QAAA,QAAQ,EAAE,SAAS;AACpB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,iCAAiC;AAC1C,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,yCAAyC;AAClD,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,oCAAoC;AAC7C,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE,yCAAyC;AAClD,QAAA,QAAQ,EAAE,EAAE;AACb,KAAA;AACF,CAAA,EAAE;AAEH;;AAEG;AAQG,MAAO,cAAe,SAAQ,aAAyB,CAAA;AAP7D,IAAA,WAAA,GAAA;;AAQE;;AAEG;QACa,IAAkB,CAAA,kBAAA,GAAG,MAAM,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7F;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;;AAGzD;;;;AAIG;QACI,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;AACjE;;;;AAIG;QACI,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;AAC/D;;;;AAIG;QACI,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;AAC7E;;;;AAIG;QACI,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;AACpE;;AAEG;QACI,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAC;AAe/E,KAAA;;;IAXiB,UAAU,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,UAAU,EAAE,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AACvD,YAAA,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI;AACzD,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC,CAAC;KACJ;8GAnDU,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,u3BAJf,CAAgB,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIf,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAgB,cAAA,CAAA;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;ACbD;;AAEG;AACI,MAAM,UAAU,GAAe,WAAW,CAAC;AAChD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,6CAA6C;AACnD,QAAA,KAAK,EAAE;AACL,YAAA,OAAO,EACL,sIAAsI;AACxI,YAAA,IAAI,EAAE,oHAAoH;AAC1H,YAAA,IAAI,EAAE,oHAAoH;AAC1H,YAAA,GAAG,EAAE,8GAA8G;AACnH,YAAA,KAAK,EACH,0HAA0H;AAC5H,YAAA,MAAM,EACJ,gIAAgI;AAClI,YAAA,MAAM,EACJ,gIAAgI;AAClI,YAAA,MAAM,EACJ,gIAAgI;AAClI,YAAA,IAAI,EAAE,oHAAoH;AAC3H,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,EAAE,EAAE,eAAe;AACpB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,QAAQ,EAAE,SAAS;AACpB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,OAAO,EAAE,sBAAsB;AAC/B,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,QAAQ,EAAE,aAAa;AACxB,SAAA;AACF,KAAA;AACF,CAAA;;AC/FD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"flowbite-angular-badge.mjs","sources":["../../../../libs/flowbite-angular/badge/badge.theme.service.ts","../../../../libs/flowbite-angular/badge/badge.component.ts","../../../../libs/flowbite-angular/badge/badge.theme.ts","../../../../libs/flowbite-angular/badge/flowbite-angular-badge.ts"],"sourcesContent":["import type { BadgeClass, BadgeProperties, BadgeTheme } from './badge.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 `BadgeTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_BADGE_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_BADGE_THEME_TOKEN = new InjectionToken<BadgeTheme>(\n 'FLOWBITE_BADGE_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BadgeThemeService implements FlowbiteThemeService<BadgeProperties> {\n private readonly baseTheme = inject(FLOWBITE_BADGE_THEME_TOKEN);\n\n public getClasses(properties: BadgeProperties): BadgeClass {\n const theme: BadgeTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: BadgeClass = {\n rootClass: twMerge(\n theme.root.base,\n theme.root.color[properties.color],\n theme.root.hasBorder[properties.hasBorder],\n theme.root.size[properties.size],\n theme.root.isPill[\n properties.isPill == 'enabled' || properties.isIconOnly == 'enabled'\n ? 'enabled'\n : properties.isPill\n ],\n theme.root.isIconOnly[properties.isIconOnly],\n theme.root.link[properties.link ? 'enabled' : 'disabled']\n ),\n closeButtonClass: twMerge(theme.closeButton.base, theme.closeButton.color[properties.color]),\n };\n\n return output;\n }\n}\n","import type { BadgeClass, BadgeColors, BadgeSizes, BadgeTheme } from './badge.theme';\nimport { BadgeThemeService } from './badge.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { FlowbiteRouterLinkDirective } from 'flowbite-angular/router-link';\nimport { CLOSE_SVG_ICON } from 'flowbite-angular/utils';\n\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_BADGE_COLOR_DEFAULT_VALUE = new InjectionToken<keyof BadgeColors>(\n 'FLOWBITE_BADGE_COLOR_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_SIZE_DEFAULT_VALUE = new InjectionToken<keyof BadgeSizes>(\n 'FLOWBITE_BADGE_SIZE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<BadgeTheme>\n>('FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE = new InjectionToken<(() => void) | undefined>(\n 'FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE'\n);\n\nexport const badgeDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_BADGE_COLOR_DEFAULT_VALUE,\n useValue: 'primary',\n },\n {\n provide: FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_BADGE_SIZE_DEFAULT_VALUE,\n useValue: 'xs',\n },\n {\n provide: FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n {\n provide: FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE,\n useValue: undefined,\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/badge/\n */\n@Component({\n standalone: true,\n imports: [IconComponent],\n selector: 'flowbite-badge',\n template: `\n <ng-content />\n @if (isDismissable()) {\n <button\n type=\"button\"\n [class]=\"contentClasses()!.closeButtonClass\"\n aria-label=\"Close\"\n (click)=\"onDismissClick()\">\n <span class=\"sr-only\">Close</span>\n <flowbite-icon\n svgIcon=\"flowbite-angular:close\"\n class=\"h-3 w-3\" />\n </button>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent extends BaseComponent<BadgeClass> {\n /**\n * Optional `FlowbiteRouterLinkDirective` injected\n */\n public readonly flowbiteRouterLink = inject(FlowbiteRouterLinkDirective, { optional: true });\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(BadgeThemeService);\n /**\n * `IcoRegistry` 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 badge color\n *\n * @default primary\n */\n public color = model(inject(FLOWBITE_BADGE_COLOR_DEFAULT_VALUE));\n /**\n * Set if the badge has border\n *\n * @default false\n */\n public hasBorder = model(inject(FLOWBITE_BADGE_HAS_BORDER_DEFAULT_VALUE));\n /**\n * Set the badge size\n *\n * @default xs\n */\n public size = model(inject(FLOWBITE_BADGE_SIZE_DEFAULT_VALUE));\n /**\n * Set if the badge is icon only\n *\n * @default false\n */\n public isIconOnly = model(inject(FLOWBITE_BADGE_IS_ICON_ONLY_DEFAULT_VALUE));\n /**\n * Set if the badge is pill\n *\n * @default false\n */\n public isPill = model(inject(FLOWBITE_BADGE_IS_PILL_DEFAULT_VALUE));\n /**\n * Set the custom style for this badge\n */\n public customStyle = model(inject(FLOWBITE_BADGE_CUSTOM_STYLE_DEFAULT_VALUE));\n /**\n * Set if the badge is dismissable\n *\n * @default false\n */\n public isDismissable = model(inject(FLOWBITE_BADGE_IS_DISMISSABLE_DEFAULT_VALUE));\n /**\n * Set the function called when the badge is dismissed\n *\n * @default undefined\n */\n public onDismiss = model(inject(FLOWBITE_BADGE_ON_DISMISS_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): BadgeClass {\n return this.themeService.getClasses({\n color: this.color(),\n hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),\n size: this.size(),\n isIconOnly: booleanToFlowbiteBoolean(this.isIconOnly()),\n isPill: booleanToFlowbiteBoolean(this.isPill()),\n link: this.flowbiteRouterLink?.routerLink.urlTree ?? null,\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'close',\n this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON)\n );\n }\n //#endregion\n\n /**\n * Call the onDismiss function if it's not undefined\n */\n public onDismissClick() {\n const func = this.onDismiss();\n\n if (func) func();\n }\n}\n","import type {\n DeepPartial,\n FlowbiteBoolean,\n FlowbiteClass,\n FlowbiteColors,\n FlowbiteSizes,\n RouterLinkParameter,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\n/**\n * Available colors for `BadgeComponent`\n */\nexport interface BadgeColors\n extends Pick<\n FlowbiteColors,\n 'primary' | 'dark' | 'blue' | 'red' | 'green' | 'yellow' | 'indigo' | 'purple' | 'pink'\n > {\n [key: string]: string;\n}\n\n/**\n * Available sizes for `BadgeComponent`\n */\nexport interface BadgeSizes extends Pick<FlowbiteSizes, 'xs' | 'sm'> {\n [key: string]: string;\n}\n//#endregion\n\n/**\n * Required properties for the class generation of `BadgeComponent`\n */\nexport interface BadgeProperties {\n color: keyof BadgeColors;\n hasBorder: keyof FlowbiteBoolean;\n size: keyof BadgeSizes;\n isIconOnly: keyof FlowbiteBoolean;\n isPill: keyof FlowbiteBoolean;\n link: RouterLinkParameter;\n customStyle: DeepPartial<BadgeTheme>;\n}\n\n/**\n * Theme definition for `BadgeComponent`\n */\nexport interface BadgeTheme {\n root: {\n base: string;\n hasBorder: FlowbiteBoolean;\n color: BadgeColors;\n size: BadgeSizes;\n isPill: FlowbiteBoolean;\n isIconOnly: FlowbiteBoolean;\n link: FlowbiteBoolean;\n };\n closeButton: {\n base: string;\n color: BadgeColors;\n };\n}\n\n/**\n * Default theme for `BadgeComponent`\n */\nexport const badgeTheme: BadgeTheme = createTheme({\n root: {\n base: 'flex h-fit items-center gap-1 font-semibold',\n color: {\n primary:\n 'bg-primary-100 dark:bg-primary-700 text-primary-800 dark:text-primary-300 group-hover:bg-primary-200 dark:group-hover:bg-primary-600 border-primary-300 dark:border-primary-800',\n dark: 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-300 group-hover:bg-gray-200 dark:group-hover:bg-gray-600 border-gray-300 dark:border-gray-600',\n blue: 'bg-blue-100 dark:bg-blue-200 text-blue-800 dark:text-blue-800 group-hover:bg-blue-200 dark:group-hover:bg-blue-300 border-blue-300 dark:border-blue-800',\n red: 'bg-red-100 dark:bg-red-200 text-red-800 dark:text-red-900 group-hover:bg-red-200 dark:group-hover:bg-red-300 border-red-300 dark:border-red-800',\n green:\n 'bg-green-100 dark:bg-green-200 text-green-800 dark:text-green-900 group-hover:bg-green-200 dark:group-hover:bg-green-300 border-green-300 dark:border-green-800',\n yellow:\n 'bg-yellow-100 dark:bg-yellow-200 text-yellow-800 dark:text-yellow-900 group-hover:bg-yellow-200 dark:group-hover:bg-yellow-300 border-yellow-300 dark:border-yellow-800',\n indigo:\n 'bg-indigo-100 dark:bg-indigo-200 text-indigo-800 dark:text-indigo-900 group-hover:bg-indigo-200 dark:group-hover:bg-indigo-300 border-indigo-300 dark:border-indigo-800',\n purple:\n 'bg-purple-100 dark:bg-purple-200 text-purple-800 dark:text-purple-900 group-hover:bg-purple-200 dark:group-hover:bg-purple-300 border-purple-300 dark:border-purple-800',\n pink: 'bg-pink-100 dark:bg-pink-200 text-pink-800 dark:text-pink-900 group-hover:bg-pink-200 dark:group-hover:bg-pink-300 border-pink-300 dark:border-pink-800',\n },\n hasBorder: {\n enabled: 'border',\n disabled: 'border-0',\n },\n size: {\n xs: 'text-xs p-1',\n sm: 'text-sm p-1.5',\n },\n isPill: {\n enabled: 'rounded-full',\n disabled: 'rounded',\n },\n link: {\n enabled: 'group cursor-pointer',\n disabled: '',\n },\n isIconOnly: {\n enabled: '',\n disabled: 'px-2 py-0.5',\n },\n },\n closeButton: {\n base: 'ms-1 inline-flex items-center rounded-sm p-1 focus:ring-2',\n color: {\n primary:\n 'text-primary-500 dark:text-primary-600 hover:bg-primary-200 dark:hover:bg-primary-300',\n dark: 'text-gray-500 dark:text-gray-600 hover:bg-gray-200 dark:hover:bg-gray-300',\n blue: 'text-blue-500 dark:text-blue-600 hover:bg-blue-200 dark:hover:bg-blue-300',\n red: 'text-red-500 dark:text-red-600 hover:bg-red-200 dark:hover:bg-red-300',\n green: 'text-green-500 dark:text-green-600 hover:bg-green-200 dark:hover:bg-green-300',\n yellow: 'text-yellow-500 dark:text-yellow-600 hover:bg-yellow-200 dark:hover:bg-yellow-300',\n indigo: 'text-indigo-500 dark:text-indigo-600 hover:bg-indigo-200 dark:hover:bg-indigo-300',\n purple: 'text-purple-500 dark:text-purple-600 hover:bg-purple-200 dark:hover:bg-purple-300',\n pink: 'text-pink-500 dark:text-pink-600 hover:bg-pink-200 dark:hover:bg-pink-300',\n },\n },\n});\n\n/**\n * Generated class definition for `BadgeComponent`\n */\nexport interface BadgeClass extends FlowbiteClass {\n closeButtonClass: string;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -28,10 +28,10 @@ class BreadcrumbItemThemeService {
|
|
|
28
28
|
};
|
|
29
29
|
return output;
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbItemThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbItemThemeService, providedIn: 'root' }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbItemThemeService, decorators: [{
|
|
35
35
|
type: Injectable,
|
|
36
36
|
args: [{
|
|
37
37
|
providedIn: 'root',
|
|
@@ -95,15 +95,15 @@ class BreadcrumbItemComponent extends BaseComponent {
|
|
|
95
95
|
init() {
|
|
96
96
|
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'chevron-right', this.domSanitizer.bypassSecurityTrustHtml(CHEVRON_RIGHT_SVG_ICON));
|
|
97
97
|
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.4", type: BreadcrumbItemComponent, isStandalone: true, selector: "flowbite-breadcrumb-item", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { color: "colorChange", customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `
|
|
100
100
|
<flowbite-icon
|
|
101
101
|
[class]="contentClasses().breadcrumbIconClass"
|
|
102
102
|
svgIcon="flowbite-angular:chevron-right" />
|
|
103
103
|
<ng-content />
|
|
104
104
|
`, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
105
105
|
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbItemComponent, decorators: [{
|
|
107
107
|
type: Component,
|
|
108
108
|
args: [{
|
|
109
109
|
standalone: true,
|
|
@@ -140,10 +140,10 @@ class BreadcrumbThemeService {
|
|
|
140
140
|
};
|
|
141
141
|
return output;
|
|
142
142
|
}
|
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
144
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
144
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbThemeService, providedIn: 'root' }); }
|
|
145
145
|
}
|
|
146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbThemeService, decorators: [{
|
|
147
147
|
type: Injectable,
|
|
148
148
|
args: [{
|
|
149
149
|
providedIn: 'root',
|
|
@@ -195,10 +195,10 @@ class BreadcrumbComponent extends BaseComponent {
|
|
|
195
195
|
customStyle: this.customStyle(),
|
|
196
196
|
});
|
|
197
197
|
}
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.4", type: BreadcrumbComponent, isStandalone: true, selector: "flowbite-breadcrumb", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { color: "colorChange", customStyle: "customStyleChange" }, host: { properties: { "attr.aria-label": "breadcrumb" } }, queries: [{ propertyName: "breadcrumbItemChildren", predicate: BreadcrumbItemComponent, isSignal: true }], usesInheritance: true, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
200
200
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
202
202
|
type: Component,
|
|
203
203
|
args: [{
|
|
204
204
|
standalone: true,
|