flowbite-angular 1.3.0 → 20.0.2
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/flowbite-angular.css +2 -0
- 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 +133 -38
- 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
|
@@ -0,0 +1,994 @@
|
|
|
1
|
+
import { createTheme, mergeDeep, colorToTheme } from 'flowbite-angular';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { InjectionToken, inject, input, booleanAttribute, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
4
|
+
import { createStateToken, createStateProvider, createStateInjector, createState } from 'ng-primitives/state';
|
|
5
|
+
import { provideButtonState } from 'ng-primitives/button';
|
|
6
|
+
import * as i2 from 'ng-primitives/interactions';
|
|
7
|
+
import { NgpFocus } from 'ng-primitives/interactions';
|
|
8
|
+
import * as i1 from 'ng-primitives/pagination';
|
|
9
|
+
import { NgpPaginationButton, NgpPaginationFirst, NgpPaginationLast, NgpPaginationNext, NgpPaginationPrevious, injectPaginationState, NgpPagination } from 'ng-primitives/pagination';
|
|
10
|
+
import { twMerge } from 'tailwind-merge';
|
|
11
|
+
import { Icon } from 'flowbite-angular/icon';
|
|
12
|
+
import { chevronDoubleLeft, chevronDoubleRight, chevronRight, chevronLeft } from 'flowbite-angular/icon/outline/arrows';
|
|
13
|
+
import { provideIcons } from '@ng-icons/core';
|
|
14
|
+
|
|
15
|
+
const flowbitePaginationTheme = createTheme({
|
|
16
|
+
host: {
|
|
17
|
+
base: '',
|
|
18
|
+
transition: '',
|
|
19
|
+
},
|
|
20
|
+
container: {
|
|
21
|
+
base: 'inline-flex -space-x-px text-sm',
|
|
22
|
+
transition: '',
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const defaultFlowbitePaginationConfig = {
|
|
27
|
+
baseTheme: flowbitePaginationTheme,
|
|
28
|
+
tabs: 5,
|
|
29
|
+
color: 'default',
|
|
30
|
+
size: 'md',
|
|
31
|
+
customTheme: {},
|
|
32
|
+
};
|
|
33
|
+
const FlowbitePaginationConfigToken = new InjectionToken('FlowbitePaginationConfigToken');
|
|
34
|
+
/**
|
|
35
|
+
* Provide the default Pagination configuration
|
|
36
|
+
* @param config The Pagination configuration
|
|
37
|
+
* @returns The provider
|
|
38
|
+
*/
|
|
39
|
+
const provideFlowbitePaginationConfig = (config) => [
|
|
40
|
+
{
|
|
41
|
+
provide: FlowbitePaginationConfigToken,
|
|
42
|
+
useValue: { ...defaultFlowbitePaginationConfig, ...config },
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
/**
|
|
46
|
+
* Inject the Pagination configuration
|
|
47
|
+
* @see {@link defaultFlowbitePaginationConfig}
|
|
48
|
+
* @returns The configuration
|
|
49
|
+
*/
|
|
50
|
+
const injectFlowbitePaginationConfig = () => inject(FlowbitePaginationConfigToken, { optional: true }) ?? defaultFlowbitePaginationConfig;
|
|
51
|
+
|
|
52
|
+
const flowbitePaginationButtonTheme = createTheme({
|
|
53
|
+
host: {
|
|
54
|
+
base: 'inline-flex h-full cursor-pointer items-center justify-center border border-transparent text-center font-medium',
|
|
55
|
+
transition: '',
|
|
56
|
+
focus: 'data-focus:outline-none data-focus-visible:outline-2',
|
|
57
|
+
disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
58
|
+
size: {
|
|
59
|
+
xs: 'min-w-8 px-2 py-2 text-xs',
|
|
60
|
+
sm: 'min-w-9 px-2.5 py-2.5 text-sm',
|
|
61
|
+
md: 'text-md min-w-10 px-3 py-2.5',
|
|
62
|
+
lg: 'min-w-11 px-3.5 py-3.5 text-lg',
|
|
63
|
+
xl: 'min-w-12 px-4 py-4 text-xl',
|
|
64
|
+
},
|
|
65
|
+
colorOutline: {
|
|
66
|
+
default: {
|
|
67
|
+
light: 'border-gray-700 text-gray-700 data-hover:bg-gray-700 data-hover:text-gray-100 data-selected:bg-gray-700 data-selected:text-gray-100',
|
|
68
|
+
dark: 'dark:border-gray-300 dark:text-gray-300 dark:data-hover:bg-gray-300 dark:data-hover:text-gray-700 dark:data-selected:bg-gray-300 dark:data-selected:text-gray-700',
|
|
69
|
+
},
|
|
70
|
+
info: {
|
|
71
|
+
light: 'border-blue-700 text-blue-700 data-hover:bg-blue-700 data-hover:text-gray-100 data-selected:bg-blue-700 data-selected:text-gray-100',
|
|
72
|
+
dark: 'dark:border-blue-700 dark:text-blue-600 dark:data-hover:bg-blue-700 dark:data-hover:text-gray-100 dark:data-selected:bg-blue-700 dark:data-selected:text-gray-100',
|
|
73
|
+
},
|
|
74
|
+
failure: {
|
|
75
|
+
light: 'border-red-700 text-red-700 data-hover:bg-red-700 data-hover:text-red-100 data-selected:bg-red-700 data-selected:text-red-100',
|
|
76
|
+
dark: 'dark:border-red-700 dark:text-red-600 dark:data-hover:bg-red-700 dark:data-hover:text-gray-100 dark:data-selected:bg-red-700 dark:data-selected:text-gray-100',
|
|
77
|
+
},
|
|
78
|
+
success: {
|
|
79
|
+
light: 'border-green-700 text-green-700 data-hover:bg-green-700 data-hover:text-green-100 data-selected:bg-green-700 data-selected:text-green-100',
|
|
80
|
+
dark: 'dark:border-green-700 dark:text-green-600 dark:data-hover:bg-green-700 dark:data-hover:text-gray-100 dark:data-selected:bg-green-700 dark:data-selected:text-gray-100',
|
|
81
|
+
},
|
|
82
|
+
warning: {
|
|
83
|
+
light: 'border-yellow-700 text-yellow-700 data-hover:bg-yellow-700 data-hover:text-yellow-100 data-selected:bg-yellow-700 data-selected:text-yellow-100',
|
|
84
|
+
dark: 'dark:border-yellow-700 dark:text-yellow-600 dark:data-hover:bg-yellow-700 dark:data-hover:text-gray-100 dark:data-selected:bg-yellow-700 dark:data-selected:text-gray-100',
|
|
85
|
+
},
|
|
86
|
+
primary: {
|
|
87
|
+
light: 'border-primary-700 text-primary-700 data-hover:bg-primary-700 data-hover:text-primary-100 data-selected:bg-primary-700 data-selected:text-primary-100',
|
|
88
|
+
dark: 'dark:border-primary-700 dark:text-primary-600 dark:data-hover:bg-primary-700 dark:data-selected:bg-primary-700 dark:data-hover:text-gray-100 dark:data-selected:text-gray-100',
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const defaultFlowbitePaginationButtonConfig = {
|
|
95
|
+
baseTheme: flowbitePaginationButtonTheme,
|
|
96
|
+
color: 'default',
|
|
97
|
+
size: 'md',
|
|
98
|
+
outline: false,
|
|
99
|
+
customTheme: {},
|
|
100
|
+
};
|
|
101
|
+
const FlowbitePaginationButtonConfigToken = new InjectionToken('FlowbitePaginationButtonConfigToken');
|
|
102
|
+
/**
|
|
103
|
+
* Provide the default PaginationButton configuration
|
|
104
|
+
* @param config The PaginationButton configuration
|
|
105
|
+
* @returns The provider
|
|
106
|
+
*/
|
|
107
|
+
const provideFlowbitePaginationButtonConfig = (config) => [
|
|
108
|
+
{
|
|
109
|
+
provide: FlowbitePaginationButtonConfigToken,
|
|
110
|
+
useValue: { ...defaultFlowbitePaginationButtonConfig, ...config },
|
|
111
|
+
},
|
|
112
|
+
];
|
|
113
|
+
/**
|
|
114
|
+
* Inject the PaginationButton configuration
|
|
115
|
+
* @see {@link defaultFlowbitePaginationButtonConfig}
|
|
116
|
+
* @returns The configuration
|
|
117
|
+
*/
|
|
118
|
+
const injectFlowbitePaginationButtonConfig = () => inject(FlowbitePaginationButtonConfigToken, { optional: true }) ??
|
|
119
|
+
defaultFlowbitePaginationButtonConfig;
|
|
120
|
+
|
|
121
|
+
const FlowbitePaginationButtonStateToken = createStateToken('Flowbite PaginationButton');
|
|
122
|
+
const provideFlowbitePaginationButtonState = createStateProvider(FlowbitePaginationButtonStateToken);
|
|
123
|
+
const injectFlowbitePaginationButtonState = createStateInjector(FlowbitePaginationButtonStateToken);
|
|
124
|
+
const flowbitePaginationButtonState = createState(FlowbitePaginationButtonStateToken);
|
|
125
|
+
|
|
126
|
+
class PaginationButton {
|
|
127
|
+
constructor() {
|
|
128
|
+
this.config = injectFlowbitePaginationButtonConfig();
|
|
129
|
+
/**
|
|
130
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
131
|
+
*/
|
|
132
|
+
this.color = input(this.config.color);
|
|
133
|
+
/**
|
|
134
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
135
|
+
*/
|
|
136
|
+
this.size = input(this.config.size);
|
|
137
|
+
/**
|
|
138
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
139
|
+
*/
|
|
140
|
+
this.outline = input(this.config.outline, {
|
|
141
|
+
transform: booleanAttribute,
|
|
142
|
+
});
|
|
143
|
+
/**
|
|
144
|
+
* @see {@link injectFlowbitePaginationButtonConfig}
|
|
145
|
+
*/
|
|
146
|
+
this.customTheme = input(this.config.customTheme);
|
|
147
|
+
this.theme = computed(() => {
|
|
148
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
149
|
+
return {
|
|
150
|
+
host: {
|
|
151
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.focus, mergedTheme.host.disabled, mergedTheme.host.size[this.state.size()], colorToTheme(mergedTheme.host.colorOutline, this.state.color())),
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
/**
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
this.state = flowbitePaginationButtonState(this);
|
|
159
|
+
}
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: PaginationButton, isStandalone: true, selector: "\n button[flowbitePaginationButton]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, outline: { classPropertyName: "outline", publicName: "outline", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [provideFlowbitePaginationButtonState(), provideButtonState()], exportAs: ["flowbitePaginationButton"], hostDirectives: [{ directive: i1.NgpPaginationButton, inputs: ["ngpPaginationButtonDisabled", "disabled", "ngpPaginationButtonPage", "page"] }, { directive: i2.NgpFocus }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
162
|
+
}
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationButton, decorators: [{
|
|
164
|
+
type: Component,
|
|
165
|
+
args: [{
|
|
166
|
+
standalone: true,
|
|
167
|
+
selector: `
|
|
168
|
+
button[flowbitePaginationButton]
|
|
169
|
+
`,
|
|
170
|
+
exportAs: 'flowbitePaginationButton',
|
|
171
|
+
hostDirectives: [
|
|
172
|
+
{
|
|
173
|
+
directive: NgpPaginationButton,
|
|
174
|
+
inputs: [' ngpPaginationButtonDisabled:disabled', 'ngpPaginationButtonPage:page'],
|
|
175
|
+
outputs: [],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
directive: NgpFocus,
|
|
179
|
+
inputs: [],
|
|
180
|
+
outputs: [],
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
imports: [],
|
|
184
|
+
providers: [provideFlowbitePaginationButtonState(), provideButtonState()],
|
|
185
|
+
host: { '[class]': `theme().host.root` },
|
|
186
|
+
template: `<ng-content />`,
|
|
187
|
+
encapsulation: ViewEncapsulation.None,
|
|
188
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
189
|
+
}]
|
|
190
|
+
}] });
|
|
191
|
+
|
|
192
|
+
const flowbitePaginationFirstTheme = createTheme({
|
|
193
|
+
host: {
|
|
194
|
+
base: 'inline-flex h-full cursor-pointer items-center justify-center rounded-l-md border border-transparent text-center font-medium *:[flowbite-icon]:w-full *:[flowbite-icon]:stroke-3',
|
|
195
|
+
transition: '',
|
|
196
|
+
focus: 'data-focus:outline-none data-focus-visible:outline-2',
|
|
197
|
+
disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
198
|
+
size: {
|
|
199
|
+
xs: 'w-8 px-2 py-2 text-xs',
|
|
200
|
+
sm: 'w-9 px-2.5 py-2.5 text-sm',
|
|
201
|
+
md: 'text-md w-10 px-3 py-2.5',
|
|
202
|
+
lg: 'w-11 px-3.5 py-3.5 text-lg',
|
|
203
|
+
xl: 'w-12 px-4 py-4 text-xl',
|
|
204
|
+
},
|
|
205
|
+
colorOutline: {
|
|
206
|
+
default: {
|
|
207
|
+
light: 'border-gray-700 text-gray-700 data-hover:bg-gray-700 data-hover:text-gray-100',
|
|
208
|
+
dark: 'dark:border-gray-300 dark:text-gray-300 dark:data-hover:bg-gray-300 dark:data-hover:text-gray-700',
|
|
209
|
+
},
|
|
210
|
+
info: {
|
|
211
|
+
light: 'border-blue-700 text-blue-700 data-hover:bg-blue-700 data-hover:text-gray-100',
|
|
212
|
+
dark: 'dark:border-blue-700 dark:text-blue-600 dark:data-hover:bg-blue-700 dark:data-hover:text-gray-100',
|
|
213
|
+
},
|
|
214
|
+
failure: {
|
|
215
|
+
light: 'border-red-700 text-red-700 data-hover:bg-red-700 data-hover:text-red-100',
|
|
216
|
+
dark: 'dark:border-red-700 dark:text-red-600 dark:data-hover:bg-red-700 dark:data-hover:text-gray-100',
|
|
217
|
+
},
|
|
218
|
+
success: {
|
|
219
|
+
light: 'border-green-700 text-green-700 data-hover:bg-green-700 data-hover:text-green-100',
|
|
220
|
+
dark: 'dark:border-green-700 dark:text-green-600 dark:data-hover:bg-green-700 dark:data-hover:text-gray-100',
|
|
221
|
+
},
|
|
222
|
+
warning: {
|
|
223
|
+
light: 'border-yellow-700 text-yellow-700 data-hover:bg-yellow-700 data-hover:text-yellow-100',
|
|
224
|
+
dark: 'dark:border-yellow-700 dark:text-yellow-600 dark:data-hover:bg-yellow-700 dark:data-hover:text-gray-100',
|
|
225
|
+
},
|
|
226
|
+
primary: {
|
|
227
|
+
light: 'border-primary-700 text-primary-700 data-hover:bg-primary-700 data-hover:text-primary-100',
|
|
228
|
+
dark: 'dark:border-primary-700 dark:text-primary-600 dark:data-hover:bg-primary-700 dark:data-hover:text-gray-100',
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
const defaultFlowbitePaginationFirstConfig = {
|
|
235
|
+
baseTheme: flowbitePaginationFirstTheme,
|
|
236
|
+
color: 'default',
|
|
237
|
+
size: 'md',
|
|
238
|
+
outline: false,
|
|
239
|
+
customTheme: {},
|
|
240
|
+
};
|
|
241
|
+
const FlowbitePaginationFirstConfigToken = new InjectionToken('FlowbitePaginationFirstConfigToken');
|
|
242
|
+
/**
|
|
243
|
+
* Provide the default PaginationFirst configuration
|
|
244
|
+
* @param config The PaginationFirst configuration
|
|
245
|
+
* @returns The provider
|
|
246
|
+
*/
|
|
247
|
+
const provideFlowbitePaginationFirstConfig = (config) => [
|
|
248
|
+
{
|
|
249
|
+
provide: FlowbitePaginationFirstConfigToken,
|
|
250
|
+
useValue: { ...defaultFlowbitePaginationFirstConfig, ...config },
|
|
251
|
+
},
|
|
252
|
+
];
|
|
253
|
+
/**
|
|
254
|
+
* Inject the PaginationFirst configuration
|
|
255
|
+
* @see {@link defaultFlowbitePaginationFirstConfig}
|
|
256
|
+
* @returns The configuration
|
|
257
|
+
*/
|
|
258
|
+
const injectFlowbitePaginationFirstConfig = () => inject(FlowbitePaginationFirstConfigToken, { optional: true }) ??
|
|
259
|
+
defaultFlowbitePaginationFirstConfig;
|
|
260
|
+
|
|
261
|
+
const FlowbitePaginationFirstStateToken = createStateToken('Flowbite PaginationFirst');
|
|
262
|
+
const provideFlowbitePaginationFirstState = createStateProvider(FlowbitePaginationFirstStateToken);
|
|
263
|
+
const injectFlowbitePaginationFirstState = createStateInjector(FlowbitePaginationFirstStateToken);
|
|
264
|
+
const flowbitePaginationFirstState = createState(FlowbitePaginationFirstStateToken);
|
|
265
|
+
|
|
266
|
+
class PaginationFirst {
|
|
267
|
+
constructor() {
|
|
268
|
+
this.config = injectFlowbitePaginationFirstConfig();
|
|
269
|
+
/**
|
|
270
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
271
|
+
*/
|
|
272
|
+
this.color = input(this.config.color);
|
|
273
|
+
/**
|
|
274
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
275
|
+
*/
|
|
276
|
+
this.size = input(this.config.size);
|
|
277
|
+
/**
|
|
278
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
279
|
+
*/
|
|
280
|
+
this.outline = input(this.config.outline, {
|
|
281
|
+
transform: booleanAttribute,
|
|
282
|
+
});
|
|
283
|
+
/**
|
|
284
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
285
|
+
*/
|
|
286
|
+
this.customTheme = input(this.config.customTheme);
|
|
287
|
+
this.theme = computed(() => {
|
|
288
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
289
|
+
return {
|
|
290
|
+
host: {
|
|
291
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.focus, mergedTheme.host.disabled, mergedTheme.host.size[this.state.size()], colorToTheme(mergedTheme.host.colorOutline, this.state.color())),
|
|
292
|
+
},
|
|
293
|
+
};
|
|
294
|
+
});
|
|
295
|
+
/**
|
|
296
|
+
* @internal
|
|
297
|
+
*/
|
|
298
|
+
this.state = flowbitePaginationFirstState(this);
|
|
299
|
+
}
|
|
300
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationFirst, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
301
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: PaginationFirst, isStandalone: true, selector: "\n button[flowbitePaginationFirst]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, outline: { classPropertyName: "outline", publicName: "outline", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [
|
|
302
|
+
provideFlowbitePaginationFirstState(),
|
|
303
|
+
provideButtonState(),
|
|
304
|
+
provideIcons({ chevronDoubleLeft }),
|
|
305
|
+
], exportAs: ["flowbitePaginationFirst"], hostDirectives: [{ directive: i1.NgpPaginationFirst, inputs: ["ngpPaginationFirstDisabled", "disabled"] }, { directive: i2.NgpFocus }], ngImport: i0, template: `<flowbite-icon name="chevronDoubleLeft" />`, isInline: true, dependencies: [{ kind: "component", type: Icon, selector: "flowbite-icon", inputs: ["name", "svg", "color", "customTheme"], exportAs: ["flowbiteIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
306
|
+
}
|
|
307
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationFirst, decorators: [{
|
|
308
|
+
type: Component,
|
|
309
|
+
args: [{
|
|
310
|
+
standalone: true,
|
|
311
|
+
selector: `
|
|
312
|
+
button[flowbitePaginationFirst]
|
|
313
|
+
`,
|
|
314
|
+
exportAs: 'flowbitePaginationFirst',
|
|
315
|
+
hostDirectives: [
|
|
316
|
+
{
|
|
317
|
+
directive: NgpPaginationFirst,
|
|
318
|
+
inputs: ['ngpPaginationFirstDisabled:disabled'],
|
|
319
|
+
outputs: [],
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
directive: NgpFocus,
|
|
323
|
+
inputs: [],
|
|
324
|
+
outputs: [],
|
|
325
|
+
},
|
|
326
|
+
],
|
|
327
|
+
imports: [Icon],
|
|
328
|
+
providers: [
|
|
329
|
+
provideFlowbitePaginationFirstState(),
|
|
330
|
+
provideButtonState(),
|
|
331
|
+
provideIcons({ chevronDoubleLeft }),
|
|
332
|
+
],
|
|
333
|
+
host: { '[class]': `theme().host.root` },
|
|
334
|
+
template: `<flowbite-icon name="chevronDoubleLeft" />`,
|
|
335
|
+
encapsulation: ViewEncapsulation.None,
|
|
336
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
337
|
+
}]
|
|
338
|
+
}] });
|
|
339
|
+
|
|
340
|
+
const flowbitePaginationLastTheme = createTheme({
|
|
341
|
+
host: {
|
|
342
|
+
base: 'inline-flex h-full cursor-pointer items-center justify-center rounded-r-md border border-transparent text-center font-medium *:[flowbite-icon]:w-full *:[flowbite-icon]:stroke-3',
|
|
343
|
+
transition: '',
|
|
344
|
+
focus: 'data-focus:outline-none data-focus-visible:outline-2',
|
|
345
|
+
disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
346
|
+
size: {
|
|
347
|
+
xs: 'w-8 px-2 py-2 text-xs',
|
|
348
|
+
sm: 'w-9 px-2.5 py-2.5 text-sm',
|
|
349
|
+
md: 'text-md w-10 px-3 py-2.5',
|
|
350
|
+
lg: 'w-11 px-3.5 py-3.5 text-lg',
|
|
351
|
+
xl: 'w-12 px-4 py-4 text-xl',
|
|
352
|
+
},
|
|
353
|
+
colorOutline: {
|
|
354
|
+
default: {
|
|
355
|
+
light: 'border-gray-700 text-gray-700 data-hover:bg-gray-700 data-hover:text-gray-100',
|
|
356
|
+
dark: 'dark:border-gray-300 dark:text-gray-300 dark:data-hover:bg-gray-300 dark:data-hover:text-gray-700',
|
|
357
|
+
},
|
|
358
|
+
info: {
|
|
359
|
+
light: 'border-blue-700 text-blue-700 data-hover:bg-blue-700 data-hover:text-gray-100',
|
|
360
|
+
dark: 'dark:border-blue-700 dark:text-blue-600 dark:data-hover:bg-blue-700 dark:data-hover:text-gray-100',
|
|
361
|
+
},
|
|
362
|
+
failure: {
|
|
363
|
+
light: 'border-red-700 text-red-700 data-hover:bg-red-700 data-hover:text-red-100',
|
|
364
|
+
dark: 'dark:border-red-700 dark:text-red-600 dark:data-hover:bg-red-700 dark:data-hover:text-gray-100',
|
|
365
|
+
},
|
|
366
|
+
success: {
|
|
367
|
+
light: 'border-green-700 text-green-700 data-hover:bg-green-700 data-hover:text-green-100',
|
|
368
|
+
dark: 'dark:border-green-700 dark:text-green-600 dark:data-hover:bg-green-700 dark:data-hover:text-gray-100',
|
|
369
|
+
},
|
|
370
|
+
warning: {
|
|
371
|
+
light: 'border-yellow-700 text-yellow-700 data-hover:bg-yellow-700 data-hover:text-yellow-100',
|
|
372
|
+
dark: 'dark:border-yellow-700 dark:text-yellow-600 dark:data-hover:bg-yellow-700 dark:data-hover:text-gray-100',
|
|
373
|
+
},
|
|
374
|
+
primary: {
|
|
375
|
+
light: 'border-primary-700 text-primary-700 data-hover:bg-primary-700 data-hover:text-primary-100',
|
|
376
|
+
dark: 'dark:border-primary-700 dark:text-primary-600 dark:data-hover:bg-primary-700 dark:data-hover:text-gray-100',
|
|
377
|
+
},
|
|
378
|
+
},
|
|
379
|
+
},
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
const defaultFlowbitePaginationLastConfig = {
|
|
383
|
+
baseTheme: flowbitePaginationLastTheme,
|
|
384
|
+
color: 'default',
|
|
385
|
+
size: 'md',
|
|
386
|
+
outline: false,
|
|
387
|
+
customTheme: {},
|
|
388
|
+
};
|
|
389
|
+
const FlowbitePaginationLastConfigToken = new InjectionToken('FlowbitePaginationLastConfigToken');
|
|
390
|
+
/**
|
|
391
|
+
* Provide the default PaginationLast configuration
|
|
392
|
+
* @param config The PaginationLast configuration
|
|
393
|
+
* @returns The provider
|
|
394
|
+
*/
|
|
395
|
+
const provideFlowbitePaginationLastConfig = (config) => [
|
|
396
|
+
{
|
|
397
|
+
provide: FlowbitePaginationLastConfigToken,
|
|
398
|
+
useValue: { ...defaultFlowbitePaginationLastConfig, ...config },
|
|
399
|
+
},
|
|
400
|
+
];
|
|
401
|
+
/**
|
|
402
|
+
* Inject the PaginationLast configuration
|
|
403
|
+
* @see {@link defaultFlowbitePaginationLastConfig}
|
|
404
|
+
* @returns The configuration
|
|
405
|
+
*/
|
|
406
|
+
const injectFlowbitePaginationLastConfig = () => inject(FlowbitePaginationLastConfigToken, { optional: true }) ??
|
|
407
|
+
defaultFlowbitePaginationLastConfig;
|
|
408
|
+
|
|
409
|
+
const FlowbitePaginationLastStateToken = createStateToken('Flowbite PaginationLast');
|
|
410
|
+
const provideFlowbitePaginationLastState = createStateProvider(FlowbitePaginationLastStateToken);
|
|
411
|
+
const injectFlowbitePaginationLastState = createStateInjector(FlowbitePaginationLastStateToken);
|
|
412
|
+
const flowbitePaginationLastState = createState(FlowbitePaginationLastStateToken);
|
|
413
|
+
|
|
414
|
+
class PaginationLast {
|
|
415
|
+
constructor() {
|
|
416
|
+
this.config = injectFlowbitePaginationLastConfig();
|
|
417
|
+
/**
|
|
418
|
+
* @see {@link injectFlowbitePaginationLastConfig}
|
|
419
|
+
*/
|
|
420
|
+
this.color = input(this.config.color);
|
|
421
|
+
/**
|
|
422
|
+
* @see {@link injectFlowbitePaginationLastConfig}
|
|
423
|
+
*/
|
|
424
|
+
this.size = input(this.config.size);
|
|
425
|
+
/**
|
|
426
|
+
* @see {@link injectFlowbitePaginationLastConfig}
|
|
427
|
+
*/
|
|
428
|
+
this.outline = input(this.config.outline, {
|
|
429
|
+
transform: booleanAttribute,
|
|
430
|
+
});
|
|
431
|
+
/**
|
|
432
|
+
* @see {@link injectFlowbitePaginationLastConfig}
|
|
433
|
+
*/
|
|
434
|
+
this.customTheme = input(this.config.customTheme);
|
|
435
|
+
this.theme = computed(() => {
|
|
436
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
437
|
+
return {
|
|
438
|
+
host: {
|
|
439
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.focus, mergedTheme.host.disabled, mergedTheme.host.size[this.state.size()], colorToTheme(mergedTheme.host.colorOutline, this.state.color())),
|
|
440
|
+
},
|
|
441
|
+
};
|
|
442
|
+
});
|
|
443
|
+
/**
|
|
444
|
+
* @internal
|
|
445
|
+
*/
|
|
446
|
+
this.state = flowbitePaginationLastState(this);
|
|
447
|
+
}
|
|
448
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationLast, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
449
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: PaginationLast, isStandalone: true, selector: "\n button[flowbitePaginationLast]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, outline: { classPropertyName: "outline", publicName: "outline", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [
|
|
450
|
+
provideFlowbitePaginationLastState(),
|
|
451
|
+
provideButtonState(),
|
|
452
|
+
provideIcons({ chevronDoubleRight }),
|
|
453
|
+
], exportAs: ["flowbitePaginationLast"], hostDirectives: [{ directive: i1.NgpPaginationLast, inputs: ["ngpPaginationLastDisabled", "disabled"] }, { directive: i2.NgpFocus }], ngImport: i0, template: `<flowbite-icon name="chevronDoubleRight" />`, isInline: true, dependencies: [{ kind: "component", type: Icon, selector: "flowbite-icon", inputs: ["name", "svg", "color", "customTheme"], exportAs: ["flowbiteIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
454
|
+
}
|
|
455
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationLast, decorators: [{
|
|
456
|
+
type: Component,
|
|
457
|
+
args: [{
|
|
458
|
+
standalone: true,
|
|
459
|
+
selector: `
|
|
460
|
+
button[flowbitePaginationLast]
|
|
461
|
+
`,
|
|
462
|
+
exportAs: 'flowbitePaginationLast',
|
|
463
|
+
hostDirectives: [
|
|
464
|
+
{
|
|
465
|
+
directive: NgpPaginationLast,
|
|
466
|
+
inputs: ['ngpPaginationLastDisabled:disabled'],
|
|
467
|
+
outputs: [],
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
directive: NgpFocus,
|
|
471
|
+
inputs: [],
|
|
472
|
+
outputs: [],
|
|
473
|
+
},
|
|
474
|
+
],
|
|
475
|
+
imports: [Icon],
|
|
476
|
+
providers: [
|
|
477
|
+
provideFlowbitePaginationLastState(),
|
|
478
|
+
provideButtonState(),
|
|
479
|
+
provideIcons({ chevronDoubleRight }),
|
|
480
|
+
],
|
|
481
|
+
host: { '[class]': `theme().host.root` },
|
|
482
|
+
template: `<flowbite-icon name="chevronDoubleRight" />`,
|
|
483
|
+
encapsulation: ViewEncapsulation.None,
|
|
484
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
485
|
+
}]
|
|
486
|
+
}] });
|
|
487
|
+
|
|
488
|
+
const flowbitePaginationNextTheme = createTheme({
|
|
489
|
+
host: {
|
|
490
|
+
base: 'inline-flex h-full cursor-pointer items-center justify-center border border-transparent text-center font-medium *:[flowbite-icon]:w-full *:[flowbite-icon]:stroke-3',
|
|
491
|
+
transition: '',
|
|
492
|
+
focus: 'data-focus:outline-none data-focus-visible:outline-2',
|
|
493
|
+
disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
494
|
+
size: {
|
|
495
|
+
xs: 'w-8 px-2 py-2 text-xs',
|
|
496
|
+
sm: 'w-9 px-2.5 py-2.5 text-sm',
|
|
497
|
+
md: 'text-md w-10 px-3 py-2.5',
|
|
498
|
+
lg: 'w-11 px-3.5 py-3.5 text-lg',
|
|
499
|
+
xl: 'w-12 px-4 py-4 text-xl',
|
|
500
|
+
},
|
|
501
|
+
colorOutline: {
|
|
502
|
+
default: {
|
|
503
|
+
light: 'border-gray-700 text-gray-700 data-hover:bg-gray-700 data-hover:text-gray-100',
|
|
504
|
+
dark: 'dark:border-gray-300 dark:text-gray-300 dark:data-hover:bg-gray-300 dark:data-hover:text-gray-700',
|
|
505
|
+
},
|
|
506
|
+
info: {
|
|
507
|
+
light: 'border-blue-700 text-blue-700 data-hover:bg-blue-700 data-hover:text-gray-100',
|
|
508
|
+
dark: 'dark:border-blue-700 dark:text-blue-600 dark:data-hover:bg-blue-700 dark:data-hover:text-gray-100',
|
|
509
|
+
},
|
|
510
|
+
failure: {
|
|
511
|
+
light: 'border-red-700 text-red-700 data-hover:bg-red-700 data-hover:text-red-100',
|
|
512
|
+
dark: 'dark:border-red-700 dark:text-red-600 dark:data-hover:bg-red-700 dark:data-hover:text-gray-100',
|
|
513
|
+
},
|
|
514
|
+
success: {
|
|
515
|
+
light: 'border-green-700 text-green-700 data-hover:bg-green-700 data-hover:text-green-100',
|
|
516
|
+
dark: 'dark:border-green-700 dark:text-green-600 dark:data-hover:bg-green-700 dark:data-hover:text-gray-100',
|
|
517
|
+
},
|
|
518
|
+
warning: {
|
|
519
|
+
light: 'border-yellow-700 text-yellow-700 data-hover:bg-yellow-700 data-hover:text-yellow-100',
|
|
520
|
+
dark: 'dark:border-yellow-700 dark:text-yellow-600 dark:data-hover:bg-yellow-700 dark:data-hover:text-gray-100',
|
|
521
|
+
},
|
|
522
|
+
primary: {
|
|
523
|
+
light: 'border-primary-700 text-primary-700 data-hover:bg-primary-700 data-hover:text-primary-100',
|
|
524
|
+
dark: 'dark:border-primary-700 dark:text-primary-600 dark:data-hover:bg-primary-700 dark:data-hover:text-gray-100',
|
|
525
|
+
},
|
|
526
|
+
},
|
|
527
|
+
},
|
|
528
|
+
});
|
|
529
|
+
|
|
530
|
+
const defaultFlowbitePaginationNextConfig = {
|
|
531
|
+
baseTheme: flowbitePaginationNextTheme,
|
|
532
|
+
color: 'default',
|
|
533
|
+
size: 'md',
|
|
534
|
+
outline: false,
|
|
535
|
+
customTheme: {},
|
|
536
|
+
};
|
|
537
|
+
const FlowbitePaginationNextConfigToken = new InjectionToken('FlowbitePaginationNextConfigToken');
|
|
538
|
+
/**
|
|
539
|
+
* Provide the default PaginationNext configuration
|
|
540
|
+
* @param config The PaginationNext configuration
|
|
541
|
+
* @returns The provider
|
|
542
|
+
*/
|
|
543
|
+
const provideFlowbitePaginationNextConfig = (config) => [
|
|
544
|
+
{
|
|
545
|
+
provide: FlowbitePaginationNextConfigToken,
|
|
546
|
+
useValue: { ...defaultFlowbitePaginationNextConfig, ...config },
|
|
547
|
+
},
|
|
548
|
+
];
|
|
549
|
+
/**
|
|
550
|
+
* Inject the PaginationNext configuration
|
|
551
|
+
* @see {@link defaultFlowbitePaginationNextConfig}
|
|
552
|
+
* @returns The configuration
|
|
553
|
+
*/
|
|
554
|
+
const injectFlowbitePaginationNextConfig = () => inject(FlowbitePaginationNextConfigToken, { optional: true }) ??
|
|
555
|
+
defaultFlowbitePaginationNextConfig;
|
|
556
|
+
|
|
557
|
+
const FlowbitePaginationNextStateToken = createStateToken('Flowbite PaginationNext');
|
|
558
|
+
const provideFlowbitePaginationNextState = createStateProvider(FlowbitePaginationNextStateToken);
|
|
559
|
+
const injectFlowbitePaginationNextState = createStateInjector(FlowbitePaginationNextStateToken);
|
|
560
|
+
const flowbitePaginationNextState = createState(FlowbitePaginationNextStateToken);
|
|
561
|
+
|
|
562
|
+
class PaginationNext {
|
|
563
|
+
constructor() {
|
|
564
|
+
this.config = injectFlowbitePaginationNextConfig();
|
|
565
|
+
/**
|
|
566
|
+
* @see {@link injectFlowbitePaginationNextConfig}
|
|
567
|
+
*/
|
|
568
|
+
this.color = input(this.config.color);
|
|
569
|
+
/**
|
|
570
|
+
* @see {@link injectFlowbitePaginationNextConfig}
|
|
571
|
+
*/
|
|
572
|
+
this.size = input(this.config.size);
|
|
573
|
+
/**
|
|
574
|
+
* @see {@link injectFlowbitePaginationNextConfig}
|
|
575
|
+
*/
|
|
576
|
+
this.outline = input(this.config.outline, {
|
|
577
|
+
transform: booleanAttribute,
|
|
578
|
+
});
|
|
579
|
+
/**
|
|
580
|
+
* @see {@link injectFlowbitePaginationFirstConfig}
|
|
581
|
+
*/
|
|
582
|
+
/**
|
|
583
|
+
* @see {@link injectFlowbitePaginationNextConfig}
|
|
584
|
+
*/
|
|
585
|
+
this.customTheme = input(this.config.customTheme);
|
|
586
|
+
this.theme = computed(() => {
|
|
587
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
588
|
+
return {
|
|
589
|
+
host: {
|
|
590
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.focus, mergedTheme.host.disabled, mergedTheme.host.size[this.state.size()], colorToTheme(mergedTheme.host.colorOutline, this.state.color())),
|
|
591
|
+
},
|
|
592
|
+
};
|
|
593
|
+
});
|
|
594
|
+
/**
|
|
595
|
+
* @internal
|
|
596
|
+
*/
|
|
597
|
+
this.state = flowbitePaginationNextState(this);
|
|
598
|
+
}
|
|
599
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationNext, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
600
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: PaginationNext, isStandalone: true, selector: "\n button[flowbitePaginationNext]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, outline: { classPropertyName: "outline", publicName: "outline", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [
|
|
601
|
+
provideFlowbitePaginationNextState(),
|
|
602
|
+
provideButtonState(),
|
|
603
|
+
provideIcons({ chevronRight }),
|
|
604
|
+
], exportAs: ["flowbitePaginationNext"], hostDirectives: [{ directive: i1.NgpPaginationNext, inputs: ["ngpPaginationNextDisabled", "disabled"] }, { directive: i2.NgpFocus }], ngImport: i0, template: `<flowbite-icon name="chevronRight" />`, isInline: true, dependencies: [{ kind: "component", type: Icon, selector: "flowbite-icon", inputs: ["name", "svg", "color", "customTheme"], exportAs: ["flowbiteIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
605
|
+
}
|
|
606
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationNext, decorators: [{
|
|
607
|
+
type: Component,
|
|
608
|
+
args: [{
|
|
609
|
+
standalone: true,
|
|
610
|
+
selector: `
|
|
611
|
+
button[flowbitePaginationNext]
|
|
612
|
+
`,
|
|
613
|
+
exportAs: 'flowbitePaginationNext',
|
|
614
|
+
hostDirectives: [
|
|
615
|
+
{
|
|
616
|
+
directive: NgpPaginationNext,
|
|
617
|
+
inputs: ['ngpPaginationNextDisabled:disabled'],
|
|
618
|
+
outputs: [],
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
directive: NgpFocus,
|
|
622
|
+
inputs: [],
|
|
623
|
+
outputs: [],
|
|
624
|
+
},
|
|
625
|
+
],
|
|
626
|
+
imports: [Icon],
|
|
627
|
+
providers: [
|
|
628
|
+
provideFlowbitePaginationNextState(),
|
|
629
|
+
provideButtonState(),
|
|
630
|
+
provideIcons({ chevronRight }),
|
|
631
|
+
],
|
|
632
|
+
host: { '[class]': `theme().host.root` },
|
|
633
|
+
template: `<flowbite-icon name="chevronRight" />`,
|
|
634
|
+
encapsulation: ViewEncapsulation.None,
|
|
635
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
636
|
+
}]
|
|
637
|
+
}] });
|
|
638
|
+
|
|
639
|
+
const flowbitePaginationPreviousTheme = createTheme({
|
|
640
|
+
host: {
|
|
641
|
+
base: 'inline-flex h-full cursor-pointer items-center justify-center border border-transparent text-center font-medium *:[flowbite-icon]:w-full *:[flowbite-icon]:stroke-3',
|
|
642
|
+
transition: '',
|
|
643
|
+
focus: 'data-focus:outline-none data-focus-visible:outline-2',
|
|
644
|
+
disabled: 'data-disabled:cursor-not-allowed data-disabled:opacity-50',
|
|
645
|
+
size: {
|
|
646
|
+
xs: 'w-8 px-2 py-2 text-xs',
|
|
647
|
+
sm: 'w-9 px-2.5 py-2.5 text-sm',
|
|
648
|
+
md: 'text-md w-10 px-3 py-2.5',
|
|
649
|
+
lg: 'w-11 px-3.5 py-3.5 text-lg',
|
|
650
|
+
xl: 'w-12 px-4 py-4 text-xl',
|
|
651
|
+
},
|
|
652
|
+
colorOutline: {
|
|
653
|
+
default: {
|
|
654
|
+
light: 'border-gray-700 text-gray-700 data-hover:bg-gray-700 data-hover:text-gray-100',
|
|
655
|
+
dark: 'dark:border-gray-300 dark:text-gray-300 dark:data-hover:bg-gray-300 dark:data-hover:text-gray-700',
|
|
656
|
+
},
|
|
657
|
+
info: {
|
|
658
|
+
light: 'border-blue-700 text-blue-700 data-hover:bg-blue-700 data-hover:text-gray-100',
|
|
659
|
+
dark: 'dark:border-blue-700 dark:text-blue-600 dark:data-hover:bg-blue-700 dark:data-hover:text-gray-100',
|
|
660
|
+
},
|
|
661
|
+
failure: {
|
|
662
|
+
light: 'border-red-700 text-red-700 data-hover:bg-red-700 data-hover:text-red-100',
|
|
663
|
+
dark: 'dark:border-red-700 dark:text-red-600 dark:data-hover:bg-red-700 dark:data-hover:text-gray-100',
|
|
664
|
+
},
|
|
665
|
+
success: {
|
|
666
|
+
light: 'border-green-700 text-green-700 data-hover:bg-green-700 data-hover:text-green-100',
|
|
667
|
+
dark: 'dark:border-green-700 dark:text-green-600 dark:data-hover:bg-green-700 dark:data-hover:text-gray-100',
|
|
668
|
+
},
|
|
669
|
+
warning: {
|
|
670
|
+
light: 'border-yellow-700 text-yellow-700 data-hover:bg-yellow-700 data-hover:text-yellow-100',
|
|
671
|
+
dark: 'dark:border-yellow-700 dark:text-yellow-600 dark:data-hover:bg-yellow-700 dark:data-hover:text-gray-100',
|
|
672
|
+
},
|
|
673
|
+
primary: {
|
|
674
|
+
light: 'border-primary-700 text-primary-700 data-hover:bg-primary-700 data-hover:text-primary-100',
|
|
675
|
+
dark: 'dark:border-primary-700 dark:text-primary-600 dark:data-hover:bg-primary-700 dark:data-hover:text-gray-100',
|
|
676
|
+
},
|
|
677
|
+
},
|
|
678
|
+
},
|
|
679
|
+
});
|
|
680
|
+
|
|
681
|
+
const defaultFlowbitePaginationPreviousConfig = {
|
|
682
|
+
baseTheme: flowbitePaginationPreviousTheme,
|
|
683
|
+
color: 'default',
|
|
684
|
+
size: 'md',
|
|
685
|
+
outline: false,
|
|
686
|
+
customTheme: {},
|
|
687
|
+
};
|
|
688
|
+
const FlowbitePaginationPreviousConfigToken = new InjectionToken('FlowbitePaginationPreviousConfigToken');
|
|
689
|
+
/**
|
|
690
|
+
* Provide the default PaginationPrevious configuration
|
|
691
|
+
* @param config The PaginationPrevious configuration
|
|
692
|
+
* @returns The provider
|
|
693
|
+
*/
|
|
694
|
+
const provideFlowbitePaginationPreviousConfig = (config) => [
|
|
695
|
+
{
|
|
696
|
+
provide: FlowbitePaginationPreviousConfigToken,
|
|
697
|
+
useValue: { ...defaultFlowbitePaginationPreviousConfig, ...config },
|
|
698
|
+
},
|
|
699
|
+
];
|
|
700
|
+
/**
|
|
701
|
+
* Inject the PaginationPrevious configuration
|
|
702
|
+
* @see {@link defaultFlowbitePaginationPreviousConfig}
|
|
703
|
+
* @returns The configuration
|
|
704
|
+
*/
|
|
705
|
+
const injectFlowbitePaginationPreviousConfig = () => inject(FlowbitePaginationPreviousConfigToken, { optional: true }) ??
|
|
706
|
+
defaultFlowbitePaginationPreviousConfig;
|
|
707
|
+
|
|
708
|
+
const FlowbitePaginationPreviousStateToken = createStateToken('Flowbite PaginationPrevious');
|
|
709
|
+
const provideFlowbitePaginationPreviousState = createStateProvider(FlowbitePaginationPreviousStateToken);
|
|
710
|
+
const injectFlowbitePaginationPreviousState = createStateInjector(FlowbitePaginationPreviousStateToken);
|
|
711
|
+
const flowbitePaginationPreviousState = createState(FlowbitePaginationPreviousStateToken);
|
|
712
|
+
|
|
713
|
+
class PaginationPrevious {
|
|
714
|
+
constructor() {
|
|
715
|
+
this.config = injectFlowbitePaginationPreviousConfig();
|
|
716
|
+
/**
|
|
717
|
+
* @see {@link injectFlowbitePaginationPreviousConfig}
|
|
718
|
+
*/
|
|
719
|
+
this.color = input(this.config.color);
|
|
720
|
+
/**
|
|
721
|
+
* @see {@link injectFlowbitePaginationPreviousConfig}
|
|
722
|
+
*/
|
|
723
|
+
this.size = input(this.config.size);
|
|
724
|
+
/**
|
|
725
|
+
* @see {@link injectFlowbitePaginationPreviousConfig}
|
|
726
|
+
*/
|
|
727
|
+
this.outline = input(this.config.outline, {
|
|
728
|
+
transform: booleanAttribute,
|
|
729
|
+
});
|
|
730
|
+
/**
|
|
731
|
+
* @see {@link injectFlowbitePaginationPreviousConfig}
|
|
732
|
+
*/
|
|
733
|
+
this.customTheme = input(this.config.customTheme);
|
|
734
|
+
this.theme = computed(() => {
|
|
735
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
736
|
+
return {
|
|
737
|
+
host: {
|
|
738
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition, mergedTheme.host.focus, mergedTheme.host.disabled, mergedTheme.host.size[this.state.size()], colorToTheme(mergedTheme.host.colorOutline, this.state.color())),
|
|
739
|
+
},
|
|
740
|
+
};
|
|
741
|
+
});
|
|
742
|
+
/**
|
|
743
|
+
* @internal
|
|
744
|
+
*/
|
|
745
|
+
this.state = flowbitePaginationPreviousState(this);
|
|
746
|
+
}
|
|
747
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationPrevious, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
748
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: PaginationPrevious, isStandalone: true, selector: "\n button[flowbitePaginationPrevious]\n ", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, outline: { classPropertyName: "outline", publicName: "outline", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [
|
|
749
|
+
provideFlowbitePaginationPreviousState(),
|
|
750
|
+
provideButtonState(),
|
|
751
|
+
provideIcons({ chevronLeft }),
|
|
752
|
+
], exportAs: ["flowbitePaginationPrevious"], hostDirectives: [{ directive: i1.NgpPaginationPrevious, inputs: ["ngpPaginationPreviousDisabled", "disabled"] }, { directive: i2.NgpFocus }], ngImport: i0, template: `<flowbite-icon name="chevronLeft" />`, isInline: true, dependencies: [{ kind: "component", type: Icon, selector: "flowbite-icon", inputs: ["name", "svg", "color", "customTheme"], exportAs: ["flowbiteIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
753
|
+
}
|
|
754
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: PaginationPrevious, decorators: [{
|
|
755
|
+
type: Component,
|
|
756
|
+
args: [{
|
|
757
|
+
standalone: true,
|
|
758
|
+
selector: `
|
|
759
|
+
button[flowbitePaginationPrevious]
|
|
760
|
+
`,
|
|
761
|
+
exportAs: 'flowbitePaginationPrevious',
|
|
762
|
+
hostDirectives: [
|
|
763
|
+
{
|
|
764
|
+
directive: NgpPaginationPrevious,
|
|
765
|
+
inputs: ['ngpPaginationPreviousDisabled:disabled'],
|
|
766
|
+
outputs: [],
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
directive: NgpFocus,
|
|
770
|
+
inputs: [],
|
|
771
|
+
outputs: [],
|
|
772
|
+
},
|
|
773
|
+
],
|
|
774
|
+
imports: [Icon],
|
|
775
|
+
providers: [
|
|
776
|
+
provideFlowbitePaginationPreviousState(),
|
|
777
|
+
provideButtonState(),
|
|
778
|
+
provideIcons({ chevronLeft }),
|
|
779
|
+
],
|
|
780
|
+
host: { '[class]': `theme().host.root` },
|
|
781
|
+
template: `<flowbite-icon name="chevronLeft" />`,
|
|
782
|
+
encapsulation: ViewEncapsulation.None,
|
|
783
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
784
|
+
}]
|
|
785
|
+
}] });
|
|
786
|
+
|
|
787
|
+
const FlowbitePaginationStateToken = createStateToken('Flowbite Pagination');
|
|
788
|
+
const provideFlowbitePaginationState = createStateProvider(FlowbitePaginationStateToken);
|
|
789
|
+
const injectFlowbitePaginationState = createStateInjector(FlowbitePaginationStateToken);
|
|
790
|
+
const flowbitePaginationState = createState(FlowbitePaginationStateToken);
|
|
791
|
+
|
|
792
|
+
class Pagination {
|
|
793
|
+
constructor() {
|
|
794
|
+
this.paginationState = injectPaginationState();
|
|
795
|
+
this.config = injectFlowbitePaginationConfig();
|
|
796
|
+
/**
|
|
797
|
+
* Value of how many page tabs to display
|
|
798
|
+
*/
|
|
799
|
+
this.visiblePagesCount = computed(() => {
|
|
800
|
+
return Math.min(this.state.tabs(), this.paginationState().pageCount());
|
|
801
|
+
});
|
|
802
|
+
/**
|
|
803
|
+
* Value of the first visible page
|
|
804
|
+
*/
|
|
805
|
+
this.firstPageToShow = computed(() => {
|
|
806
|
+
if (this.paginationState().page() <= Math.floor(this.state.tabs() / 2)) {
|
|
807
|
+
return 1;
|
|
808
|
+
}
|
|
809
|
+
if (this.paginationState().page() >
|
|
810
|
+
this.paginationState().pageCount() - Math.ceil(this.state.tabs() / 2)) {
|
|
811
|
+
return this.paginationState().pageCount() - this.visiblePagesCount() + 1;
|
|
812
|
+
}
|
|
813
|
+
return this.paginationState().page() - Math.floor(this.tabs() / 2);
|
|
814
|
+
});
|
|
815
|
+
/**
|
|
816
|
+
* Array of the visible page tabs
|
|
817
|
+
*/
|
|
818
|
+
this.visiblePages = computed(() => {
|
|
819
|
+
return Array.from({ length: this.visiblePagesCount() }, (_, i) => this.firstPageToShow() + i);
|
|
820
|
+
});
|
|
821
|
+
this.pages = computed(() => Array.from({ length: this.paginationState().pageCount() }).map((_, i) => i + 1));
|
|
822
|
+
/**
|
|
823
|
+
* @see {@link injectFlowbitePaginationConfig}
|
|
824
|
+
*/
|
|
825
|
+
this.tabs = input(this.config.tabs);
|
|
826
|
+
/**
|
|
827
|
+
* @see {@link injectFlowbitePaginationConfig}
|
|
828
|
+
*/
|
|
829
|
+
this.color = input(this.config.color);
|
|
830
|
+
/**
|
|
831
|
+
* @see {@link injectFlowbitePaginationConfig}
|
|
832
|
+
*/
|
|
833
|
+
this.size = input(this.config.size);
|
|
834
|
+
/**
|
|
835
|
+
* @see {@link injectFlowbitePaginationConfig}
|
|
836
|
+
*/
|
|
837
|
+
this.customTheme = input(this.config.customTheme);
|
|
838
|
+
this.theme = computed(() => {
|
|
839
|
+
const mergedTheme = mergeDeep(this.config.baseTheme, this.state.customTheme());
|
|
840
|
+
return {
|
|
841
|
+
host: {
|
|
842
|
+
root: twMerge(mergedTheme.host.base, mergedTheme.host.transition),
|
|
843
|
+
},
|
|
844
|
+
container: {
|
|
845
|
+
root: twMerge(mergedTheme.container.base, mergedTheme.container.transition),
|
|
846
|
+
},
|
|
847
|
+
};
|
|
848
|
+
});
|
|
849
|
+
/**
|
|
850
|
+
* @internal
|
|
851
|
+
*/
|
|
852
|
+
this.state = flowbitePaginationState(this);
|
|
853
|
+
}
|
|
854
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Pagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
855
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: Pagination, isStandalone: true, selector: "\n nav[flowbitePagination]\n ", inputs: { tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, customTheme: { classPropertyName: "customTheme", publicName: "customTheme", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "theme().host.root" } }, providers: [
|
|
856
|
+
provideFlowbitePaginationState(),
|
|
857
|
+
provideIcons({ chevronLeft, chevronDoubleLeft, chevronRight, chevronDoubleRight }),
|
|
858
|
+
], exportAs: ["flowbitePagination"], hostDirectives: [{ directive: i1.NgpPagination, inputs: ["ngpPaginationPage", "page", "ngpPaginationPageCount", "pageCount", "ngpPaginationDisabled", "disabled"], outputs: ["ngpPaginationPageChange", "pageChange"] }], ngImport: i0, template: `
|
|
859
|
+
<ul [class]="theme().container.root">
|
|
860
|
+
<li>
|
|
861
|
+
<button
|
|
862
|
+
flowbitePaginationFirst
|
|
863
|
+
outline
|
|
864
|
+
[color]="state.color()"
|
|
865
|
+
[size]="state.size()"
|
|
866
|
+
aria-label="First Page"></button>
|
|
867
|
+
</li>
|
|
868
|
+
<li>
|
|
869
|
+
<button
|
|
870
|
+
flowbitePaginationPrevious
|
|
871
|
+
outline
|
|
872
|
+
[color]="state.color()"
|
|
873
|
+
[size]="state.size()"
|
|
874
|
+
aria-label="Previous Page"></button>
|
|
875
|
+
</li>
|
|
876
|
+
@for (page of visiblePages(); track $index) {
|
|
877
|
+
<li>
|
|
878
|
+
<button
|
|
879
|
+
flowbitePaginationButton
|
|
880
|
+
outline
|
|
881
|
+
[color]="state.color()"
|
|
882
|
+
[size]="state.size()"
|
|
883
|
+
[page]="page"
|
|
884
|
+
[attr.aria-label]="'Page' + page">
|
|
885
|
+
{{ page }}
|
|
886
|
+
</button>
|
|
887
|
+
</li>
|
|
888
|
+
}
|
|
889
|
+
<li>
|
|
890
|
+
<button
|
|
891
|
+
flowbitePaginationNext
|
|
892
|
+
outline
|
|
893
|
+
[color]="state.color()"
|
|
894
|
+
[size]="state.size()"
|
|
895
|
+
aria-label="Next Page"></button>
|
|
896
|
+
</li>
|
|
897
|
+
<li>
|
|
898
|
+
<button
|
|
899
|
+
flowbitePaginationLast
|
|
900
|
+
outline
|
|
901
|
+
[color]="state.color()"
|
|
902
|
+
[size]="state.size()"
|
|
903
|
+
aria-label="Last Page"></button>
|
|
904
|
+
</li>
|
|
905
|
+
</ul>
|
|
906
|
+
`, isInline: true, dependencies: [{ kind: "component", type: PaginationLast, selector: "\n button[flowbitePaginationLast]\n ", inputs: ["color", "size", "outline", "customTheme"], exportAs: ["flowbitePaginationLast"] }, { kind: "component", type: PaginationNext, selector: "\n button[flowbitePaginationNext]\n ", inputs: ["color", "size", "outline", "customTheme"], exportAs: ["flowbitePaginationNext"] }, { kind: "component", type: PaginationFirst, selector: "\n button[flowbitePaginationFirst]\n ", inputs: ["color", "size", "outline", "customTheme"], exportAs: ["flowbitePaginationFirst"] }, { kind: "component", type: PaginationButton, selector: "\n button[flowbitePaginationButton]\n ", inputs: ["color", "size", "outline", "customTheme"], exportAs: ["flowbitePaginationButton"] }, { kind: "component", type: PaginationPrevious, selector: "\n button[flowbitePaginationPrevious]\n ", inputs: ["color", "size", "outline", "customTheme"], exportAs: ["flowbitePaginationPrevious"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
907
|
+
}
|
|
908
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Pagination, decorators: [{
|
|
909
|
+
type: Component,
|
|
910
|
+
args: [{
|
|
911
|
+
standalone: true,
|
|
912
|
+
selector: `
|
|
913
|
+
nav[flowbitePagination]
|
|
914
|
+
`,
|
|
915
|
+
exportAs: 'flowbitePagination',
|
|
916
|
+
hostDirectives: [
|
|
917
|
+
{
|
|
918
|
+
directive: NgpPagination,
|
|
919
|
+
inputs: [
|
|
920
|
+
'ngpPaginationPage:page',
|
|
921
|
+
'ngpPaginationPageCount:pageCount',
|
|
922
|
+
'ngpPaginationDisabled:disabled',
|
|
923
|
+
],
|
|
924
|
+
outputs: ['ngpPaginationPageChange:pageChange'],
|
|
925
|
+
},
|
|
926
|
+
],
|
|
927
|
+
imports: [PaginationLast, PaginationNext, PaginationFirst, PaginationButton, PaginationPrevious],
|
|
928
|
+
providers: [
|
|
929
|
+
provideFlowbitePaginationState(),
|
|
930
|
+
provideIcons({ chevronLeft, chevronDoubleLeft, chevronRight, chevronDoubleRight }),
|
|
931
|
+
],
|
|
932
|
+
host: { '[class]': `theme().host.root` },
|
|
933
|
+
template: `
|
|
934
|
+
<ul [class]="theme().container.root">
|
|
935
|
+
<li>
|
|
936
|
+
<button
|
|
937
|
+
flowbitePaginationFirst
|
|
938
|
+
outline
|
|
939
|
+
[color]="state.color()"
|
|
940
|
+
[size]="state.size()"
|
|
941
|
+
aria-label="First Page"></button>
|
|
942
|
+
</li>
|
|
943
|
+
<li>
|
|
944
|
+
<button
|
|
945
|
+
flowbitePaginationPrevious
|
|
946
|
+
outline
|
|
947
|
+
[color]="state.color()"
|
|
948
|
+
[size]="state.size()"
|
|
949
|
+
aria-label="Previous Page"></button>
|
|
950
|
+
</li>
|
|
951
|
+
@for (page of visiblePages(); track $index) {
|
|
952
|
+
<li>
|
|
953
|
+
<button
|
|
954
|
+
flowbitePaginationButton
|
|
955
|
+
outline
|
|
956
|
+
[color]="state.color()"
|
|
957
|
+
[size]="state.size()"
|
|
958
|
+
[page]="page"
|
|
959
|
+
[attr.aria-label]="'Page' + page">
|
|
960
|
+
{{ page }}
|
|
961
|
+
</button>
|
|
962
|
+
</li>
|
|
963
|
+
}
|
|
964
|
+
<li>
|
|
965
|
+
<button
|
|
966
|
+
flowbitePaginationNext
|
|
967
|
+
outline
|
|
968
|
+
[color]="state.color()"
|
|
969
|
+
[size]="state.size()"
|
|
970
|
+
aria-label="Next Page"></button>
|
|
971
|
+
</li>
|
|
972
|
+
<li>
|
|
973
|
+
<button
|
|
974
|
+
flowbitePaginationLast
|
|
975
|
+
outline
|
|
976
|
+
[color]="state.color()"
|
|
977
|
+
[size]="state.size()"
|
|
978
|
+
aria-label="Last Page"></button>
|
|
979
|
+
</li>
|
|
980
|
+
</ul>
|
|
981
|
+
`,
|
|
982
|
+
encapsulation: ViewEncapsulation.None,
|
|
983
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
984
|
+
}]
|
|
985
|
+
}] });
|
|
986
|
+
|
|
987
|
+
/* Pagination */
|
|
988
|
+
|
|
989
|
+
/**
|
|
990
|
+
* Generated bundle index. Do not edit.
|
|
991
|
+
*/
|
|
992
|
+
|
|
993
|
+
export { FlowbitePaginationButtonConfigToken, FlowbitePaginationButtonStateToken, FlowbitePaginationConfigToken, FlowbitePaginationFirstConfigToken, FlowbitePaginationFirstStateToken, FlowbitePaginationLastConfigToken, FlowbitePaginationLastStateToken, FlowbitePaginationNextConfigToken, FlowbitePaginationNextStateToken, FlowbitePaginationPreviousConfigToken, FlowbitePaginationPreviousStateToken, FlowbitePaginationStateToken, Pagination, PaginationButton, PaginationFirst, PaginationLast, PaginationNext, PaginationPrevious, defaultFlowbitePaginationButtonConfig, defaultFlowbitePaginationConfig, defaultFlowbitePaginationFirstConfig, defaultFlowbitePaginationLastConfig, defaultFlowbitePaginationNextConfig, defaultFlowbitePaginationPreviousConfig, flowbitePaginationButtonState, flowbitePaginationButtonTheme, flowbitePaginationFirstState, flowbitePaginationFirstTheme, flowbitePaginationLastState, flowbitePaginationLastTheme, flowbitePaginationNextState, flowbitePaginationNextTheme, flowbitePaginationPreviousState, flowbitePaginationPreviousTheme, flowbitePaginationState, flowbitePaginationTheme, injectFlowbitePaginationButtonConfig, injectFlowbitePaginationButtonState, injectFlowbitePaginationConfig, injectFlowbitePaginationFirstConfig, injectFlowbitePaginationFirstState, injectFlowbitePaginationLastConfig, injectFlowbitePaginationLastState, injectFlowbitePaginationNextConfig, injectFlowbitePaginationNextState, injectFlowbitePaginationPreviousConfig, injectFlowbitePaginationPreviousState, injectFlowbitePaginationState, provideFlowbitePaginationButtonConfig, provideFlowbitePaginationButtonState, provideFlowbitePaginationConfig, provideFlowbitePaginationFirstConfig, provideFlowbitePaginationFirstState, provideFlowbitePaginationLastConfig, provideFlowbitePaginationLastState, provideFlowbitePaginationNextConfig, provideFlowbitePaginationNextState, provideFlowbitePaginationPreviousConfig, provideFlowbitePaginationPreviousState, provideFlowbitePaginationState };
|
|
994
|
+
//# sourceMappingURL=flowbite-angular-pagination.mjs.map
|