@bootkit/ng0 0.0.0-alpha.34 → 0.0.0-alpha.36

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 (65) hide show
  1. package/fesm2022/bootkit-ng0-common.mjs +3 -3
  2. package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
  3. package/fesm2022/bootkit-ng0-components-accordion.mjs +10 -10
  4. package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -1
  5. package/fesm2022/bootkit-ng0-components-backdrop.mjs +3 -3
  6. package/fesm2022/bootkit-ng0-components-backdrop.mjs.map +1 -1
  7. package/fesm2022/bootkit-ng0-components-button.mjs +7 -7
  8. package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -1
  9. package/fesm2022/bootkit-ng0-components-card.mjs +10 -10
  10. package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -1
  11. package/fesm2022/bootkit-ng0-components-code.mjs +6 -6
  12. package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -1
  13. package/fesm2022/bootkit-ng0-components-collapse.mjs +10 -10
  14. package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -1
  15. package/fesm2022/bootkit-ng0-components-confirmation.mjs +13 -13
  16. package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -1
  17. package/fesm2022/bootkit-ng0-components-dropdown.mjs +22 -22
  18. package/fesm2022/bootkit-ng0-components-dropdown.mjs.map +1 -1
  19. package/fesm2022/bootkit-ng0-components-form-field.mjs +7 -7
  20. package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -1
  21. package/fesm2022/bootkit-ng0-components-list.mjs +10 -10
  22. package/fesm2022/bootkit-ng0-components-list.mjs.map +1 -1
  23. package/fesm2022/bootkit-ng0-components-modal.mjs +7 -7
  24. package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -1
  25. package/fesm2022/bootkit-ng0-components-nav.mjs +19 -19
  26. package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -1
  27. package/fesm2022/bootkit-ng0-components-offcanvas.mjs +7 -7
  28. package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -1
  29. package/fesm2022/bootkit-ng0-components-pagination.mjs +7 -7
  30. package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -1
  31. package/fesm2022/bootkit-ng0-components-popover.mjs +6 -6
  32. package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -1
  33. package/fesm2022/bootkit-ng0-components-select.mjs +7 -7
  34. package/fesm2022/bootkit-ng0-components-select.mjs.map +1 -1
  35. package/fesm2022/bootkit-ng0-components-sidenav.mjs +13 -13
  36. package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -1
  37. package/fesm2022/bootkit-ng0-components-stepper.mjs +10 -10
  38. package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -1
  39. package/fesm2022/bootkit-ng0-components-table.mjs +13 -13
  40. package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -1
  41. package/fesm2022/bootkit-ng0-components-toast.mjs +6 -6
  42. package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -1
  43. package/fesm2022/bootkit-ng0-components-tooltip.mjs +6 -6
  44. package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -1
  45. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs +19 -19
  46. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs.map +1 -1
  47. package/fesm2022/bootkit-ng0-form.mjs +25 -25
  48. package/fesm2022/bootkit-ng0-form.mjs.map +1 -1
  49. package/fesm2022/bootkit-ng0-http.mjs +3 -3
  50. package/fesm2022/bootkit-ng0-http.mjs.map +1 -1
  51. package/fesm2022/bootkit-ng0-layouts-layout1.mjs +212 -91
  52. package/fesm2022/bootkit-ng0-layouts-layout1.mjs.map +1 -1
  53. package/fesm2022/bootkit-ng0-localization.mjs +34 -34
  54. package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
  55. package/fesm2022/bootkit-ng0-platform-browser.mjs +6 -6
  56. package/fesm2022/bootkit-ng0-platform-browser.mjs.map +1 -1
  57. package/fesm2022/bootkit-ng0-routing.mjs +3 -3
  58. package/fesm2022/bootkit-ng0-routing.mjs.map +1 -1
  59. package/fesm2022/bootkit-ng0-script.mjs +3 -3
  60. package/fesm2022/bootkit-ng0-script.mjs.map +1 -1
  61. package/fesm2022/bootkit-ng0-security.mjs +13 -13
  62. package/fesm2022/bootkit-ng0-security.mjs.map +1 -1
  63. package/layouts/layout1/index.d.ts +119 -40
  64. package/localization/index.d.ts +1 -1
  65. package/package.json +31 -31
@@ -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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"}
@@ -34,10 +34,10 @@ class ConfirmationComponent {
34
34
  // addClass('text-bg-' + this.config?.color);
35
35
  // }
36
36
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", 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" }] });
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", 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
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'ng0-confirmation', exportAs: 'ng0Confirmation', standalone: true, imports: [
43
43
  CommonModule,
@@ -94,10 +94,10 @@ class ConfirmationService {
94
94
  componentRef.confirmationRef = new ConfirmationRef(dlgRef, config);
95
95
  return componentRef.confirmationRef;
96
96
  }
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationService, deps: [{ token: i1$1.Dialog }], target: i0.ɵɵFactoryTarget.Injectable });
98
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationService, deps: [{ token: i1$1.Dialog }], target: i0.ɵɵFactoryTarget.Injectable });
98
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationService, providedIn: 'root' });
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationService, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationService, decorators: [{
101
101
  type: Injectable,
102
102
  args: [{
103
103
  providedIn: 'root'
@@ -117,10 +117,10 @@ class ConfirmationDirective {
117
117
  ref.confirmed.subscribe(x => this.confirm.emit(ref));
118
118
  ref.canceled.subscribe(x => this.cancel.emit(ref));
119
119
  }
120
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationDirective, deps: [{ token: ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
121
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.9", type: ConfirmationDirective, isStandalone: true, selector: "[ng0Confirmation]", inputs: { config: "config" }, outputs: { confirm: "confirm", cancel: "cancel" }, host: { listeners: { "click": "_onClick()" } }, exportAs: ["ng0Confirmation"], ngImport: i0 });
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationDirective, deps: [{ token: ConfirmationService }], target: i0.ɵɵFactoryTarget.Directive });
121
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.11", type: ConfirmationDirective, isStandalone: true, selector: "[ng0Confirmation]", inputs: { config: "config" }, outputs: { confirm: "confirm", cancel: "cancel" }, host: { listeners: { "click": "_onClick()" } }, exportAs: ["ng0Confirmation"], ngImport: i0 });
122
122
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationDirective, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationDirective, decorators: [{
124
124
  type: Directive,
125
125
  args: [{
126
126
  selector: '[ng0Confirmation]',
@@ -139,13 +139,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
139
139
  }] } });
140
140
 
141
141
  class ConfirmationModule {
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
143
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationModule, imports: [ConfirmationComponent,
142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
143
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationModule, imports: [ConfirmationComponent,
144
144
  ConfirmationDirective], exports: [ConfirmationComponent,
145
145
  ConfirmationDirective] });
146
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationModule, imports: [ConfirmationComponent] });
146
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationModule, imports: [ConfirmationComponent] });
147
147
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: ConfirmationModule, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: ConfirmationModule, decorators: [{
149
149
  type: NgModule,
150
150
  args: [{
151
151
  imports: [
@@ -1 +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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"}
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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"}
@@ -8,10 +8,10 @@ import * as i1$1 from '@angular/cdk/overlay';
8
8
  import { OverlayModule } from '@angular/cdk/overlay';
9
9
 
10
10
  class DropdownDividerComponent {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: DropdownDividerComponent, isStandalone: true, selector: "ng0-dropdown-divider", exportAs: ["ng0DropdownDivider"], ngImport: i0, template: `<hr class="dropdown-divider">`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: DropdownDividerComponent, isStandalone: true, selector: "ng0-dropdown-divider", exportAs: ["ng0DropdownDivider"], ngImport: i0, template: `<hr class="dropdown-divider">`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownDividerComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownDividerComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{
17
17
  selector: 'ng0-dropdown-divider',
@@ -43,10 +43,10 @@ class DropdownItemComponent {
43
43
  e.preventDefault();
44
44
  }
45
45
  }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: DropdownItemComponent, isStandalone: true, selector: "ng0-dropdown-item", inputs: { cssClass: { classPropertyName: "cssClass", publicName: "cssClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick($event)" } }, exportAs: ["ng0DropdownItem"], ngImport: i0, template: "<button class=\"dropdown-item\" [ngClass]=\"cssClass()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</button>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: DropdownItemComponent, isStandalone: true, selector: "ng0-dropdown-item", inputs: { cssClass: { classPropertyName: "cssClass", publicName: "cssClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick($event)" } }, exportAs: ["ng0DropdownItem"], ngImport: i0, template: "<button class=\"dropdown-item\" [ngClass]=\"cssClass()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</button>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: RouterModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownItemComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownItemComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: 'ng0-dropdown-item', exportAs: 'ng0DropdownItem', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
52
52
  CommonModule,
@@ -64,10 +64,10 @@ class DropdownMenuComponent {
64
64
  constructor() {
65
65
  this._renderer.addClass(this.elementRef.nativeElement, 'dropdown-menu');
66
66
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: DropdownMenuComponent, isStandalone: true, selector: "ng0-dropdown-menu", exportAs: ["ng0Dropdownmenu"], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:block;position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: DropdownMenuComponent, isStandalone: true, selector: "ng0-dropdown-menu", exportAs: ["ng0Dropdownmenu"], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:block;position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownMenuComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownMenuComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ selector: 'ng0-dropdown-menu', exportAs: 'ng0Dropdownmenu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
73
73
  CommonModule,
@@ -180,10 +180,10 @@ class DropdownComponent {
180
180
  }
181
181
  }
182
182
  }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
184
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: DropdownComponent, isStandalone: true, selector: "ng0-dropdown", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, defaultStyle: { classPropertyName: "defaultStyle", publicName: "defaultStyle", isSignal: true, isRequired: false, transformFunction: null }, toggleCss: { classPropertyName: "toggleCss", publicName: "toggleCss", isSignal: true, isRequired: false, transformFunction: null }, splitCss: { classPropertyName: "splitCss", publicName: "splitCss", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, split: { classPropertyName: "split", publicName: "split", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", toggleClick: "toggleClick" }, host: { listeners: { "document:click": "_onDocumentClick($event)" }, properties: { "class.dropup": "placement() === \"top\"", "class.dropstart": "placement() === \"start\"", "class.dropend": "placement() === \"end\"", "class.btn-group": "defaultStyle()" } }, queries: [{ propertyName: "_dropdownMenu", first: true, predicate: DropdownMenuComponent, descendants: true }], viewQueries: [{ propertyName: "_mainButton", first: true, predicate: ["mainButton"], descendants: true }, { propertyName: "_splitButton", first: true, predicate: ["splitButton"], descendants: true }], exportAs: ["ng0Dropdown"], ngImport: i0, template: "<button #mainButton\r\n [class]=\"toggleCss()\"\r\n [class.dropdown-toggle]=\"!split()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n [disabled]=\"disabled()\"\r\n type=\"button\"\r\n (click)=\"toggleClick.emit($event)\">\r\n <ng-content></ng-content>\r\n</button>\r\n\r\n@if(split()) {\r\n<button #splitButton\r\n type=\"button\"\r\n [class]=\"splitCss()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n class=\"dropdown-toggle dropdown-toggle-split\"\r\n [disabled]=\"disabled()\">\r\n <!-- <span class=\"visually-hidden\">Toggle Dropdown</span> -->\r\n</button>\r\n}\r\n\r\n<ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayOrigin]=\"_el.nativeElement\"\r\n [cdkConnectedOverlayOpen]=\"open()\"\r\n [cdkConnectedOverlayPush]=\"false\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"true\">\r\n <ng-content select=\"ng0-dropdown-menu\"></ng-content>\r\n</ng-template>\r\n\r\n<style>\r\n :host {\r\n display: inline-block;\r\n }\r\n</style>", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
184
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.11", type: DropdownComponent, isStandalone: true, selector: "ng0-dropdown", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, defaultStyle: { classPropertyName: "defaultStyle", publicName: "defaultStyle", isSignal: true, isRequired: false, transformFunction: null }, toggleCss: { classPropertyName: "toggleCss", publicName: "toggleCss", isSignal: true, isRequired: false, transformFunction: null }, splitCss: { classPropertyName: "splitCss", publicName: "splitCss", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, split: { classPropertyName: "split", publicName: "split", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", toggleClick: "toggleClick" }, host: { listeners: { "document:click": "_onDocumentClick($event)" }, properties: { "class.dropup": "placement() === \"top\"", "class.dropstart": "placement() === \"start\"", "class.dropend": "placement() === \"end\"", "class.btn-group": "defaultStyle()" } }, queries: [{ propertyName: "_dropdownMenu", first: true, predicate: DropdownMenuComponent, descendants: true }], viewQueries: [{ propertyName: "_mainButton", first: true, predicate: ["mainButton"], descendants: true }, { propertyName: "_splitButton", first: true, predicate: ["splitButton"], descendants: true }], exportAs: ["ng0Dropdown"], ngImport: i0, template: "<button #mainButton\r\n [class]=\"toggleCss()\"\r\n [class.dropdown-toggle]=\"!split()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n [disabled]=\"disabled()\"\r\n type=\"button\"\r\n (click)=\"toggleClick.emit($event)\">\r\n <ng-content></ng-content>\r\n</button>\r\n\r\n@if(split()) {\r\n<button #splitButton\r\n type=\"button\"\r\n [class]=\"splitCss()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n class=\"dropdown-toggle dropdown-toggle-split\"\r\n [disabled]=\"disabled()\">\r\n <!-- <span class=\"visually-hidden\">Toggle Dropdown</span> -->\r\n</button>\r\n}\r\n\r\n<ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayOrigin]=\"_el.nativeElement\"\r\n [cdkConnectedOverlayOpen]=\"open()\"\r\n [cdkConnectedOverlayPush]=\"false\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"true\">\r\n <ng-content select=\"ng0-dropdown-menu\"></ng-content>\r\n</ng-template>\r\n\r\n<style>\r\n :host {\r\n display: inline-block;\r\n }\r\n</style>", styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownComponent, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownComponent, decorators: [{
187
187
  type: Component,
188
188
  args: [{ selector: 'ng0-dropdown', exportAs: 'ng0Dropdown', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, OverlayModule], host: {
189
189
  '[class.dropup]': 'placement() === "top"',
@@ -208,10 +208,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
208
208
  }] } });
209
209
 
210
210
  class DropdownHeaderComponent {
211
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
212
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.9", type: DropdownHeaderComponent, isStandalone: true, selector: "ng0-dropdown-header", exportAs: ["ng0DropdownItem"], ngImport: i0, template: `<h6 class="dropdown-header"><ng-content></ng-content></h6>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
212
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: DropdownHeaderComponent, isStandalone: true, selector: "ng0-dropdown-header", exportAs: ["ng0DropdownItem"], ngImport: i0, template: `<h6 class="dropdown-header"><ng-content></ng-content></h6>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
213
213
  }
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownHeaderComponent, decorators: [{
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownHeaderComponent, decorators: [{
215
215
  type: Component,
216
216
  args: [{
217
217
  selector: 'ng0-dropdown-header',
@@ -249,10 +249,10 @@ class DropdownLinkComponent {
249
249
  e.stopPropagation();
250
250
  }
251
251
  }
252
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
253
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.9", type: DropdownLinkComponent, isStandalone: true, selector: "ng0-dropdown-link", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: true, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick($event)" } }, exportAs: ["ng0DropdownLink"], ngImport: i0, template: "<a class=\"dropdown-item\" [routerLink]=\"link()\" [target]=\"target()\" [routerLinkActive]=\"active()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</a>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
252
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
253
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.11", type: DropdownLinkComponent, isStandalone: true, selector: "ng0-dropdown-link", inputs: { link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: true, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick($event)" } }, exportAs: ["ng0DropdownLink"], ngImport: i0, template: "<a class=\"dropdown-item\" [routerLink]=\"link()\" [target]=\"target()\" [routerLinkActive]=\"active()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</a>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
254
254
  }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownLinkComponent, decorators: [{
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownLinkComponent, decorators: [{
256
256
  type: Component,
257
257
  args: [{ selector: 'ng0-dropdown-link', exportAs: 'ng0DropdownLink', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
258
258
  CommonModule,
@@ -272,8 +272,8 @@ const Items = [
272
272
  DropdownDividerComponent
273
273
  ];
274
274
  class DropdownModule {
275
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
276
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: DropdownModule, imports: [DropdownComponent,
275
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
276
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: DropdownModule, imports: [DropdownComponent,
277
277
  DropdownMenuComponent,
278
278
  DropdownItemComponent,
279
279
  DropdownLinkComponent,
@@ -284,13 +284,13 @@ class DropdownModule {
284
284
  DropdownLinkComponent,
285
285
  DropdownHeaderComponent,
286
286
  DropdownDividerComponent] });
287
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownModule, imports: [DropdownComponent,
287
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownModule, imports: [DropdownComponent,
288
288
  DropdownMenuComponent,
289
289
  DropdownItemComponent,
290
290
  DropdownLinkComponent,
291
291
  DropdownDividerComponent] });
292
292
  }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: DropdownModule, decorators: [{
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: DropdownModule, decorators: [{
294
294
  type: NgModule,
295
295
  args: [{
296
296
  imports: Items,
@@ -1 +1 @@
1
- {"version":3,"file":"bootkit-ng0-components-dropdown.mjs","sources":["../../../projects/ng0/components/dropdown/dropdown-divider.component.ts","../../../projects/ng0/components/dropdown/dropdown-item.component.ts","../../../projects/ng0/components/dropdown/dropdown-item.component.html","../../../projects/ng0/components/dropdown/dropdown-menu.component.ts","../../../projects/ng0/components/dropdown/dropdown.component.ts","../../../projects/ng0/components/dropdown/dropdown.component.html","../../../projects/ng0/components/dropdown/dropdown-header.component.ts","../../../projects/ng0/components/dropdown/dropdown-link.component.ts","../../../projects/ng0/components/dropdown/dropdown-link.component.html","../../../projects/ng0/components/dropdown/dropdown.module.ts","../../../projects/ng0/components/dropdown/types.ts","../../../projects/ng0/components/dropdown/bootkit-ng0-components-dropdown.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-dropdown-divider',\r\n exportAs: 'ng0DropdownDivider',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n ],\r\n template: `<hr class=\"dropdown-divider\">`,\r\n})\r\nexport class DropdownDividerComponent {\r\n}\r\n","import { Component, ChangeDetectionStrategy, input, booleanAttribute, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CssClass } from '@bootkit/ng0/common';\r\n\r\n/**\r\n * An item within a dropdown menu.\r\n */\r\n@Component({\r\n selector: 'ng0-dropdown-item',\r\n exportAs: 'ng0DropdownItem',\r\n standalone: true,\r\n templateUrl: './dropdown-item.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n})\r\nexport class DropdownItemComponent {\r\n /**\r\n * The CSS classes to apply to the dropdown item.\r\n * */\r\n public readonly cssClass = input<CssClass>();\r\n\r\n /**\r\n * Whether the dropdown item is disabled.\r\n */\r\n public readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n @HostListener('click', ['$event'])\r\n private _onClick(e: MouseEvent) {\r\n if (this.disabled()) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","<button class=\"dropdown-item\" [ngClass]=\"cssClass()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</button>","import { Component, ElementRef, Renderer2, ChangeDetectionStrategy, inject, input, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownComponent } from './dropdown.component';\r\n\r\n\r\n@Component({\r\n selector: 'ng0-dropdown-menu',\r\n exportAs: 'ng0Dropdownmenu',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n ],\r\n template: `<ng-content></ng-content>`,\r\n styles: `:host { display: block; position: relative; }`,\r\n})\r\nexport class DropdownMenuComponent {\r\n private _renderer = inject(Renderer2);\r\n private _dropdown = inject(DropdownComponent);\r\n\r\n public elementRef = inject(ElementRef);\r\n\r\n constructor() {\r\n this._renderer.addClass(this.elementRef.nativeElement, 'dropdown-menu');\r\n }\r\n\r\n // @HostListener('click')\r\n // private _onClick() {\r\n // if (this._dropdown.autoClose() == 'default' || this._dropdown.autoClose() == 'inside') {\r\n // this._dropdown.open.set(false);\r\n // }\r\n // }\r\n}\r\n","import {\r\n Component, ElementRef, Renderer2, ChangeDetectionStrategy, inject, input, model, HostListener, ContentChild,\r\n booleanAttribute, ViewChild, EventEmitter,\r\n Output\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CssClass, Placement } from '@bootkit/ng0/common';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { DropdownAutoCloseBehavior, DropdownSize } from './types';\r\nimport { DropdownMenuComponent } from './dropdown-menu.component';\r\n\r\n/**\r\n * Dropdown component\r\n */\r\n@Component({\r\n selector: 'ng0-dropdown',\r\n exportAs: 'ng0Dropdown',\r\n templateUrl: './dropdown.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, OverlayModule],\r\n host: {\r\n '[class.dropup]': 'placement() === \"top\"',\r\n '[class.dropstart]': 'placement() === \"start\"',\r\n '[class.dropend]': 'placement() === \"end\"',\r\n '[class.btn-group]': 'defaultStyle()',\r\n }\r\n})\r\nexport class DropdownComponent {\r\n @ContentChild(DropdownMenuComponent) private _dropdownMenu!: DropdownMenuComponent;\r\n @ViewChild('mainButton') private _mainButton!: ElementRef<HTMLButtonElement>;\r\n @ViewChild('splitButton') private _splitButton?: ElementRef<HTMLButtonElement>;\r\n protected _el = inject(ElementRef);\r\n private _renderer = inject(Renderer2);\r\n // @ContentChildren(DropdownItemComponent) private _items!: QueryList<DropdownItemComponent>;\r\n // protected _scrollStrategy!: ScrollStrategy;\r\n\r\n /**\r\n * The placement of the dropdown menu in relation to the dropdown toggle.\r\n */\r\n public placement = input<Placement>('bottom');\r\n\r\n /**\r\n * Indicates whether the dropdown should use the default Bootstrap styles.\r\n * This will apply the 'btn-group' class to the dropdown.\r\n * @default true\r\n */\r\n public defaultStyle = input(true);\r\n\r\n /**\r\n * The CSS classes to apply to the dropdown toggle button.\r\n * @default 'btn btn-primary'\r\n */\r\n public toggleCss = input<CssClass>('btn btn-primary');\r\n\r\n /**\r\n * The CSS classes to apply to the dropdown split button.\r\n * @default 'btn btn-primary'\r\n */\r\n public splitCss = input<CssClass>('btn btn-primary');\r\n\r\n /** \r\n * Indicates whether the dropdown is open or closed.\r\n * @default false\r\n */\r\n public readonly open = model(false);\r\n\r\n /**\r\n * Indicates whether the dropdown is a split button. \r\n * A split button dropdown has a separate toggle button.\r\n * @default false\r\n */\r\n public readonly split = input(false, { transform: booleanAttribute });\r\n\r\n /**\r\n * Indicates whether the dropdown has an automatic close behavior.\r\n * @default 'default'\r\n */\r\n public readonly autoClose = input<DropdownAutoCloseBehavior>('default');\r\n\r\n /**\r\n * Dropdown size\r\n * @default 'default'\r\n */\r\n public readonly size = input<DropdownSize>('default');\r\n\r\n /**\r\n * Indicates whether the dropdown is disabled.\r\n */\r\n public readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n /**\r\n * Emits when the dropdown toggle button is clicked.\r\n */\r\n @Output() public toggleClick = new EventEmitter<PointerEvent>();\r\n\r\n constructor() {\r\n // this._renderer.addClass(this._el.nativeElement, 'btn-group');\r\n // this._scrollStrategy = this._overlay.scrollStrategies.block();\r\n }\r\n\r\n /**\r\n * Toggle the dropdown open or closed.\r\n */\r\n public toggle() {\r\n this.open.set(!this.open());\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n private _onDocumentClick(e: MouseEvent) {\r\n const splitButtonClicked = e.target === this._splitButton?.nativeElement;\r\n const mainButtonClicked = e.target === this._mainButton?.nativeElement;\r\n const toggleClicked = this.split() ? splitButtonClicked : mainButtonClicked;\r\n const dropdownClicked = splitButtonClicked || mainButtonClicked;\r\n const menuClicked = this._dropdownMenu.elementRef.nativeElement.contains(e.target);\r\n const outsideClicked = !dropdownClicked && !menuClicked;\r\n\r\n if (this.open()) {\r\n if (toggleClicked) {\r\n this.open.set(false);\r\n return;\r\n }\r\n\r\n switch (this.autoClose()) {\r\n case 'default':\r\n this.open.set(false);\r\n break;\r\n case 'outside':\r\n if (outsideClicked || mainButtonClicked) {\r\n this.open.set(false);\r\n }\r\n break;\r\n case 'inside':\r\n if (menuClicked) {\r\n this.open.set(false);\r\n }\r\n break;\r\n case 'manual':\r\n break;\r\n }\r\n } else {\r\n if (toggleClicked) {\r\n this.open.set(true);\r\n }\r\n }\r\n }\r\n}\r\n","<button #mainButton\r\n [class]=\"toggleCss()\"\r\n [class.dropdown-toggle]=\"!split()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n [disabled]=\"disabled()\"\r\n type=\"button\"\r\n (click)=\"toggleClick.emit($event)\">\r\n <ng-content></ng-content>\r\n</button>\r\n\r\n@if(split()) {\r\n<button #splitButton\r\n type=\"button\"\r\n [class]=\"splitCss()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n class=\"dropdown-toggle dropdown-toggle-split\"\r\n [disabled]=\"disabled()\">\r\n <!-- <span class=\"visually-hidden\">Toggle Dropdown</span> -->\r\n</button>\r\n}\r\n\r\n<ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayOrigin]=\"_el.nativeElement\"\r\n [cdkConnectedOverlayOpen]=\"open()\"\r\n [cdkConnectedOverlayPush]=\"false\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"true\">\r\n <ng-content select=\"ng0-dropdown-menu\"></ng-content>\r\n</ng-template>\r\n\r\n<style>\r\n :host {\r\n display: inline-block;\r\n }\r\n</style>","import { Component, ElementRef, Renderer2, ChangeDetectionStrategy, inject, input, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-dropdown-header',\r\n exportAs: 'ng0DropdownItem',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `<h6 class=\"dropdown-header\"><ng-content></ng-content></h6>`,\r\n})\r\nexport class DropdownHeaderComponent {\r\n}\r\n","import { Component, ChangeDetectionStrategy, input, booleanAttribute, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n/**\r\n * A link item within a dropdown menu.\r\n * This component is used to create a navigable link inside a dropdown.\r\n */\r\n@Component({\r\n selector: 'ng0-dropdown-link',\r\n exportAs: 'ng0DropdownLink',\r\n standalone: true,\r\n templateUrl: './dropdown-link.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n})\r\nexport class DropdownLinkComponent {\r\n /**\r\n * The link or URL to navigate to when the dropdown item is clicked.\r\n */\r\n public readonly link = input.required<string | string[] | undefined>();\r\n\r\n /**\r\n * The router link active class to apply when the link is active.\r\n */\r\n public readonly active = input<string | string[]>('');\r\n\r\n /**\r\n * Specifies where to open the linked document.\r\n */\r\n public readonly target = input<'_self' | '_blank' | '_parent' | '_top' | undefined>(undefined);\r\n\r\n /**\r\n * Whether the dropdown link is disabled.\r\n */\r\n public readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n\r\n @HostListener('click', ['$event'])\r\n private _onClick(e: MouseEvent) {\r\n if (this.disabled()) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n}\r\n","<a class=\"dropdown-item\" [routerLink]=\"link()\" [target]=\"target()\" [routerLinkActive]=\"active()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</a>","import { NgModule } from '@angular/core';\r\nimport { DropdownItemComponent } from './dropdown-item.component';\r\nimport { DropdownComponent } from './dropdown.component';\r\nimport { DropdownHeaderComponent } from './dropdown-header.component';\r\nimport { DropdownDividerComponent } from './dropdown-divider.component';\r\nimport { DropdownMenuComponent } from './dropdown-menu.component';\r\nimport { DropdownLinkComponent } from './dropdown-link.component';\r\n\r\n\r\nconst Items = [\r\n DropdownComponent,\r\n DropdownMenuComponent,\r\n DropdownItemComponent,\r\n DropdownLinkComponent,\r\n DropdownHeaderComponent,\r\n DropdownDividerComponent\r\n]\r\n\r\n@NgModule({\r\n imports: Items,\r\n exports: Items\r\n})\r\nexport class DropdownModule { }\r\n","\r\n/**\r\n * Defines the possible values for the dropdown auto-close behavior.\r\n * \r\n * 'default': The dropdown will close when clicking inside or outside the menu.\r\n * 'inside': The dropdown will close only when clicking inside the menu.\r\n * 'outside': The dropdown will close only when clicking outside the menu.\r\n * 'manual': The dropdown will not close automatically; it must be closed programmatically.\r\n */\r\nexport type DropdownAutoCloseBehavior = 'default' | 'inside' | 'outside' | 'manual';\r\n\r\n/**\r\n * \r\n */\r\nexport type DropdownSize = 'default' | 'small' | 'large';\r\n\r\n\r\n// export type DropdownToggleTriggerMode = 'click' | 'hover' | 'focus';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"bootkit-ng0-components-dropdown.mjs","sources":["../../../projects/ng0/components/dropdown/dropdown-divider.component.ts","../../../projects/ng0/components/dropdown/dropdown-item.component.ts","../../../projects/ng0/components/dropdown/dropdown-item.component.html","../../../projects/ng0/components/dropdown/dropdown-menu.component.ts","../../../projects/ng0/components/dropdown/dropdown.component.ts","../../../projects/ng0/components/dropdown/dropdown.component.html","../../../projects/ng0/components/dropdown/dropdown-header.component.ts","../../../projects/ng0/components/dropdown/dropdown-link.component.ts","../../../projects/ng0/components/dropdown/dropdown-link.component.html","../../../projects/ng0/components/dropdown/dropdown.module.ts","../../../projects/ng0/components/dropdown/types.ts","../../../projects/ng0/components/dropdown/bootkit-ng0-components-dropdown.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-dropdown-divider',\r\n exportAs: 'ng0DropdownDivider',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n ],\r\n template: `<hr class=\"dropdown-divider\">`,\r\n})\r\nexport class DropdownDividerComponent {\r\n}\r\n","import { Component, ChangeDetectionStrategy, input, booleanAttribute, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CssClass } from '@bootkit/ng0/common';\r\n\r\n/**\r\n * An item within a dropdown menu.\r\n */\r\n@Component({\r\n selector: 'ng0-dropdown-item',\r\n exportAs: 'ng0DropdownItem',\r\n standalone: true,\r\n templateUrl: './dropdown-item.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n})\r\nexport class DropdownItemComponent {\r\n /**\r\n * The CSS classes to apply to the dropdown item.\r\n * */\r\n public readonly cssClass = input<CssClass>();\r\n\r\n /**\r\n * Whether the dropdown item is disabled.\r\n */\r\n public readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n @HostListener('click', ['$event'])\r\n private _onClick(e: MouseEvent) {\r\n if (this.disabled()) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n","<button class=\"dropdown-item\" [ngClass]=\"cssClass()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</button>","import { Component, ElementRef, Renderer2, ChangeDetectionStrategy, inject, input, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DropdownComponent } from './dropdown.component';\r\n\r\n\r\n@Component({\r\n selector: 'ng0-dropdown-menu',\r\n exportAs: 'ng0Dropdownmenu',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n ],\r\n template: `<ng-content></ng-content>`,\r\n styles: `:host { display: block; position: relative; }`,\r\n})\r\nexport class DropdownMenuComponent {\r\n private _renderer = inject(Renderer2);\r\n private _dropdown = inject(DropdownComponent);\r\n\r\n public elementRef = inject(ElementRef);\r\n\r\n constructor() {\r\n this._renderer.addClass(this.elementRef.nativeElement, 'dropdown-menu');\r\n }\r\n\r\n // @HostListener('click')\r\n // private _onClick() {\r\n // if (this._dropdown.autoClose() == 'default' || this._dropdown.autoClose() == 'inside') {\r\n // this._dropdown.open.set(false);\r\n // }\r\n // }\r\n}\r\n","import {\r\n Component, ElementRef, Renderer2, ChangeDetectionStrategy, inject, input, model, HostListener, ContentChild,\r\n booleanAttribute, ViewChild, EventEmitter,\r\n Output\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CssClass, Placement } from '@bootkit/ng0/common';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { DropdownAutoCloseBehavior, DropdownSize } from './types';\r\nimport { DropdownMenuComponent } from './dropdown-menu.component';\r\n\r\n/**\r\n * Dropdown component\r\n */\r\n@Component({\r\n selector: 'ng0-dropdown',\r\n exportAs: 'ng0Dropdown',\r\n templateUrl: './dropdown.component.html',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, OverlayModule],\r\n host: {\r\n '[class.dropup]': 'placement() === \"top\"',\r\n '[class.dropstart]': 'placement() === \"start\"',\r\n '[class.dropend]': 'placement() === \"end\"',\r\n '[class.btn-group]': 'defaultStyle()',\r\n }\r\n})\r\nexport class DropdownComponent {\r\n @ContentChild(DropdownMenuComponent) private _dropdownMenu!: DropdownMenuComponent;\r\n @ViewChild('mainButton') private _mainButton!: ElementRef<HTMLButtonElement>;\r\n @ViewChild('splitButton') private _splitButton?: ElementRef<HTMLButtonElement>;\r\n protected _el = inject(ElementRef);\r\n private _renderer = inject(Renderer2);\r\n // @ContentChildren(DropdownItemComponent) private _items!: QueryList<DropdownItemComponent>;\r\n // protected _scrollStrategy!: ScrollStrategy;\r\n\r\n /**\r\n * The placement of the dropdown menu in relation to the dropdown toggle.\r\n */\r\n public placement = input<Placement>('bottom');\r\n\r\n /**\r\n * Indicates whether the dropdown should use the default Bootstrap styles.\r\n * This will apply the 'btn-group' class to the dropdown.\r\n * @default true\r\n */\r\n public defaultStyle = input(true);\r\n\r\n /**\r\n * The CSS classes to apply to the dropdown toggle button.\r\n * @default 'btn btn-primary'\r\n */\r\n public toggleCss = input<CssClass>('btn btn-primary');\r\n\r\n /**\r\n * The CSS classes to apply to the dropdown split button.\r\n * @default 'btn btn-primary'\r\n */\r\n public splitCss = input<CssClass>('btn btn-primary');\r\n\r\n /** \r\n * Indicates whether the dropdown is open or closed.\r\n * @default false\r\n */\r\n public readonly open = model(false);\r\n\r\n /**\r\n * Indicates whether the dropdown is a split button. \r\n * A split button dropdown has a separate toggle button.\r\n * @default false\r\n */\r\n public readonly split = input(false, { transform: booleanAttribute });\r\n\r\n /**\r\n * Indicates whether the dropdown has an automatic close behavior.\r\n * @default 'default'\r\n */\r\n public readonly autoClose = input<DropdownAutoCloseBehavior>('default');\r\n\r\n /**\r\n * Dropdown size\r\n * @default 'default'\r\n */\r\n public readonly size = input<DropdownSize>('default');\r\n\r\n /**\r\n * Indicates whether the dropdown is disabled.\r\n */\r\n public readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n /**\r\n * Emits when the dropdown toggle button is clicked.\r\n */\r\n @Output() public toggleClick = new EventEmitter<PointerEvent>();\r\n\r\n constructor() {\r\n // this._renderer.addClass(this._el.nativeElement, 'btn-group');\r\n // this._scrollStrategy = this._overlay.scrollStrategies.block();\r\n }\r\n\r\n /**\r\n * Toggle the dropdown open or closed.\r\n */\r\n public toggle() {\r\n this.open.set(!this.open());\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n private _onDocumentClick(e: MouseEvent) {\r\n const splitButtonClicked = e.target === this._splitButton?.nativeElement;\r\n const mainButtonClicked = e.target === this._mainButton?.nativeElement;\r\n const toggleClicked = this.split() ? splitButtonClicked : mainButtonClicked;\r\n const dropdownClicked = splitButtonClicked || mainButtonClicked;\r\n const menuClicked = this._dropdownMenu.elementRef.nativeElement.contains(e.target);\r\n const outsideClicked = !dropdownClicked && !menuClicked;\r\n\r\n if (this.open()) {\r\n if (toggleClicked) {\r\n this.open.set(false);\r\n return;\r\n }\r\n\r\n switch (this.autoClose()) {\r\n case 'default':\r\n this.open.set(false);\r\n break;\r\n case 'outside':\r\n if (outsideClicked || mainButtonClicked) {\r\n this.open.set(false);\r\n }\r\n break;\r\n case 'inside':\r\n if (menuClicked) {\r\n this.open.set(false);\r\n }\r\n break;\r\n case 'manual':\r\n break;\r\n }\r\n } else {\r\n if (toggleClicked) {\r\n this.open.set(true);\r\n }\r\n }\r\n }\r\n}\r\n","<button #mainButton\r\n [class]=\"toggleCss()\"\r\n [class.dropdown-toggle]=\"!split()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n [disabled]=\"disabled()\"\r\n type=\"button\"\r\n (click)=\"toggleClick.emit($event)\">\r\n <ng-content></ng-content>\r\n</button>\r\n\r\n@if(split()) {\r\n<button #splitButton\r\n type=\"button\"\r\n [class]=\"splitCss()\"\r\n [class.btn-sm]=\"size() == 'small'\"\r\n [class.btn-lg]=\"size() == 'large'\"\r\n class=\"dropdown-toggle dropdown-toggle-split\"\r\n [disabled]=\"disabled()\">\r\n <!-- <span class=\"visually-hidden\">Toggle Dropdown</span> -->\r\n</button>\r\n}\r\n\r\n<ng-template cdkConnectedOverlay\r\n [cdkConnectedOverlayOrigin]=\"_el.nativeElement\"\r\n [cdkConnectedOverlayOpen]=\"open()\"\r\n [cdkConnectedOverlayPush]=\"false\"\r\n [cdkConnectedOverlayFlexibleDimensions]=\"true\">\r\n <ng-content select=\"ng0-dropdown-menu\"></ng-content>\r\n</ng-template>\r\n\r\n<style>\r\n :host {\r\n display: inline-block;\r\n }\r\n</style>","import { Component, ElementRef, Renderer2, ChangeDetectionStrategy, inject, input, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'ng0-dropdown-header',\r\n exportAs: 'ng0DropdownItem',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n template: `<h6 class=\"dropdown-header\"><ng-content></ng-content></h6>`,\r\n})\r\nexport class DropdownHeaderComponent {\r\n}\r\n","import { Component, ChangeDetectionStrategy, input, booleanAttribute, HostListener } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n/**\r\n * A link item within a dropdown menu.\r\n * This component is used to create a navigable link inside a dropdown.\r\n */\r\n@Component({\r\n selector: 'ng0-dropdown-link',\r\n exportAs: 'ng0DropdownLink',\r\n standalone: true,\r\n templateUrl: './dropdown-link.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n RouterModule\r\n ],\r\n})\r\nexport class DropdownLinkComponent {\r\n /**\r\n * The link or URL to navigate to when the dropdown item is clicked.\r\n */\r\n public readonly link = input.required<string | string[] | undefined>();\r\n\r\n /**\r\n * The router link active class to apply when the link is active.\r\n */\r\n public readonly active = input<string | string[]>('');\r\n\r\n /**\r\n * Specifies where to open the linked document.\r\n */\r\n public readonly target = input<'_self' | '_blank' | '_parent' | '_top' | undefined>(undefined);\r\n\r\n /**\r\n * Whether the dropdown link is disabled.\r\n */\r\n public readonly disabled = input(false, { transform: booleanAttribute });\r\n\r\n\r\n @HostListener('click', ['$event'])\r\n private _onClick(e: MouseEvent) {\r\n if (this.disabled()) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n}\r\n","<a class=\"dropdown-item\" [routerLink]=\"link()\" [target]=\"target()\" [routerLinkActive]=\"active()\" [class.disabled]=\"disabled()\" [attr.aria-disabled]=\"disabled()\">\r\n <ng-content></ng-content>\r\n</a>","import { NgModule } from '@angular/core';\r\nimport { DropdownItemComponent } from './dropdown-item.component';\r\nimport { DropdownComponent } from './dropdown.component';\r\nimport { DropdownHeaderComponent } from './dropdown-header.component';\r\nimport { DropdownDividerComponent } from './dropdown-divider.component';\r\nimport { DropdownMenuComponent } from './dropdown-menu.component';\r\nimport { DropdownLinkComponent } from './dropdown-link.component';\r\n\r\n\r\nconst Items = [\r\n DropdownComponent,\r\n DropdownMenuComponent,\r\n DropdownItemComponent,\r\n DropdownLinkComponent,\r\n DropdownHeaderComponent,\r\n DropdownDividerComponent\r\n]\r\n\r\n@NgModule({\r\n imports: Items,\r\n exports: Items\r\n})\r\nexport class DropdownModule { }\r\n","\r\n/**\r\n * Defines the possible values for the dropdown auto-close behavior.\r\n * \r\n * 'default': The dropdown will close when clicking inside or outside the menu.\r\n * 'inside': The dropdown will close only when clicking inside the menu.\r\n * 'outside': The dropdown will close only when clicking outside the menu.\r\n * 'manual': The dropdown will not close automatically; it must be closed programmatically.\r\n */\r\nexport type DropdownAutoCloseBehavior = 'default' | 'inside' | 'outside' | 'manual';\r\n\r\n/**\r\n * \r\n */\r\nexport type DropdownSize = 'default' | 'small' | 'large';\r\n\r\n\r\n// export type DropdownToggleTriggerMode = 'click' | 'hover' | 'focus';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -78,10 +78,10 @@ class FormFieldComponent {
78
78
  _onFocusOut() {
79
79
  this._checkValidation();
80
80
  }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: FormFieldComponent, isStandalone: true, selector: "ng0-form-field, ng0-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, showErrors: { classPropertyName: "showErrors", publicName: "showErrors", isSignal: true, isRequired: false, transformFunction: null }, showRequired: { classPropertyName: "showRequired", publicName: "showRequired", isSignal: true, isRequired: false, transformFunction: null }, showSubscripts: { classPropertyName: "showSubscripts", publicName: "showSubscripts", isSignal: true, isRequired: false, transformFunction: null }, inputGroup: { classPropertyName: "inputGroup", publicName: "inputGroup", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focusout": "_onFocusOut()" }, properties: { "class.ng0-form-field-required": "_hasRequiredControl()" } }, queries: [{ propertyName: "_ngControlElement", first: true, predicate: NgControl, descendants: true, read: ElementRef, static: true }, { propertyName: "_ngControl", first: true, predicate: NgControl, descendants: true }], exportAs: ["ng0FormField"], ngImport: i0, template: "@let errorText = _errorText();\r\n@let showRequiredIndicator = showRequired();\r\n\r\n@if(label()) {\r\n<label class=\"ng0-form-field-label\">\r\n {{label()}}\r\n @if((showRequiredIndicator === true || (showRequiredIndicator == undefined && _hasRequiredControl()))) {\r\n <span class=\"ng0-form-field-required-indicator\">*</span>\r\n }\r\n</label>\r\n}\r\n\r\n@if(inputGroup()) {\r\n<div class=\"input-group\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n</div>\r\n}@else {\r\n<ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n}\r\n\r\n<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if(showSubscripts()) {\r\n<div class=\"ng0-form-field-subscript\">\r\n @if(showErrors() && errorText && _ngControl?.touched) {\r\n <small class=\"ng0-form-field-error text-danger\" animate.enter=\"ng0-form-field-fadein\">\r\n {{errorText}}\r\n </small>\r\n }@else if(hint()) {\r\n <small class=\"ng0-form-field-hint\">\r\n {{hint()}}\r\n </small>\r\n }\r\n</div>\r\n}", styles: [":host{display:block}.ng0-form-field-subscript{min-height:1.5em;line-height:1.5em;text-align:justify;position:relative;overflow:clip}.ng0-form-field-subscript .ng0-form-field-error{position:absolute;will-change:transform}.ng0-form-field-subscript .ng0-form-field-hint{position:absolute}.ng0-form-field-fadein{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.11", type: FormFieldComponent, isStandalone: true, selector: "ng0-form-field, ng0-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, showErrors: { classPropertyName: "showErrors", publicName: "showErrors", isSignal: true, isRequired: false, transformFunction: null }, showRequired: { classPropertyName: "showRequired", publicName: "showRequired", isSignal: true, isRequired: false, transformFunction: null }, showSubscripts: { classPropertyName: "showSubscripts", publicName: "showSubscripts", isSignal: true, isRequired: false, transformFunction: null }, inputGroup: { classPropertyName: "inputGroup", publicName: "inputGroup", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focusout": "_onFocusOut()" }, properties: { "class.ng0-form-field-required": "_hasRequiredControl()" } }, queries: [{ propertyName: "_ngControlElement", first: true, predicate: NgControl, descendants: true, read: ElementRef, static: true }, { propertyName: "_ngControl", first: true, predicate: NgControl, descendants: true }], exportAs: ["ng0FormField"], ngImport: i0, template: "@let errorText = _errorText();\r\n@let showRequiredIndicator = showRequired();\r\n\r\n@if(label()) {\r\n<label class=\"ng0-form-field-label\">\r\n {{label()}}\r\n @if((showRequiredIndicator === true || (showRequiredIndicator == undefined && _hasRequiredControl()))) {\r\n <span class=\"ng0-form-field-required-indicator\">*</span>\r\n }\r\n</label>\r\n}\r\n\r\n@if(inputGroup()) {\r\n<div class=\"input-group\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n</div>\r\n}@else {\r\n<ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n}\r\n\r\n<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if(showSubscripts()) {\r\n<div class=\"ng0-form-field-subscript\">\r\n @if(showErrors() && errorText && _ngControl?.touched) {\r\n <small class=\"ng0-form-field-error text-danger\" animate.enter=\"ng0-form-field-fadein\">\r\n {{errorText}}\r\n </small>\r\n }@else if(hint()) {\r\n <small class=\"ng0-form-field-hint\">\r\n {{hint()}}\r\n </small>\r\n }\r\n</div>\r\n}", styles: [":host{display:block}.ng0-form-field-subscript{min-height:1.5em;line-height:1.5em;text-align:justify;position:relative;overflow:clip}.ng0-form-field-subscript .ng0-form-field-error{position:absolute;will-change:transform}.ng0-form-field-subscript .ng0-form-field-hint{position:absolute}.ng0-form-field-fadein{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: FormFieldComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: FormFieldComponent, decorators: [{
85
85
  type: Component,
86
86
  args: [{ selector: 'ng0-form-field, ng0-field', exportAs: 'ng0FormField', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], host: {
87
87
  '[class.ng0-form-field-required]': '_hasRequiredControl()',
@@ -98,13 +98,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
98
98
  }] } });
99
99
 
100
100
  class FormFieldModule {
101
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
102
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: FormFieldModule, imports: [CommonModule,
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
102
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: FormFieldModule, imports: [CommonModule,
103
103
  FormFieldComponent], exports: [FormFieldComponent] });
104
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: FormFieldModule, imports: [CommonModule,
104
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: FormFieldModule, imports: [CommonModule,
105
105
  FormFieldComponent] });
106
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: FormFieldModule, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: FormFieldModule, decorators: [{
108
108
  type: NgModule,
109
109
  args: [{
110
110
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"bootkit-ng0-components-form-field.mjs","sources":["../../../projects/ng0/components/form-field/form-field.component.ts","../../../projects/ng0/components/form-field/form-field.component.html","../../../projects/ng0/components/form-field/form-field.module.ts","../../../projects/ng0/components/form-field/bootkit-ng0-components-form-field.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { booleanAttribute, ChangeDetectionStrategy, DestroyRef, ElementRef, HostListener, inject, input, Renderer2, signal, ViewEncapsulation } from '@angular/core';\r\nimport { Component, ContentChild, AfterContentInit } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { LocalizationService } from '@bootkit/ng0/localization';\r\n\r\n@Component({\r\n selector: 'ng0-form-field, ng0-field',\r\n exportAs: 'ng0FormField',\r\n templateUrl: './form-field.component.html',\r\n styleUrls: ['./form-field.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule],\r\n host: {\r\n '[class.ng0-form-field-required]': '_hasRequiredControl()',\r\n }\r\n})\r\nexport class FormFieldComponent implements AfterContentInit {\r\n @ContentChild(NgControl, { static: true, read: ElementRef }) private _ngControlElement?: ElementRef;\r\n private _destroyRef = inject(DestroyRef);\r\n private _renderer = inject(Renderer2);\r\n private _localizationService = inject(LocalizationService);\r\n // private _form = inject(NgForm, { optional: true });\r\n @ContentChild(NgControl) protected _ngControl?: NgControl;\r\n protected _status = signal<string | null>('');\r\n protected _hasRequiredControl = signal(false);\r\n protected _errorText = signal<string | undefined>(undefined);\r\n\r\n /**\r\n * The label text for the form field.\r\n */\r\n public readonly label = input<string>();\r\n\r\n /**\r\n * The hint text to display below the form field.\r\n */\r\n public readonly hint = input<string>();\r\n\r\n /**\r\n * If true, the form-field will show validation errors.\r\n */\r\n public readonly showErrors = input(true, { transform: booleanAttribute });\r\n\r\n /**\r\n * If undefined, the indicator will be shown based on the control's required state.\r\n * If true, the form-field will show a required indicator (*) next to the label (regardless of the control's required state).\r\n * If false, the required indicator will not be shown (regardless of the control's required state).\r\n */\r\n public readonly showRequired = input<boolean | undefined>(undefined);\r\n\r\n /**\r\n * If true, the form-field will show subscripts (e.g. hints, errors) for the field label.\r\n */\r\n public readonly showSubscripts = input(true, { transform: booleanAttribute });\r\n\r\n /**\r\n * If true, the form-field will be rendered inside a \".input-group\" element.\r\n */\r\n public readonly inputGroup = input(true, { transform: booleanAttribute });\r\n\r\n ngAfterContentInit(): void {\r\n this._hasRequiredControl.set(this._isControlRequired());\r\n\r\n if (this._ngControl) {\r\n this._status.set(this._ngControl.status);\r\n\r\n this._ngControl.statusChanges?.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(change => {\r\n this._status.set(change);\r\n this._checkValidation();\r\n });\r\n\r\n this._ngControl.valueChanges?.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(value => {\r\n if (this._status() === 'INVALID' && this._ngControl!.errors) {\r\n this._checkValidation(); // Recheck validation errors\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _checkValidation() {\r\n if (!this._ngControl || !this._ngControl.touched) {\r\n return;\r\n }\r\n\r\n let elm = this._ngControlElement!.nativeElement;\r\n let invalid = this._status() === 'INVALID';\r\n let errorText = invalid ?\r\n this._localizationService.get()?.translateFirstError(this._ngControl!.errors, 'Invalid')?.text :\r\n undefined;\r\n\r\n this._errorText.set(errorText);\r\n this._renderer.addClass(elm, invalid ? 'is-invalid' : 'is-valid');\r\n this._renderer.removeClass(elm, invalid ? 'is-valid' : 'is-invalid');\r\n }\r\n\r\n private _isControlRequired(): boolean {\r\n const validator = this._ngControl?.validator || this._ngControl?.control?.validator;\r\n const errors = validator && validator(new FormControl(null));\r\n return errors != null && errors['required'] === true;\r\n }\r\n\r\n @HostListener('focusout')\r\n private _onFocusOut() {\r\n this._checkValidation();\r\n }\r\n}\r\n","@let errorText = _errorText();\r\n@let showRequiredIndicator = showRequired();\r\n\r\n@if(label()) {\r\n<label class=\"ng0-form-field-label\">\r\n {{label()}}\r\n @if((showRequiredIndicator === true || (showRequiredIndicator == undefined && _hasRequiredControl()))) {\r\n <span class=\"ng0-form-field-required-indicator\">*</span>\r\n }\r\n</label>\r\n}\r\n\r\n@if(inputGroup()) {\r\n<div class=\"input-group\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n</div>\r\n}@else {\r\n<ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n}\r\n\r\n<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if(showSubscripts()) {\r\n<div class=\"ng0-form-field-subscript\">\r\n @if(showErrors() && errorText && _ngControl?.touched) {\r\n <small class=\"ng0-form-field-error text-danger\" animate.enter=\"ng0-form-field-fadein\">\r\n {{errorText}}\r\n </small>\r\n }@else if(hint()) {\r\n <small class=\"ng0-form-field-hint\">\r\n {{hint()}}\r\n </small>\r\n }\r\n</div>\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormFieldComponent } from './form-field.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormFieldComponent,\r\n ],\r\n exports: [\r\n FormFieldComponent,\r\n ]\r\n})\r\nexport class FormFieldModule { }\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-form-field.mjs","sources":["../../../projects/ng0/components/form-field/form-field.component.ts","../../../projects/ng0/components/form-field/form-field.component.html","../../../projects/ng0/components/form-field/form-field.module.ts","../../../projects/ng0/components/form-field/bootkit-ng0-components-form-field.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { booleanAttribute, ChangeDetectionStrategy, DestroyRef, ElementRef, HostListener, inject, input, Renderer2, signal, ViewEncapsulation } from '@angular/core';\r\nimport { Component, ContentChild, AfterContentInit } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { FormControl, NgControl } from '@angular/forms';\r\nimport { LocalizationService } from '@bootkit/ng0/localization';\r\n\r\n@Component({\r\n selector: 'ng0-form-field, ng0-field',\r\n exportAs: 'ng0FormField',\r\n templateUrl: './form-field.component.html',\r\n styleUrls: ['./form-field.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule],\r\n host: {\r\n '[class.ng0-form-field-required]': '_hasRequiredControl()',\r\n }\r\n})\r\nexport class FormFieldComponent implements AfterContentInit {\r\n @ContentChild(NgControl, { static: true, read: ElementRef }) private _ngControlElement?: ElementRef;\r\n private _destroyRef = inject(DestroyRef);\r\n private _renderer = inject(Renderer2);\r\n private _localizationService = inject(LocalizationService);\r\n // private _form = inject(NgForm, { optional: true });\r\n @ContentChild(NgControl) protected _ngControl?: NgControl;\r\n protected _status = signal<string | null>('');\r\n protected _hasRequiredControl = signal(false);\r\n protected _errorText = signal<string | undefined>(undefined);\r\n\r\n /**\r\n * The label text for the form field.\r\n */\r\n public readonly label = input<string>();\r\n\r\n /**\r\n * The hint text to display below the form field.\r\n */\r\n public readonly hint = input<string>();\r\n\r\n /**\r\n * If true, the form-field will show validation errors.\r\n */\r\n public readonly showErrors = input(true, { transform: booleanAttribute });\r\n\r\n /**\r\n * If undefined, the indicator will be shown based on the control's required state.\r\n * If true, the form-field will show a required indicator (*) next to the label (regardless of the control's required state).\r\n * If false, the required indicator will not be shown (regardless of the control's required state).\r\n */\r\n public readonly showRequired = input<boolean | undefined>(undefined);\r\n\r\n /**\r\n * If true, the form-field will show subscripts (e.g. hints, errors) for the field label.\r\n */\r\n public readonly showSubscripts = input(true, { transform: booleanAttribute });\r\n\r\n /**\r\n * If true, the form-field will be rendered inside a \".input-group\" element.\r\n */\r\n public readonly inputGroup = input(true, { transform: booleanAttribute });\r\n\r\n ngAfterContentInit(): void {\r\n this._hasRequiredControl.set(this._isControlRequired());\r\n\r\n if (this._ngControl) {\r\n this._status.set(this._ngControl.status);\r\n\r\n this._ngControl.statusChanges?.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(change => {\r\n this._status.set(change);\r\n this._checkValidation();\r\n });\r\n\r\n this._ngControl.valueChanges?.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(value => {\r\n if (this._status() === 'INVALID' && this._ngControl!.errors) {\r\n this._checkValidation(); // Recheck validation errors\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _checkValidation() {\r\n if (!this._ngControl || !this._ngControl.touched) {\r\n return;\r\n }\r\n\r\n let elm = this._ngControlElement!.nativeElement;\r\n let invalid = this._status() === 'INVALID';\r\n let errorText = invalid ?\r\n this._localizationService.get()?.translateFirstError(this._ngControl!.errors, 'Invalid')?.text :\r\n undefined;\r\n\r\n this._errorText.set(errorText);\r\n this._renderer.addClass(elm, invalid ? 'is-invalid' : 'is-valid');\r\n this._renderer.removeClass(elm, invalid ? 'is-valid' : 'is-invalid');\r\n }\r\n\r\n private _isControlRequired(): boolean {\r\n const validator = this._ngControl?.validator || this._ngControl?.control?.validator;\r\n const errors = validator && validator(new FormControl(null));\r\n return errors != null && errors['required'] === true;\r\n }\r\n\r\n @HostListener('focusout')\r\n private _onFocusOut() {\r\n this._checkValidation();\r\n }\r\n}\r\n","@let errorText = _errorText();\r\n@let showRequiredIndicator = showRequired();\r\n\r\n@if(label()) {\r\n<label class=\"ng0-form-field-label\">\r\n {{label()}}\r\n @if((showRequiredIndicator === true || (showRequiredIndicator == undefined && _hasRequiredControl()))) {\r\n <span class=\"ng0-form-field-required-indicator\">*</span>\r\n }\r\n</label>\r\n}\r\n\r\n@if(inputGroup()) {\r\n<div class=\"input-group\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n</div>\r\n}@else {\r\n<ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n}\r\n\r\n<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if(showSubscripts()) {\r\n<div class=\"ng0-form-field-subscript\">\r\n @if(showErrors() && errorText && _ngControl?.touched) {\r\n <small class=\"ng0-form-field-error text-danger\" animate.enter=\"ng0-form-field-fadein\">\r\n {{errorText}}\r\n </small>\r\n }@else if(hint()) {\r\n <small class=\"ng0-form-field-hint\">\r\n {{hint()}}\r\n </small>\r\n }\r\n</div>\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormFieldComponent } from './form-field.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormFieldComponent,\r\n ],\r\n exports: [\r\n FormFieldComponent,\r\n ]\r\n})\r\nexport class FormFieldModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}