flowbite-angular 1.2.0 → 20.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -39
- package/accordion/index.d.ts +569 -16
- package/alert/index.d.ts +602 -4
- package/badge/index.d.ts +636 -4
- package/breadcrumb/index.d.ts +452 -8
- package/button/index.d.ts +335 -4
- package/button-group/README.md +4 -0
- package/button-group/index.d.ts +85 -0
- package/{core → card}/README.md +2 -2
- package/card/index.d.ts +640 -0
- package/{accordion → clipboard}/README.md +2 -2
- package/clipboard/index.d.ts +103 -0
- package/dropdown/index.d.ts +536 -16
- package/fesm2022/flowbite-angular-accordion.mjs +340 -479
- package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
- package/fesm2022/flowbite-angular-alert.mjs +309 -240
- package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
- package/fesm2022/flowbite-angular-badge.mjs +334 -136
- package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
- package/fesm2022/flowbite-angular-breadcrumb.mjs +263 -191
- package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/flowbite-angular-button-group.mjs +86 -0
- package/fesm2022/flowbite-angular-button-group.mjs.map +1 -0
- package/fesm2022/flowbite-angular-button.mjs +190 -270
- package/fesm2022/flowbite-angular-button.mjs.map +1 -1
- package/fesm2022/flowbite-angular-card.mjs +344 -0
- package/fesm2022/flowbite-angular-card.mjs.map +1 -0
- package/fesm2022/flowbite-angular-clipboard.mjs +174 -0
- package/fesm2022/flowbite-angular-clipboard.mjs.map +1 -0
- package/fesm2022/flowbite-angular-dropdown.mjs +273 -459
- package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
- package/fesm2022/flowbite-angular-form.mjs +444 -0
- package/fesm2022/flowbite-angular-form.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-brand.mjs +71 -0
- package/fesm2022/flowbite-angular-icon-brand.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-arrows.mjs +51 -0
- package/fesm2022/flowbite-angular-icon-outline-arrows.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-e-commerce.mjs +23 -0
- package/fesm2022/flowbite-angular-icon-outline-e-commerce.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-emoji.mjs +13 -0
- package/fesm2022/flowbite-angular-icon-outline-emoji.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-files-folders.mjs +42 -0
- package/fesm2022/flowbite-angular-icon-outline-files-folders.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-general.mjs +145 -0
- package/fesm2022/flowbite-angular-icon-outline-general.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-media.mjs +25 -0
- package/fesm2022/flowbite-angular-icon-outline-media.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-text.mjs +20 -0
- package/fesm2022/flowbite-angular-icon-outline-text.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-user.mjs +17 -0
- package/fesm2022/flowbite-angular-icon-outline-user.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline-weather.mjs +9 -0
- package/fesm2022/flowbite-angular-icon-outline-weather.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-outline.mjs +6 -0
- package/fesm2022/flowbite-angular-icon-outline.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-arrows.mjs +17 -0
- package/fesm2022/flowbite-angular-icon-solid-arrows.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-brands.mjs +33 -0
- package/fesm2022/flowbite-angular-icon-solid-brands.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-e-commerce.mjs +21 -0
- package/fesm2022/flowbite-angular-icon-solid-e-commerce.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-emoji.mjs +13 -0
- package/fesm2022/flowbite-angular-icon-solid-emoji.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-files-folder.mjs +42 -0
- package/fesm2022/flowbite-angular-icon-solid-files-folder.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-general.mjs +123 -0
- package/fesm2022/flowbite-angular-icon-solid-general.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-media.mjs +24 -0
- package/fesm2022/flowbite-angular-icon-solid-media.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-text.mjs +11 -0
- package/fesm2022/flowbite-angular-icon-solid-text.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-user.mjs +17 -0
- package/fesm2022/flowbite-angular-icon-solid-user.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid-weather.mjs +9 -0
- package/fesm2022/flowbite-angular-icon-solid-weather.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon-solid.mjs +6 -0
- package/fesm2022/flowbite-angular-icon-solid.mjs.map +1 -0
- package/fesm2022/flowbite-angular-icon.mjs +318 -219
- package/fesm2022/flowbite-angular-icon.mjs.map +1 -1
- package/fesm2022/flowbite-angular-indicator.mjs +119 -231
- package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
- package/fesm2022/flowbite-angular-modal.mjs +338 -486
- package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
- package/fesm2022/flowbite-angular-navbar.mjs +601 -604
- package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-pagination.mjs +994 -0
- package/fesm2022/flowbite-angular-pagination.mjs.map +1 -0
- package/fesm2022/flowbite-angular-sidebar.mjs +403 -776
- package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-tab.mjs +465 -0
- package/fesm2022/flowbite-angular-tab.mjs.map +1 -0
- package/fesm2022/flowbite-angular-theme-toggle.mjs +263 -0
- package/fesm2022/flowbite-angular-theme-toggle.mjs.map +1 -0
- package/fesm2022/flowbite-angular-tooltip.mjs +117 -0
- package/fesm2022/flowbite-angular-tooltip.mjs.map +1 -0
- package/fesm2022/flowbite-angular.mjs +53 -66
- package/fesm2022/flowbite-angular.mjs.map +1 -1
- package/{alert → form}/README.md +2 -2
- package/form/index.d.ts +684 -0
- package/{breadcrumb → icon/brand}/README.md +2 -2
- package/icon/brand/index.d.ts +66 -0
- package/icon/index.d.ts +322 -5
- package/icon/outline/README.md +4 -0
- package/icon/outline/arrows/index.d.ts +46 -0
- package/icon/outline/e-commerce/index.d.ts +18 -0
- package/icon/outline/emoji/index.d.ts +8 -0
- package/icon/outline/files-folders/index.d.ts +37 -0
- package/icon/outline/general/index.d.ts +140 -0
- package/icon/outline/index.d.ts +2 -0
- package/icon/outline/media/index.d.ts +20 -0
- package/icon/outline/text/index.d.ts +15 -0
- package/icon/outline/user/index.d.ts +12 -0
- package/icon/outline/weather/index.d.ts +4 -0
- package/icon/solid/README.md +4 -0
- package/icon/solid/arrows/index.d.ts +12 -0
- package/icon/solid/brands/index.d.ts +28 -0
- package/icon/solid/e-commerce/index.d.ts +16 -0
- package/icon/solid/emoji/index.d.ts +8 -0
- package/icon/solid/files-folder/index.d.ts +37 -0
- package/icon/solid/general/index.d.ts +118 -0
- package/icon/solid/index.d.ts +2 -0
- package/icon/solid/media/index.d.ts +19 -0
- package/icon/solid/text/index.d.ts +6 -0
- package/icon/solid/user/index.d.ts +12 -0
- package/icon/solid/weather/index.d.ts +4 -0
- package/index.d.ts +126 -3
- package/indicator/index.d.ts +242 -4
- package/modal/index.d.ts +458 -16
- package/navbar/index.d.ts +1467 -24
- package/package.json +137 -42
- package/pagination/README.md +4 -0
- package/pagination/index.d.ts +1135 -0
- package/sidebar/index.d.ts +880 -24
- package/styles/flowbite-angular.css +8 -0
- package/styles/part/animation.css +0 -0
- package/styles/part/color.css +125 -0
- package/styles/part/font-size.css +67 -0
- package/styles/part/rounded.css +11 -0
- package/styles/part/shadow.css +9 -0
- package/styles/part/spacing.css +38 -0
- package/{badge → tab}/README.md +2 -2
- package/tab/index.d.ts +791 -0
- package/theme-toggle/README.md +4 -0
- package/theme-toggle/index.d.ts +342 -0
- package/{button → tooltip}/README.md +2 -2
- package/tooltip/index.d.ts +158 -0
- package/accordion/accordion-content.component.d.ts +0 -69
- package/accordion/accordion-content.theme.d.ts +0 -28
- package/accordion/accordion-content.theme.service.d.ts +0 -19
- package/accordion/accordion-panel.component.d.ts +0 -67
- package/accordion/accordion-panel.theme.d.ts +0 -23
- package/accordion/accordion-panel.theme.service.d.ts +0 -20
- package/accordion/accordion-title.component.d.ts +0 -106
- package/accordion/accordion-title.theme.d.ts +0 -35
- package/accordion/accordion-title.theme.service.d.ts +0 -19
- package/accordion/accordion.component.d.ts +0 -61
- package/accordion/accordion.theme.d.ts +0 -29
- package/accordion/accordion.theme.service.d.ts +0 -19
- package/alert/alert.component.d.ts +0 -150
- package/alert/alert.theme.d.ts +0 -39
- package/alert/alert.theme.service.d.ts +0 -19
- package/badge/badge.component.d.ts +0 -122
- package/badge/badge.theme.d.ts +0 -45
- package/badge/badge.theme.service.d.ts +0 -19
- package/base-component.directive.d.ts +0 -51
- package/breadcrumb/breadcrumb-item.component.d.ts +0 -84
- package/breadcrumb/breadcrumb-item.theme.d.ts +0 -33
- package/breadcrumb/breadcrumb-item.theme.service.d.ts +0 -19
- package/breadcrumb/breadcrumb.component.d.ts +0 -43
- package/breadcrumb/breadcrumb.theme.d.ts +0 -29
- package/breadcrumb/breadcrumb.theme.service.d.ts +0 -19
- package/button/button.component.d.ts +0 -250
- package/button/button.theme.d.ts +0 -79
- package/button/button.theme.service.d.ts +0 -19
- package/core/flowbite.theme.init.d.ts +0 -9
- package/core/index.d.ts +0 -1
- package/dark-theme-toggle/README.md +0 -4
- package/dark-theme-toggle/dark-theme-toggle.component.d.ts +0 -51
- package/dark-theme-toggle/dark-theme-toggle.theme.d.ts +0 -23
- package/dark-theme-toggle/dark-theme-toggle.theme.service.d.ts +0 -19
- package/dark-theme-toggle/index.d.ts +0 -3
- package/dropdown/README.md +0 -4
- package/dropdown/dropdown-divider.component.d.ts +0 -36
- package/dropdown/dropdown-divider.theme.d.ts +0 -23
- package/dropdown/dropdown-divider.theme.service.d.ts +0 -19
- package/dropdown/dropdown-header.component.d.ts +0 -42
- package/dropdown/dropdown-header.theme.d.ts +0 -28
- package/dropdown/dropdown-header.theme.service.d.ts +0 -19
- package/dropdown/dropdown-item.component.d.ts +0 -36
- package/dropdown/dropdown-item.theme.d.ts +0 -23
- package/dropdown/dropdown-item.theme.service.d.ts +0 -19
- package/dropdown/dropdown.component.d.ts +0 -136
- package/dropdown/dropdown.theme.d.ts +0 -56
- package/dropdown/dropdown.theme.service.d.ts +0 -19
- package/fesm2022/flowbite-angular-core.mjs +0 -322
- package/fesm2022/flowbite-angular-core.mjs.map +0 -1
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +0 -138
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +0 -1
- package/fesm2022/flowbite-angular-router-link-active.mjs +0 -68
- package/fesm2022/flowbite-angular-router-link-active.mjs.map +0 -1
- package/fesm2022/flowbite-angular-router-link.mjs +0 -73
- package/fesm2022/flowbite-angular-router-link.mjs.map +0 -1
- package/fesm2022/flowbite-angular-sanitize-html.mjs +0 -39
- package/fesm2022/flowbite-angular-sanitize-html.mjs.map +0 -1
- package/fesm2022/flowbite-angular-scroll-top.mjs +0 -192
- package/fesm2022/flowbite-angular-scroll-top.mjs.map +0 -1
- package/fesm2022/flowbite-angular-theme.mjs +0 -78
- package/fesm2022/flowbite-angular-theme.mjs.map +0 -1
- package/fesm2022/flowbite-angular-utils.mjs +0 -210
- package/fesm2022/flowbite-angular-utils.mjs.map +0 -1
- package/flowbite.theme.service.d.ts +0 -12
- package/icon/icon-registry.d.ts +0 -45
- package/icon/icon.component.d.ts +0 -22
- package/icon/trusted-types.d.ts +0 -15
- package/indicator/indicators.component.d.ts +0 -224
- package/indicator/indicators.theme.d.ts +0 -59
- package/indicator/indicators.theme.service.d.ts +0 -19
- package/modal/modal-body.component.d.ts +0 -36
- package/modal/modal-body.theme.d.ts +0 -23
- package/modal/modal-body.theme.service.d.ts +0 -19
- package/modal/modal-footer.component.d.ts +0 -36
- package/modal/modal-footer.theme.d.ts +0 -23
- package/modal/modal-footer.theme.service.d.ts +0 -19
- package/modal/modal-header.component.d.ts +0 -60
- package/modal/modal-header.theme.d.ts +0 -32
- package/modal/modal-header.theme.service.d.ts +0 -19
- package/modal/modal.component.d.ts +0 -146
- package/modal/modal.theme.d.ts +0 -35
- package/modal/modal.theme.service.d.ts +0 -19
- package/navbar/navbar-brand.component.d.ts +0 -36
- package/navbar/navbar-brand.theme.d.ts +0 -23
- package/navbar/navbar-brand.theme.service.d.ts +0 -19
- package/navbar/navbar-content.component.d.ts +0 -50
- package/navbar/navbar-content.theme.d.ts +0 -28
- package/navbar/navbar-content.theme.service.d.ts +0 -19
- package/navbar/navbar-icon-button.component.d.ts +0 -59
- package/navbar/navbar-icon-button.theme.d.ts +0 -26
- package/navbar/navbar-icon-button.theme.service.d.ts +0 -19
- package/navbar/navbar-item.component.d.ts +0 -67
- package/navbar/navbar-item.theme.d.ts +0 -26
- package/navbar/navbar-item.theme.service.d.ts +0 -19
- package/navbar/navbar-toggle.component.d.ts +0 -51
- package/navbar/navbar-toggle.theme.d.ts +0 -23
- package/navbar/navbar-toggle.theme.service.d.ts +0 -19
- package/navbar/navbar.component.d.ts +0 -121
- package/navbar/navbar.theme.d.ts +0 -21
- package/navbar/navbar.theme.service.d.ts +0 -19
- package/router-link/README.md +0 -4
- package/router-link/flowbite-router-link.directive.d.ts +0 -28
- package/router-link/index.d.ts +0 -1
- package/router-link-active/README.md +0 -4
- package/router-link-active/flowbite-router-link-active.directive.d.ts +0 -37
- package/router-link-active/index.d.ts +0 -1
- package/sanitize-html/README.md +0 -4
- package/sanitize-html/index.d.ts +0 -1
- package/sanitize-html/sanitize-html.pipe.d.ts +0 -20
- package/scroll-top/README.md +0 -4
- package/scroll-top/index.d.ts +0 -4
- package/scroll-top/scroll-top.component.d.ts +0 -114
- package/scroll-top/scroll-top.theme.d.ts +0 -39
- package/scroll-top/scroll-top.theme.service.d.ts +0 -19
- package/sidebar/sidebar-item-group.component.d.ts +0 -100
- package/sidebar/sidebar-item-group.theme.d.ts +0 -31
- package/sidebar/sidebar-item-group.theme.service.d.ts +0 -19
- package/sidebar/sidebar-item.component.d.ts +0 -101
- package/sidebar/sidebar-item.theme.d.ts +0 -33
- package/sidebar/sidebar-item.theme.service.d.ts +0 -19
- package/sidebar/sidebar-menu.component.d.ts +0 -93
- package/sidebar/sidebar-menu.theme.d.ts +0 -30
- package/sidebar/sidebar-menu.theme.service.d.ts +0 -19
- package/sidebar/sidebar-page-content.component.d.ts +0 -46
- package/sidebar/sidebar-page-content.theme.d.ts +0 -27
- package/sidebar/sidebar-page-content.theme.service.d.ts +0 -19
- package/sidebar/sidebar-toggle.component.d.ts +0 -95
- package/sidebar/sidebar-toggle.theme.d.ts +0 -34
- package/sidebar/sidebar-toggle.theme.service.d.ts +0 -19
- package/sidebar/sidebar.component.d.ts +0 -84
- package/sidebar/sidebar.theme.d.ts +0 -22
- package/sidebar/sidebar.theme.service.d.ts +0 -19
- package/tailwind.config.js +0 -303
- package/theme/README.md +0 -4
- package/theme/flowbite-theme.directive.d.ts +0 -36
- package/theme/index.d.ts +0 -1
- package/type-definitions/colors/flowbite.colors.d.ts +0 -19
- package/type-definitions/colors/flowbite.gradient-colors.d.ts +0 -11
- package/type-definitions/colors/flowbite.gradient-duo-tone-colors.d.ts +0 -12
- package/type-definitions/colors/index.d.ts +0 -3
- package/type-definitions/flowbite.boolean.d.ts +0 -14
- package/type-definitions/flowbite.class.d.ts +0 -6
- package/type-definitions/flowbite.combination.d.ts +0 -8
- package/type-definitions/flowbite.content-positions.d.ts +0 -6
- package/type-definitions/flowbite.deep-partial.d.ts +0 -6
- package/type-definitions/flowbite.heading-levels.d.ts +0 -4
- package/type-definitions/flowbite.positions.d.ts +0 -14
- package/type-definitions/flowbite.router-link-parameter.d.ts +0 -5
- package/type-definitions/flowbite.sizes.d.ts +0 -10
- package/type-definitions/flowbite.themes.d.ts +0 -4
- package/type-definitions/index.d.ts +0 -12
- package/utils/README.md +0 -4
- package/utils/icon.list.d.ts +0 -7
- package/utils/id.generator.d.ts +0 -59
- package/utils/index.d.ts +0 -8
- package/utils/theme/clone-deep.d.ts +0 -7
- package/utils/theme/create-class.d.ts +0 -7
- package/utils/theme/create-theme.d.ts +0 -7
- package/utils/theme/is-object.d.ts +0 -7
- package/utils/theme/merge-theme.d.ts +0 -8
- package/utils/theme/to-string.d.ts +0 -7
|
@@ -1,248 +1,320 @@
|
|
|
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 {
|
|
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';
|
|
9
10
|
|
|
11
|
+
const flowbiteBreadcrumbTheme = createTheme({
|
|
12
|
+
host: {
|
|
13
|
+
base: 'inline-flex items-center gap-1 rounded-lg px-5 py-3',
|
|
14
|
+
transition: '',
|
|
15
|
+
solid: {
|
|
16
|
+
on: 'border',
|
|
17
|
+
off: 'border-none bg-transparent',
|
|
18
|
+
},
|
|
19
|
+
color: {
|
|
20
|
+
default: {
|
|
21
|
+
light: 'border-gray-300 bg-gray-100',
|
|
22
|
+
dark: 'dark:border-gray-900 dark:bg-gray-800',
|
|
23
|
+
},
|
|
24
|
+
info: {
|
|
25
|
+
light: 'border-blue-300 bg-blue-100',
|
|
26
|
+
dark: 'dark:border-blue-900 dark:bg-blue-800',
|
|
27
|
+
},
|
|
28
|
+
failure: {
|
|
29
|
+
light: 'border-red-300 bg-red-100',
|
|
30
|
+
dark: 'dark:border-red-900 dark:bg-red-800',
|
|
31
|
+
},
|
|
32
|
+
success: {
|
|
33
|
+
light: 'border-green-300 bg-green-100',
|
|
34
|
+
dark: 'dark:border-green-900 dark:bg-green-800',
|
|
35
|
+
},
|
|
36
|
+
warning: {
|
|
37
|
+
light: 'border-yellow-300 bg-yellow-100',
|
|
38
|
+
dark: 'dark:border-yellow-900 dark:bg-yellow-800',
|
|
39
|
+
},
|
|
40
|
+
primary: {
|
|
41
|
+
light: 'border-primary-300 bg-primary-100',
|
|
42
|
+
dark: 'dark:border-primary-900 dark:bg-primary-800',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const defaultFlowbiteBreadcrumbConfig = {
|
|
49
|
+
baseTheme: flowbiteBreadcrumbTheme,
|
|
50
|
+
color: 'default',
|
|
51
|
+
solid: false,
|
|
52
|
+
customTheme: {},
|
|
53
|
+
};
|
|
54
|
+
const FlowbiteBreadcrumbConfigToken = new InjectionToken('FlowbiteBreadcrumbConfigToken');
|
|
10
55
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* @
|
|
14
|
-
* ```
|
|
15
|
-
* var theme = inject(FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN)
|
|
16
|
-
* ```
|
|
56
|
+
* Provide the default Breadcrumb configuration
|
|
57
|
+
* @param config The Breadcrumb configuration
|
|
58
|
+
* @returns The provider
|
|
17
59
|
*/
|
|
18
|
-
const
|
|
19
|
-
class BreadcrumbItemThemeService {
|
|
20
|
-
constructor() {
|
|
21
|
-
this.baseTheme = inject(FLOWBITE_BREADCRUMB_ITEM_THEME_TOKEN);
|
|
22
|
-
}
|
|
23
|
-
getClasses(properties) {
|
|
24
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
25
|
-
const output = {
|
|
26
|
-
rootClass: twMerge(theme.root.base, theme.root.color[properties.color]),
|
|
27
|
-
breadcrumbIconClass: twMerge(theme.icon.base),
|
|
28
|
-
};
|
|
29
|
-
return output;
|
|
30
|
-
}
|
|
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
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbItemThemeService, decorators: [{
|
|
35
|
-
type: Injectable,
|
|
36
|
-
args: [{
|
|
37
|
-
providedIn: 'root',
|
|
38
|
-
}]
|
|
39
|
-
}] });
|
|
40
|
-
|
|
41
|
-
const FLOWBITE_BREADCRUMB_ITEM_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BREADCRUMB_ITEM_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
42
|
-
const breadcrumbItemDefaultValueProvider = makeEnvironmentProviders([
|
|
60
|
+
const provideFlowbiteBreadcrumbConfig = (config) => [
|
|
43
61
|
{
|
|
44
|
-
provide:
|
|
45
|
-
useValue: {},
|
|
62
|
+
provide: FlowbiteBreadcrumbConfigToken,
|
|
63
|
+
useValue: { ...defaultFlowbiteBreadcrumbConfig, ...config },
|
|
46
64
|
},
|
|
47
|
-
]
|
|
65
|
+
];
|
|
48
66
|
/**
|
|
49
|
-
*
|
|
67
|
+
* Inject the Breadcrumb configuration
|
|
68
|
+
* @see {@link defaultFlowbiteBreadcrumbConfig}
|
|
69
|
+
* @returns The configuration
|
|
50
70
|
*/
|
|
51
|
-
|
|
71
|
+
const injectFlowbiteBreadcrumbConfig = () => inject(FlowbiteBreadcrumbConfigToken, { optional: true }) ?? defaultFlowbiteBreadcrumbConfig;
|
|
72
|
+
|
|
73
|
+
const FlowbiteBreadcrumbStateToken = createStateToken('Flowbite Breadcrumb');
|
|
74
|
+
const provideFlowbiteBreadcrumbState = createStateProvider(FlowbiteBreadcrumbStateToken);
|
|
75
|
+
const injectFlowbiteBreadcrumbState = createStateInjector(FlowbiteBreadcrumbStateToken);
|
|
76
|
+
const flowbiteBreadcrumbState = createState(FlowbiteBreadcrumbStateToken);
|
|
77
|
+
|
|
78
|
+
class Breadcrumb {
|
|
52
79
|
constructor() {
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Service injected used to generate class
|
|
56
|
-
*/
|
|
57
|
-
this.themeService = inject(BreadcrumbItemThemeService);
|
|
58
|
-
/**
|
|
59
|
-
* The parent `BreadcrumbComponent`
|
|
60
|
-
*/
|
|
61
|
-
this.breadcrumbComponent = inject(BreadcrumbComponent);
|
|
80
|
+
this.config = injectFlowbiteBreadcrumbConfig();
|
|
62
81
|
/**
|
|
63
|
-
*
|
|
82
|
+
* @see {@link injectFlowbiteBreadcrumbConfig}
|
|
64
83
|
*/
|
|
65
|
-
this.
|
|
84
|
+
this.color = input(this.config.color);
|
|
66
85
|
/**
|
|
67
|
-
*
|
|
86
|
+
* @see {@link injectFlowbiteBreadcrumbConfig}
|
|
68
87
|
*/
|
|
69
|
-
this.
|
|
88
|
+
this.solid = input(this.config.solid, { transform: booleanAttribute });
|
|
70
89
|
/**
|
|
71
|
-
*
|
|
90
|
+
* @see {@link injectFlowbiteBreadcrumbConfig}
|
|
72
91
|
*/
|
|
73
|
-
this.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
92
|
+
this.customTheme = input(this.config.customTheme);
|
|
93
|
+
this.theme = computed(() => {
|
|
94
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
95
|
+
return {
|
|
96
|
+
host: {
|
|
97
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, this.state.solid() &&
|
|
98
|
+
mergedTheme.host.solid[this.state.solid() ? 'on' : 'off'] &&
|
|
99
|
+
colorToTheme(mergedTheme.host.color, this.state.color())),
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
});
|
|
81
103
|
/**
|
|
82
|
-
*
|
|
104
|
+
* @internal
|
|
83
105
|
*/
|
|
84
|
-
this.
|
|
85
|
-
}
|
|
86
|
-
//#endregion
|
|
87
|
-
//#region BaseComponent implementation
|
|
88
|
-
fetchClass() {
|
|
89
|
-
return this.themeService.getClasses({
|
|
90
|
-
color: this.color(),
|
|
91
|
-
link: this.flowbiteRouterLink?.routerLink.urlTree ?? null,
|
|
92
|
-
customStyle: this.customStyle(),
|
|
93
|
-
});
|
|
106
|
+
this.state = flowbiteBreadcrumbState(this);
|
|
94
107
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
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
|
-
<flowbite-icon
|
|
101
|
-
[class]="contentClasses().breadcrumbIconClass"
|
|
102
|
-
svgIcon="flowbite-angular:chevron-right" />
|
|
103
|
-
<ng-content />
|
|
104
|
-
`, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Breadcrumb, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
109
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: Breadcrumb, isStandalone: true, selector: "\n nav[flowbiteBreadcrumb]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, solid: { classPropertyName: "solid", publicName: "solid", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteBreadcrumbState()], exportAs: ["flowbiteBreadcrumb"], ngImport: i0 }); }
|
|
105
110
|
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
107
|
-
type:
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Breadcrumb, decorators: [{
|
|
112
|
+
type: Directive,
|
|
108
113
|
args: [{
|
|
109
|
-
|
|
110
|
-
selector:
|
|
111
|
-
|
|
112
|
-
<flowbite-icon
|
|
113
|
-
[class]="contentClasses().breadcrumbIconClass"
|
|
114
|
-
svgIcon="flowbite-angular:chevron-right" />
|
|
115
|
-
<ng-content />
|
|
114
|
+
standalone: true,
|
|
115
|
+
selector: `
|
|
116
|
+
nav[flowbiteBreadcrumb]
|
|
116
117
|
`,
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
exportAs: 'flowbiteBreadcrumb',
|
|
119
|
+
hostDirectives: [],
|
|
120
|
+
providers: [provideFlowbiteBreadcrumbState()],
|
|
121
|
+
host: {
|
|
122
|
+
'[class]': `theme().host.root`,
|
|
123
|
+
},
|
|
119
124
|
}]
|
|
120
125
|
}] });
|
|
121
126
|
|
|
127
|
+
const flowbiteBreadcrumbItemTheme = createTheme({
|
|
128
|
+
host: {
|
|
129
|
+
base: 'group flex items-center justify-between text-sm font-medium data-hover:cursor-pointer',
|
|
130
|
+
transition: '',
|
|
131
|
+
color: {
|
|
132
|
+
default: {
|
|
133
|
+
light: 'text-gray-700 data-hover:text-gray-900',
|
|
134
|
+
dark: 'dark:text-gray-100 dark:data-hover:text-white',
|
|
135
|
+
},
|
|
136
|
+
info: {
|
|
137
|
+
light: 'text-blue-700 data-hover:text-blue-900',
|
|
138
|
+
dark: 'dark:text-blue-100 dark:data-hover:text-blue-300',
|
|
139
|
+
},
|
|
140
|
+
failure: {
|
|
141
|
+
light: 'text-red-700 data-hover:text-red-900',
|
|
142
|
+
dark: 'dark:text-red-100 dark:data-hover:text-red-300',
|
|
143
|
+
},
|
|
144
|
+
success: {
|
|
145
|
+
light: 'text-green-700 data-hover:text-green-900',
|
|
146
|
+
dark: 'dark:text-green-100 dark:data-hover:text-green-300',
|
|
147
|
+
},
|
|
148
|
+
warning: {
|
|
149
|
+
light: 'text-yellow-700 data-hover:text-yellow-900',
|
|
150
|
+
dark: 'dark:text-yellow-100 dark:data-hover:text-yellow-300',
|
|
151
|
+
},
|
|
152
|
+
primary: {
|
|
153
|
+
light: 'data-hover:text-primary-900 text-primary-700',
|
|
154
|
+
dark: 'dark:text-primary-100 dark:data-hover:text-primary-300',
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
const defaultFlowbiteBreadcrumbItemConfig = {
|
|
161
|
+
baseTheme: flowbiteBreadcrumbItemTheme,
|
|
162
|
+
customTheme: {},
|
|
163
|
+
};
|
|
164
|
+
const FlowbiteBreadcrumbItemConfigToken = new InjectionToken('FlowbiteBreadcrumbConfigToken');
|
|
122
165
|
/**
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* @
|
|
126
|
-
* ```
|
|
127
|
-
* var theme = inject(FLOWBITE_BREADCRUMB_THEME_TOKEN)
|
|
128
|
-
* ```
|
|
166
|
+
* Provide the default Breadcrumb Item configuration
|
|
167
|
+
* @param config The Breadcrumb configuration
|
|
168
|
+
* @returns The provider
|
|
129
169
|
*/
|
|
130
|
-
const
|
|
131
|
-
class BreadcrumbThemeService {
|
|
132
|
-
constructor() {
|
|
133
|
-
this.baseTheme = inject(FLOWBITE_BREADCRUMB_THEME_TOKEN);
|
|
134
|
-
}
|
|
135
|
-
getClasses(properties) {
|
|
136
|
-
const theme = mergeTheme(this.baseTheme, properties.customStyle);
|
|
137
|
-
const output = {
|
|
138
|
-
rootClass: twMerge(theme.root.base),
|
|
139
|
-
};
|
|
140
|
-
return output;
|
|
141
|
-
}
|
|
142
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
143
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbThemeService, providedIn: 'root' }); }
|
|
144
|
-
}
|
|
145
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: BreadcrumbThemeService, decorators: [{
|
|
146
|
-
type: Injectable,
|
|
147
|
-
args: [{
|
|
148
|
-
providedIn: 'root',
|
|
149
|
-
}]
|
|
150
|
-
}] });
|
|
151
|
-
|
|
152
|
-
const FLOWBITE_BREADCRUMB_COLOR_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BREADCRUMB_COLOR_DEFAULT_VALUE');
|
|
153
|
-
const FLOWBITE_BREADCRUMB_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_BREADCRUMB_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
154
|
-
const breadcrumbDefaultValueProvider = makeEnvironmentProviders([
|
|
170
|
+
const provideFlowbiteBreadcrumbItemConfig = (config) => [
|
|
155
171
|
{
|
|
156
|
-
provide:
|
|
157
|
-
useValue:
|
|
172
|
+
provide: FlowbiteBreadcrumbItemConfigToken,
|
|
173
|
+
useValue: { ...defaultFlowbiteBreadcrumbItemConfig, ...config },
|
|
158
174
|
},
|
|
159
|
-
|
|
160
|
-
provide: FLOWBITE_BREADCRUMB_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
161
|
-
useValue: {},
|
|
162
|
-
},
|
|
163
|
-
]);
|
|
175
|
+
];
|
|
164
176
|
/**
|
|
165
|
-
*
|
|
177
|
+
* Inject the Breadcrumb Item configuration
|
|
178
|
+
* @see {@link defaultFlowbiteBreadcrumbItemConfig}
|
|
179
|
+
* @returns The configuration
|
|
166
180
|
*/
|
|
167
|
-
|
|
181
|
+
const injectFlowbiteBreadcrumbItemConfig = () => inject(FlowbiteBreadcrumbItemConfigToken, { optional: true }) ??
|
|
182
|
+
defaultFlowbiteBreadcrumbItemConfig;
|
|
183
|
+
|
|
184
|
+
const FlowbiteBreadcrumbItemStateToken = createStateToken('Flowbite Breadcrumb Item');
|
|
185
|
+
const provideFlowbiteBreadcrumbItemState = createStateProvider(FlowbiteBreadcrumbItemStateToken);
|
|
186
|
+
const injectFlowbiteBreadcrumbItemState = createStateInjector(FlowbiteBreadcrumbItemStateToken);
|
|
187
|
+
const flowbiteBreadcrumbItemState = createState(FlowbiteBreadcrumbItemStateToken);
|
|
188
|
+
|
|
189
|
+
class BreadcrumbItem {
|
|
168
190
|
constructor() {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
* Service injected used to generate class
|
|
172
|
-
*/
|
|
173
|
-
this.themeService = inject(BreadcrumbThemeService);
|
|
174
|
-
/**
|
|
175
|
-
* List of `BreadcrumbItemComponent`
|
|
176
|
-
*/
|
|
177
|
-
this.breadcrumbItemChildren = contentChildren(BreadcrumbItemComponent);
|
|
178
|
-
//#region properties
|
|
191
|
+
this.config = injectFlowbiteBreadcrumbItemConfig();
|
|
192
|
+
this.breadcrumbState = injectFlowbiteBreadcrumbState();
|
|
179
193
|
/**
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
* @default primary
|
|
194
|
+
* @see {@link injectFlowbiteBreadcrumbItemConfig}
|
|
183
195
|
*/
|
|
184
|
-
this.
|
|
196
|
+
this.customTheme = input(this.config.customTheme);
|
|
197
|
+
this.theme = computed(() => {
|
|
198
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
199
|
+
return {
|
|
200
|
+
host: {
|
|
201
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, colorToTheme(mergedTheme.host.color, this.breadcrumbState().color())),
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
});
|
|
185
205
|
/**
|
|
186
|
-
*
|
|
206
|
+
* @internal
|
|
187
207
|
*/
|
|
188
|
-
this.
|
|
189
|
-
}
|
|
190
|
-
//#endregion
|
|
191
|
-
//#region BaseComponent implementation
|
|
192
|
-
fetchClass() {
|
|
193
|
-
return this.themeService.getClasses({
|
|
194
|
-
customStyle: this.customStyle(),
|
|
195
|
-
});
|
|
208
|
+
this.state = flowbiteBreadcrumbItemState(this);
|
|
196
209
|
}
|
|
197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
198
|
-
static { this.ɵ
|
|
210
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BreadcrumbItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
211
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: BreadcrumbItem, isStandalone: true, selector: "\n li[flowbiteBreadcrumbItem]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteBreadcrumbItemState()], exportAs: ["flowbiteBreadcrumbItem"], hostDirectives: [{ directive: i1.NgpButton, inputs: ["disabled", "disabled"] }, { directive: i2.NgpFocus }], ngImport: i0 }); }
|
|
199
212
|
}
|
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
201
|
-
type:
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BreadcrumbItem, decorators: [{
|
|
214
|
+
type: Directive,
|
|
202
215
|
args: [{
|
|
203
216
|
standalone: true,
|
|
204
|
-
selector:
|
|
205
|
-
|
|
217
|
+
selector: `
|
|
218
|
+
li[flowbiteBreadcrumbItem]
|
|
219
|
+
`,
|
|
220
|
+
exportAs: 'flowbiteBreadcrumbItem',
|
|
221
|
+
hostDirectives: [
|
|
222
|
+
{
|
|
223
|
+
directive: NgpButton,
|
|
224
|
+
inputs: ['disabled:disabled'],
|
|
225
|
+
outputs: [],
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
directive: NgpFocus,
|
|
229
|
+
inputs: [],
|
|
230
|
+
outputs: [],
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
providers: [provideFlowbiteBreadcrumbItemState()],
|
|
206
234
|
host: {
|
|
207
|
-
'[
|
|
235
|
+
'[class]': `theme().host.root`,
|
|
208
236
|
},
|
|
209
|
-
encapsulation: ViewEncapsulation.None,
|
|
210
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
211
237
|
}]
|
|
212
238
|
}] });
|
|
213
239
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
root: {
|
|
219
|
-
base: 'flex items-center',
|
|
240
|
+
const flowbiteBreadcrumbContentTheme = createTheme({
|
|
241
|
+
host: {
|
|
242
|
+
base: 'inline-flex items-center space-x-1 md:space-x-2',
|
|
243
|
+
transition: '',
|
|
220
244
|
},
|
|
221
245
|
});
|
|
222
246
|
|
|
247
|
+
const defaultFlowbiteBreadcrumbContentConfig = {
|
|
248
|
+
baseTheme: flowbiteBreadcrumbContentTheme,
|
|
249
|
+
customTheme: {},
|
|
250
|
+
};
|
|
251
|
+
const FlowbiteBreadcrumbContentConfigToken = new InjectionToken('FlowbiteBreadcrumbContentConfigToken');
|
|
223
252
|
/**
|
|
224
|
-
*
|
|
253
|
+
* Provide the default BreadcrumbContent configuration
|
|
254
|
+
* @param config The BreadcrumbContent configuration
|
|
255
|
+
* @returns The provider
|
|
225
256
|
*/
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
primary: 'text-primary-700 dark:text-primary-400 hover:text-primary-900 dark:hover:text-primary-500',
|
|
231
|
-
dark: 'text-gray-700 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white',
|
|
232
|
-
blue: 'text-blue-700 dark:text-blue-400 hover:text-blue-900 dark:hover:text-blue-500',
|
|
233
|
-
red: 'text-red-700 dark:text-red-400 hover:text-red-900 dark:hover:text-red-500',
|
|
234
|
-
green: 'text-green-700 dark:text-green-400 hover:text-green-900 dark:hover:text-green-500',
|
|
235
|
-
yellow: 'text-yellow-700 dark:text-yellow-400 hover:text-yellow-900 dark:hover:text-yellow-500',
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
icon: {
|
|
239
|
-
base: 'mx-1 h-6 w-6 md:mx-2 group-first:hidden',
|
|
257
|
+
const provideFlowbiteBreadcrumbContentConfig = (config) => [
|
|
258
|
+
{
|
|
259
|
+
provide: FlowbiteBreadcrumbContentConfigToken,
|
|
260
|
+
useValue: { ...defaultFlowbiteBreadcrumbContentConfig, ...config },
|
|
240
261
|
},
|
|
241
|
-
|
|
262
|
+
];
|
|
263
|
+
/**
|
|
264
|
+
* Inject the BreadcrumbContent configuration
|
|
265
|
+
* @see {@link defaultFlowbiteBreadcrumbContentConfig}
|
|
266
|
+
* @returns The configuration
|
|
267
|
+
*/
|
|
268
|
+
const injectFlowbiteBreadcrumbContentConfig = () => inject(FlowbiteBreadcrumbContentConfigToken, { optional: true }) ??
|
|
269
|
+
defaultFlowbiteBreadcrumbContentConfig;
|
|
270
|
+
|
|
271
|
+
const FlowbiteBreadcrumbContentStateToken = createStateToken('Flowbite BreadcrumbContent');
|
|
272
|
+
const provideFlowbiteBreadcrumbContentState = createStateProvider(FlowbiteBreadcrumbContentStateToken);
|
|
273
|
+
const injectFlowbiteBreadcrumbContentState = createStateInjector(FlowbiteBreadcrumbContentStateToken);
|
|
274
|
+
const flowbiteBreadcrumbContentState = createState(FlowbiteBreadcrumbContentStateToken);
|
|
275
|
+
|
|
276
|
+
class BreadcrumbContent {
|
|
277
|
+
constructor() {
|
|
278
|
+
this.config = injectFlowbiteBreadcrumbContentConfig();
|
|
279
|
+
/**
|
|
280
|
+
* @see {@link injectFlowbiteBreadcrumbContentConfig}
|
|
281
|
+
*/
|
|
282
|
+
this.customTheme = input(this.config.customTheme);
|
|
283
|
+
this.theme = computed(() => {
|
|
284
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
285
|
+
return {
|
|
286
|
+
host: {
|
|
287
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition),
|
|
288
|
+
},
|
|
289
|
+
};
|
|
290
|
+
});
|
|
291
|
+
/**
|
|
292
|
+
* @internal
|
|
293
|
+
*/
|
|
294
|
+
this.state = flowbiteBreadcrumbContentState(this);
|
|
295
|
+
}
|
|
296
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BreadcrumbContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
297
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: BreadcrumbContent, isStandalone: true, selector: "\n ol[flowbiteBreadcrumbContent]\n ", inputs: { customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbiteBreadcrumbContentState()], exportAs: ["flowbiteBreadcrumbContent"], ngImport: i0 }); }
|
|
298
|
+
}
|
|
299
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: BreadcrumbContent, decorators: [{
|
|
300
|
+
type: Directive,
|
|
301
|
+
args: [{
|
|
302
|
+
standalone: true,
|
|
303
|
+
selector: `
|
|
304
|
+
ol[flowbiteBreadcrumbContent]
|
|
305
|
+
`,
|
|
306
|
+
exportAs: 'flowbiteBreadcrumbContent',
|
|
307
|
+
hostDirectives: [],
|
|
308
|
+
providers: [provideFlowbiteBreadcrumbContentState()],
|
|
309
|
+
host: { '[class]': `theme().host.root` },
|
|
310
|
+
}]
|
|
311
|
+
}] });
|
|
312
|
+
|
|
313
|
+
/* Breadcrumb */
|
|
242
314
|
|
|
243
315
|
/**
|
|
244
316
|
* Generated bundle index. Do not edit.
|
|
245
317
|
*/
|
|
246
318
|
|
|
247
|
-
export {
|
|
319
|
+
export { Breadcrumb, BreadcrumbContent, BreadcrumbItem, FlowbiteBreadcrumbConfigToken, FlowbiteBreadcrumbContentConfigToken, FlowbiteBreadcrumbContentStateToken, FlowbiteBreadcrumbItemConfigToken, FlowbiteBreadcrumbItemStateToken, FlowbiteBreadcrumbStateToken, defaultFlowbiteBreadcrumbConfig, defaultFlowbiteBreadcrumbContentConfig, defaultFlowbiteBreadcrumbItemConfig, flowbiteBreadcrumbContentState, flowbiteBreadcrumbContentTheme, flowbiteBreadcrumbItemState, flowbiteBreadcrumbItemTheme, flowbiteBreadcrumbState, flowbiteBreadcrumbTheme, injectFlowbiteBreadcrumbConfig, injectFlowbiteBreadcrumbContentConfig, injectFlowbiteBreadcrumbContentState, injectFlowbiteBreadcrumbItemConfig, injectFlowbiteBreadcrumbItemState, injectFlowbiteBreadcrumbState, provideFlowbiteBreadcrumbConfig, provideFlowbiteBreadcrumbContentConfig, provideFlowbiteBreadcrumbContentState, provideFlowbiteBreadcrumbItemConfig, provideFlowbiteBreadcrumbItemState, provideFlowbiteBreadcrumbState };
|
|
248
320
|
//# sourceMappingURL=flowbite-angular-breadcrumb.mjs.map
|