flowbite-angular 1.0.0-beta.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -15
- package/accordion/accordion-content.component.d.ts +21 -1
- package/accordion/accordion-content.theme.d.ts +2 -2
- package/accordion/accordion-panel.component.d.ts +10 -3
- package/accordion/accordion-title.component.d.ts +27 -0
- package/accordion/accordion.component.d.ts +10 -14
- package/accordion/accordion.theme.d.ts +1 -5
- package/accordion/index.d.ts +4 -4
- package/alert/alert.component.d.ts +42 -1
- package/alert/index.d.ts +1 -1
- package/badge/badge.component.d.ts +40 -0
- package/badge/index.d.ts +1 -1
- package/base-component.directive.d.ts +0 -4
- package/breadcrumb/breadcrumb-item.component.d.ts +19 -0
- package/breadcrumb/breadcrumb.component.d.ts +8 -1
- package/breadcrumb/index.d.ts +2 -2
- package/button/button.component.d.ts +100 -1
- package/button/index.d.ts +1 -1
- package/dark-theme-toggle/dark-theme-toggle.component.d.ts +12 -17
- package/dark-theme-toggle/index.d.ts +1 -1
- package/dropdown/dropdown-divider.component.d.ts +13 -2
- package/dropdown/dropdown-divider.theme.d.ts +2 -2
- package/dropdown/dropdown-header.component.d.ts +19 -2
- package/dropdown/dropdown-item.component.d.ts +7 -0
- package/dropdown/dropdown.component.d.ts +39 -13
- package/dropdown/index.d.ts +4 -4
- package/esm2022/accordion/accordion-content.component.mjs +30 -16
- package/esm2022/accordion/accordion-content.theme.mjs +5 -5
- package/esm2022/accordion/accordion-content.theme.service.mjs +2 -2
- package/esm2022/accordion/accordion-panel.component.mjs +18 -15
- package/esm2022/accordion/accordion-title.component.mjs +14 -8
- package/esm2022/accordion/accordion-title.theme.mjs +3 -3
- package/esm2022/accordion/accordion.component.mjs +29 -16
- package/esm2022/accordion/accordion.theme.mjs +1 -13
- package/esm2022/accordion/accordion.theme.service.mjs +2 -2
- package/esm2022/accordion/index.mjs +5 -5
- package/esm2022/alert/alert.component.mjs +93 -37
- package/esm2022/alert/index.mjs +2 -2
- package/esm2022/badge/badge.component.mjs +34 -9
- package/esm2022/badge/index.mjs +2 -2
- package/esm2022/base-component.directive.mjs +1 -7
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +14 -8
- package/esm2022/breadcrumb/breadcrumb.component.mjs +16 -11
- package/esm2022/breadcrumb/index.mjs +3 -3
- package/esm2022/button/button.component.mjs +72 -34
- package/esm2022/button/index.mjs +2 -2
- package/esm2022/core/flowbite.theme.init.mjs +48 -14
- package/esm2022/dark-theme-toggle/dark-theme-toggle.component.mjs +17 -42
- package/esm2022/dark-theme-toggle/index.mjs +2 -2
- package/esm2022/dropdown/dropdown-divider.component.mjs +10 -5
- package/esm2022/dropdown/dropdown-divider.theme.mjs +1 -1
- package/esm2022/dropdown/dropdown-header.component.mjs +13 -10
- package/esm2022/dropdown/dropdown-item.component.mjs +10 -5
- package/esm2022/dropdown/dropdown.component.mjs +51 -72
- package/esm2022/dropdown/dropdown.theme.mjs +6 -6
- package/esm2022/dropdown/index.mjs +5 -5
- package/esm2022/indicator/index.mjs +2 -2
- package/esm2022/indicator/indicators.component.mjs +64 -14
- package/esm2022/modal/index.mjs +5 -5
- package/esm2022/modal/modal-body.component.mjs +10 -5
- package/esm2022/modal/modal-footer.component.mjs +10 -5
- package/esm2022/modal/modal-header.component.mjs +16 -10
- package/esm2022/modal/modal.component.mjs +42 -23
- package/esm2022/navbar/index.mjs +7 -7
- package/esm2022/navbar/navbar-brand.component.mjs +10 -5
- package/esm2022/navbar/navbar-content.component.mjs +35 -11
- package/esm2022/navbar/navbar-content.theme.mjs +2 -6
- package/esm2022/navbar/navbar-content.theme.service.mjs +2 -2
- package/esm2022/navbar/navbar-icon-button.component.mjs +10 -9
- package/esm2022/navbar/navbar-item.component.mjs +10 -5
- package/esm2022/navbar/navbar-toggle.component.mjs +12 -6
- package/esm2022/navbar/navbar.component.mjs +41 -16
- package/esm2022/scroll-top/index.mjs +2 -2
- package/esm2022/scroll-top/scroll-top.component.mjs +22 -5
- package/esm2022/sidebar/index.mjs +7 -7
- package/esm2022/sidebar/sidebar-item-group.component.mjs +19 -14
- package/esm2022/sidebar/sidebar-item.component.mjs +45 -26
- package/esm2022/sidebar/sidebar-menu.component.mjs +10 -9
- package/esm2022/sidebar/sidebar-page-content.component.mjs +10 -4
- package/esm2022/sidebar/sidebar-toggle.component.mjs +22 -5
- package/esm2022/sidebar/sidebar.component.mjs +36 -19
- package/esm2022/theme/flowbite-angular-theme.mjs +5 -0
- package/esm2022/theme/flowbite-theme.directive.mjs +71 -0
- package/esm2022/theme/index.mjs +2 -0
- package/fesm2022/flowbite-angular-accordion.mjs +92 -66
- package/fesm2022/flowbite-angular-accordion.mjs.map +1 -1
- package/fesm2022/flowbite-angular-alert.mjs +93 -37
- package/fesm2022/flowbite-angular-alert.mjs.map +1 -1
- package/fesm2022/flowbite-angular-badge.mjs +34 -9
- package/fesm2022/flowbite-angular-badge.mjs.map +1 -1
- package/fesm2022/flowbite-angular-breadcrumb.mjs +28 -16
- package/fesm2022/flowbite-angular-breadcrumb.mjs.map +1 -1
- package/fesm2022/flowbite-angular-button.mjs +72 -34
- package/fesm2022/flowbite-angular-button.mjs.map +1 -1
- package/fesm2022/flowbite-angular-core.mjs +47 -13
- package/fesm2022/flowbite-angular-core.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs +17 -42
- package/fesm2022/flowbite-angular-dark-theme-toggle.mjs.map +1 -1
- package/fesm2022/flowbite-angular-dropdown.mjs +83 -88
- package/fesm2022/flowbite-angular-dropdown.mjs.map +1 -1
- package/fesm2022/flowbite-angular-indicator.mjs +64 -14
- package/fesm2022/flowbite-angular-indicator.mjs.map +1 -1
- package/fesm2022/flowbite-angular-modal.mjs +72 -34
- package/fesm2022/flowbite-angular-modal.mjs.map +1 -1
- package/fesm2022/flowbite-angular-navbar.mjs +109 -43
- package/fesm2022/flowbite-angular-navbar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-scroll-top.mjs +22 -5
- package/fesm2022/flowbite-angular-scroll-top.mjs.map +1 -1
- package/fesm2022/flowbite-angular-sidebar.mjs +132 -65
- package/fesm2022/flowbite-angular-sidebar.mjs.map +1 -1
- package/fesm2022/flowbite-angular-theme.mjs +78 -0
- package/fesm2022/flowbite-angular-theme.mjs.map +1 -0
- package/fesm2022/flowbite-angular.mjs +0 -6
- package/fesm2022/flowbite-angular.mjs.map +1 -1
- package/indicator/index.d.ts +1 -1
- package/indicator/indicators.component.d.ts +81 -0
- package/modal/index.d.ts +4 -4
- package/modal/modal-body.component.d.ts +7 -0
- package/modal/modal-footer.component.d.ts +7 -0
- package/modal/modal-header.component.d.ts +13 -0
- package/modal/modal.component.d.ts +40 -2
- package/navbar/index.d.ts +6 -6
- package/navbar/navbar-brand.component.d.ts +7 -0
- package/navbar/navbar-content.component.d.ts +13 -4
- package/navbar/navbar-content.theme.d.ts +1 -3
- package/navbar/navbar-icon-button.component.d.ts +12 -1
- package/navbar/navbar-item.component.d.ts +12 -0
- package/navbar/navbar-toggle.component.d.ts +7 -0
- package/navbar/navbar.component.d.ts +30 -2
- package/package.json +7 -2
- package/scroll-top/index.d.ts +1 -1
- package/scroll-top/scroll-top.component.d.ts +31 -0
- package/sidebar/index.d.ts +6 -6
- package/sidebar/sidebar-item-group.component.d.ts +19 -1
- package/sidebar/sidebar-item.component.d.ts +21 -1
- package/sidebar/sidebar-menu.component.d.ts +25 -1
- package/sidebar/sidebar-page-content.component.d.ts +12 -0
- package/sidebar/sidebar-toggle.component.d.ts +22 -0
- package/sidebar/sidebar.component.d.ts +17 -3
- package/theme/README.md +4 -0
- package/theme/flowbite-theme.directive.d.ts +36 -0
- package/theme/index.d.ts +1 -0
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { mergeTheme, CLOSE_SVG_ICON, createTheme } from 'flowbite-angular/utils';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, inject, Injectable, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChild, viewChild, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { InjectionToken, inject, Injectable, makeEnvironmentProviders, model, Component, ViewEncapsulation, ChangeDetectionStrategy, contentChild, viewChild, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
4
4
|
import { twMerge } from 'tailwind-merge';
|
|
5
5
|
import { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';
|
|
6
|
-
import { NgClass } from '@angular/common';
|
|
7
6
|
import { IconRegistry, IconComponent } from 'flowbite-angular/icon';
|
|
8
7
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
9
8
|
import { Router, NavigationStart } from '@angular/router';
|
|
@@ -39,6 +38,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
39
38
|
}]
|
|
40
39
|
}] });
|
|
41
40
|
|
|
41
|
+
const FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
42
|
+
const modalBodyDefaultValueProvider = makeEnvironmentProviders([
|
|
43
|
+
{
|
|
44
|
+
provide: FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
45
|
+
useValue: {},
|
|
46
|
+
},
|
|
47
|
+
]);
|
|
42
48
|
/**
|
|
43
49
|
* @see https://flowbite.com/docs/components/modal/
|
|
44
50
|
*/
|
|
@@ -57,7 +63,7 @@ class ModalBodyComponent extends BaseComponent {
|
|
|
57
63
|
/**
|
|
58
64
|
* Set the custom style for this modal body
|
|
59
65
|
*/
|
|
60
|
-
this.customStyle = model(
|
|
66
|
+
this.customStyle = model(inject(FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
61
67
|
}
|
|
62
68
|
//#endregion
|
|
63
69
|
//#region BaseComponent implementation
|
|
@@ -73,7 +79,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
73
79
|
type: Component,
|
|
74
80
|
args: [{
|
|
75
81
|
standalone: true,
|
|
76
|
-
imports: [NgClass],
|
|
77
82
|
selector: 'flowbite-modal-body',
|
|
78
83
|
template: `<ng-content />`,
|
|
79
84
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -111,6 +116,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
111
116
|
}]
|
|
112
117
|
}] });
|
|
113
118
|
|
|
119
|
+
const FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
120
|
+
const modalFooterDefaultValueProvider = makeEnvironmentProviders([
|
|
121
|
+
{
|
|
122
|
+
provide: FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
123
|
+
useValue: {},
|
|
124
|
+
},
|
|
125
|
+
]);
|
|
114
126
|
/**
|
|
115
127
|
* @see https://flowbite.com/docs/components/modal/
|
|
116
128
|
*/
|
|
@@ -129,7 +141,7 @@ class ModalFooterComponent extends BaseComponent {
|
|
|
129
141
|
/**
|
|
130
142
|
* Set the custom style for this modal footer
|
|
131
143
|
*/
|
|
132
|
-
this.customStyle = model(
|
|
144
|
+
this.customStyle = model(inject(FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
133
145
|
}
|
|
134
146
|
//#endregion
|
|
135
147
|
//#region BaseComponent implementation
|
|
@@ -145,7 +157,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
145
157
|
type: Component,
|
|
146
158
|
args: [{
|
|
147
159
|
standalone: true,
|
|
148
|
-
imports: [NgClass],
|
|
149
160
|
selector: 'flowbite-modal-footer',
|
|
150
161
|
template: `<ng-content />`,
|
|
151
162
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -185,6 +196,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
185
196
|
}]
|
|
186
197
|
}] });
|
|
187
198
|
|
|
199
|
+
const FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
200
|
+
const modalHeaderDefaultValueProvider = makeEnvironmentProviders([
|
|
201
|
+
{
|
|
202
|
+
provide: FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
203
|
+
useValue: {},
|
|
204
|
+
},
|
|
205
|
+
]);
|
|
188
206
|
/**
|
|
189
207
|
* @see https://flowbite.com/docs/components/modal/
|
|
190
208
|
*/
|
|
@@ -211,7 +229,7 @@ class ModalHeaderComponent extends BaseComponent {
|
|
|
211
229
|
/**
|
|
212
230
|
* Set the custom style for this modal header
|
|
213
231
|
*/
|
|
214
|
-
this.customStyle = model(
|
|
232
|
+
this.customStyle = model(inject(FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
215
233
|
}
|
|
216
234
|
//#endregion
|
|
217
235
|
//#region BaseComponent implementation
|
|
@@ -225,12 +243,12 @@ class ModalHeaderComponent extends BaseComponent {
|
|
|
225
243
|
}
|
|
226
244
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ModalHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
227
245
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.0", type: ModalHeaderComponent, isStandalone: true, selector: "flowbite-modal-header", inputs: { customStyle: { classPropertyName: "customStyle", publicName: "customStyle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { customStyle: "customStyleChange" }, usesInheritance: true, ngImport: i0, template: `
|
|
228
|
-
<h3 [
|
|
246
|
+
<h3 [class]="contentClasses().modalHeaderTitleClass">
|
|
229
247
|
<ng-content />
|
|
230
248
|
</h3>
|
|
231
249
|
<button
|
|
232
250
|
type="button"
|
|
233
|
-
[
|
|
251
|
+
[class]="contentClasses().modalHeaderButtonClass"
|
|
234
252
|
data-modal-hide="medium-modal"
|
|
235
253
|
(click)="modalComponent.close()">
|
|
236
254
|
<flowbite-icon
|
|
@@ -238,21 +256,21 @@ class ModalHeaderComponent extends BaseComponent {
|
|
|
238
256
|
class="w-5 h-5" />
|
|
239
257
|
<span class="sr-only">Close modal</span>
|
|
240
258
|
</button>
|
|
241
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
259
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconComponent, selector: "flowbite-icon", inputs: ["svgIcon"], outputs: ["svgIconChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
242
260
|
}
|
|
243
261
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ModalHeaderComponent, decorators: [{
|
|
244
262
|
type: Component,
|
|
245
263
|
args: [{
|
|
246
264
|
standalone: true,
|
|
247
|
-
imports: [
|
|
265
|
+
imports: [IconComponent],
|
|
248
266
|
selector: 'flowbite-modal-header',
|
|
249
267
|
template: `
|
|
250
|
-
<h3 [
|
|
268
|
+
<h3 [class]="contentClasses().modalHeaderTitleClass">
|
|
251
269
|
<ng-content />
|
|
252
270
|
</h3>
|
|
253
271
|
<button
|
|
254
272
|
type="button"
|
|
255
|
-
[
|
|
273
|
+
[class]="contentClasses().modalHeaderButtonClass"
|
|
256
274
|
data-modal-hide="medium-modal"
|
|
257
275
|
(click)="modalComponent.close()">
|
|
258
276
|
<flowbite-icon
|
|
@@ -299,6 +317,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
299
317
|
}]
|
|
300
318
|
}] });
|
|
301
319
|
|
|
320
|
+
const FLOWBITE_MODAL_SIZE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_SIZE_DEFAULT_VALUE');
|
|
321
|
+
const FLOWBITE_MODAL_POSITION_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_POSITION_DEFAULT_VALUE');
|
|
322
|
+
const FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE');
|
|
323
|
+
const FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE');
|
|
324
|
+
const FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken('FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE');
|
|
325
|
+
const modalDefaultValueProvider = makeEnvironmentProviders([
|
|
326
|
+
{
|
|
327
|
+
provide: FLOWBITE_MODAL_SIZE_DEFAULT_VALUE,
|
|
328
|
+
useValue: 'md',
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
provide: FLOWBITE_MODAL_POSITION_DEFAULT_VALUE,
|
|
332
|
+
useValue: 'center',
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
provide: FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE,
|
|
336
|
+
useValue: false,
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
provide: FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE,
|
|
340
|
+
useValue: false,
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
provide: FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE,
|
|
344
|
+
useValue: {},
|
|
345
|
+
},
|
|
346
|
+
]);
|
|
302
347
|
/**
|
|
303
348
|
* @see https://flowbite.com/docs/components/modal/
|
|
304
349
|
*/
|
|
@@ -317,7 +362,7 @@ class ModalComponent extends BaseComponent {
|
|
|
317
362
|
/**
|
|
318
363
|
* The child `ModalBodyComponent`
|
|
319
364
|
*/
|
|
320
|
-
this.modalBodyChild = contentChild(ModalBodyComponent);
|
|
365
|
+
this.modalBodyChild = contentChild.required(ModalBodyComponent);
|
|
321
366
|
/**
|
|
322
367
|
* The child `ModalFooterComponent`
|
|
323
368
|
*/
|
|
@@ -333,29 +378,29 @@ class ModalComponent extends BaseComponent {
|
|
|
333
378
|
*
|
|
334
379
|
* @default md
|
|
335
380
|
*/
|
|
336
|
-
this.size = model(
|
|
381
|
+
this.size = model(inject(FLOWBITE_MODAL_SIZE_DEFAULT_VALUE));
|
|
337
382
|
/**
|
|
338
383
|
* Set the modal position
|
|
339
384
|
*
|
|
340
385
|
* @default center
|
|
341
386
|
*/
|
|
342
|
-
this.position = model(
|
|
387
|
+
this.position = model(inject(FLOWBITE_MODAL_POSITION_DEFAULT_VALUE));
|
|
343
388
|
/**
|
|
344
389
|
* Set if the modal is dismissable
|
|
345
390
|
*
|
|
346
391
|
* @default false
|
|
347
392
|
*/
|
|
348
|
-
this.isDismissable = model(
|
|
393
|
+
this.isDismissable = model(inject(FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE));
|
|
349
394
|
/**
|
|
350
395
|
* Set if the modal is open
|
|
351
396
|
*
|
|
352
397
|
* @default false
|
|
353
398
|
*/
|
|
354
|
-
this.isOpen = model(
|
|
399
|
+
this.isOpen = model(inject(FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE));
|
|
355
400
|
/**
|
|
356
401
|
* Set the custom style for this modal
|
|
357
402
|
*/
|
|
358
|
-
this.customStyle = model(
|
|
403
|
+
this.customStyle = model(inject(FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE));
|
|
359
404
|
}
|
|
360
405
|
//#endregion
|
|
361
406
|
//#region BaseComponent implementation
|
|
@@ -373,11 +418,6 @@ class ModalComponent extends BaseComponent {
|
|
|
373
418
|
.pipe(takeUntil(this.destroyed), filter(() => this.isOpen()), filter((event) => event instanceof NavigationStart))
|
|
374
419
|
.subscribe(() => this.close());
|
|
375
420
|
}
|
|
376
|
-
verify() {
|
|
377
|
-
if (this.modalBodyChild() === undefined) {
|
|
378
|
-
throw new Error('No ModalBodyComponent available');
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
421
|
//#endregion
|
|
382
422
|
ngOnDestroy() {
|
|
383
423
|
this.destroyed.next();
|
|
@@ -414,7 +454,6 @@ class ModalComponent extends BaseComponent {
|
|
|
414
454
|
this.embeddedView?.destroy();
|
|
415
455
|
}
|
|
416
456
|
onKeydownHandler(event) {
|
|
417
|
-
console.log('hello');
|
|
418
457
|
if (event.key === 'Escape') {
|
|
419
458
|
this.close();
|
|
420
459
|
}
|
|
@@ -430,32 +469,31 @@ class ModalComponent extends BaseComponent {
|
|
|
430
469
|
<div class="bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-[99]"></div>
|
|
431
470
|
|
|
432
471
|
<div
|
|
433
|
-
[
|
|
472
|
+
[class]="contentClasses().modalWrapperClass"
|
|
434
473
|
(click)="onBackdropClick($event)">
|
|
435
|
-
<div [
|
|
436
|
-
<div [
|
|
474
|
+
<div [class]="contentClasses().modalContainerClass">
|
|
475
|
+
<div [class]="contentClasses().modalContentClass">
|
|
437
476
|
<ng-content />
|
|
438
477
|
</div>
|
|
439
478
|
</div>
|
|
440
479
|
</div>
|
|
441
480
|
</ng-template>
|
|
442
|
-
`, isInline: true,
|
|
481
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
443
482
|
}
|
|
444
483
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ModalComponent, decorators: [{
|
|
445
484
|
type: Component,
|
|
446
485
|
args: [{
|
|
447
486
|
standalone: true,
|
|
448
|
-
imports: [NgClass],
|
|
449
487
|
selector: 'flowbite-modal',
|
|
450
488
|
template: `
|
|
451
489
|
<ng-template #modal>
|
|
452
490
|
<div class="bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-[99]"></div>
|
|
453
491
|
|
|
454
492
|
<div
|
|
455
|
-
[
|
|
493
|
+
[class]="contentClasses().modalWrapperClass"
|
|
456
494
|
(click)="onBackdropClick($event)">
|
|
457
|
-
<div [
|
|
458
|
-
<div [
|
|
495
|
+
<div [class]="contentClasses().modalContainerClass">
|
|
496
|
+
<div [class]="contentClasses().modalContentClass">
|
|
459
497
|
<ng-content />
|
|
460
498
|
</div>
|
|
461
499
|
</div>
|
|
@@ -540,5 +578,5 @@ const modalFooterTheme = createTheme({
|
|
|
540
578
|
* Generated bundle index. Do not edit.
|
|
541
579
|
*/
|
|
542
580
|
|
|
543
|
-
export { FLOWBITE_MODAL_BODY_THEME_TOKEN, FLOWBITE_MODAL_FOOTER_THEME_TOKEN, FLOWBITE_MODAL_HEADER_THEME_TOKEN, FLOWBITE_MODAL_THEME_TOKEN, ModalBodyComponent, ModalBodyThemeService, ModalComponent, ModalFooterComponent, ModalFooterThemeService, ModalHeaderComponent, ModalHeaderThemeService, ModalThemeService, modalBodyTheme, modalFooterTheme, modalHeaderTheme, modalTheme };
|
|
581
|
+
export { FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_MODAL_BODY_THEME_TOKEN, FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_MODAL_FOOTER_THEME_TOKEN, FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE, FLOWBITE_MODAL_HEADER_THEME_TOKEN, FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE, FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE, FLOWBITE_MODAL_POSITION_DEFAULT_VALUE, FLOWBITE_MODAL_SIZE_DEFAULT_VALUE, FLOWBITE_MODAL_THEME_TOKEN, ModalBodyComponent, ModalBodyThemeService, ModalComponent, ModalFooterComponent, ModalFooterThemeService, ModalHeaderComponent, ModalHeaderThemeService, ModalThemeService, modalBodyDefaultValueProvider, modalBodyTheme, modalDefaultValueProvider, modalFooterDefaultValueProvider, modalFooterTheme, modalHeaderDefaultValueProvider, modalHeaderTheme, modalTheme };
|
|
544
582
|
//# sourceMappingURL=flowbite-angular-modal.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowbite-angular-modal.mjs","sources":["../../../../libs/flowbite-angular/modal/modal-body.theme.service.ts","../../../../libs/flowbite-angular/modal/modal-body.component.ts","../../../../libs/flowbite-angular/modal/modal-footer.theme.service.ts","../../../../libs/flowbite-angular/modal/modal-footer.component.ts","../../../../libs/flowbite-angular/modal/modal-header.theme.service.ts","../../../../libs/flowbite-angular/modal/modal-header.component.ts","../../../../libs/flowbite-angular/modal/modal.theme.service.ts","../../../../libs/flowbite-angular/modal/modal.component.ts","../../../../libs/flowbite-angular/modal/modal.theme.ts","../../../../libs/flowbite-angular/modal/modal-header.theme.ts","../../../../libs/flowbite-angular/modal/modal-body.theme.ts","../../../../libs/flowbite-angular/modal/modal-footer.theme.ts","../../../../libs/flowbite-angular/modal/flowbite-angular-modal.ts"],"sourcesContent":["import type { ModalBodyClass, ModalBodyProperties, ModalBodyTheme } from './modal-body.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalBodyTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_BODY_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_BODY_THEME_TOKEN = new InjectionToken<ModalBodyTheme>(\n 'FLOWBITE_MODAL_BODY_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalBodyThemeService implements FlowbiteThemeService<ModalBodyProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_BODY_THEME_TOKEN);\n\n public getClasses(properties: ModalBodyProperties): ModalBodyClass {\n const theme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalBodyClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { ModalBodyClass, ModalBodyTheme } from './modal-body.theme';\nimport { ModalBodyThemeService } from './modal-body.theme.service';\nimport { ModalComponent } from './modal.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-modal-body',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalBodyComponent extends BaseComponent<ModalBodyClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ModalBodyThemeService);\n /**\n * The parent `ModalComponent`\n */\n public readonly modalComponent = inject(ModalComponent);\n\n //#region properties\n /**\n * Set the custom style for this modal body\n */\n public customStyle = model<DeepPartial<ModalBodyTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalBodyClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n ModalFooterClass,\n ModalFooterProperties,\n ModalFooterTheme,\n} from './modal-footer.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalFooterTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_FOOTER_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_FOOTER_THEME_TOKEN = new InjectionToken<ModalFooterTheme>(\n 'FLOWBITE_MODAL_FOOTER_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalFooterThemeService implements FlowbiteThemeService<ModalFooterProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_FOOTER_THEME_TOKEN);\n\n public getClasses(properties: ModalFooterProperties): ModalFooterClass {\n const theme: ModalFooterTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalFooterClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { ModalFooterClass, ModalFooterTheme } from './modal-footer.theme';\nimport { ModalFooterThemeService } from './modal-footer.theme.service';\nimport { ModalComponent } from './modal.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-modal-footer',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalFooterComponent extends BaseComponent<ModalFooterClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ModalFooterThemeService);\n /**\n * The parent `ModalComponent`\n */\n public readonly modalComponent = inject(ModalComponent);\n\n //#region properties\n /**\n * Set the custom style for this modal footer\n */\n public customStyle = model<DeepPartial<ModalFooterTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalFooterClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n ModalHeaderClass,\n ModalHeaderProperties,\n ModalHeaderTheme,\n} from './modal-header.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalHeaderTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_HEADER_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_HEADER_THEME_TOKEN = new InjectionToken<ModalHeaderTheme>(\n 'FLOWBITE_MODAL_HEADER_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalHeaderThemeService implements FlowbiteThemeService<ModalHeaderProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_HEADER_THEME_TOKEN);\n\n public getClasses(properties: ModalHeaderProperties): ModalHeaderClass {\n const theme: ModalHeaderTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalHeaderClass = {\n rootClass: twMerge(theme.root.base),\n modalHeaderTitleClass: twMerge(theme.title.base),\n modalHeaderButtonClass: twMerge(theme.button.base),\n };\n\n return output;\n }\n}\n","import type { ModalHeaderClass, ModalHeaderTheme } from './modal-header.theme';\nimport { ModalHeaderThemeService } from './modal-header.theme.service';\nimport { ModalComponent } from './modal.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CLOSE_SVG_ICON } from 'flowbite-angular/utils';\n\nimport { NgClass } from '@angular/common';\nimport type { OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n imports: [NgClass, IconComponent],\n selector: 'flowbite-modal-header',\n template: `\n <h3 [ngClass]=\"contentClasses().modalHeaderTitleClass\">\n <ng-content />\n </h3>\n <button\n type=\"button\"\n [ngClass]=\"contentClasses().modalHeaderButtonClass\"\n data-modal-hide=\"medium-modal\"\n (click)=\"modalComponent.close()\">\n <flowbite-icon\n svgIcon=\"flowbite-angular:close\"\n class=\"w-5 h-5\" />\n <span class=\"sr-only\">Close modal</span>\n </button>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent extends BaseComponent<ModalHeaderClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly stateService = inject(ModalHeaderThemeService);\n /**\n * The parent `ModalComponent`\n */\n public readonly modalComponent = inject(ModalComponent);\n /**\n * `IconRegistry` service\n */\n public readonly iconRegistry = inject(IconRegistry);\n /**\n * `DomSanitizer` service\n */\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n /**\n * Set the custom style for this modal header\n */\n public customStyle = model<DeepPartial<ModalHeaderTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalHeaderClass {\n return this.stateService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'close',\n this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON)\n );\n }\n //#endregion\n}\n","import type { ModalClass, ModalProperties, ModalTheme } from './modal.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_THEME_TOKEN = new InjectionToken<ModalTheme>(\n 'FLOWBITE_MODAL_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalThemeService implements FlowbiteThemeService<ModalProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_THEME_TOKEN);\n\n public getClasses(properties: ModalProperties): ModalClass {\n const theme: ModalTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalClass = {\n rootClass: twMerge(theme.root.base),\n modalWrapperClass: twMerge(theme.wrapper.base, theme.wrapper.position[properties.position]),\n modalContainerClass: twMerge(theme.container.base, theme.container.size[properties.size]),\n modalContentClass: twMerge(theme.content.base),\n };\n\n return output;\n }\n}\n","import { ModalBodyComponent } from './modal-body.component';\nimport { ModalFooterComponent } from './modal-footer.component';\nimport { ModalHeaderComponent } from './modal-header.component';\nimport type { ModalClass, ModalPositions, ModalSizes, ModalTheme } from './modal.theme';\nimport { ModalThemeService } from './modal.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport { NgClass } from '@angular/common';\nimport type { EmbeddedViewRef, OnDestroy } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n inject,\n model,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter, Subject, takeUntil } from 'rxjs';\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n imports: [NgClass],\n selector: 'flowbite-modal',\n template: `\n <ng-template #modal>\n <div class=\"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-[99]\"></div>\n\n <div\n [ngClass]=\"contentClasses().modalWrapperClass\"\n (click)=\"onBackdropClick($event)\">\n <div [ngClass]=\"contentClasses().modalContainerClass\">\n <div [ngClass]=\"contentClasses().modalContentClass\">\n <ng-content />\n </div>\n </div>\n </div>\n </ng-template>\n `,\n host: {\n tabindex: '-1',\n '(document:keydown)': 'onKeydownHandler($event)',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalComponent extends BaseComponent<ModalClass> implements OnDestroy {\n private readonly destroyed = new Subject<void>();\n\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ModalThemeService);\n /**\n * The child `ModalHeaderComponent`\n */\n public readonly modalHeaderChild = contentChild(ModalHeaderComponent);\n /**\n * The child `ModalBodyComponent`\n */\n public readonly modalBodyChild = contentChild(ModalBodyComponent);\n /**\n * The child `ModalFooterComponent`\n */\n public readonly modalFooterChild = contentChild(ModalFooterComponent);\n\n //#region template properties\n private readonly template = viewChild.required('modal', { read: TemplateRef });\n\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly router = inject(Router);\n\n private embeddedView?: EmbeddedViewRef<unknown>;\n //#endregion\n\n //#region properties\n /**\n * Set the modal size\n *\n * @default md\n */\n public size = model<keyof ModalSizes>('md');\n /**\n * Set the modal position\n *\n * @default center\n */\n public position = model<keyof ModalPositions>('center');\n /**\n * Set if the modal is dismissable\n *\n * @default false\n */\n public isDismissable = model<boolean>(false);\n /**\n * Set if the modal is open\n *\n * @default false\n */\n public isOpen = model<boolean>(false);\n /**\n * Set the custom style for this modal\n */\n public customStyle = model<DeepPartial<ModalTheme>>({});\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalClass {\n return this.themeService.getClasses({\n isOpen: booleanToFlowbiteBoolean(this.isOpen()),\n size: this.size(),\n position: this.position(),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n // close modal if it's not destroyed on route change\n this.router.events\n .pipe(\n takeUntil(this.destroyed),\n filter(() => this.isOpen()),\n filter((event) => event instanceof NavigationStart)\n )\n .subscribe(() => this.close());\n }\n\n public override verify(): void {\n if (this.modalBodyChild() === undefined) {\n throw new Error('No ModalBodyComponent available');\n }\n }\n //#endregion\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n open() {\n this.isOpen.set(true);\n this.changeBackdrop();\n }\n\n close() {\n this.isOpen.set(false);\n this.changeBackdrop();\n }\n\n toggle() {\n this.isOpen.set(!this.isOpen());\n this.changeBackdrop();\n }\n\n // If isOpen changes, add or remove template\n changeBackdrop() {\n if (this.isOpen()) {\n this.createTemplate();\n } else {\n this.destroyTemplate();\n }\n }\n\n private createTemplate() {\n if (this.embeddedView) {\n this.destroyTemplate();\n }\n\n this.embeddedView = this.viewContainer.createEmbeddedView(this.template());\n }\n\n private destroyTemplate() {\n this.embeddedView?.destroy();\n }\n\n onKeydownHandler(event: KeyboardEvent) {\n console.log('hello');\n if (event.key === 'Escape') {\n this.close();\n }\n }\n\n onBackdropClick(event: MouseEvent) {\n if (event.target == event.currentTarget && this.isDismissable()) {\n this.close();\n }\n }\n}\n","import type {\n DeepPartial,\n FlowbiteBoolean,\n FlowbiteClass,\n FlowbitePositions,\n FlowbiteSizes,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\nexport interface ModalSizes extends Pick<FlowbiteSizes, 'sm' | 'md' | 'lg' | 'xl'> {\n [key: string]: string;\n}\n\nexport interface ModalPositions\n extends Pick<\n FlowbitePositions,\n | 'center'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n | 'top-center'\n | 'bottom-center'\n | 'center-left'\n | 'center-right'\n > {\n [key: string]: string;\n}\n//#endregion\n\nexport interface ModalProperties {\n isOpen: keyof FlowbiteBoolean;\n size: keyof ModalSizes;\n position: keyof ModalPositions;\n customStyle: DeepPartial<ModalTheme>;\n}\n\nexport interface ModalTheme {\n root: {\n base: string;\n };\n wrapper: {\n base: string;\n position: ModalPositions;\n };\n container: {\n base: string;\n size: ModalSizes;\n };\n content: {\n base: string;\n };\n}\n\nexport const modalTheme: ModalTheme = createTheme({\n root: {\n base: '',\n },\n wrapper: {\n base: 'fixed top-0 left-0 right-0 z-[100] w-full p-4 overflow-x-hidden overflow-y-auto md:inset-0 h-[calc(100%-1rem)] md:h-full flex',\n position: {\n 'top-left': 'items-start justify-start',\n 'top-center': 'items-start justify-center',\n 'top-right': 'items-start justify-end',\n 'center-left': 'items-center justify-start',\n center: 'items-center justify-center',\n 'center-right': 'items-center justify-end',\n 'bottom-left': 'items-end justify-start',\n 'bottom-center': 'items-end justify-center',\n 'bottom-right': 'items-end justify-end',\n },\n },\n container: {\n base: 'relative w-full h-full md:h-auto',\n size: {\n sm: 'max-w-md',\n md: 'max-w-lg',\n lg: 'max-w-4xl',\n xl: 'max-w-7xl',\n },\n },\n content: {\n base: 'relative bg-white rounded-lg shadow dark:bg-gray-700',\n },\n});\n\nexport interface ModalClass extends FlowbiteClass {\n modalWrapperClass: string;\n modalContainerClass: string;\n modalContentClass: string;\n}\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `ModalComponent`\n */\nexport interface ModalHeaderProperties {\n customStyle: DeepPartial<ModalHeaderTheme>;\n}\n\n/**\n * Theme definition for `ModalComponent`\n */\nexport interface ModalHeaderTheme {\n root: {\n base: string;\n };\n title: {\n base: string;\n };\n button: {\n base: string;\n };\n}\n\n/**\n * Default theme for `ModalComponent`\n */\nexport const modalHeaderTheme: ModalHeaderTheme = createTheme({\n root: {\n base: 'flex items-center justify-between p-5 border-b rounded-t dark:border-gray-600',\n },\n title: {\n base: 'text-xl font-medium text-gray-900 dark:text-white',\n },\n button: {\n base: 'text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-600 dark:hover:text-white',\n },\n});\n\n/**\n * Generated class definition for `ModalComponent`\n */\nexport interface ModalHeaderClass extends FlowbiteClass {\n modalHeaderTitleClass: string;\n modalHeaderButtonClass: string;\n}\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `ModalBodyComponent`\n */\nexport interface ModalBodyProperties {\n customStyle: DeepPartial<ModalBodyTheme>;\n}\n\n/**\n * Theme definition for `ModalBodyComponent`\n */\nexport interface ModalBodyTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme value for `ModalBodyComponent`\n */\nexport const modalBodyTheme: ModalBodyTheme = createTheme({\n root: {\n base: 'block p-6 space-y-6',\n },\n});\n\n/**\n * Generated class definition for `ModalBodyComponent`\n */\nexport type ModalBodyClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `ModalFooterComponent`\n */\nexport interface ModalFooterProperties {\n customStyle: DeepPartial<ModalFooterTheme>;\n}\n\n/**\n * Theme definition for `ModalFooteromponent`\n */\nexport interface ModalFooterTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `ModalFooterComponent`\n */\nexport const modalFooterTheme: ModalFooterTheme = createTheme({\n root: {\n base: 'flex items-center p-6 space-x-2 border-t border-gray-200 rounded-b dark:border-gray-600',\n },\n});\n\n/**\n * Generated class definition for `ModalFooterComponent`\n */\nexport type ModalFooterClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAQA;;;;;;;AAOG;MACU,+BAA+B,GAAG,IAAI,cAAc,CAC/D,iCAAiC,EACjC;MAKW,qBAAqB,CAAA;AAHlC,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAWtE,KAAA;AATQ,IAAA,UAAU,CAAC,UAA+B,EAAA;AAC/C,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AAEjE,QAAA,MAAM,MAAM,GAAmB;YAC7B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACpC,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;8GAXU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACND;;AAEG;AASG,MAAO,kBAAmB,SAAQ,aAA6B,CAAA;AARrE,IAAA,WAAA,GAAA;;AASE;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC7D;;AAEG;AACa,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;;AAGxD;;AAEG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA8B,EAAE,CAAC,CAAC;AAU7D,KAAA;;;IANiB,UAAU,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAClC,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC,CAAC;KACJ;8GAtBU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,2SAJnB,CAAgB,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIf,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,OAAO,CAAC;AAClB,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAgB,cAAA,CAAA;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;ACdD;;;;;;;AAOG;MACU,iCAAiC,GAAG,IAAI,cAAc,CACjE,mCAAmC,EACnC;MAKW,uBAAuB,CAAA;AAHpC,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAWxE,KAAA;AATQ,IAAA,UAAU,CAAC,UAAiC,EAAA;AACjD,QAAA,MAAM,KAAK,GAAqB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AAEnF,QAAA,MAAM,MAAM,GAAqB;YAC/B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACpC,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;8GAXU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACVD;;AAEG;AASG,MAAO,oBAAqB,SAAQ,aAA+B,CAAA;AARzE,IAAA,WAAA,GAAA;;AASE;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC/D;;AAEG;AACa,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;;AAGxD;;AAEG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgC,EAAE,CAAC,CAAC;AAU/D,KAAA;;;IANiB,UAAU,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAClC,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC,CAAC;KACJ;8GAtBU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6SAJrB,CAAgB,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIf,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,OAAO,CAAC;AAClB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAgB,cAAA,CAAA;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;ACdD;;;;;;;AAOG;MACU,iCAAiC,GAAG,IAAI,cAAc,CACjE,mCAAmC,EACnC;MAKW,uBAAuB,CAAA;AAHpC,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAaxE,KAAA;AAXQ,IAAA,UAAU,CAAC,UAAiC,EAAA;AACjD,QAAA,MAAM,KAAK,GAAqB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AAEnF,QAAA,MAAM,MAAM,GAAqB;YAC/B,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,qBAAqB,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YAChD,sBAAsB,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;SACnD,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;8GAbU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACND;;AAEG;AAuBG,MAAO,oBAAqB,SAAQ,aAA+B,CAAA;AAtBzE,IAAA,WAAA,GAAA;;AAuBE;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC/D;;AAEG;AACa,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AACxD;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACpD;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;;AAGpD;;AAEG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgC,EAAE,CAAC,CAAC;AAkB/D,KAAA;;;IAdiB,UAAU,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAClC,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC,CAAC;KACJ;IAEe,IAAI,GAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,wBAAwB,CACxC,kBAAkB,EAClB,OAAO,EACP,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAC1D,CAAC;KACH;8GAtCU,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAlBrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;GAcT,EAhBS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,oFAAE,aAAa,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAoBrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAtBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;AACjC,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcT,EAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;ACpCD;;;;;;;AAOG;MACU,0BAA0B,GAAG,IAAI,cAAc,CAC1D,4BAA4B,EAC5B;MAKW,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAcjE,KAAA;AAZQ,IAAA,UAAU,CAAC,UAA2B,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAe,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;AAE7E,QAAA,MAAM,MAAM,GAAe;YACzB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,YAAA,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC3F,YAAA,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzF,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;SAC/C,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;8GAdU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACGD;;AAEG;AA2BG,MAAO,cAAe,SAAQ,aAAyB,CAAA;AA1B7D,IAAA,WAAA,GAAA;;AA2BmB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;AAEjD;;AAEG;AACa,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACzD;;AAEG;AACa,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AACtE;;AAEG;AACa,QAAA,IAAA,CAAA,cAAc,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;AAClE;;AAEG;AACa,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;;AAGrD,QAAA,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACzC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;;;AAMzC;;;;AAIG;AACI,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAmB,IAAI,CAAC,CAAC;AAC5C;;;;AAIG;AACI,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAuB,QAAQ,CAAC,CAAC;AACxD;;;;AAIG;AACI,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AAC7C;;;;AAIG;AACI,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACtC;;AAEG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA0B,EAAE,CAAC,CAAC;AAoFzD,KAAA;;;IAhFiB,UAAU,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAClC,YAAA,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAC/C,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,YAAA,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;AAChC,SAAA,CAAC,CAAC;KACJ;IAEe,IAAI,GAAA;;QAElB,IAAI,CAAC,MAAM,CAAC,MAAM;AACf,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EACzB,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAC3B,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,eAAe,CAAC,CACpD;aACA,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAClC;IAEe,MAAM,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,SAAS,EAAE;AACvC,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;KACF;;IAGD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;;IAGD,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;KACF;IAEO,cAAc,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC5E;IAEO,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;KAC9B;AAED,IAAA,gBAAgB,CAAC,KAAoB,EAAA;AACnC,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACrB,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;KACF;AAED,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC/B,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;KACF;8GA5IU,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,cAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAUuB,oBAAoB,EAItB,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,kBAAkB,mGAIhB,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAGJ,WAAW,EA3CjE,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAhBS,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAwBN,cAAc,EAAA,UAAA,EAAA,CAAA;kBA1B1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,OAAO,CAAC;AAClB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;AAcT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,oBAAoB,EAAE,0BAA0B;AACjD,qBAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;ACEM,MAAM,UAAU,GAAe,WAAW,CAAC;AAChD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,EAAE;AACT,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,+HAA+H;AACrI,QAAA,QAAQ,EAAE;AACR,YAAA,UAAU,EAAE,2BAA2B;AACvC,YAAA,YAAY,EAAE,4BAA4B;AAC1C,YAAA,WAAW,EAAE,yBAAyB;AACtC,YAAA,aAAa,EAAE,4BAA4B;AAC3C,YAAA,MAAM,EAAE,6BAA6B;AACrC,YAAA,cAAc,EAAE,0BAA0B;AAC1C,YAAA,aAAa,EAAE,yBAAyB;AACxC,YAAA,eAAe,EAAE,0BAA0B;AAC3C,YAAA,cAAc,EAAE,uBAAuB;AACxC,SAAA;AACF,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,IAAI,EAAE,kCAAkC;AACxC,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,UAAU;AACd,YAAA,EAAE,EAAE,WAAW;AACf,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,sDAAsD;AAC7D,KAAA;AACF,CAAA;;AC5DD;;AAEG;AACI,MAAM,gBAAgB,GAAqB,WAAW,CAAC;AAC5D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,+EAA+E;AACtF,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,mDAAmD;AAC1D,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,2KAA2K;AAClL,KAAA;AACF,CAAA;;ACnBD;;AAEG;AACI,MAAM,cAAc,GAAmB,WAAW,CAAC;AACxD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,qBAAqB;AAC5B,KAAA;AACF,CAAA;;ACPD;;AAEG;AACI,MAAM,gBAAgB,GAAqB,WAAW,CAAC;AAC5D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,yFAAyF;AAChG,KAAA;AACF,CAAA;;AC1BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"flowbite-angular-modal.mjs","sources":["../../../../libs/flowbite-angular/modal/modal-body.theme.service.ts","../../../../libs/flowbite-angular/modal/modal-body.component.ts","../../../../libs/flowbite-angular/modal/modal-footer.theme.service.ts","../../../../libs/flowbite-angular/modal/modal-footer.component.ts","../../../../libs/flowbite-angular/modal/modal-header.theme.service.ts","../../../../libs/flowbite-angular/modal/modal-header.component.ts","../../../../libs/flowbite-angular/modal/modal.theme.service.ts","../../../../libs/flowbite-angular/modal/modal.component.ts","../../../../libs/flowbite-angular/modal/modal.theme.ts","../../../../libs/flowbite-angular/modal/modal-header.theme.ts","../../../../libs/flowbite-angular/modal/modal-body.theme.ts","../../../../libs/flowbite-angular/modal/modal-footer.theme.ts","../../../../libs/flowbite-angular/modal/flowbite-angular-modal.ts"],"sourcesContent":["import type { ModalBodyClass, ModalBodyProperties, ModalBodyTheme } from './modal-body.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalBodyTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_BODY_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_BODY_THEME_TOKEN = new InjectionToken<ModalBodyTheme>(\n 'FLOWBITE_MODAL_BODY_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalBodyThemeService implements FlowbiteThemeService<ModalBodyProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_BODY_THEME_TOKEN);\n\n public getClasses(properties: ModalBodyProperties): ModalBodyClass {\n const theme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalBodyClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { ModalBodyClass, ModalBodyTheme } from './modal-body.theme';\nimport { ModalBodyThemeService } from './modal-body.theme.service';\nimport { ModalComponent } from './modal.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<ModalBodyTheme>\n>('FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const modalBodyDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-modal-body',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalBodyComponent extends BaseComponent<ModalBodyClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ModalBodyThemeService);\n /**\n * The parent `ModalComponent`\n */\n public readonly modalComponent = inject(ModalComponent);\n\n //#region properties\n /**\n * Set the custom style for this modal body\n */\n public customStyle = model(inject(FLOWBITE_MODAL_BODY_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalBodyClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n ModalFooterClass,\n ModalFooterProperties,\n ModalFooterTheme,\n} from './modal-footer.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalFooterTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_FOOTER_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_FOOTER_THEME_TOKEN = new InjectionToken<ModalFooterTheme>(\n 'FLOWBITE_MODAL_FOOTER_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalFooterThemeService implements FlowbiteThemeService<ModalFooterProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_FOOTER_THEME_TOKEN);\n\n public getClasses(properties: ModalFooterProperties): ModalFooterClass {\n const theme: ModalFooterTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalFooterClass = {\n rootClass: twMerge(theme.root.base),\n };\n\n return output;\n }\n}\n","import type { ModalFooterClass, ModalFooterTheme } from './modal-footer.theme';\nimport { ModalFooterThemeService } from './modal-footer.theme.service';\nimport { ModalComponent } from './modal.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\n\nexport const FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<ModalFooterTheme>\n>('FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const modalFooterDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-modal-footer',\n template: `<ng-content />`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalFooterComponent extends BaseComponent<ModalFooterClass> {\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ModalFooterThemeService);\n /**\n * The parent `ModalComponent`\n */\n public readonly modalComponent = inject(ModalComponent);\n\n //#region properties\n /**\n * Set the custom style for this modal footer\n */\n public customStyle = model(inject(FLOWBITE_MODAL_FOOTER_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalFooterClass {\n return this.themeService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n //#endregion\n}\n","import type {\n ModalHeaderClass,\n ModalHeaderProperties,\n ModalHeaderTheme,\n} from './modal-header.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalHeaderTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_HEADER_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_HEADER_THEME_TOKEN = new InjectionToken<ModalHeaderTheme>(\n 'FLOWBITE_MODAL_HEADER_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalHeaderThemeService implements FlowbiteThemeService<ModalHeaderProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_HEADER_THEME_TOKEN);\n\n public getClasses(properties: ModalHeaderProperties): ModalHeaderClass {\n const theme: ModalHeaderTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalHeaderClass = {\n rootClass: twMerge(theme.root.base),\n modalHeaderTitleClass: twMerge(theme.title.base),\n modalHeaderButtonClass: twMerge(theme.button.base),\n };\n\n return output;\n }\n}\n","import type { ModalHeaderClass, ModalHeaderTheme } from './modal-header.theme';\nimport { ModalHeaderThemeService } from './modal-header.theme.service';\nimport { ModalComponent } from './modal.component';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent } from 'flowbite-angular';\nimport { IconComponent, IconRegistry } from 'flowbite-angular/icon';\nimport { CLOSE_SVG_ICON } from 'flowbite-angular/utils';\n\nimport type { OnInit } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nexport const FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<ModalHeaderTheme>\n>('FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const modalHeaderDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n imports: [IconComponent],\n selector: 'flowbite-modal-header',\n template: `\n <h3 [class]=\"contentClasses().modalHeaderTitleClass\">\n <ng-content />\n </h3>\n <button\n type=\"button\"\n [class]=\"contentClasses().modalHeaderButtonClass\"\n data-modal-hide=\"medium-modal\"\n (click)=\"modalComponent.close()\">\n <flowbite-icon\n svgIcon=\"flowbite-angular:close\"\n class=\"w-5 h-5\" />\n <span class=\"sr-only\">Close modal</span>\n </button>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalHeaderComponent extends BaseComponent<ModalHeaderClass> implements OnInit {\n /**\n * Service injected used to generate class\n */\n public readonly stateService = inject(ModalHeaderThemeService);\n /**\n * The parent `ModalComponent`\n */\n public readonly modalComponent = inject(ModalComponent);\n /**\n * `IconRegistry` service\n */\n public readonly iconRegistry = inject(IconRegistry);\n /**\n * `DomSanitizer` service\n */\n public readonly domSanitizer = inject(DomSanitizer);\n\n //#region properties\n /**\n * Set the custom style for this modal header\n */\n public customStyle = model(inject(FLOWBITE_MODAL_HEADER_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalHeaderClass {\n return this.stateService.getClasses({\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n this.iconRegistry.addRawSvgIconInNamepsace(\n 'flowbite-angular',\n 'close',\n this.domSanitizer.bypassSecurityTrustHtml(CLOSE_SVG_ICON)\n );\n }\n //#endregion\n}\n","import type { ModalClass, ModalProperties, ModalTheme } from './modal.theme';\n\nimport type { FlowbiteThemeService } from 'flowbite-angular';\nimport { mergeTheme } from 'flowbite-angular/utils';\n\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * `InjectionToken` used to import `ModalTheme` value\n *\n * @example\n * ```\n * var theme = inject(FLOWBITE_MODAL_THEME_TOKEN)\n * ```\n */\nexport const FLOWBITE_MODAL_THEME_TOKEN = new InjectionToken<ModalTheme>(\n 'FLOWBITE_MODAL_THEME_TOKEN'\n);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalThemeService implements FlowbiteThemeService<ModalProperties> {\n private readonly baseTheme = inject(FLOWBITE_MODAL_THEME_TOKEN);\n\n public getClasses(properties: ModalProperties): ModalClass {\n const theme: ModalTheme = mergeTheme(this.baseTheme, properties.customStyle);\n\n const output: ModalClass = {\n rootClass: twMerge(theme.root.base),\n modalWrapperClass: twMerge(theme.wrapper.base, theme.wrapper.position[properties.position]),\n modalContainerClass: twMerge(theme.container.base, theme.container.size[properties.size]),\n modalContentClass: twMerge(theme.content.base),\n };\n\n return output;\n }\n}\n","import { ModalBodyComponent } from './modal-body.component';\nimport { ModalFooterComponent } from './modal-footer.component';\nimport { ModalHeaderComponent } from './modal-header.component';\nimport type { ModalClass, ModalPositions, ModalSizes, ModalTheme } from './modal.theme';\nimport { ModalThemeService } from './modal.theme.service';\n\nimport type { DeepPartial } from 'flowbite-angular';\nimport { BaseComponent, booleanToFlowbiteBoolean } from 'flowbite-angular';\n\nimport type { EmbeddedViewRef, OnDestroy } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n model,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter, Subject, takeUntil } from 'rxjs';\n\nexport const FLOWBITE_MODAL_SIZE_DEFAULT_VALUE = new InjectionToken<keyof ModalSizes>(\n 'FLOWBITE_MODAL_SIZE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_MODAL_POSITION_DEFAULT_VALUE = new InjectionToken<keyof ModalPositions>(\n 'FLOWBITE_MODAL_POSITION_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE = new InjectionToken<boolean>(\n 'FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE'\n);\n\nexport const FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE = new InjectionToken<\n DeepPartial<ModalTheme>\n>('FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE');\n\nexport const modalDefaultValueProvider = makeEnvironmentProviders([\n {\n provide: FLOWBITE_MODAL_SIZE_DEFAULT_VALUE,\n useValue: 'md',\n },\n {\n provide: FLOWBITE_MODAL_POSITION_DEFAULT_VALUE,\n useValue: 'center',\n },\n {\n provide: FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE,\n useValue: false,\n },\n {\n provide: FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE,\n useValue: {},\n },\n]);\n\n/**\n * @see https://flowbite.com/docs/components/modal/\n */\n@Component({\n standalone: true,\n selector: 'flowbite-modal',\n template: `\n <ng-template #modal>\n <div class=\"bg-gray-900 bg-opacity-50 dark:bg-opacity-80 fixed inset-0 z-[99]\"></div>\n\n <div\n [class]=\"contentClasses().modalWrapperClass\"\n (click)=\"onBackdropClick($event)\">\n <div [class]=\"contentClasses().modalContainerClass\">\n <div [class]=\"contentClasses().modalContentClass\">\n <ng-content />\n </div>\n </div>\n </div>\n </ng-template>\n `,\n host: {\n tabindex: '-1',\n '(document:keydown)': 'onKeydownHandler($event)',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModalComponent extends BaseComponent<ModalClass> implements OnDestroy {\n private readonly destroyed = new Subject<void>();\n\n /**\n * Service injected used to generate class\n */\n public readonly themeService = inject(ModalThemeService);\n /**\n * The child `ModalHeaderComponent`\n */\n public readonly modalHeaderChild = contentChild(ModalHeaderComponent);\n /**\n * The child `ModalBodyComponent`\n */\n public readonly modalBodyChild = contentChild.required(ModalBodyComponent);\n /**\n * The child `ModalFooterComponent`\n */\n public readonly modalFooterChild = contentChild(ModalFooterComponent);\n\n //#region template properties\n private readonly template = viewChild.required('modal', { read: TemplateRef });\n\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly router = inject(Router);\n\n private embeddedView?: EmbeddedViewRef<unknown>;\n //#endregion\n\n //#region properties\n /**\n * Set the modal size\n *\n * @default md\n */\n public size = model(inject(FLOWBITE_MODAL_SIZE_DEFAULT_VALUE));\n /**\n * Set the modal position\n *\n * @default center\n */\n public position = model(inject(FLOWBITE_MODAL_POSITION_DEFAULT_VALUE));\n /**\n * Set if the modal is dismissable\n *\n * @default false\n */\n public isDismissable = model(inject(FLOWBITE_MODAL_IS_DISMISSABLE_DEFAULT_VALUE));\n /**\n * Set if the modal is open\n *\n * @default false\n */\n public isOpen = model(inject(FLOWBITE_MODAL_IS_OPEN_DEFAULT_VALUE));\n /**\n * Set the custom style for this modal\n */\n public customStyle = model(inject(FLOWBITE_MODAL_CUSTOM_STYLE_DEFAULT_VALUE));\n //#endregion\n\n //#region BaseComponent implementation\n public override fetchClass(): ModalClass {\n return this.themeService.getClasses({\n isOpen: booleanToFlowbiteBoolean(this.isOpen()),\n size: this.size(),\n position: this.position(),\n customStyle: this.customStyle(),\n });\n }\n\n public override init(): void {\n // close modal if it's not destroyed on route change\n this.router.events\n .pipe(\n takeUntil(this.destroyed),\n filter(() => this.isOpen()),\n filter((event) => event instanceof NavigationStart)\n )\n .subscribe(() => this.close());\n }\n //#endregion\n\n ngOnDestroy(): void {\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n open() {\n this.isOpen.set(true);\n this.changeBackdrop();\n }\n\n close() {\n this.isOpen.set(false);\n this.changeBackdrop();\n }\n\n toggle() {\n this.isOpen.set(!this.isOpen());\n this.changeBackdrop();\n }\n\n // If isOpen changes, add or remove template\n changeBackdrop() {\n if (this.isOpen()) {\n this.createTemplate();\n } else {\n this.destroyTemplate();\n }\n }\n\n private createTemplate() {\n if (this.embeddedView) {\n this.destroyTemplate();\n }\n\n this.embeddedView = this.viewContainer.createEmbeddedView(this.template());\n }\n\n private destroyTemplate() {\n this.embeddedView?.destroy();\n }\n\n onKeydownHandler(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.close();\n }\n }\n\n onBackdropClick(event: MouseEvent) {\n if (event.target == event.currentTarget && this.isDismissable()) {\n this.close();\n }\n }\n}\n","import type {\n DeepPartial,\n FlowbiteBoolean,\n FlowbiteClass,\n FlowbitePositions,\n FlowbiteSizes,\n} from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n//#region Component theme option\nexport interface ModalSizes extends Pick<FlowbiteSizes, 'sm' | 'md' | 'lg' | 'xl'> {\n [key: string]: string;\n}\n\nexport interface ModalPositions\n extends Pick<\n FlowbitePositions,\n | 'center'\n | 'top-left'\n | 'top-right'\n | 'bottom-left'\n | 'bottom-right'\n | 'top-center'\n | 'bottom-center'\n | 'center-left'\n | 'center-right'\n > {\n [key: string]: string;\n}\n//#endregion\n\nexport interface ModalProperties {\n isOpen: keyof FlowbiteBoolean;\n size: keyof ModalSizes;\n position: keyof ModalPositions;\n customStyle: DeepPartial<ModalTheme>;\n}\n\nexport interface ModalTheme {\n root: {\n base: string;\n };\n wrapper: {\n base: string;\n position: ModalPositions;\n };\n container: {\n base: string;\n size: ModalSizes;\n };\n content: {\n base: string;\n };\n}\n\nexport const modalTheme: ModalTheme = createTheme({\n root: {\n base: '',\n },\n wrapper: {\n base: 'fixed top-0 left-0 right-0 z-[100] w-full p-4 overflow-x-hidden overflow-y-auto md:inset-0 h-[calc(100%-1rem)] md:h-full flex',\n position: {\n 'top-left': 'items-start justify-start',\n 'top-center': 'items-start justify-center',\n 'top-right': 'items-start justify-end',\n 'center-left': 'items-center justify-start',\n center: 'items-center justify-center',\n 'center-right': 'items-center justify-end',\n 'bottom-left': 'items-end justify-start',\n 'bottom-center': 'items-end justify-center',\n 'bottom-right': 'items-end justify-end',\n },\n },\n container: {\n base: 'relative w-full h-full md:h-auto',\n size: {\n sm: 'max-w-md',\n md: 'max-w-lg',\n lg: 'max-w-4xl',\n xl: 'max-w-7xl',\n },\n },\n content: {\n base: 'relative bg-white rounded-lg shadow dark:bg-gray-700',\n },\n});\n\nexport interface ModalClass extends FlowbiteClass {\n modalWrapperClass: string;\n modalContainerClass: string;\n modalContentClass: string;\n}\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `ModalComponent`\n */\nexport interface ModalHeaderProperties {\n customStyle: DeepPartial<ModalHeaderTheme>;\n}\n\n/**\n * Theme definition for `ModalComponent`\n */\nexport interface ModalHeaderTheme {\n root: {\n base: string;\n };\n title: {\n base: string;\n };\n button: {\n base: string;\n };\n}\n\n/**\n * Default theme for `ModalComponent`\n */\nexport const modalHeaderTheme: ModalHeaderTheme = createTheme({\n root: {\n base: 'flex items-center justify-between p-5 border-b rounded-t dark:border-gray-600',\n },\n title: {\n base: 'text-xl font-medium text-gray-900 dark:text-white',\n },\n button: {\n base: 'text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-600 dark:hover:text-white',\n },\n});\n\n/**\n * Generated class definition for `ModalComponent`\n */\nexport interface ModalHeaderClass extends FlowbiteClass {\n modalHeaderTitleClass: string;\n modalHeaderButtonClass: string;\n}\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `ModalBodyComponent`\n */\nexport interface ModalBodyProperties {\n customStyle: DeepPartial<ModalBodyTheme>;\n}\n\n/**\n * Theme definition for `ModalBodyComponent`\n */\nexport interface ModalBodyTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme value for `ModalBodyComponent`\n */\nexport const modalBodyTheme: ModalBodyTheme = createTheme({\n root: {\n base: 'block p-6 space-y-6',\n },\n});\n\n/**\n * Generated class definition for `ModalBodyComponent`\n */\nexport type ModalBodyClass = FlowbiteClass;\n","import type { DeepPartial, FlowbiteClass } from 'flowbite-angular';\nimport { createTheme } from 'flowbite-angular/utils';\n\n/**\n * Required properties for the class generation of `ModalFooterComponent`\n */\nexport interface ModalFooterProperties {\n customStyle: DeepPartial<ModalFooterTheme>;\n}\n\n/**\n * Theme definition for `ModalFooteromponent`\n */\nexport interface ModalFooterTheme {\n root: {\n base: string;\n };\n}\n\n/**\n * Default theme for `ModalFooterComponent`\n */\nexport const modalFooterTheme: ModalFooterTheme = createTheme({\n root: {\n base: 'flex items-center p-6 space-x-2 border-t border-gray-200 rounded-b dark:border-gray-600',\n },\n});\n\n/**\n * Generated class definition for `ModalFooterComponent`\n */\nexport type ModalFooterClass = FlowbiteClass;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|