flowbite-angular 1.3.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 +339 -479
- package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
- package/fesm2022/flowbite-angular-alert.mjs +308 -240
- package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
- package/fesm2022/flowbite-angular-badge.mjs +332 -238
- package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
- package/fesm2022/flowbite-angular-breadcrumb.mjs +262 -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 +189 -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 +272 -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 +337 -486
- package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
- package/fesm2022/flowbite-angular-navbar.mjs +600 -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 +400 -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 -196
- package/badge/badge.theme.d.ts +0 -53
- 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 -139
- 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 -193
- 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,283 +1,351 @@
|
|
|
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 } 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 { DomSanitizer } from '@angular/platform-browser';
|
|
6
|
+
import * as i1 from 'ng-primitives/button';
|
|
7
|
+
import { NgpButton } from 'ng-primitives/button';
|
|
8
|
+
import * as i2 from 'ng-primitives/interactions';
|
|
9
|
+
import { NgpFocus } from 'ng-primitives/interactions';
|
|
10
10
|
|
|
11
|
+
const flowbiteAlertTheme = createTheme({
|
|
12
|
+
host: {
|
|
13
|
+
base: 'mb-4 rounded-lg p-4',
|
|
14
|
+
transition: '',
|
|
15
|
+
color: {
|
|
16
|
+
default: {
|
|
17
|
+
light: 'border-gray-200 bg-gray-50',
|
|
18
|
+
dark: 'dark:border-gray-700 dark:bg-gray-950',
|
|
19
|
+
},
|
|
20
|
+
info: {
|
|
21
|
+
light: 'border-blue-200 bg-blue-50',
|
|
22
|
+
dark: 'dark:border-blue-700 dark:bg-blue-950',
|
|
23
|
+
},
|
|
24
|
+
failure: {
|
|
25
|
+
light: 'border-red-200 bg-red-50',
|
|
26
|
+
dark: 'dark:border-red-700 dark:bg-red-950',
|
|
27
|
+
},
|
|
28
|
+
success: {
|
|
29
|
+
light: 'border-green-200 bg-green-50',
|
|
30
|
+
dark: 'dark:border-green-700 dark:bg-green-950',
|
|
31
|
+
},
|
|
32
|
+
warning: {
|
|
33
|
+
light: 'border-yellow-200 bg-yellow-50',
|
|
34
|
+
dark: 'dark:border-yellow-700 dark:bg-yellow-950',
|
|
35
|
+
},
|
|
36
|
+
primary: {
|
|
37
|
+
light: 'bg-primary-50 border-primary-200',
|
|
38
|
+
dark: 'dark:bg-primary-950 dark:border-primary-700',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
border: {
|
|
42
|
+
on: 'border',
|
|
43
|
+
off: 'border-0',
|
|
44
|
+
},
|
|
45
|
+
accent: {
|
|
46
|
+
on: 'border-t-4',
|
|
47
|
+
off: '',
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
const defaultFlowbiteAlertConfig = {
|
|
53
|
+
baseTheme: flowbiteAlertTheme,
|
|
54
|
+
color: 'default',
|
|
55
|
+
border: false,
|
|
56
|
+
accent: false,
|
|
57
|
+
customTheme: {},
|
|
58
|
+
};
|
|
59
|
+
const FlowbiteAlertConfigToken = new InjectionToken('FlowbiteAlertConfigToken');
|
|
11
60
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* @
|
|
15
|
-
* ```
|
|
16
|
-
* var theme = inject(FLOWBITE_ALERT_THEME_TOKEN)
|
|
17
|
-
* ```
|
|
61
|
+
* Provide the default Alert configuration
|
|
62
|
+
* @param config The Alert configuration
|
|
63
|
+
* @returns The provider
|
|
18
64
|
*/
|
|
19
|
-
const
|
|
20
|
-
class AlertThemeService {
|
|
21
|
-
constructor() {
|
|
22
|
-
this.baseTheme = inject(FLOWBITE_ALERT_THEME_TOKEN);
|
|
23
|
-
}
|
|
24
|
-
getClasses(properties) {
|
|
25
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
26
|
-
const output = {
|
|
27
|
-
rootClass: twMerge(theme.root.base, theme.root.color[properties.color], theme.root.hasBorder[properties.hasBorder], theme.root.hasBorderAccent[properties.hasBorderAccent]),
|
|
28
|
-
closeButtonClass: twMerge(theme.closeButton.base, theme.closeButton.color[properties.color]),
|
|
29
|
-
};
|
|
30
|
-
return output;
|
|
31
|
-
}
|
|
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
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: AlertThemeService, decorators: [{
|
|
36
|
-
type: Injectable,
|
|
37
|
-
args: [{
|
|
38
|
-
providedIn: 'root',
|
|
39
|
-
}]
|
|
40
|
-
}] });
|
|
41
|
-
|
|
42
|
-
const FLOWBITE_ALERT_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_COLOR_DEFAULT_VALUE');
|
|
43
|
-
const FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_HAS_BORDER_DEFAULT_VALUE');
|
|
44
|
-
const FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE');
|
|
45
|
-
const FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
46
|
-
const FLOWBITE_ALERT_ICON_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_ICON_DEFAULT_VALUE');
|
|
47
|
-
const FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE');
|
|
48
|
-
const FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE');
|
|
49
|
-
const FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE = new InjectionToken('FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE');
|
|
50
|
-
const alertDefaultValueProvider = makeEnvironmentProviders([
|
|
51
|
-
{
|
|
52
|
-
provide: FLOWBITE_ALERT_COLOR_DEFAULT_VALUE,
|
|
53
|
-
useValue: 'primary',
|
|
54
|
-
},
|
|
65
|
+
const provideFlowbiteAlertConfig = (config) => [
|
|
55
66
|
{
|
|
56
|
-
provide:
|
|
57
|
-
useValue:
|
|
67
|
+
provide: FlowbiteAlertConfigToken,
|
|
68
|
+
useValue: { ...defaultFlowbiteAlertConfig, ...config },
|
|
58
69
|
},
|
|
59
|
-
|
|
60
|
-
provide: FLOWBITE_ALERT_HAS_BORDER_ACCENT_DEFAULT_VALUE,
|
|
61
|
-
useValue: false,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
provide: FLOWBITE_ALERT_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
65
|
-
useValue: {},
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
provide: FLOWBITE_ALERT_ICON_DEFAULT_VALUE,
|
|
69
|
-
useValue: null,
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
provide: FLOWBITE_ALERT_ADDITIONAL_CONTENT_DEFAULT_VALUE,
|
|
73
|
-
useValue: null,
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
provide: FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE,
|
|
77
|
-
useValue: false,
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
provide: FLOWBITE_ALERT_ON_DISMISS_DEFAULT_VALUE,
|
|
81
|
-
useValue: undefined,
|
|
82
|
-
},
|
|
83
|
-
]);
|
|
70
|
+
];
|
|
84
71
|
/**
|
|
85
|
-
*
|
|
72
|
+
* Inject the Alert configuration
|
|
73
|
+
* @see {@link defaultFlowbiteAlertConfig}
|
|
74
|
+
* @returns The configuration
|
|
86
75
|
*/
|
|
87
|
-
|
|
76
|
+
const injectFlowbiteAlertConfig = () => inject(FlowbiteAlertConfigToken, { optional: true }) ?? defaultFlowbiteAlertConfig;
|
|
77
|
+
|
|
78
|
+
const FlowbiteAlertStateToken = createStateToken('Flowbite Alert');
|
|
79
|
+
const provideFlowbiteAlertState = createStateProvider(FlowbiteAlertStateToken);
|
|
80
|
+
const injectFlowbiteAlertState = createStateInjector(FlowbiteAlertStateToken);
|
|
81
|
+
const flowbiteAlertState = createState(FlowbiteAlertStateToken);
|
|
82
|
+
|
|
83
|
+
class Alert {
|
|
88
84
|
constructor() {
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Service injected used to generate class
|
|
92
|
-
*/
|
|
93
|
-
this.themeService = inject(AlertThemeService);
|
|
94
|
-
/**
|
|
95
|
-
* `IcoRegistry` service
|
|
96
|
-
*/
|
|
97
|
-
this.iconRegistry = inject(IconRegistry);
|
|
98
|
-
/**
|
|
99
|
-
* `DomSanitizer` service
|
|
100
|
-
*/
|
|
101
|
-
this.domSanitizer = inject(DomSanitizer);
|
|
102
|
-
//#region properties
|
|
103
|
-
/**
|
|
104
|
-
* Set the indicator color
|
|
105
|
-
*
|
|
106
|
-
* @default primary
|
|
107
|
-
*/
|
|
108
|
-
this.color = model(inject(FLOWBITE_ALERT_COLOR_DEFAULT_VALUE));
|
|
85
|
+
this.config = injectFlowbiteAlertConfig();
|
|
109
86
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* @default false
|
|
87
|
+
* @see {@link injectFlowbiteAlertConfig}
|
|
113
88
|
*/
|
|
114
|
-
this.
|
|
89
|
+
this.color = input(this.config.color);
|
|
115
90
|
/**
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
* @default false
|
|
91
|
+
* @see {@link injectFlowbiteAlertConfig}
|
|
119
92
|
*/
|
|
120
|
-
this.
|
|
93
|
+
this.border = input(this.config.border, { transform: booleanAttribute });
|
|
121
94
|
/**
|
|
122
|
-
*
|
|
95
|
+
* @see {@link injectFlowbiteAlertConfig}
|
|
123
96
|
*/
|
|
124
|
-
this.
|
|
97
|
+
this.accent = input(this.config.accent, { transform: booleanAttribute });
|
|
125
98
|
/**
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* @default null
|
|
99
|
+
* @see {@link injectFlowbiteAlertConfig}
|
|
129
100
|
*/
|
|
130
|
-
this.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
*
|
|
140
|
-
* @default false
|
|
141
|
-
*/
|
|
142
|
-
this.isDismissable = model(inject(FLOWBITE_ALERT_IS_DISMISSABLE_DEFAULT_VALUE));
|
|
101
|
+
this.customTheme = input(this.config.customTheme);
|
|
102
|
+
this.theme = computed(() => {
|
|
103
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
104
|
+
return {
|
|
105
|
+
host: {
|
|
106
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, colorToTheme(mergedTheme.host.color, this.state.color()), mergedTheme.host.border[this.state.border() ? 'on' : 'off'], mergedTheme.host.accent[this.state.accent() ? 'on' : 'off']),
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
});
|
|
143
110
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
* @default undefined
|
|
111
|
+
* @internal
|
|
147
112
|
*/
|
|
148
|
-
this.
|
|
149
|
-
}
|
|
150
|
-
//#endregion
|
|
151
|
-
//#region BaseComponent implementation
|
|
152
|
-
fetchClass() {
|
|
153
|
-
return this.themeService.getClasses({
|
|
154
|
-
color: this.color(),
|
|
155
|
-
hasBorder: booleanToFlowbiteBoolean(this.hasBorder()),
|
|
156
|
-
hasBorderAccent: booleanToFlowbiteBoolean(this.hasBorderAccent()),
|
|
157
|
-
customStyle: this.customStyle(),
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
init() {
|
|
161
|
-
this.iconRegistry.addRawSvgIconInNamepsace('flowbite-angular', 'close', this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON));
|
|
162
|
-
}
|
|
163
|
-
//#endregion
|
|
164
|
-
/**
|
|
165
|
-
* Call the onDismiss function if it's not undefined
|
|
166
|
-
*/
|
|
167
|
-
onDismissClick() {
|
|
168
|
-
const func = this.onDismiss();
|
|
169
|
-
if (func)
|
|
170
|
-
func();
|
|
113
|
+
this.state = flowbiteAlertState(this);
|
|
171
114
|
}
|
|
172
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
173
|
-
static { this.ɵ
|
|
174
|
-
<div class="flex items-center">
|
|
175
|
-
<ng-container [ngTemplateOutlet]="icon()"></ng-container>
|
|
176
|
-
<div>
|
|
177
|
-
<ng-content />
|
|
178
|
-
</div>
|
|
179
|
-
@if (isDismissable()) {
|
|
180
|
-
<button
|
|
181
|
-
type="button"
|
|
182
|
-
[class]="contentClasses()!.closeButtonClass"
|
|
183
|
-
aria-label="Close"
|
|
184
|
-
(click)="onDismissClick()">
|
|
185
|
-
<span class="sr-only">Close</span>
|
|
186
|
-
<flowbite-icon
|
|
187
|
-
svgIcon="flowbite-angular:close"
|
|
188
|
-
class="h-5 w-5" />
|
|
189
|
-
</button>
|
|
190
|
-
}
|
|
191
|
-
</div>
|
|
192
|
-
<ng-container [ngTemplateOutlet]="additionalContent()"></ng-container>
|
|
193
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], animations: [
|
|
194
|
-
trigger('onDestroyAnimation', [
|
|
195
|
-
transition(':enter', [style({ opacity: 0 }), animate('300ms', style({ opacity: 1 }))]),
|
|
196
|
-
transition(':leave', [animate('300ms', style({ opacity: 0 }))]),
|
|
197
|
-
]),
|
|
198
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Alert, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
116
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: Alert, isStandalone: true, selector: "\n div[flowbiteAlert]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: true, isRequired: false, transformFunction: null }, accent: { classPropertyName: "accent", publicName: "accent", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteAlertState()], exportAs: ["flowbiteAlert"], ngImport: i0 }); }
|
|
199
117
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
201
|
-
type:
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Alert, decorators: [{
|
|
119
|
+
type: Directive,
|
|
202
120
|
args: [{
|
|
203
121
|
standalone: true,
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
template: `
|
|
207
|
-
<div class="flex items-center">
|
|
208
|
-
<ng-container [ngTemplateOutlet]="icon()"></ng-container>
|
|
209
|
-
<div>
|
|
210
|
-
<ng-content />
|
|
211
|
-
</div>
|
|
212
|
-
@if (isDismissable()) {
|
|
213
|
-
<button
|
|
214
|
-
type="button"
|
|
215
|
-
[class]="contentClasses()!.closeButtonClass"
|
|
216
|
-
aria-label="Close"
|
|
217
|
-
(click)="onDismissClick()">
|
|
218
|
-
<span class="sr-only">Close</span>
|
|
219
|
-
<flowbite-icon
|
|
220
|
-
svgIcon="flowbite-angular:close"
|
|
221
|
-
class="h-5 w-5" />
|
|
222
|
-
</button>
|
|
223
|
-
}
|
|
224
|
-
</div>
|
|
225
|
-
<ng-container [ngTemplateOutlet]="additionalContent()"></ng-container>
|
|
122
|
+
selector: `
|
|
123
|
+
div[flowbiteAlert]
|
|
226
124
|
`,
|
|
125
|
+
exportAs: 'flowbiteAlert',
|
|
126
|
+
hostDirectives: [],
|
|
127
|
+
providers: [provideFlowbiteAlertState()],
|
|
227
128
|
host: {
|
|
228
|
-
'[
|
|
229
|
-
'[@onDestroyAnimation]': '',
|
|
129
|
+
'[class]': `theme().host.root`,
|
|
230
130
|
},
|
|
231
|
-
animations: [
|
|
232
|
-
trigger('onDestroyAnimation', [
|
|
233
|
-
transition(':enter', [style({ opacity: 0 }), animate('300ms', style({ opacity: 1 }))]),
|
|
234
|
-
transition(':leave', [animate('300ms', style({ opacity: 0 }))]),
|
|
235
|
-
]),
|
|
236
|
-
],
|
|
237
|
-
encapsulation: ViewEncapsulation.None,
|
|
238
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
239
131
|
}]
|
|
240
132
|
}] });
|
|
241
133
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
root: {
|
|
247
|
-
base: 'flex flex-col gap-2 p-4 text-sm rounded-lg',
|
|
134
|
+
const flowbiteAlertButtonTheme = createTheme({
|
|
135
|
+
host: {
|
|
136
|
+
base: 'flex rounded-lg p-1 first:mr-2 data-hover:cursor-pointer',
|
|
137
|
+
transition: '',
|
|
248
138
|
color: {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
139
|
+
default: {
|
|
140
|
+
light: 'data-hover:bg-gray-300',
|
|
141
|
+
dark: 'dark:data-hover:bg-gray-600',
|
|
142
|
+
},
|
|
143
|
+
info: {
|
|
144
|
+
light: 'data-hover:bg-blue-300',
|
|
145
|
+
dark: 'dark:data-hover:bg-blue-700',
|
|
146
|
+
},
|
|
147
|
+
failure: {
|
|
148
|
+
light: 'data-hover:bg-red-300',
|
|
149
|
+
dark: 'dark:data-hover:bg-red-700',
|
|
150
|
+
},
|
|
151
|
+
success: {
|
|
152
|
+
light: 'data-hover:bg-green-300',
|
|
153
|
+
dark: 'dark:data-hover:bg-green-600',
|
|
154
|
+
},
|
|
155
|
+
warning: {
|
|
156
|
+
light: 'data-hover:bg-yellow-300',
|
|
157
|
+
dark: 'dark:data-hover:bg-yellow-600',
|
|
158
|
+
},
|
|
159
|
+
primary: {
|
|
160
|
+
light: 'data-hover:bg-primary-300',
|
|
161
|
+
dark: 'dark:data-hover:bg-primary-700',
|
|
162
|
+
},
|
|
263
163
|
},
|
|
264
164
|
},
|
|
265
|
-
|
|
266
|
-
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
const defaultFlowbiteAlertButtonConfig = {
|
|
168
|
+
baseTheme: flowbiteAlertButtonTheme,
|
|
169
|
+
customTheme: {},
|
|
170
|
+
};
|
|
171
|
+
const FlowbiteAlertButtonConfigToken = new InjectionToken('FlowbiteAlertButtonConfigToken');
|
|
172
|
+
/**
|
|
173
|
+
* Provide the default AlertButton configuration
|
|
174
|
+
* @param config The AlertButton configuration
|
|
175
|
+
* @returns The provider
|
|
176
|
+
*/
|
|
177
|
+
const provideFlowbiteAlertButtonConfig = (config) => [
|
|
178
|
+
{
|
|
179
|
+
provide: FlowbiteAlertButtonConfigToken,
|
|
180
|
+
useValue: { ...defaultFlowbiteAlertButtonConfig, ...config },
|
|
181
|
+
},
|
|
182
|
+
];
|
|
183
|
+
/**
|
|
184
|
+
* Inject the AlertButton configuration
|
|
185
|
+
* @see {@link defaultFlowbiteAlertButtonConfig}
|
|
186
|
+
* @returns The configuration
|
|
187
|
+
*/
|
|
188
|
+
const injectFlowbiteAlertButtonConfig = () => inject(FlowbiteAlertButtonConfigToken, { optional: true }) ?? defaultFlowbiteAlertButtonConfig;
|
|
189
|
+
|
|
190
|
+
const FlowbiteAlertButtonStateToken = createStateToken('Flowbite AlertButton');
|
|
191
|
+
const provideFlowbiteAlertButtonState = createStateProvider(FlowbiteAlertButtonStateToken);
|
|
192
|
+
const injectFlowbiteAlertButtonState = createStateInjector(FlowbiteAlertButtonStateToken);
|
|
193
|
+
const flowbiteAlertButtonState = createState(FlowbiteAlertButtonStateToken);
|
|
194
|
+
|
|
195
|
+
class AlertButton {
|
|
196
|
+
constructor() {
|
|
197
|
+
this.config = injectFlowbiteAlertButtonConfig();
|
|
198
|
+
this.alertState = injectFlowbiteAlertState();
|
|
199
|
+
/**
|
|
200
|
+
* @see {@link injectFlowbiteAlertButtonConfig}
|
|
201
|
+
*/
|
|
202
|
+
this.customTheme = input(this.config.customTheme);
|
|
203
|
+
this.theme = computed(() => {
|
|
204
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
205
|
+
return {
|
|
206
|
+
host: {
|
|
207
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, colorToTheme(mergedTheme.host.color, this.alertState().color())),
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
});
|
|
211
|
+
/**
|
|
212
|
+
* @internal
|
|
213
|
+
*/
|
|
214
|
+
this.state = flowbiteAlertButtonState(this);
|
|
215
|
+
}
|
|
216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AlertButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
217
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: AlertButton, isStandalone: true, selector: "\n button[flowbiteAlertButton],\n a[flowbiteAlertButton]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteAlertButtonState()], exportAs: ["flowbiteAlertButton"], hostDirectives: [{ directive: i1.NgpButton, inputs: ["disabled", "disabled"] }, { directive: i2.NgpFocus }], ngImport: i0 }); }
|
|
218
|
+
}
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AlertButton, decorators: [{
|
|
220
|
+
type: Directive,
|
|
221
|
+
args: [{
|
|
222
|
+
standalone: true,
|
|
223
|
+
selector: `
|
|
224
|
+
button[flowbiteAlertButton],
|
|
225
|
+
a[flowbiteAlertButton]
|
|
226
|
+
`,
|
|
227
|
+
exportAs: 'flowbiteAlertButton',
|
|
228
|
+
hostDirectives: [
|
|
229
|
+
{
|
|
230
|
+
directive: NgpButton,
|
|
231
|
+
inputs: ['disabled:disabled'],
|
|
232
|
+
outputs: [],
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
directive: NgpFocus,
|
|
236
|
+
inputs: [],
|
|
237
|
+
outputs: [],
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
providers: [provideFlowbiteAlertButtonState()],
|
|
241
|
+
host: { '[class]': `theme().host.root` },
|
|
242
|
+
}]
|
|
243
|
+
}] });
|
|
244
|
+
|
|
245
|
+
const flowbiteAlertContentTheme = createTheme({
|
|
246
|
+
host: {
|
|
247
|
+
base: 'flex items-center justify-between text-sm font-normal',
|
|
248
|
+
transition: '',
|
|
267
249
|
color: {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
250
|
+
default: {
|
|
251
|
+
light: 'text-gray-800',
|
|
252
|
+
dark: 'dark:text-gray-300',
|
|
253
|
+
},
|
|
254
|
+
info: {
|
|
255
|
+
light: 'text-blue-800',
|
|
256
|
+
dark: 'dark:text-blue-300',
|
|
257
|
+
},
|
|
258
|
+
failure: {
|
|
259
|
+
light: 'text-red-800',
|
|
260
|
+
dark: 'dark:text-red-300',
|
|
261
|
+
},
|
|
262
|
+
success: {
|
|
263
|
+
light: 'text-green-800',
|
|
264
|
+
dark: 'dark:text-green-300',
|
|
265
|
+
},
|
|
266
|
+
warning: {
|
|
267
|
+
light: 'text-yellow-800',
|
|
268
|
+
dark: 'dark:text-yellow-300',
|
|
269
|
+
},
|
|
270
|
+
primary: {
|
|
271
|
+
light: 'text-primary-800',
|
|
272
|
+
dark: 'dark:text-primary-300',
|
|
273
|
+
},
|
|
274
274
|
},
|
|
275
275
|
},
|
|
276
276
|
});
|
|
277
277
|
|
|
278
|
+
const defaultFlowbiteAlertContentConfig = {
|
|
279
|
+
baseTheme: flowbiteAlertContentTheme,
|
|
280
|
+
customTheme: {},
|
|
281
|
+
};
|
|
282
|
+
const FlowbiteAlertContentConfigToken = new InjectionToken('FlowbiteAlertContentConfigToken');
|
|
283
|
+
/**
|
|
284
|
+
* Provide the default AlertContent configuration
|
|
285
|
+
* @param config The AlertContent configuration
|
|
286
|
+
* @returns The provider
|
|
287
|
+
*/
|
|
288
|
+
const provideFlowbiteAlertContentConfig = (config) => [
|
|
289
|
+
{
|
|
290
|
+
provide: FlowbiteAlertContentConfigToken,
|
|
291
|
+
useValue: { ...defaultFlowbiteAlertContentConfig, ...config },
|
|
292
|
+
},
|
|
293
|
+
];
|
|
294
|
+
/**
|
|
295
|
+
* Inject the AlertContent configuration
|
|
296
|
+
* @see {@link defaultFlowbiteAlertContentConfig}
|
|
297
|
+
* @returns The configuration
|
|
298
|
+
*/
|
|
299
|
+
const injectFlowbiteAlertContentConfig = () => inject(FlowbiteAlertContentConfigToken, { optional: true }) ?? defaultFlowbiteAlertContentConfig;
|
|
300
|
+
|
|
301
|
+
const FlowbiteAlertContentStateToken = createStateToken('Flowbite AlertContent');
|
|
302
|
+
const provideFlowbiteAlertContentState = createStateProvider(FlowbiteAlertContentStateToken);
|
|
303
|
+
const injectFlowbiteAlertContentState = createStateInjector(FlowbiteAlertContentStateToken);
|
|
304
|
+
const flowbiteAlertContentState = createState(FlowbiteAlertContentStateToken);
|
|
305
|
+
|
|
306
|
+
class AlertContent {
|
|
307
|
+
constructor() {
|
|
308
|
+
this.config = injectFlowbiteAlertContentConfig();
|
|
309
|
+
this.alertState = injectFlowbiteAlertState();
|
|
310
|
+
/**
|
|
311
|
+
* @see {@link injectFlowbiteAlertContentConfig}
|
|
312
|
+
*/
|
|
313
|
+
this.customTheme = input(this.config.customTheme);
|
|
314
|
+
this.theme = computed(() => {
|
|
315
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
316
|
+
return {
|
|
317
|
+
host: {
|
|
318
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, colorToTheme(mergedTheme.host.color, this.alertState().color())),
|
|
319
|
+
},
|
|
320
|
+
};
|
|
321
|
+
});
|
|
322
|
+
/**
|
|
323
|
+
* @internal
|
|
324
|
+
*/
|
|
325
|
+
this.state = flowbiteAlertContentState(this);
|
|
326
|
+
}
|
|
327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AlertContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
328
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: AlertContent, isStandalone: true, selector: "\n div[flowbiteAlertContent]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteAlertContentState()], exportAs: ["flowbiteAlertContent"], ngImport: i0 }); }
|
|
329
|
+
}
|
|
330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AlertContent, decorators: [{
|
|
331
|
+
type: Directive,
|
|
332
|
+
args: [{
|
|
333
|
+
standalone: true,
|
|
334
|
+
selector: `
|
|
335
|
+
div[flowbiteAlertContent]
|
|
336
|
+
`,
|
|
337
|
+
exportAs: 'flowbiteAlertContent',
|
|
338
|
+
hostDirectives: [],
|
|
339
|
+
providers: [provideFlowbiteAlertContentState()],
|
|
340
|
+
host: { '[class]': `theme().host.root` },
|
|
341
|
+
}]
|
|
342
|
+
}] });
|
|
343
|
+
|
|
344
|
+
/* Alert */
|
|
345
|
+
|
|
278
346
|
/**
|
|
279
347
|
* Generated bundle index. Do not edit.
|
|
280
348
|
*/
|
|
281
349
|
|
|
282
|
-
export {
|
|
350
|
+
export { Alert, AlertButton, AlertContent, FlowbiteAlertButtonConfigToken, FlowbiteAlertButtonStateToken, FlowbiteAlertConfigToken, FlowbiteAlertContentConfigToken, FlowbiteAlertContentStateToken, FlowbiteAlertStateToken, defaultFlowbiteAlertButtonConfig, defaultFlowbiteAlertConfig, defaultFlowbiteAlertContentConfig, flowbiteAlertButtonState, flowbiteAlertButtonTheme, flowbiteAlertContentState, flowbiteAlertContentTheme, flowbiteAlertState, flowbiteAlertTheme, injectFlowbiteAlertButtonConfig, injectFlowbiteAlertButtonState, injectFlowbiteAlertConfig, injectFlowbiteAlertContentConfig, injectFlowbiteAlertContentState, injectFlowbiteAlertState, provideFlowbiteAlertButtonConfig, provideFlowbiteAlertButtonState, provideFlowbiteAlertConfig, provideFlowbiteAlertContentConfig, provideFlowbiteAlertContentState, provideFlowbiteAlertState };
|
|
283
351
|
//# sourceMappingURL=flowbite-angular-alert.mjs.map
|