@bootkit/ng0 0.0.0-alpha.3 → 0.0.0-alpha.4

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.
Files changed (57) hide show
  1. package/common/index.d.ts +10 -2
  2. package/components/accordion/index.d.ts +1 -1
  3. package/components/button/index.d.ts +48 -0
  4. package/components/card/index.d.ts +27 -0
  5. package/components/code/index.d.ts +35 -0
  6. package/components/confirmation/index.d.ts +66 -0
  7. package/components/form-field/index.d.ts +3 -3
  8. package/components/modal/index.d.ts +1 -1
  9. package/components/pagination/index.d.ts +1 -1
  10. package/components/popover/index.d.ts +1 -1
  11. package/components/stepper/index.d.ts +26 -0
  12. package/components/table/index.d.ts +141 -0
  13. package/components/toast/index.d.ts +1 -1
  14. package/components/tooltip/index.d.ts +1 -1
  15. package/data/index.d.ts +72 -37
  16. package/fesm2022/bootkit-ng0-common.mjs +7 -1
  17. package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
  18. package/fesm2022/bootkit-ng0-components-button.mjs +119 -0
  19. package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -0
  20. package/fesm2022/bootkit-ng0-components-card.mjs +62 -0
  21. package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -0
  22. package/fesm2022/bootkit-ng0-components-code.mjs +70 -0
  23. package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -0
  24. package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -1
  25. package/fesm2022/bootkit-ng0-components-confirmation.mjs +167 -0
  26. package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -0
  27. package/fesm2022/bootkit-ng0-components-form-field.mjs +1 -1
  28. package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -1
  29. package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -1
  30. package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -1
  31. package/fesm2022/bootkit-ng0-components-stepper.mjs +91 -0
  32. package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -0
  33. package/fesm2022/bootkit-ng0-components-table.mjs +317 -0
  34. package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -0
  35. package/fesm2022/bootkit-ng0-components-toast.mjs +1 -1
  36. package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -1
  37. package/fesm2022/bootkit-ng0-data.mjs +52 -75
  38. package/fesm2022/bootkit-ng0-data.mjs.map +1 -1
  39. package/fesm2022/bootkit-ng0-file.mjs +50 -0
  40. package/fesm2022/bootkit-ng0-file.mjs.map +1 -0
  41. package/fesm2022/bootkit-ng0-form.mjs +442 -0
  42. package/fesm2022/bootkit-ng0-form.mjs.map +1 -0
  43. package/fesm2022/bootkit-ng0-http.mjs +188 -175
  44. package/fesm2022/bootkit-ng0-http.mjs.map +1 -1
  45. package/fesm2022/bootkit-ng0-localization.mjs +1 -1
  46. package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
  47. package/fesm2022/bootkit-ng0-script.mjs +59 -0
  48. package/fesm2022/bootkit-ng0-script.mjs.map +1 -0
  49. package/fesm2022/bootkit-ng0-security.mjs +2 -0
  50. package/fesm2022/bootkit-ng0-security.mjs.map +1 -1
  51. package/file/index.d.ts +22 -0
  52. package/form/index.d.ts +95 -0
  53. package/http/index.d.ts +107 -37
  54. package/localization/index.d.ts +1 -1
  55. package/package.json +52 -16
  56. package/script/index.d.ts +27 -0
  57. package/security/index.d.ts +3 -9
@@ -0,0 +1,119 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, model, booleanAttribute, Directive, NgModule } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import * as i1 from '@bootkit/ng0/http';
5
+
6
+ class ButtonDirective {
7
+ _element;
8
+ _renderer;
9
+ _http;
10
+ _destroyRef;
11
+ _loadingElement;
12
+ /**
13
+ * The IDs of the HTTP requests that this button listens to.
14
+ * If one of these requests is in progress, it will show a loading indicator or will be disabled based on 'showLoading' and 'disableOnLoading' properties.
15
+ */
16
+ request = input(undefined);
17
+ /**
18
+ * Whether the button is disabled or not.
19
+ */
20
+ disabled = model(false);
21
+ /**
22
+ * Whether to wait for the HTTP response before enabling the button again.
23
+ * If true, the button will remain disabled until the HTTP request completes.
24
+ * This is useful for preventing multiple clicks while waiting for a response.
25
+ * Default is true.
26
+ */
27
+ disableDuringRequest = input(true, { transform: booleanAttribute });
28
+ /**
29
+ * Whether to show a loading indicator when the HTTP request is in progress.
30
+ * If true, a loading spinner will be displayed on the button while the request is being processed.
31
+ * Default is true.
32
+ */
33
+ loadingIndicator = input(false, { transform: booleanAttribute });
34
+ constructor(_element, _renderer, _http, _destroyRef) {
35
+ this._element = _element;
36
+ this._renderer = _renderer;
37
+ this._http = _http;
38
+ this._destroyRef = _destroyRef;
39
+ }
40
+ ngOnInit() {
41
+ this._renderer.setStyle(this._element.nativeElement, "position", "relative");
42
+ if (this.request()) {
43
+ this._http.events.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(e => {
44
+ var ids = (Array.isArray(this.request()) ? this.request() : [this.request()]);
45
+ if (ids.includes(e?.options?.id)) {
46
+ let requestInProgress = e.type === 'Send' || e.type === 'Progress';
47
+ if (this.disableDuringRequest()) {
48
+ this.disabled.set(requestInProgress);
49
+ }
50
+ if (this.loadingIndicator()) {
51
+ if (requestInProgress) {
52
+ this._showLoading();
53
+ }
54
+ else {
55
+ this._hideLoading();
56
+ }
57
+ }
58
+ }
59
+ });
60
+ }
61
+ }
62
+ // @HostListener('click', ['$event']) private _onClick(e: MouseEvent): void {
63
+ // if (!this._disabled) {
64
+ // }
65
+ // }
66
+ _showLoading() {
67
+ this._loadingElement = this._renderer.createElement("div");
68
+ ["spinner-grow", "spinner-grow-sm", "text-warning"].forEach(s => this._renderer.addClass(this._loadingElement, s));
69
+ this._renderer.setStyle(this._loadingElement, "position", "absolute");
70
+ this._renderer.setStyle(this._loadingElement, "top", "-25%");
71
+ this._renderer.setStyle(this._loadingElement, "left", "-5px");
72
+ this._renderer.appendChild(this._element.nativeElement, this._loadingElement);
73
+ }
74
+ _hideLoading() {
75
+ this._renderer.removeChild(this._element.nativeElement, this._loadingElement);
76
+ }
77
+ ngOnDestroy() {
78
+ }
79
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.HttpService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
80
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: ButtonDirective, isStandalone: true, selector: "button[ng0Button], a[ng0Button], input[type=button][ng0Button], input[type=submit][ng0Button], input[type=reset][ng0Button]", inputs: { request: { classPropertyName: "request", publicName: "request", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, disableDuringRequest: { classPropertyName: "disableDuringRequest", publicName: "disableDuringRequest", isSignal: true, isRequired: false, transformFunction: null }, loadingIndicator: { classPropertyName: "loadingIndicator", publicName: "loadingIndicator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange" }, host: { properties: { "class.disabled": "disabled()", "prop.disabled": "disabled()", "attr.aria-disabled": "disabled()", "attr.tabindex": "disabled() ? \"-1\" : \"\" " } }, exportAs: ["ng0Button"], ngImport: i0 });
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ButtonDirective, decorators: [{
83
+ type: Directive,
84
+ args: [{
85
+ selector: 'button[ng0Button], a[ng0Button], input[type=button][ng0Button], input[type=submit][ng0Button], input[type=reset][ng0Button]',
86
+ exportAs: 'ng0Button',
87
+ standalone: true,
88
+ host: {
89
+ '[class.disabled]': 'disabled()',
90
+ '[prop.disabled]': 'disabled()',
91
+ '[attr.aria-disabled]': 'disabled()',
92
+ '[attr.tabindex]': 'disabled() ? "-1" : "" ',
93
+ }
94
+ }]
95
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.HttpService }, { type: i0.DestroyRef }] });
96
+
97
+ class ButtonModule {
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
99
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: ButtonModule, imports: [ButtonDirective], exports: [ButtonDirective] });
100
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ButtonModule });
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ButtonModule, decorators: [{
103
+ type: NgModule,
104
+ args: [{
105
+ imports: [
106
+ ButtonDirective,
107
+ ],
108
+ exports: [
109
+ ButtonDirective,
110
+ ]
111
+ }]
112
+ }] });
113
+
114
+ /**
115
+ * Generated bundle index. Do not edit.
116
+ */
117
+
118
+ export { ButtonDirective, ButtonModule };
119
+ //# sourceMappingURL=bootkit-ng0-components-button.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-button.mjs","sources":["../../../projects/ng0/components/button/button.directive.ts","../../../projects/ng0/components/button/button.module.ts","../../../projects/ng0/components/button/bootkit-ng0-components-button.ts"],"sourcesContent":["import { Directive, Renderer2, ElementRef, OnInit, OnDestroy, input, DestroyRef, model, booleanAttribute } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { HttpService } from '@bootkit/ng0/http';\r\n\r\n@Directive({\r\n selector: 'button[ng0Button], a[ng0Button], input[type=button][ng0Button], input[type=submit][ng0Button], input[type=reset][ng0Button]',\r\n exportAs: 'ng0Button',\r\n standalone: true,\r\n host: {\r\n '[class.disabled]': 'disabled()',\r\n '[prop.disabled]': 'disabled()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.tabindex]': 'disabled() ? \"-1\" : \"\" ',\r\n }\r\n})\r\nexport class ButtonDirective implements OnInit, OnDestroy {\r\n private _loadingElement: any;\r\n\r\n /**\r\n * The IDs of the HTTP requests that this button listens to.\r\n * If one of these requests is in progress, it will show a loading indicator or will be disabled based on 'showLoading' and 'disableOnLoading' properties.\r\n */\r\n public request = input<string | string[] | undefined>(undefined);\r\n\r\n /** \r\n * Whether the button is disabled or not.\r\n */\r\n public disabled = model<boolean>(false);\r\n\r\n /**\r\n * Whether to wait for the HTTP response before enabling the button again.\r\n * If true, the button will remain disabled until the HTTP request completes.\r\n * This is useful for preventing multiple clicks while waiting for a response.\r\n * Default is true.\r\n */\r\n public disableDuringRequest = input(true, {transform: booleanAttribute});\r\n\r\n /**\r\n * Whether to show a loading indicator when the HTTP request is in progress.\r\n * If true, a loading spinner will be displayed on the button while the request is being processed.\r\n * Default is true.\r\n */\r\n public loadingIndicator = input(false, {transform: booleanAttribute});\r\n\r\n constructor(\r\n private _element: ElementRef,\r\n private _renderer: Renderer2,\r\n private _http: HttpService,\r\n private _destroyRef: DestroyRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._renderer.setStyle(this._element.nativeElement, \"position\", \"relative\");\r\n\r\n if (this.request()) {\r\n this._http.events.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(e => {\r\n var ids = (Array.isArray(this.request()) ? this.request() : [this.request()]) as string[];\r\n\r\n if (ids.includes(e?.options?.id)) {\r\n let requestInProgress = e.type === 'Send' || e.type === 'Progress';\r\n\r\n if (this.disableDuringRequest()) {\r\n this.disabled.set(requestInProgress);\r\n }\r\n\r\n if (this.loadingIndicator()) {\r\n if (requestInProgress) {\r\n this._showLoading();\r\n } else {\r\n this._hideLoading();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n // @HostListener('click', ['$event']) private _onClick(e: MouseEvent): void {\r\n // if (!this._disabled) {\r\n // }\r\n // }\r\n\r\n private _showLoading() {\r\n this._loadingElement = this._renderer.createElement(\"div\");\r\n [\"spinner-grow\", \"spinner-grow-sm\", \"text-warning\"].forEach(s => this._renderer.addClass(this._loadingElement, s));\r\n this._renderer.setStyle(this._loadingElement, \"position\", \"absolute\");\r\n this._renderer.setStyle(this._loadingElement, \"top\", \"-25%\");\r\n this._renderer.setStyle(this._loadingElement, \"left\", \"-5px\");\r\n this._renderer.appendChild(this._element.nativeElement, this._loadingElement);\r\n }\r\n\r\n private _hideLoading() {\r\n this._renderer.removeChild(this._element.nativeElement, this._loadingElement);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ButtonDirective } from './button.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n ButtonDirective,\r\n ],\r\n exports: [\r\n ButtonDirective,\r\n ]\r\n})\r\nexport class ButtonModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+
6
+ class CardComponent {
7
+ _element;
8
+ _renderer;
9
+ header = input();
10
+ constructor(_element, _renderer) {
11
+ this._element = _element;
12
+ this._renderer = _renderer;
13
+ this._renderer.addClass(this._element.nativeElement, 'card');
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: CardComponent, isStandalone: true, selector: "ng0-card", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["ng0Card"], ngImport: i0, template: "<div *ngIf=\"header()\" class=\"card-header\">\r\n {{header()}}\r\n</div>\r\n\r\n<div class=\"card-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'ng0-card', exportAs: 'ng0Card', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div *ngIf=\"header()\" class=\"card-header\">\r\n {{header()}}\r\n</div>\r\n\r\n<div class=\"card-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
21
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
22
+
23
+ class CardHeaderComponent {
24
+ _element;
25
+ _renderer;
26
+ constructor(_element, _renderer) {
27
+ this._element = _element;
28
+ this._renderer = _renderer;
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardHeaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: CardHeaderComponent, isStandalone: true, selector: "ng0-card-header", exportAs: ["ng0CardHeader"], ngImport: i0, template: "<ng-content></ng-content>", dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardHeaderComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'ng0-card-header', exportAs: 'ng0CardHeader', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<ng-content></ng-content>" }]
36
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
37
+
38
+ const DECLARES = [
39
+ CardComponent,
40
+ CardHeaderComponent
41
+ ];
42
+ class CardModule {
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
44
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: CardModule, imports: [CardComponent,
45
+ CardHeaderComponent], exports: [CardComponent,
46
+ CardHeaderComponent] });
47
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardModule, imports: [DECLARES] });
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CardModule, decorators: [{
50
+ type: NgModule,
51
+ args: [{
52
+ imports: DECLARES,
53
+ exports: DECLARES
54
+ }]
55
+ }] });
56
+
57
+ /**
58
+ * Generated bundle index. Do not edit.
59
+ */
60
+
61
+ export { CardComponent, CardHeaderComponent, CardModule };
62
+ //# sourceMappingURL=bootkit-ng0-components-card.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-card.mjs","sources":["../../../projects/ng0/components/card/card.component.ts","../../../projects/ng0/components/card/card.component.html","../../../projects/ng0/components/card/card-header.component.ts","../../../projects/ng0/components/card/card-header.component.html","../../../projects/ng0/components/card/card.module.ts","../../../projects/ng0/components/card/bootkit-ng0-components-card.ts"],"sourcesContent":["import { Component, ElementRef, Renderer2, ContentChild, ChangeDetectionStrategy, input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-card',\r\n exportAs: 'ng0Card',\r\n templateUrl: 'card.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class CardComponent {\r\n public header = input<string>();\r\n \r\n constructor(private _element: ElementRef, private _renderer: Renderer2) {\r\n this._renderer.addClass(this._element.nativeElement, 'card'); \r\n }\r\n}\r\n","<div *ngIf=\"header()\" class=\"card-header\">\r\n {{header()}}\r\n</div>\r\n\r\n<div class=\"card-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { Component, ElementRef, Renderer2, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-card-header',\r\n exportAs: 'ng0CardHeader',\r\n templateUrl: 'card-header.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class CardHeaderComponent {\r\n constructor(private _element: ElementRef, private _renderer: Renderer2) { \r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CardComponent } from './card.component';\r\nimport { CardHeaderComponent } from './card-header.component';\r\n\r\nconst DECLARES = [\r\n CardComponent,\r\n CardHeaderComponent\r\n];\r\n\r\n@NgModule({\r\n imports: DECLARES,\r\n exports: DECLARES\r\n})\r\nexport class CardModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i2 from '@angular/platform-browser';
4
+
5
+ class CodeFormatter {
6
+ name;
7
+ format;
8
+ constructor(name, format) {
9
+ this.name = name;
10
+ this.format = format;
11
+ }
12
+ }
13
+
14
+ class CodeFormatters {
15
+ _formatters = new Array();
16
+ constructor() { }
17
+ add(name, func) {
18
+ var formatter = this._formatters.find(x => x.name == name);
19
+ if (!formatter) {
20
+ formatter = new CodeFormatter(name, func);
21
+ this._formatters.push(formatter);
22
+ }
23
+ return formatter;
24
+ }
25
+ find(name) {
26
+ return this._formatters.find(x => x.name == name);
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CodeFormatters, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CodeFormatters, providedIn: 'root' });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CodeFormatters, decorators: [{
32
+ type: Injectable,
33
+ args: [{
34
+ providedIn: 'root'
35
+ }]
36
+ }], ctorParameters: () => [] });
37
+
38
+ class CodeComponent {
39
+ formatters;
40
+ domSanitizer;
41
+ /** Code formatter name */
42
+ formatter = input.required();
43
+ /** Code */
44
+ code = input.required();
45
+ _safeHtml = computed(() => {
46
+ var frmt = this.formatters.find(this.formatter());
47
+ if (frmt == null) {
48
+ console.warn(`Code formatter named "${this.formatter()}" not found.`);
49
+ return undefined;
50
+ }
51
+ return this.domSanitizer.bypassSecurityTrustHtml(frmt.format(this.code()));
52
+ });
53
+ constructor(formatters, domSanitizer) {
54
+ this.formatters = formatters;
55
+ this.domSanitizer = domSanitizer;
56
+ }
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CodeComponent, deps: [{ token: CodeFormatters }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
58
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: CodeComponent, isStandalone: true, selector: "ng0-code", inputs: { formatter: { classPropertyName: "formatter", publicName: "formatter", isSignal: true, isRequired: true, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["ng0Code"], ngImport: i0, template: "<pre class=\"language-{{formatter()}} formatter-{{formatter()}}\">@if(_safeHtml()) {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerHtml]=\"_safeHtml()\" ></code>}@else {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerText]=\"code()\"></code>}</pre>", styles: [":host{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: CodeComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'ng0-code', exportAs: 'ng0Code', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<pre class=\"language-{{formatter()}} formatter-{{formatter()}}\">@if(_safeHtml()) {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerHtml]=\"_safeHtml()\" ></code>}@else {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerText]=\"code()\"></code>}</pre>", styles: [":host{display:block}\n"] }]
63
+ }], ctorParameters: () => [{ type: CodeFormatters }, { type: i2.DomSanitizer }] });
64
+
65
+ /**
66
+ * Generated bundle index. Do not edit.
67
+ */
68
+
69
+ export { CodeComponent, CodeFormatter, CodeFormatters };
70
+ //# sourceMappingURL=bootkit-ng0-components-code.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-code.mjs","sources":["../../../projects/ng0/components/code/types.ts","../../../projects/ng0/components/code/code-formatters.ts","../../../projects/ng0/components/code/code.component.ts","../../../projects/ng0/components/code/code.component.html","../../../projects/ng0/components/code/bootkit-ng0-components-code.ts"],"sourcesContent":["export type CodeFormatterFunc = (code: string) => string;\r\n\r\nexport class CodeFormatter {\r\n constructor(public readonly name: string, public readonly format: CodeFormatterFunc) {\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CodeFormatter, CodeFormatterFunc } from './types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CodeFormatters {\r\n private _formatters = new Array<CodeFormatter>();\r\n\r\n constructor() { }\r\n\r\n add(name: string, func: CodeFormatterFunc): CodeFormatter {\r\n var formatter = this._formatters.find(x => x.name == name);\r\n if (!formatter) {\r\n formatter = new CodeFormatter(name, func);\r\n this._formatters.push(formatter);\r\n }\r\n\r\n return formatter;\r\n }\r\n\r\n find(name: string) {\r\n return this._formatters.find(x => x.name == name);\r\n }\r\n}\r\n\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CodeFormatters } from './code-formatters';\r\n\r\n@Component({\r\n selector: 'ng0-code',\r\n exportAs: 'ng0Code',\r\n styleUrls: ['./code.component.scss'],\r\n templateUrl: './code.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CodeComponent {\r\n\r\n /** Code formatter name */\r\n formatter = input.required<string>();\r\n\r\n /** Code */\r\n code = input.required<string>();\r\n\r\n protected _safeHtml = computed(() => {\r\n var frmt = this.formatters.find(this.formatter());\r\n\r\n if (frmt == null) {\r\n console.warn(`Code formatter named \"${this.formatter()}\" not found.`)\r\n return undefined;\r\n }\r\n\r\n return this.domSanitizer.bypassSecurityTrustHtml(frmt.format(this.code()));\r\n })\r\n\r\n constructor(private formatters: CodeFormatters, private domSanitizer: DomSanitizer) { }\r\n}\r\n","<pre class=\"language-{{formatter()}} formatter-{{formatter()}}\">@if(_safeHtml()) {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerHtml]=\"_safeHtml()\" ></code>}@else {<code class=\"language-{{formatter()}} formatter-{{formatter()}}\" [innerText]=\"code()\"></code>}</pre>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CodeFormatters"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootkit-ng0-components-collapse.mjs","sources":["../../../projects/ng0/components/collapse/collapse.directive.ts","../../../projects/ng0/components/collapse/collapse.component.ts","../../../projects/ng0/components/collapse/collapse.component.html","../../../projects/ng0/components/collapse/collapse.module.ts","../../../projects/ng0/components/collapse/bootkit-ng0-components-collapse.ts"],"sourcesContent":["import { Directive, OnInit, ElementRef, Renderer2, input, effect, OnDestroy } from '@angular/core';\r\nimport { animate, AnimationBuilder, AnimationMetadata, AnimationPlayer, style } from '@angular/animations';\r\n\r\n/** \r\n * Directive to handle the collapse and expand functionality of a host element. \r\n */\r\n@Directive({\r\n selector: '[ng0Collapse]',\r\n exportAs: 'ng0Collapse',\r\n standalone: true,\r\n})\r\nexport class CollapseDirective implements OnInit, OnDestroy {\r\n /**\r\n * Indicates whether the host element is collapsed. \r\n * @input \r\n */\r\n public collapsed = input(false);\r\n\r\n /** Animation timings for collapse/expand animations. \r\n * @input \r\n */\r\n public timings = input<string | number>('0.2s');\r\n\r\n private _player?: AnimationPlayer;\r\n private _firstExecution = true;\r\n\r\n constructor(private el: ElementRef, private builder: AnimationBuilder, private renderer: Renderer2) {\r\n renderer.setStyle(el.nativeElement, 'overflow', 'hidden');\r\n \r\n effect(() => {\r\n var collapsed = this.collapsed();\r\n if (this._firstExecution) {\r\n this._firstExecution = false;\r\n return;\r\n }\r\n\r\n if (collapsed)\r\n this._collapse()\r\n else\r\n this._expand();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this._addClass('collapse');\r\n if (!this.collapsed()) {\r\n this._addClass('show');\r\n }\r\n }\r\n\r\n private _collapse() {\r\n if (this._player) {\r\n this._player.destroy();\r\n }\r\n\r\n this._playAnimation([\r\n style({ height: '*', opacity: '*' }),\r\n animate(this.timings(), style({ height: 0, opacity: 0 })),\r\n ])\r\n\r\n this._player!.onDone(() => {\r\n if (this.collapsed()) {\r\n this._removeClass('show')\r\n }\r\n });\r\n }\r\n\r\n private _expand() {\r\n if (this._player) {\r\n this._player.destroy();\r\n }\r\n\r\n this._addClass('show')\r\n this._playAnimation([\r\n style({ height: 0, opacity: 0 }),\r\n animate(this.timings(), style({ height: '*', opacity: '*' })),\r\n ]);\r\n\r\n this._player.onDone(() => {\r\n this._player.destroy()\r\n this._player = undefined;\r\n });\r\n }\r\n\r\n private _playAnimation(animation: AnimationMetadata | AnimationMetadata[]) {\r\n this._player = this.builder.build(animation).create(this.el.nativeElement);\r\n this._player.play();\r\n }\r\n\r\n private _addClass = (cls: string) => this.renderer.addClass(this.el.nativeElement, cls);\r\n private _removeClass = (cls: string) => this.renderer.removeClass(this.el.nativeElement, cls);\r\n\r\n ngOnDestroy(): void {\r\n this._player?.destroy();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, input, model } from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\n/**\r\n * A component that provides collapse and expand functionality. \r\n*/\r\n@Component({\r\n selector: 'ng0-collapse',\r\n templateUrl: './collapse.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: `:host{display :block; overflow: hidden}`,\r\n animations: [\r\n trigger('collapseExpand', [\r\n state('collapsed', style({ height: 0, opacity: 0, })),\r\n state('expanded', style({ height: '*', opacity: '*', })),\r\n transition('collapsed <=> expanded', [\r\n animate('{{timings}}')\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class CollapseComponent {\r\n /**\r\n * Indicates whether the host element is collapsed. \r\n * @model \r\n */\r\n public collapsed = model(false);\r\n\r\n /** Animation timings for collapse/expand animations. \r\n * @input \r\n */\r\n public timings = input<string | number>('0.2s');\r\n\r\n @HostBinding('@collapseExpand')\r\n private get _collapseExpand() {\r\n return { value: this.collapsed() ? 'collapsed' : 'expanded', params: { timings: this.timings() } };\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CollapseDirective } from './collapse.directive';\r\nimport { CollapseComponent } from './collapse.component';\r\n\r\nconst items = [\r\n CollapseDirective,\r\n CollapseComponent\r\n];\r\n\r\n@NgModule({\r\n imports: items,\r\n exports: items\r\n})\r\nexport class CollapseModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootkit-ng0-components-collapse.mjs","sources":["../../../projects/ng0/components/collapse/collapse.directive.ts","../../../projects/ng0/components/collapse/collapse.component.ts","../../../projects/ng0/components/collapse/collapse.component.html","../../../projects/ng0/components/collapse/collapse.module.ts","../../../projects/ng0/components/collapse/bootkit-ng0-components-collapse.ts"],"sourcesContent":["import { Directive, OnInit, ElementRef, Renderer2, input, effect, OnDestroy } from '@angular/core';\r\nimport { animate, AnimationBuilder, AnimationMetadata, AnimationPlayer, style } from '@angular/animations';\r\n\r\n/** \r\n * Directive to handle the collapse and expand functionality of a host element. \r\n */\r\n@Directive({\r\n selector: '[ng0Collapse]',\r\n exportAs: 'ng0Collapse',\r\n standalone: true,\r\n})\r\nexport class CollapseDirective implements OnInit, OnDestroy {\r\n /**\r\n * Indicates whether the host element is collapsed. \r\n * @input \r\n */\r\n public collapsed = input(false);\r\n\r\n /** Animation timings for collapse/expand animations. \r\n * @input \r\n */\r\n public timings = input<string | number>('0.2s');\r\n\r\n private _player?: AnimationPlayer;\r\n private _firstExecution = true;\r\n\r\n constructor(private el: ElementRef, private builder: AnimationBuilder, private renderer: Renderer2) {\r\n renderer.setStyle(el.nativeElement, 'overflow', 'hidden');\r\n \r\n effect(() => {\r\n var collapsed = this.collapsed();\r\n if (this._firstExecution) {\r\n this._firstExecution = false;\r\n return;\r\n }\r\n\r\n if (collapsed)\r\n this._collapse()\r\n else\r\n this._expand();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this._addClass('collapse');\r\n if (!this.collapsed()) {\r\n this._addClass('show');\r\n }\r\n }\r\n\r\n private _collapse() {\r\n if (this._player) {\r\n this._player.destroy();\r\n }\r\n\r\n this._playAnimation([\r\n style({ height: '*', opacity: '*' }),\r\n animate(this.timings(), style({ height: 0, opacity: 0 })),\r\n ])\r\n\r\n this._player!.onDone(() => {\r\n if (this.collapsed()) {\r\n this._removeClass('show')\r\n }\r\n });\r\n }\r\n\r\n private _expand() {\r\n if (this._player) {\r\n this._player.destroy();\r\n }\r\n\r\n this._addClass('show')\r\n this._playAnimation([\r\n style({ height: 0, opacity: 0 }),\r\n animate(this.timings(), style({ height: '*', opacity: '*' })),\r\n ]);\r\n\r\n this._player!.onDone(() => {\r\n this._player!.destroy()\r\n this._player = undefined;\r\n });\r\n }\r\n\r\n private _playAnimation(animation: AnimationMetadata | AnimationMetadata[]) {\r\n this._player = this.builder.build(animation).create(this.el.nativeElement);\r\n this._player.play();\r\n }\r\n\r\n private _addClass = (cls: string) => this.renderer.addClass(this.el.nativeElement, cls);\r\n private _removeClass = (cls: string) => this.renderer.removeClass(this.el.nativeElement, cls);\r\n\r\n ngOnDestroy(): void {\r\n this._player?.destroy();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, input, model } from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\n/**\r\n * A component that provides collapse and expand functionality. \r\n*/\r\n@Component({\r\n selector: 'ng0-collapse',\r\n templateUrl: './collapse.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n styles: `:host{display :block; overflow: hidden}`,\r\n animations: [\r\n trigger('collapseExpand', [\r\n state('collapsed', style({ height: 0, opacity: 0, })),\r\n state('expanded', style({ height: '*', opacity: '*', })),\r\n transition('collapsed <=> expanded', [\r\n animate('{{timings}}')\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class CollapseComponent {\r\n /**\r\n * Indicates whether the host element is collapsed. \r\n * @model \r\n */\r\n public collapsed = model(false);\r\n\r\n /** Animation timings for collapse/expand animations. \r\n * @input \r\n */\r\n public timings = input<string | number>('0.2s');\r\n\r\n @HostBinding('@collapseExpand')\r\n private get _collapseExpand() {\r\n return { value: this.collapsed() ? 'collapsed' : 'expanded', params: { timings: this.timings() } };\r\n }\r\n}\r\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\r\nimport { CollapseDirective } from './collapse.directive';\r\nimport { CollapseComponent } from './collapse.component';\r\n\r\nconst items = [\r\n CollapseDirective,\r\n CollapseComponent\r\n];\r\n\r\n@NgModule({\r\n imports: items,\r\n exports: items\r\n})\r\nexport class CollapseModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, Injectable, EventEmitter, HostListener, Output, Input, Directive, NgModule } from '@angular/core';
3
+ import * as i1$1 from '@angular/cdk/dialog';
4
+ import { DialogModule } from '@angular/cdk/dialog';
5
+ import * as i1 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import * as i2 from '@bootkit/ng0/localization';
8
+ import { LocalizationModule } from '@bootkit/ng0/localization';
9
+ import { Subject } from 'rxjs';
10
+
11
+ class ConfirmationComponent {
12
+ confirmationRef;
13
+ _config;
14
+ _clicked = false;
15
+ constructor() {
16
+ }
17
+ _onClick(result) {
18
+ this._clicked = true;
19
+ if (result) {
20
+ this.confirmationRef.confirm();
21
+ }
22
+ else {
23
+ this.confirmationRef.cancel();
24
+ }
25
+ if (this._config?.autoClose == null || this._config?.autoClose === true) {
26
+ this.confirmationRef.close();
27
+ }
28
+ }
29
+ ngOnInit() {
30
+ this.confirmationRef.configChanged.subscribe(x => this._config = x);
31
+ // var addClass = (c: string) => this._renderer.addClass(this._element.nativeElement, c);
32
+ // ['card', 'show'].forEach(c => addClass(c));
33
+ // if (this.config?.color) {
34
+ // addClass('text-bg-' + this.config?.color);
35
+ // }
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.6", type: ConfirmationComponent, isStandalone: true, selector: "ng0-confirmation", exportAs: ["ng0Confirmation"], ngImport: i0, template: "<div class=\"modal d-block\" tabindex=\"-1\">\r\n <div class=\"modal-dialog\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{_config?.title ?? 'warning' | ng0Translate }}</h5>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n {{ _config?.message ?? 'areYouSure' | ng0Translate }}\r\n </div>\r\n\r\n <div class=\"modal-footer\">\r\n <div>\r\n <button type=\"button\" class=\"btn btn-success me-1\" aria-label=\"Confirm\" [disabled]=\"_clicked\"\r\n (click)=\"_onClick(true)\">\r\n {{'ok' | ng0Translate}}\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-secondary\" aria-label=\"Close\" [disabled]=\"_clicked\"\r\n (click)=\"_onClick(false)\">\r\n {{'cancel' | ng0Translate}}\r\n </button>\r\n </div>\r\n\r\n <div class=\"ms-auto\">\r\n <div class=\"spinner-border text-success\" role=\"status\" *ngIf=\"_config?.icon == 'loading'\">\r\n <span class=\"visually-hidden\">Processing</span>\r\n </div>\r\n\r\n <svg *ngIf=\"_config?.icon == 'check'\" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'\r\n width=\"32\" height=\"32\">\r\n <path fill='#0493A8'\r\n d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z' />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i2.TranslatePipe, name: "ng0Translate" }] });
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationComponent, decorators: [{
41
+ type: Component,
42
+ args: [{ selector: 'ng0-confirmation', exportAs: 'ng0Confirmation', standalone: true, imports: [
43
+ CommonModule,
44
+ DialogModule,
45
+ LocalizationModule,
46
+ ], template: "<div class=\"modal d-block\" tabindex=\"-1\">\r\n <div class=\"modal-dialog\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{_config?.title ?? 'warning' | ng0Translate }}</h5>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n {{ _config?.message ?? 'areYouSure' | ng0Translate }}\r\n </div>\r\n\r\n <div class=\"modal-footer\">\r\n <div>\r\n <button type=\"button\" class=\"btn btn-success me-1\" aria-label=\"Confirm\" [disabled]=\"_clicked\"\r\n (click)=\"_onClick(true)\">\r\n {{'ok' | ng0Translate}}\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-secondary\" aria-label=\"Close\" [disabled]=\"_clicked\"\r\n (click)=\"_onClick(false)\">\r\n {{'cancel' | ng0Translate}}\r\n </button>\r\n </div>\r\n\r\n <div class=\"ms-auto\">\r\n <div class=\"spinner-border text-success\" role=\"status\" *ngIf=\"_config?.icon == 'loading'\">\r\n <span class=\"visually-hidden\">Processing</span>\r\n </div>\r\n\r\n <svg *ngIf=\"_config?.icon == 'check'\" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'\r\n width=\"32\" height=\"32\">\r\n <path fill='#0493A8'\r\n d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z' />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:block}\n"] }]
47
+ }], ctorParameters: () => [] });
48
+
49
+ class ConfirmationRef {
50
+ _dialogRef;
51
+ _config;
52
+ _configChangeSubject = new Subject();
53
+ configChanged = this._configChangeSubject.asObservable();
54
+ _confirmSubject = new Subject();
55
+ confirmed = this._confirmSubject.asObservable();
56
+ _cancelSubject = new Subject();
57
+ canceled = this._cancelSubject.asObservable();
58
+ constructor(_dialogRef, _config) {
59
+ this._dialogRef = _dialogRef;
60
+ this._config = _config;
61
+ }
62
+ confirm() {
63
+ this._confirmSubject.next(undefined);
64
+ }
65
+ cancel() {
66
+ this._cancelSubject.next(undefined);
67
+ }
68
+ close() {
69
+ this._dialogRef.close();
70
+ }
71
+ update(config) {
72
+ for (const key in config) {
73
+ if (Object.prototype.hasOwnProperty.call(config, key)) {
74
+ const element = config[key];
75
+ if (element !== undefined) {
76
+ this._config[key] = element;
77
+ }
78
+ }
79
+ }
80
+ this._configChangeSubject.next(this._config);
81
+ }
82
+ }
83
+
84
+ class ConfirmationService {
85
+ dialog;
86
+ constructor(dialog) {
87
+ this.dialog = dialog;
88
+ }
89
+ open(config = {}) {
90
+ var dlgRef = this.dialog.open(ConfirmationComponent, {
91
+ disableClose: false,
92
+ });
93
+ var componentRef = dlgRef.componentInstance;
94
+ componentRef.confirmationRef = new ConfirmationRef(dlgRef, config);
95
+ return componentRef.confirmationRef;
96
+ }
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationService, deps: [{ token: i1$1.Dialog }], target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationService, decorators: [{
101
+ type: Injectable,
102
+ args: [{
103
+ providedIn: 'root'
104
+ }]
105
+ }], ctorParameters: () => [{ type: i1$1.Dialog }] });
106
+
107
+ class ConfirmationDirective {
108
+ confirmationService;
109
+ config;
110
+ confirm = new EventEmitter();
111
+ cancel = new EventEmitter();
112
+ constructor(confirmationService) {
113
+ this.confirmationService = confirmationService;
114
+ }
115
+ _onClick() {
116
+ var ref = this.confirmationService.open(this.config);
117
+ ref.confirmed.subscribe(x => this.confirm.emit(ref));
118
+ ref.canceled.subscribe(x => this.cancel.emit(ref));
119
+ }
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationDirective, deps: [{ token: ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
121
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: ConfirmationDirective, isStandalone: true, selector: "[ng0Confirmation]", inputs: { config: "config" }, outputs: { confirm: "confirm", cancel: "cancel" }, host: { listeners: { "click": "_onClick()" } }, exportAs: ["ng0Confirmation"], ngImport: i0 });
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationDirective, decorators: [{
124
+ type: Directive,
125
+ args: [{
126
+ selector: '[ng0Confirmation]',
127
+ exportAs: 'ng0Confirmation',
128
+ standalone: true
129
+ }]
130
+ }], ctorParameters: () => [{ type: ConfirmationService }], propDecorators: { config: [{
131
+ type: Input
132
+ }], confirm: [{
133
+ type: Output
134
+ }], cancel: [{
135
+ type: Output
136
+ }], _onClick: [{
137
+ type: HostListener,
138
+ args: ['click']
139
+ }] } });
140
+
141
+ class ConfirmationModule {
142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
143
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationModule, imports: [ConfirmationComponent,
144
+ ConfirmationDirective], exports: [ConfirmationComponent,
145
+ ConfirmationDirective] });
146
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationModule, imports: [ConfirmationComponent] });
147
+ }
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: ConfirmationModule, decorators: [{
149
+ type: NgModule,
150
+ args: [{
151
+ imports: [
152
+ ConfirmationComponent,
153
+ ConfirmationDirective
154
+ ],
155
+ exports: [
156
+ ConfirmationComponent,
157
+ ConfirmationDirective
158
+ ]
159
+ }]
160
+ }] });
161
+
162
+ /**
163
+ * Generated bundle index. Do not edit.
164
+ */
165
+
166
+ export { ConfirmationComponent, ConfirmationDirective, ConfirmationModule, ConfirmationRef, ConfirmationService };
167
+ //# sourceMappingURL=bootkit-ng0-components-confirmation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-confirmation.mjs","sources":["../../../projects/ng0/components/confirmation/confirmation.component.ts","../../../projects/ng0/components/confirmation/confirmation.component.html","../../../projects/ng0/components/confirmation/types.ts","../../../projects/ng0/components/confirmation/confirmation.service.ts","../../../projects/ng0/components/confirmation/confirmation.directive.ts","../../../projects/ng0/components/confirmation/confirmation.module.ts","../../../projects/ng0/components/confirmation/bootkit-ng0-components-confirmation.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationConfig, ConfirmationRef } from './types';\r\nimport { DialogModule } from '@angular/cdk/dialog';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LocalizationModule } from '@bootkit/ng0/localization';\r\n\r\n@Component({\r\n selector: 'ng0-confirmation',\r\n exportAs: 'ng0Confirmation',\r\n templateUrl: 'confirmation.component.html',\r\n styleUrls: ['confirmation.component.scss'],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n DialogModule,\r\n LocalizationModule,\r\n ],\r\n})\r\nexport class ConfirmationComponent implements OnInit {\r\n confirmationRef!: ConfirmationRef;\r\n _config?: ConfirmationConfig;\r\n _clicked = false;\r\n\r\n constructor() {\r\n }\r\n\r\n _onClick(result: boolean) {\r\n this._clicked = true;\r\n if (result) {\r\n this.confirmationRef.confirm();\r\n } else {\r\n this.confirmationRef.cancel();\r\n }\r\n\r\n if (this._config?.autoClose == null || this._config?.autoClose === true) {\r\n this.confirmationRef.close();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.confirmationRef.configChanged.subscribe(x => this._config = x);\r\n // var addClass = (c: string) => this._renderer.addClass(this._element.nativeElement, c);\r\n\r\n // ['card', 'show'].forEach(c => addClass(c));\r\n // if (this.config?.color) {\r\n // addClass('text-bg-' + this.config?.color);\r\n // }\r\n }\r\n}\r\n","<div class=\"modal d-block\" tabindex=\"-1\">\r\n <div class=\"modal-dialog\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\">{{_config?.title ?? 'warning' | ng0Translate }}</h5>\r\n </div>\r\n\r\n <div class=\"modal-body\">\r\n {{ _config?.message ?? 'areYouSure' | ng0Translate }}\r\n </div>\r\n\r\n <div class=\"modal-footer\">\r\n <div>\r\n <button type=\"button\" class=\"btn btn-success me-1\" aria-label=\"Confirm\" [disabled]=\"_clicked\"\r\n (click)=\"_onClick(true)\">\r\n {{'ok' | ng0Translate}}\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-secondary\" aria-label=\"Close\" [disabled]=\"_clicked\"\r\n (click)=\"_onClick(false)\">\r\n {{'cancel' | ng0Translate}}\r\n </button>\r\n </div>\r\n\r\n <div class=\"ms-auto\">\r\n <div class=\"spinner-border text-success\" role=\"status\" *ngIf=\"_config?.icon == 'loading'\">\r\n <span class=\"visually-hidden\">Processing</span>\r\n </div>\r\n\r\n <svg *ngIf=\"_config?.icon == 'check'\" xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'\r\n width=\"32\" height=\"32\">\r\n <path fill='#0493A8'\r\n d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z' />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { DialogRef } from \"@angular/cdk/dialog\";\r\nimport { BehaviorSubject, Subject } from \"rxjs\";\r\n\r\nexport interface ConfirmationConfig {\r\n message?: string;\r\n title?: string;\r\n // color?: BootstrapColor,\r\n icon?: 'loading' | 'check';\r\n /** automaticaly close confirmation after confirmation/cancelation. default is true */\r\n autoClose?: boolean;\r\n}\r\n\r\nexport class ConfirmationRef {\r\n private _configChangeSubject = new Subject<ConfirmationConfig>();\r\n public configChanged = this._configChangeSubject.asObservable();\r\n\r\n private _confirmSubject = new Subject();\r\n public confirmed = this._confirmSubject.asObservable();\r\n\r\n private _cancelSubject = new Subject();\r\n public canceled = this._cancelSubject.asObservable();\r\n\r\n constructor(private _dialogRef: DialogRef<any, any>, private _config: ConfirmationConfig) {\r\n }\r\n\r\n confirm() {\r\n this._confirmSubject.next(undefined);\r\n }\r\n\r\n cancel() {\r\n this._cancelSubject.next(undefined);\r\n }\r\n\r\n close() {\r\n this._dialogRef.close();\r\n }\r\n\r\n update(config: ConfirmationConfig) {\r\n for (const key in config as any) {\r\n if (Object.prototype.hasOwnProperty.call(config, key)) {\r\n const element = (config as any)[key];\r\n if(element !== undefined) {\r\n (this._config as any)[key] = element;\r\n }\r\n }\r\n }\r\n\r\n this._configChangeSubject.next(this._config);\r\n }\r\n}\r\n","import { Dialog } from '@angular/cdk/dialog';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConfirmationComponent } from './confirmation.component';\r\nimport { ConfirmationConfig, ConfirmationRef } from './types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfirmationService {\r\n constructor(private dialog: Dialog) { }\r\n\r\n open(config: ConfirmationConfig = {}): ConfirmationRef {\r\n var dlgRef = this.dialog.open(ConfirmationComponent, {\r\n disableClose: false,\r\n });\r\n\r\n var componentRef = dlgRef.componentInstance!;\r\n componentRef.confirmationRef = new ConfirmationRef(dlgRef, config);\r\n return componentRef.confirmationRef;\r\n }\r\n}\r\n\r\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\nimport { ConfirmationService } from './confirmation.service';\r\nimport { ConfirmationConfig, ConfirmationRef } from './types';\r\n\r\n@Directive({\r\n selector: '[ng0Confirmation]',\r\n exportAs: 'ng0Confirmation',\r\n standalone: true\r\n})\r\nexport class ConfirmationDirective {\r\n @Input() config?: ConfirmationConfig;\r\n @Output() confirm = new EventEmitter<ConfirmationRef>();\r\n @Output() cancel = new EventEmitter<ConfirmationRef>();\r\n\r\n constructor(private confirmationService: ConfirmationService) {\r\n }\r\n\r\n @HostListener('click') private _onClick() {\r\n var ref = this.confirmationService.open(this.config);\r\n ref.confirmed.subscribe(x => this.confirm.emit(ref));\r\n ref.canceled.subscribe(x => this.cancel.emit(ref));\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ConfirmationComponent } from './confirmation.component';\r\nimport { ConfirmationDirective } from './confirmation.directive';\r\n\r\n@NgModule({\r\n imports: [\r\n ConfirmationComponent,\r\n ConfirmationDirective\r\n ],\r\n exports: [\r\n ConfirmationComponent,\r\n ConfirmationDirective\r\n ]\r\n})\r\nexport class ConfirmationModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.ConfirmationService"],"mappings":"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"}
@@ -80,7 +80,7 @@ class FormFieldComponent {
80
80
  }
81
81
  const invalid = this._ngControl.status === 'INVALID';
82
82
  if (invalid) {
83
- this._errorText = this._locale?.translateFirstError(this._ngControl.errors, 'Invalid').text;
83
+ this._errorText = this._locale?.translateFirstError(this._ngControl.errors, 'Invalid')?.text;
84
84
  }
85
85
  else {
86
86
  this._errorText = undefined;