c3-components 0.0.14 → 0.0.15

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 (141) hide show
  1. package/esm2022/c3-components.mjs +5 -0
  2. package/esm2022/lib/c3-auto-animate/C3AutoAnimate.directive.mjs +23 -0
  3. package/esm2022/lib/c3-dialog/c3-dialog.module.mjs +52 -0
  4. package/esm2022/lib/c3-dialog/components/c3-dialog-confirm.component.mjs +51 -0
  5. package/esm2022/lib/c3-dialog/components/c3-dialog-embed-child.component.mjs +32 -0
  6. package/esm2022/lib/c3-dialog/components/c3-dialog-prompt.component.mjs +95 -0
  7. package/esm2022/lib/c3-dialog/services/c3-dialog.service.mjs +77 -0
  8. package/esm2022/lib/c3-dropdown/c3-dropdown.module.mjs +20 -0
  9. package/esm2022/lib/c3-dropdown/components/c3-dropdown.component.mjs +45 -0
  10. package/esm2022/lib/c3-dropdown/directives/c3-dropdown.trigger.mjs +128 -0
  11. package/esm2022/lib/c3-expansion/c3-expansion.module.mjs +43 -0
  12. package/esm2022/lib/c3-expansion/components/c3-expansion/c3-expansion.component.mjs +34 -0
  13. package/esm2022/lib/c3-expansion/components/c3-expansion-header/c3-expansion-header.component.mjs +24 -0
  14. package/esm2022/lib/c3-file-viewer/c3-file-viewer.module.mjs +47 -0
  15. package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.mjs +17 -0
  16. package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.mjs +20 -0
  17. package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.mjs +23 -0
  18. package/esm2022/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.mjs +32 -0
  19. package/esm2022/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.mjs +86 -0
  20. package/esm2022/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.mjs +40 -0
  21. package/esm2022/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.mjs +26 -0
  22. package/esm2022/lib/c3-file-viewer/consts/default.config.mjs +40 -0
  23. package/esm2022/lib/c3-file-viewer/directives/full-screen.directive.mjs +66 -0
  24. package/esm2022/lib/c3-file-viewer/models/custom-file-event.model.mjs +7 -0
  25. package/esm2022/lib/c3-file-viewer/models/file-metadata.mjs +2 -0
  26. package/esm2022/lib/c3-file-viewer/models/file-viewer-config.model.mjs +2 -0
  27. package/esm2022/lib/c3-file-viewer/models/file-viewer.mjs +206 -0
  28. package/esm2022/lib/c3-file-viewer/models/http.client.mjs +2 -0
  29. package/esm2022/lib/c3-safe-url/pipes/c3-safe-url.pipe.mjs +21 -0
  30. package/esm2022/public-api.mjs +45 -0
  31. package/fesm2022/c3-components.mjs +1160 -0
  32. package/fesm2022/c3-components.mjs.map +1 -0
  33. package/index.d.ts +5 -0
  34. package/lib/c3-auto-animate/C3AutoAnimate.directive.d.ts +11 -0
  35. package/lib/c3-dialog/c3-dialog.module.d.ts +15 -0
  36. package/lib/c3-dialog/components/c3-dialog-confirm.component.d.ts +23 -0
  37. package/lib/c3-dialog/components/c3-dialog-embed-child.component.d.ts +18 -0
  38. package/lib/c3-dialog/components/c3-dialog-prompt.component.d.ts +31 -0
  39. package/lib/c3-dialog/services/c3-dialog.service.d.ts +18 -0
  40. package/lib/c3-dropdown/c3-dropdown.module.d.ts +10 -0
  41. package/lib/c3-dropdown/components/c3-dropdown.component.d.ts +15 -0
  42. package/lib/c3-dropdown/directives/c3-dropdown.trigger.d.ts +45 -0
  43. package/lib/c3-expansion/c3-expansion.module.d.ts +14 -0
  44. package/lib/c3-expansion/components/c3-expansion/c3-expansion.component.d.ts +13 -0
  45. package/lib/c3-expansion/components/c3-expansion-header/c3-expansion-header.component.d.ts +9 -0
  46. package/lib/c3-file-viewer/c3-file-viewer.module.d.ts +17 -0
  47. package/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.d.ts +8 -0
  48. package/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.d.ts +9 -0
  49. package/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.d.ts +9 -0
  50. package/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.d.ts +12 -0
  51. package/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.d.ts +25 -0
  52. package/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.d.ts +12 -0
  53. package/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.d.ts +8 -0
  54. package/lib/c3-file-viewer/consts/default.config.d.ts +2 -0
  55. package/lib/c3-file-viewer/directives/full-screen.directive.d.ts +12 -0
  56. package/lib/c3-file-viewer/models/custom-file-event.model.d.ts +5 -0
  57. package/lib/c3-file-viewer/models/file-metadata.d.ts +12 -0
  58. package/lib/c3-file-viewer/models/file-viewer-config.model.d.ts +48 -0
  59. package/lib/c3-file-viewer/models/file-viewer.d.ts +65 -0
  60. package/lib/c3-file-viewer/models/http.client.d.ts +14 -0
  61. package/lib/c3-safe-url/pipes/c3-safe-url.pipe.d.ts +10 -0
  62. package/package.json +13 -4
  63. package/{src/public-api.ts → public-api.d.ts} +0 -10
  64. package/CONTRIBUTING.md +0 -80
  65. package/bun.lockb +0 -0
  66. package/ng-package.json +0 -19
  67. package/src/lib/c3-auto-animate/C3AutoAnimate.directive.ts +0 -18
  68. package/src/lib/c3-dialog/c3-dialog.module.ts +0 -30
  69. package/src/lib/c3-dialog/components/c3-dialog-confirm.component.ts +0 -44
  70. package/src/lib/c3-dialog/components/c3-dialog-embed-child.component.ts +0 -40
  71. package/src/lib/c3-dialog/components/c3-dialog-prompt.component.ts +0 -81
  72. package/src/lib/c3-dialog/services/c3-dialog.service.ts +0 -87
  73. package/src/lib/c3-dropdown/c3-dropdown.module.ts +0 -12
  74. package/src/lib/c3-dropdown/components/c3-dropdown.component.spec.ts +0 -22
  75. package/src/lib/c3-dropdown/components/c3-dropdown.component.ts +0 -39
  76. package/src/lib/c3-dropdown/directives/c3-dropdown.trigger.ts +0 -161
  77. package/src/lib/c3-expansion/c3-expansion.module.ts +0 -24
  78. package/src/lib/c3-expansion/components/c3-expansion/c3-expansion.component.html +0 -9
  79. package/src/lib/c3-expansion/components/c3-expansion/c3-expansion.component.ts +0 -33
  80. package/src/lib/c3-expansion/components/c3-expansion-header/c3-expansion-header.component.html +0 -12
  81. package/src/lib/c3-expansion/components/c3-expansion-header/c3-expansion-header.component.ts +0 -21
  82. package/src/lib/c3-file/c3-download/c3-download.module.ts +0 -7
  83. package/src/lib/c3-file/c3-download/c3-download.service.ts +0 -16
  84. package/src/lib/c3-file/c3-input-file/c3-input-file.module.ts +0 -30
  85. package/src/lib/c3-file/c3-input-file/class/c3-input-file.ts +0 -62
  86. package/src/lib/c3-file/c3-input-file/components/c3-input-file/c3-input-file.component.html +0 -7
  87. package/src/lib/c3-file/c3-input-file/components/c3-input-file/c3-input-file.component.ts +0 -96
  88. package/src/lib/c3-file/c3-input-file/components/c3-input-file-container/c3-input-file-container.component.ts +0 -53
  89. package/src/lib/c3-file/c3-input-file/components/c3-input-file-displayer/c3-input-file-displayer.component.ts +0 -107
  90. package/src/lib/c3-file/c3-input-file/components/c3-input-file-trigger/c3-input-file-trigger.component.ts +0 -22
  91. package/src/lib/c3-file/c3-input-file/directives/c3-input-file-trigger.directive.ts +0 -27
  92. package/src/lib/c3-file-upload/c3-file-upload.module.ts +0 -8
  93. package/src/lib/c3-file-viewer/c3-file-viewer.module.ts +0 -30
  94. package/src/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.html +0 -185
  95. package/src/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.spec.ts +0 -23
  96. package/src/lib/c3-file-viewer/components/c3-file-viewer-actions/c3-file-viewer-actions.component.ts +0 -15
  97. package/src/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.html +0 -7
  98. package/src/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.spec.ts +0 -23
  99. package/src/lib/c3-file-viewer/components/c3-file-viewer-image/c3-file-viewer-image.component.ts +0 -14
  100. package/src/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.html +0 -7
  101. package/src/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.spec.ts +0 -23
  102. package/src/lib/c3-file-viewer/components/c3-file-viewer-pdf/c3-file-viewer-pdf.component.ts +0 -25
  103. package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.css +0 -0
  104. package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.html +0 -1
  105. package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.spec.ts +0 -23
  106. package/src/lib/c3-file-viewer/components/c3-file-viewer-video/c3-file-viewer-video.component.ts +0 -35
  107. package/src/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.html +0 -32
  108. package/src/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.spec.ts +0 -23
  109. package/src/lib/c3-file-viewer/components/public/c3-file-viewer/c3-file-viewer.component.ts +0 -93
  110. package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.spec.ts +0 -23
  111. package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.component.ts +0 -37
  112. package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.spec.ts +0 -22
  113. package/src/lib/c3-file-viewer/components/public/c3-file-viewer-dialog/c3-file-viewer-dialog.ts +0 -12
  114. package/src/lib/c3-file-viewer/consts/default.config.ts +0 -41
  115. package/src/lib/c3-file-viewer/directives/full-screen.directive.spec.ts +0 -11
  116. package/src/lib/c3-file-viewer/directives/full-screen.directive.ts +0 -68
  117. package/src/lib/c3-file-viewer/models/custom-file-event.model.ts +0 -9
  118. package/src/lib/c3-file-viewer/models/file-metadata.ts +0 -13
  119. package/src/lib/c3-file-viewer/models/file-viewer-config.model.ts +0 -53
  120. package/src/lib/c3-file-viewer/models/file-viewer.ts +0 -259
  121. package/src/lib/c3-file-viewer/models/http.client.ts +0 -23
  122. package/src/lib/c3-highlight-text/c3-highlight-text.module.ts +0 -12
  123. package/src/lib/c3-menu/c3-menu.module.ts +0 -12
  124. package/src/lib/c3-modal/c3-modal.module.ts +0 -12
  125. package/src/lib/c3-navbar/c3-navbar.module.ts +0 -12
  126. package/src/lib/c3-pdf-dialog/c3-pdf-dialog.module.ts +0 -12
  127. package/src/lib/c3-rounded-title/c3-rounded-title.module.ts +0 -12
  128. package/src/lib/c3-safe-url/pipes/c3-safe-url.pipe.spec.ts +0 -8
  129. package/src/lib/c3-safe-url/pipes/c3-safe-url.pipe.ts +0 -13
  130. package/src/lib/c3-tabs/c3-tabs.module.ts +0 -12
  131. package/tsconfig.lib.json +0 -14
  132. package/tsconfig.lib.prod.json +0 -10
  133. package/tsconfig.spec.json +0 -14
  134. /package/{src/_index.scss → _index.scss} +0 -0
  135. /package/{src/lib → lib}/c3-dropdown/styles/_c3-dropdown.sass +0 -0
  136. /package/{src/lib → lib}/c3-expansion/styles/_c3-expansion.scss +0 -0
  137. /package/{src/lib → lib}/c3-file/c3-input-file/components/c3-input-file/c3-input-file.component.scss +0 -0
  138. /package/{src/lib → lib}/c3-file-viewer/styles/_c3-file-viewer.sass +0 -0
  139. /package/{src/lib → lib}/c3-styles/_c3-core.sass +0 -0
  140. /package/{src/lib → lib}/c3-styles/_c3-root-variables.sass +0 -0
  141. /package/{src/lib → lib}/c3-styles/_utils.sass +0 -0
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2MzLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import autoAnimate from '@formkit/auto-animate';
3
+ import * as i0 from "@angular/core";
4
+ export class C3AutoAnimateDirective {
5
+ constructor(el) {
6
+ this.el = el;
7
+ }
8
+ ngAfterViewInit() {
9
+ autoAnimate(this.el.nativeElement, this.options);
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3AutoAnimateDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: C3AutoAnimateDirective, isStandalone: true, selector: "[c3AutoAnimate]", inputs: { options: "options" }, ngImport: i0 }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3AutoAnimateDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[c3AutoAnimate]',
18
+ standalone: true,
19
+ }]
20
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { options: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQzNBdXRvQW5pbWF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jMy1jb21wb25lbnRzL3NyYy9saWIvYzMtYXV0by1hbmltYXRlL0MzQXV0b0FuaW1hdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLFdBR04sTUFBTSx1QkFBdUIsQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFFdEMsZUFBZTtRQUNiLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0FOVSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7K0VBRVUsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGF1dG9BbmltYXRlLCB7XG4gIEF1dG9BbmltYXRlT3B0aW9ucyxcbiAgQXV0b0FuaW1hdGlvblBsdWdpbixcbn0gZnJvbSAnQGZvcm1raXQvYXV0by1hbmltYXRlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2MzQXV0b0FuaW1hdGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQzNBdXRvQW5pbWF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBvcHRpb25zPzogUGFydGlhbDxBdXRvQW5pbWF0ZU9wdGlvbnM+IHwgQXV0b0FuaW1hdGlvblBsdWdpbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgYXV0b0FuaW1hdGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLm9wdGlvbnMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatDialogModule } from '@angular/material/dialog';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { ConfirmDialogComponent } from './components/c3-dialog-confirm.component';
9
+ import { C3DialogEmbedChildComponent } from './components/c3-dialog-embed-child.component';
10
+ import { C3PromptDialogComponent } from './components/c3-dialog-prompt.component';
11
+ import { C3DialogService } from './services/c3-dialog.service';
12
+ import * as i0 from "@angular/core";
13
+ export class C3DialogModule {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: C3DialogModule, declarations: [ConfirmDialogComponent,
16
+ C3PromptDialogComponent,
17
+ C3DialogEmbedChildComponent], imports: [CommonModule,
18
+ MatDialogModule,
19
+ MatButtonModule,
20
+ MatFormFieldModule,
21
+ MatInputModule,
22
+ FormsModule,
23
+ ReactiveFormsModule] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogModule, providers: [C3DialogService], imports: [CommonModule,
25
+ MatDialogModule,
26
+ MatButtonModule,
27
+ MatFormFieldModule,
28
+ MatInputModule,
29
+ FormsModule,
30
+ ReactiveFormsModule] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogModule, decorators: [{
33
+ type: NgModule,
34
+ args: [{
35
+ declarations: [
36
+ ConfirmDialogComponent,
37
+ C3PromptDialogComponent,
38
+ C3DialogEmbedChildComponent,
39
+ ],
40
+ imports: [
41
+ CommonModule,
42
+ MatDialogModule,
43
+ MatButtonModule,
44
+ MatFormFieldModule,
45
+ MatInputModule,
46
+ FormsModule,
47
+ ReactiveFormsModule,
48
+ ],
49
+ providers: [C3DialogService],
50
+ }]
51
+ }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1kaWFsb2cvYzMtZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQW1CL0QsTUFBTSxPQUFPLGNBQWM7OEdBQWQsY0FBYzsrR0FBZCxjQUFjLGlCQWZ2QixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLDJCQUEyQixhQUczQixZQUFZO1lBQ1osZUFBZTtZQUNmLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7K0dBSVYsY0FBYyxhQUZkLENBQUMsZUFBZSxDQUFDLFlBUjFCLFlBQVk7WUFDWixlQUFlO1lBQ2YsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsV0FBVztZQUNYLG1CQUFtQjs7MkZBSVYsY0FBYztrQkFqQjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jMy1kaWFsb2ctY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2MzLWRpYWxvZy1lbWJlZC1jaGlsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzNQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYzMtZGlhbG9nLXByb21wdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzNEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jMy1kaWFsb2cuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG4gICAgQzNQcm9tcHREaWFsb2dDb21wb25lbnQsXG4gICAgQzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW0MzRGlhbG9nU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEMzRGlhbG9nTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/material/button";
6
+ export class ConfirmDialogComponent {
7
+ constructor(dialogRef, data) {
8
+ this.dialogRef = dialogRef;
9
+ this.data = data;
10
+ }
11
+ onNoClick() {
12
+ this.dialogRef.close();
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ConfirmDialogComponent, selector: "ConfirmDialogComponent", ngImport: i0, template: `
16
+ <mat-dialog-content>
17
+ <div [innerHtml]="data.text"></div>
18
+ </mat-dialog-content>
19
+ <mat-dialog-actions class="flex flex-row justify-end items-center">
20
+ <button mat-button mat-dialog-close [color]="data.reject?.color">
21
+ {{ data.reject?.text }}
22
+ </button>
23
+ <button mat-button [color]="data.accept?.color" [mat-dialog-close]="true">
24
+ {{ data.accept?.text }}
25
+ </button>
26
+ </mat-dialog-actions>
27
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'ConfirmDialogComponent',
33
+ template: `
34
+ <mat-dialog-content>
35
+ <div [innerHtml]="data.text"></div>
36
+ </mat-dialog-content>
37
+ <mat-dialog-actions class="flex flex-row justify-end items-center">
38
+ <button mat-button mat-dialog-close [color]="data.reject?.color">
39
+ {{ data.reject?.text }}
40
+ </button>
41
+ <button mat-button [color]="data.accept?.color" [mat-dialog-close]="true">
42
+ {{ data.accept?.text }}
43
+ </button>
44
+ </mat-dialog-actions>
45
+ `,
46
+ }]
47
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
48
+ type: Inject,
49
+ args: [MAT_DIALOG_DATA]
50
+ }] }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWRpYWxvZy9jb21wb25lbnRzL2MzLWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBZ0N6RSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQ1MsU0FBK0MsRUFFL0MsSUFBbUI7UUFGbkIsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFFL0MsU0FBSSxHQUFKLElBQUksQ0FBZTtJQUN6QixDQUFDO0lBRUosU0FBUztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FUVSxzQkFBc0IsOENBR3ZCLGVBQWU7a0dBSGQsc0JBQXNCLDhEQWR2Qjs7Ozs7Ozs7Ozs7O0dBWVQ7OzJGQUVVLHNCQUFzQjtrQkFoQmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDtpQkFDRjs7MEJBSUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtQ29uZmlnIHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgcmVqZWN0Pzoge1xyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbiAgICB0ZXh0Pzogc3RyaW5nO1xyXG4gIH07XHJcbiAgYWNjZXB0Pzoge1xyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgfTtcclxuICB3aWR0aD86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdDb25maXJtRGlhbG9nQ29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cImRhdGEudGV4dFwiPjwvZGl2PlxyXG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2UgW2NvbG9yXT1cImRhdGEucmVqZWN0Py5jb2xvclwiPlxyXG4gICAgICAgIHt7IGRhdGEucmVqZWN0Py50ZXh0IH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW2NvbG9yXT1cImRhdGEuYWNjZXB0Py5jb2xvclwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIj5cclxuICAgICAgICB7eyBkYXRhLmFjY2VwdD8udGV4dCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxyXG4gICAgcHVibGljIGRhdGE6IENvbmZpcm1Db25maWdcclxuICApIHt9XHJcblxyXG4gIG9uTm9DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Component, Inject, ViewChild, ViewContainerRef, } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ export class C3DialogEmbedChildComponent {
6
+ constructor(dialogRef, data, _cdr) {
7
+ this.dialogRef = dialogRef;
8
+ this.data = data;
9
+ this._cdr = _cdr;
10
+ }
11
+ ngAfterViewInit() {
12
+ this.createdComponent = this.target.createComponent(this.data.component);
13
+ this._cdr.detectChanges();
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogEmbedChildComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: C3DialogEmbedChildComponent, selector: "C3DialogEmbedChildComponent", viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `<mat-dialog-content>
17
+ <ng-template #target></ng-template>
18
+ </mat-dialog-content>`, isInline: true, dependencies: [{ kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogEmbedChildComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'C3DialogEmbedChildComponent', template: `<mat-dialog-content>
23
+ <ng-template #target></ng-template>
24
+ </mat-dialog-content>` }]
25
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
26
+ type: Inject,
27
+ args: [MAT_DIALOG_DATA]
28
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { target: [{
29
+ type: ViewChild,
30
+ args: ['target', { read: ViewContainerRef }]
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLWVtYmVkLWNoaWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1kaWFsb2cvY29tcG9uZW50cy9jMy1kaWFsb2ctZW1iZWQtY2hpbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBRVQsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3pFLE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFDUyxTQUFtRSxFQUVuRSxJQUVOLEVBQ08sSUFBdUI7UUFMeEIsY0FBUyxHQUFULFNBQVMsQ0FBMEQ7UUFFbkUsU0FBSSxHQUFKLElBQUksQ0FFVjtRQUNPLFNBQUksR0FBSixJQUFJLENBQW1CO0lBQzlCLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQW5CVSwyQkFBMkIsOENBUzVCLGVBQWU7a0dBVGQsMkJBQTJCLGdKQUdULGdCQUFnQiw2QkFSbkM7O3dCQUVZOzsyRkFHWCwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsNkJBQTZCLFlBQzdCOzt3QkFFWTs7MEJBWW5CLE1BQU07MkJBQUMsZUFBZTt5RUFOd0IsTUFBTTtzQkFBdEQsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIEluamVjdCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnQzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50JyxcbiAgdGVtcGxhdGU6IGA8bWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFyZ2V0PjwvbmctdGVtcGxhdGU+XG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PmAsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEMzRGlhbG9nRW1iZWRDaGlsZENvbXBvbmVudDxDb21wb25lbnlUeXBlPlxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXRcbntcbiAgQFZpZXdDaGlsZCgndGFyZ2V0JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHRhcmdldCE6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY3JlYXRlZENvbXBvbmVudD86IENvbXBvbmVudFJlZjxDb21wb25lbnlUeXBlPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50PENvbXBvbmVueVR5cGU+PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YToge1xuICAgICAgY29tcG9uZW50OiBUeXBlPENvbXBvbmVueVR5cGU+O1xuICAgIH0sXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY3JlYXRlZENvbXBvbmVudCA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmRhdGEuY29tcG9uZW50KTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,95 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/material/button";
8
+ import * as i5 from "@angular/material/form-field";
9
+ import * as i6 from "@angular/material/input";
10
+ import * as i7 from "@angular/cdk/text-field";
11
+ export class C3PromptDialogComponent {
12
+ constructor(dialogRef, data, _fb) {
13
+ this.dialogRef = dialogRef;
14
+ this.data = data;
15
+ this._fb = _fb;
16
+ this.result = this._fb.control(data.defaultValue, data.validators);
17
+ }
18
+ onNoClick() {
19
+ this.dialogRef.close();
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3PromptDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: C3PromptDialogComponent, selector: "PrompDialogComponent", ngImport: i0, template: `
23
+ <div mat-dialog-title>{{ data.text }}</div>
24
+ <mat-dialog-content>
25
+ <mat-form-field>
26
+ <mat-label *ngIf="data.placeholder">{{ data.placeholder }}</mat-label>
27
+ <input
28
+ *ngIf="!data.multiline"
29
+ matInput
30
+ [formControl]="result"
31
+ (keydown.enter)="dialogRef.close(result.value)"
32
+ />
33
+ <textarea
34
+ *ngIf="data.multiline"
35
+ matInput
36
+ [formControl]="result"
37
+ cdkTextareaAutosize
38
+ ></textarea>
39
+ </mat-form-field>
40
+ </mat-dialog-content>
41
+ <mat-dialog-actions align="center">
42
+ <button mat-raised-button mat-dialog-close [class]="data.reject?.color">
43
+ {{ data.reject?.text }}
44
+ </button>
45
+ <button
46
+ mat-raised-button
47
+ [disabled]="result.invalid || (data.required && !result.value)"
48
+ [class]="data.accept?.color"
49
+ [mat-dialog-close]="result.value"
50
+ >
51
+ {{ data.accept?.text }}
52
+ </button>
53
+ </mat-dialog-actions>
54
+ `, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
55
+ }
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3PromptDialogComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ selector: 'PrompDialogComponent', template: `
59
+ <div mat-dialog-title>{{ data.text }}</div>
60
+ <mat-dialog-content>
61
+ <mat-form-field>
62
+ <mat-label *ngIf="data.placeholder">{{ data.placeholder }}</mat-label>
63
+ <input
64
+ *ngIf="!data.multiline"
65
+ matInput
66
+ [formControl]="result"
67
+ (keydown.enter)="dialogRef.close(result.value)"
68
+ />
69
+ <textarea
70
+ *ngIf="data.multiline"
71
+ matInput
72
+ [formControl]="result"
73
+ cdkTextareaAutosize
74
+ ></textarea>
75
+ </mat-form-field>
76
+ </mat-dialog-content>
77
+ <mat-dialog-actions align="center">
78
+ <button mat-raised-button mat-dialog-close [class]="data.reject?.color">
79
+ {{ data.reject?.text }}
80
+ </button>
81
+ <button
82
+ mat-raised-button
83
+ [disabled]="result.invalid || (data.required && !result.value)"
84
+ [class]="data.accept?.color"
85
+ [mat-dialog-close]="result.value"
86
+ >
87
+ {{ data.accept?.text }}
88
+ </button>
89
+ </mat-dialog-actions>
90
+ `, styles: ["mat-form-field{width:100%}\n"] }]
91
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
92
+ type: Inject,
93
+ args: [MAT_DIALOG_DATA]
94
+ }] }, { type: i2.FormBuilder }] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLXByb21wdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jMy1jb21wb25lbnRzL3NyYy9saWIvYzMtZGlhbG9nL2NvbXBvbmVudHMvYzMtZGlhbG9nLXByb21wdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBZ0V6RSxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQ1MsU0FBZ0QsRUFFaEQsSUFBa0IsRUFDakIsR0FBZ0I7UUFIakIsY0FBUyxHQUFULFNBQVMsQ0FBdUM7UUFFaEQsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBYlUsdUJBQXVCLDhDQUl4QixlQUFlO2tHQUpkLHVCQUF1Qiw0REF6Q3hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDs7MkZBU1UsdUJBQXVCO2tCQTNDbkMsU0FBUzsrQkFDRSxzQkFBc0IsWUFDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzswQkFhRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb21wdENvbmZpZyB7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBtdWx0aWxpbmU/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW107XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIHJlamVjdD86IHtcclxuICAgIGNvbG9yOiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgfTtcclxuICBhY2NlcHQ/OiB7XHJcbiAgICBjb2xvcjogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gIH07XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgbWF4V2lkdGg/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnUHJvbXBEaWFsb2dDb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IG1hdC1kaWFsb2ctdGl0bGU+e3sgZGF0YS50ZXh0IH19PC9kaXY+XHJcbiAgICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cImRhdGEucGxhY2Vob2xkZXJcIj57eyBkYXRhLnBsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAqbmdJZj1cIiFkYXRhLm11bHRpbGluZVwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJlc3VsdFwiXHJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJkaWFsb2dSZWYuY2xvc2UocmVzdWx0LnZhbHVlKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5tdWx0aWxpbmVcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJyZXN1bHRcIlxyXG4gICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiY2VudGVyXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZSBbY2xhc3NdPVwiZGF0YS5yZWplY3Q/LmNvbG9yXCI+XHJcbiAgICAgICAge3sgZGF0YS5yZWplY3Q/LnRleHQgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZXN1bHQuaW52YWxpZCB8fCAoZGF0YS5yZXF1aXJlZCAmJiAhcmVzdWx0LnZhbHVlKVwiXHJcbiAgICAgICAgW2NsYXNzXT1cImRhdGEuYWNjZXB0Py5jb2xvclwiXHJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwicmVzdWx0LnZhbHVlXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGRhdGEuYWNjZXB0Py50ZXh0IH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgbWF0LWZvcm0tZmllbGQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDM1Byb21wdERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgcmVzdWx0OiBGb3JtQ29udHJvbDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDM1Byb21wdERpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgIHB1YmxpYyBkYXRhOiBQcm9tcHRDb25maWcsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXJcclxuICApIHtcclxuICAgIHRoaXMucmVzdWx0ID0gdGhpcy5fZmIuY29udHJvbChkYXRhLmRlZmF1bHRWYWx1ZSwgZGF0YS52YWxpZGF0b3JzKTtcclxuICB9XHJcblxyXG4gIG9uTm9DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { ConfirmDialogComponent, } from '../components/c3-dialog-confirm.component';
4
+ import { C3DialogEmbedChildComponent } from '../components/c3-dialog-embed-child.component';
5
+ import { C3PromptDialogComponent, } from '../components/c3-dialog-prompt.component';
6
+ import * as i0 from "@angular/core";
7
+ export class C3DialogService {
8
+ #dialog = inject(MatDialog);
9
+ confirm(data) {
10
+ return new Promise((resolve, reject) => {
11
+ const dialogRef = this.#dialog.open(ConfirmDialogComponent, {
12
+ width: data.width || '250px',
13
+ data: {
14
+ text: data.text,
15
+ reject: {
16
+ color: data.reject && data.reject.color ? data.reject.color : undefined,
17
+ text: (data.reject && data.reject.text) || 'Annuler',
18
+ },
19
+ accept: {
20
+ color: (data.accept && data.accept.color) || 'primary',
21
+ text: (data.accept && data.accept.text) || 'Accepter',
22
+ },
23
+ },
24
+ });
25
+ dialogRef.afterClosed().subscribe(async (result) => {
26
+ if (result)
27
+ resolve(true);
28
+ else
29
+ resolve(false);
30
+ });
31
+ });
32
+ }
33
+ prompt(data) {
34
+ return new Promise((resolve, reject) => {
35
+ const dialogRef = this.#dialog.open(C3PromptDialogComponent, {
36
+ width: data.width || '250px',
37
+ maxWidth: data.maxWidth || '100vw',
38
+ data: {
39
+ text: data.text,
40
+ defaultValue: data.defaultValue,
41
+ placeholder: data.placeholder,
42
+ multiline: data.multiline,
43
+ validators: data.validators,
44
+ required: data.required,
45
+ reject: {
46
+ color: data.reject && data.reject.color
47
+ ? data.reject.color
48
+ : undefined,
49
+ text: (data.reject && data.reject.text) || 'Annuler',
50
+ },
51
+ accept: {
52
+ color: (data.accept && data.accept.color) || 'primary',
53
+ text: (data.accept && data.accept.text) || 'Accepter',
54
+ },
55
+ },
56
+ });
57
+ dialogRef.afterClosed().subscribe(async (result) => {
58
+ if (result)
59
+ resolve(result);
60
+ else
61
+ resolve(false);
62
+ });
63
+ });
64
+ }
65
+ createDialgFromComponent(config) {
66
+ return this.#dialog.open(C3DialogEmbedChildComponent, config);
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogService, providedIn: 'root' }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DialogService, decorators: [{
72
+ type: Injectable,
73
+ args: [{
74
+ providedIn: 'root',
75
+ }]
76
+ }] });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jMy1jb21wb25lbnRzL3NyYy9saWIvYzMtZGlhbG9nL3NlcnZpY2VzL2MzLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUVMLHNCQUFzQixHQUN2QixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFLbEQsTUFBTSxPQUFPLGVBQWU7SUFDakIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU5QixPQUFPLENBQUMsSUFBbUI7UUFDaEMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtnQkFDMUQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTztnQkFDNUIsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUNILElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO3dCQUNsRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztxQkFDckQ7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTO3dCQUN0RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVTtxQkFDdEQ7aUJBQ0Y7YUFDRixDQUFDLENBQUM7WUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxNQUFNO29CQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7b0JBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBVSxJQUFrQjtRQUN2QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNqQyx1QkFBdUIsRUFDdkI7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTztnQkFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTztnQkFDbEMsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7b0JBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO29CQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7b0JBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDdkIsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFDSCxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSzs0QkFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSzs0QkFDbkIsQ0FBQyxDQUFDLFNBQVM7d0JBQ2YsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVM7cUJBQ3JEO29CQUNELE1BQU0sRUFBRTt3QkFDTixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksU0FBUzt3QkFDdEQsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVU7cUJBQ3REO2lCQUNGO2FBQ0YsQ0FDRixDQUFDO1lBRUYsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ2pELElBQUksTUFBTTtvQkFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7O29CQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0IsQ0FDdEIsTUFFQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEUsQ0FBQzs4R0F0RVUsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7XG4gIENvbmZpcm1Db25maWcsXG4gIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG59IGZyb20gJy4uL2NvbXBvbmVudHMvYzMtZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEMzRGlhbG9nRW1iZWRDaGlsZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYzMtZGlhbG9nLWVtYmVkLWNoaWxkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQcm9tcHRDb25maWcsXG4gIEMzUHJvbXB0RGlhbG9nQ29tcG9uZW50LFxufSBmcm9tICcuLi9jb21wb25lbnRzL2MzLWRpYWxvZy1wcm9tcHQuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEMzRGlhbG9nU2VydmljZSB7XG4gIHJlYWRvbmx5ICNkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcblxuICBwdWJsaWMgY29uZmlybShkYXRhOiBDb25maXJtQ29uZmlnKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuI2RpYWxvZy5vcGVuKENvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6IGRhdGEud2lkdGggfHwgJzI1MHB4JyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHRleHQ6IGRhdGEudGV4dCxcbiAgICAgICAgICByZWplY3Q6IHtcbiAgICAgICAgICAgIGNvbG9yOlxuICAgICAgICAgICAgICBkYXRhLnJlamVjdCAmJiBkYXRhLnJlamVjdC5jb2xvciA/IGRhdGEucmVqZWN0LmNvbG9yIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgdGV4dDogKGRhdGEucmVqZWN0ICYmIGRhdGEucmVqZWN0LnRleHQpIHx8ICdBbm51bGVyJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGFjY2VwdDoge1xuICAgICAgICAgICAgY29sb3I6IChkYXRhLmFjY2VwdCAmJiBkYXRhLmFjY2VwdC5jb2xvcikgfHwgJ3ByaW1hcnknLFxuICAgICAgICAgICAgdGV4dDogKGRhdGEuYWNjZXB0ICYmIGRhdGEuYWNjZXB0LnRleHQpIHx8ICdBY2NlcHRlcicsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSByZXNvbHZlKHRydWUpO1xuICAgICAgICBlbHNlIHJlc29sdmUoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcHJvbXB0PFQgPSBhbnk+KGRhdGE6IFByb21wdENvbmZpZyk6IFByb21pc2U8ZmFsc2UgfCBUPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuI2RpYWxvZy5vcGVuPEMzUHJvbXB0RGlhbG9nQ29tcG9uZW50LCBhbnksIFQ+KFxuICAgICAgICBDM1Byb21wdERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAge1xuICAgICAgICAgIHdpZHRoOiBkYXRhLndpZHRoIHx8ICcyNTBweCcsXG4gICAgICAgICAgbWF4V2lkdGg6IGRhdGEubWF4V2lkdGggfHwgJzEwMHZ3JyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICB0ZXh0OiBkYXRhLnRleHQsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGRhdGEuZGVmYXVsdFZhbHVlLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGRhdGEucGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBtdWx0aWxpbmU6IGRhdGEubXVsdGlsaW5lLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogZGF0YS52YWxpZGF0b3JzLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGRhdGEucmVxdWlyZWQsXG4gICAgICAgICAgICByZWplY3Q6IHtcbiAgICAgICAgICAgICAgY29sb3I6XG4gICAgICAgICAgICAgICAgZGF0YS5yZWplY3QgJiYgZGF0YS5yZWplY3QuY29sb3JcbiAgICAgICAgICAgICAgICAgID8gZGF0YS5yZWplY3QuY29sb3JcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB0ZXh0OiAoZGF0YS5yZWplY3QgJiYgZGF0YS5yZWplY3QudGV4dCkgfHwgJ0FubnVsZXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjY2VwdDoge1xuICAgICAgICAgICAgICBjb2xvcjogKGRhdGEuYWNjZXB0ICYmIGRhdGEuYWNjZXB0LmNvbG9yKSB8fCAncHJpbWFyeScsXG4gICAgICAgICAgICAgIHRleHQ6IChkYXRhLmFjY2VwdCAmJiBkYXRhLmFjY2VwdC50ZXh0KSB8fCAnQWNjZXB0ZXInLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIGVsc2UgcmVzb2x2ZShmYWxzZSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZURpYWxnRnJvbUNvbXBvbmVudDxUPihcbiAgICBjb25maWc6IFBhcnRpYWw8TWF0RGlhbG9nQ29uZmlnPiAmIHtcbiAgICAgIGRhdGE6IHsgY29tcG9uZW50OiBUeXBlPFQ+IH07XG4gICAgfVxuICApIHtcbiAgICByZXR1cm4gdGhpcy4jZGlhbG9nLm9wZW4oQzNEaWFsb2dFbWJlZENoaWxkQ29tcG9uZW50LCBjb25maWcpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { C3DropdownComponent } from './components/c3-dropdown.component';
4
+ import { C3DropdownTrigger } from './directives/c3-dropdown.trigger';
5
+ import { OverlayModule } from '@angular/cdk/overlay';
6
+ import * as i0 from "@angular/core";
7
+ export class C3DropdownModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownModule, declarations: [C3DropdownComponent, C3DropdownTrigger], imports: [CommonModule, OverlayModule], exports: [C3DropdownComponent, C3DropdownTrigger] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownModule, imports: [CommonModule, OverlayModule] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [CommonModule, OverlayModule],
16
+ declarations: [C3DropdownComponent, C3DropdownTrigger],
17
+ exports: [C3DropdownComponent, C3DropdownTrigger],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWRyb3Bkb3duL2MzLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBT3JELE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUhaLG1CQUFtQixFQUFFLGlCQUFpQixhQUQzQyxZQUFZLEVBQUUsYUFBYSxhQUUzQixtQkFBbUIsRUFBRSxpQkFBaUI7K0dBRXJDLGdCQUFnQixZQUpqQixZQUFZLEVBQUUsYUFBYTs7MkZBSTFCLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDM0Ryb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2MzLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDM0Ryb3Bkb3duVHJpZ2dlciB9IGZyb20gJy4vZGlyZWN0aXZlcy9jMy1kcm9wZG93bi50cmlnZ2VyJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDM0Ryb3Bkb3duQ29tcG9uZW50LCBDM0Ryb3Bkb3duVHJpZ2dlcl0sXG4gIGV4cG9ydHM6IFtDM0Ryb3Bkb3duQ29tcG9uZW50LCBDM0Ryb3Bkb3duVHJpZ2dlcl0sXG59KVxuZXhwb3J0IGNsYXNzIEMzRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Component, TemplateRef, ViewChild, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class C3DropdownComponent {
5
+ constructor(_changeDetectorRef) {
6
+ this._changeDetectorRef = _changeDetectorRef;
7
+ /** Classes to be added to the container of the content. Supports the same syntax as `ngClass`. */
8
+ this.dropdownClass = '';
9
+ }
10
+ ngOnChanges(changes) {
11
+ if (changes['dropdownClass']) {
12
+ this._markForCheck();
13
+ }
14
+ }
15
+ _markForCheck() {
16
+ this._changeDetectorRef.markForCheck();
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: C3DropdownComponent, selector: "c3-dropdown", inputs: { dropdownClass: "dropdownClass" }, viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
20
+ <ng-template>
21
+ <div class="c3-dropdown-panel" [ngClass]="dropdownClass">
22
+ <ng-content></ng-content>
23
+ </div>
24
+ </ng-template>
25
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownComponent, decorators: [{
28
+ type: Component,
29
+ args: [{
30
+ selector: 'c3-dropdown',
31
+ template: `
32
+ <ng-template>
33
+ <div class="c3-dropdown-panel" [ngClass]="dropdownClass">
34
+ <ng-content></ng-content>
35
+ </div>
36
+ </ng-template>
37
+ `,
38
+ }]
39
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { template: [{
40
+ type: ViewChild,
41
+ args: [TemplateRef]
42
+ }], dropdownClass: [{
43
+ type: Input
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYzMtY29tcG9uZW50cy9zcmMvbGliL2MzLWRyb3Bkb3duL2NvbXBvbmVudHMvYzMtZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7OztBQVl2QixNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW9CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBSnpELGtHQUFrRztRQUVsRyxrQkFBYSxHQUE2RCxFQUFFLENBQUM7SUFFakIsQ0FBQztJQUU3RCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7OEdBakJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHlJQUNuQixXQUFXLHFFQVRaOzs7Ozs7R0FNVDs7MkZBRVUsbUJBQW1CO2tCQVYvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7OztHQU1UO2lCQUNGO3NGQUV5QixRQUFRO3NCQUEvQixTQUFTO3VCQUFDLFdBQVc7Z0JBSXRCLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjMy1kcm9wZG93bicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImMzLWRyb3Bkb3duLXBhbmVsXCIgW25nQ2xhc3NdPVwiZHJvcGRvd25DbGFzc1wiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDM0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKiBDbGFzc2VzIHRvIGJlIGFkZGVkIHRvIHRoZSBjb250YWluZXIgb2YgdGhlIGNvbnRlbnQuIFN1cHBvcnRzIHRoZSBzYW1lIHN5bnRheCBhcyBgbmdDbGFzc2AuICovXG4gIEBJbnB1dCgpXG4gIGRyb3Bkb3duQ2xhc3M6IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snZHJvcGRvd25DbGFzcyddKSB7XG4gICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBfbWFya0ZvckNoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,128 @@
1
+ import { Directive, forwardRef, Input, HostListener, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { OverlayConfig, } from '@angular/cdk/overlay';
4
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
+ import { TemplatePortal } from '@angular/cdk/portal';
6
+ import { merge, Subject, Subscription, takeUntil } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/cdk/overlay";
9
+ export const MAT_DROPDOWN_VALUE_ACCESSOR = {
10
+ provide: NG_VALUE_ACCESSOR,
11
+ useExisting: forwardRef(() => C3DropdownTrigger),
12
+ multi: true,
13
+ };
14
+ /**
15
+ * @description The C3DropdownTrigger directive is used to display or hide a dropdown menu
16
+ * C3DropdownComponent when an item is clicked.
17
+ * @selector [c3Dropdown]
18
+ * @exportAs c3DropdownTrigger
19
+ * @input c3Dropdown - A reference to an instance of C3DropdownComponent.
20
+ * @input c3DropdownDisabled - A boolean indicating whether the directive should be disabled.
21
+ * @input c3DropdownClass - A string, an array of strings, a set of strings or a
22
+ * object representing the CSS classes to be applied to the dropdown menu.
23
+ */
24
+ export class C3DropdownTrigger {
25
+ /** Whether the dropdown is disabled. */
26
+ get dropdownDisabled() {
27
+ return this._dropdownDisabled;
28
+ }
29
+ set dropdownDisabled(value) {
30
+ this._dropdownDisabled = coerceBooleanProperty(value);
31
+ }
32
+ constructor(_element, _overlay, _viewContainerRef) {
33
+ this._element = _element;
34
+ this._overlay = _overlay;
35
+ this._viewContainerRef = _viewContainerRef;
36
+ this._closingActionsSubscription = Subscription.EMPTY;
37
+ this._destroyed = new Subject();
38
+ this._dropdownClass = '';
39
+ this._dropdownDisabled = false;
40
+ /** Classes to be passed to the dropdown menu. Supports the same syntax as `ngClass`. */
41
+ this.dropdownClass = '';
42
+ }
43
+ onClick() {
44
+ this.show();
45
+ }
46
+ ngOnChanges(changes) {
47
+ if (changes['dropdownClass'] && this.dropdown) {
48
+ this.dropdown.dropdownClass = this._dropdownClass;
49
+ this.dropdown._markForCheck();
50
+ }
51
+ }
52
+ ngOnDestroy() {
53
+ this._destroyed.next();
54
+ this._destroyed.complete();
55
+ this._closingActionsSubscription.unsubscribe();
56
+ this.close();
57
+ }
58
+ show() {
59
+ if (!this.dropdown)
60
+ return;
61
+ const overlayRef = this._overlay.create(this._getOverlayConfig());
62
+ const portal = new TemplatePortal(this.dropdown.template, this._viewContainerRef);
63
+ overlayRef.attach(portal);
64
+ this.overlayRef = overlayRef;
65
+ this._closingActionsSubscription = this._menuClosingActions().subscribe(() => this.close());
66
+ }
67
+ close() {
68
+ if (this.overlayRef && this.overlayRef.hasAttached())
69
+ this.overlayRef.detach();
70
+ }
71
+ _getOverlayConfig() {
72
+ const belowPosition = {
73
+ originX: 'start',
74
+ originY: 'bottom',
75
+ overlayX: 'start',
76
+ overlayY: 'top',
77
+ };
78
+ const abovePosition = {
79
+ originX: 'start',
80
+ originY: 'top',
81
+ overlayX: 'start',
82
+ overlayY: 'bottom',
83
+ // The overlay edge connected to the trigger should have squared corners, while
84
+ // the opposite end has rounded corners. We apply a CSS class to swap the
85
+ // border-radius based on the overlay position.
86
+ panelClass: 'mat-autocomplete-panel-above',
87
+ };
88
+ const positionStrategy = this._overlay
89
+ .position()
90
+ .flexibleConnectedTo(this._element)
91
+ .withLockedPosition()
92
+ .withPositions([belowPosition, abovePosition]);
93
+ return new OverlayConfig({
94
+ positionStrategy,
95
+ backdropClass: 'cdk-overlay-transparent-backdrop',
96
+ hasBackdrop: true,
97
+ });
98
+ }
99
+ /** Returns a stream that emits whenever an action that should close the menu occurs. */
100
+ _menuClosingActions() {
101
+ const backdrop = this.overlayRef.backdropClick();
102
+ const detachments = this.overlayRef.detachments();
103
+ return merge(backdrop, detachments).pipe(takeUntil(this._destroyed));
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownTrigger, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
106
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: C3DropdownTrigger, selector: "[c3Dropdown]", inputs: { dropdown: ["c3Dropdown", "dropdown"], dropdownDisabled: ["c3DropdownDisabled", "dropdownDisabled"], dropdownClass: ["c3DropdownClass", "dropdownClass"] }, host: { listeners: { "click": "onClick()" } }, providers: [MAT_DROPDOWN_VALUE_ACCESSOR], exportAs: ["c3DropdownTrigger"], usesOnChanges: true, ngImport: i0 }); }
107
+ }
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: C3DropdownTrigger, decorators: [{
109
+ type: Directive,
110
+ args: [{
111
+ selector: '[c3Dropdown]',
112
+ exportAs: 'c3DropdownTrigger',
113
+ providers: [MAT_DROPDOWN_VALUE_ACCESSOR],
114
+ }]
115
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { dropdown: [{
116
+ type: Input,
117
+ args: ['c3Dropdown']
118
+ }], dropdownDisabled: [{
119
+ type: Input,
120
+ args: ['c3DropdownDisabled']
121
+ }], dropdownClass: [{
122
+ type: Input,
123
+ args: ['c3DropdownClass']
124
+ }], onClick: [{
125
+ type: HostListener,
126
+ args: ['click']
127
+ }] } });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzMtZHJvcGRvd24udHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2MzLWNvbXBvbmVudHMvc3JjL2xpYi9jMy1kcm9wZG93bi9kaXJlY3RpdmVzL2MzLWRyb3Bkb3duLnRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBR1YsS0FBSyxFQUVMLFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBR0wsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUUvRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBUTtJQUM5QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBTUgsTUFBTSxPQUFPLGlCQUFpQjtJQWlCNUIsd0NBQXdDO0lBQ3hDLElBQ0ksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFNRCxZQUNVLFFBQWlDLEVBQ2pDLFFBQWlCLEVBQ2pCLGlCQUFtQztRQUZuQyxhQUFRLEdBQVIsUUFBUSxDQUF5QjtRQUNqQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUEvQnJDLGdDQUEyQixHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO1FBQy9ELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWpDLG1CQUFjLEdBSU8sRUFBRSxDQUFDO1FBRXhCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQWUzQyx3RkFBd0Y7UUFFeEYsa0JBQWEsR0FBNkQsRUFBRSxDQUFDO0lBTTFFLENBQUM7SUFHSixPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTNCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDbEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQ3ZCLENBQUM7UUFDRixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBRTdCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLENBQ3JFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO1lBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLGFBQWEsR0FBc0I7WUFDdkMsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFzQjtZQUN2QyxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1lBRWxCLCtFQUErRTtZQUMvRSx5RUFBeUU7WUFDekUsK0NBQStDO1lBQy9DLFVBQVUsRUFBRSw4QkFBOEI7U0FDM0MsQ0FBQztRQUVGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDbkMsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUNsQyxrQkFBa0IsRUFBRTthQUNwQixhQUFhLENBQUMsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUVqRCxPQUFPLElBQUksYUFBYSxDQUFDO1lBQ3ZCLGdCQUFnQjtZQUNoQixhQUFhLEVBQUUsa0NBQWtDO1lBQ2pELFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx3RkFBd0Y7SUFDaEYsbUJBQW1CO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuRCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOzhHQW5IVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyUEFGakIsQ0FBQywyQkFBMkIsQ0FBQzs7MkZBRTdCLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3pDO29JQWdCQyxRQUFRO3NCQURQLEtBQUs7dUJBQUMsWUFBWTtnQkFLZixnQkFBZ0I7c0JBRG5CLEtBQUs7dUJBQUMsb0JBQW9CO2dCQVUzQixhQUFhO3NCQURaLEtBQUs7dUJBQUMsaUJBQWlCO2dCQVV4QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgZm9yd2FyZFJlZixcbiAgRWxlbWVudFJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgSG9zdExpc3RlbmVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBPdmVybGF5LFxuICBPdmVybGF5UmVmLFxuICBPdmVybGF5Q29uZmlnLFxuICBDb25uZWN0ZWRQb3NpdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQzNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYzMtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBNQVRfRFJPUERPV05fVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEMzRHJvcGRvd25UcmlnZ2VyKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaGUgQzNEcm9wZG93blRyaWdnZXIgZGlyZWN0aXZlIGlzIHVzZWQgdG8gZGlzcGxheSBvciBoaWRlIGEgZHJvcGRvd24gbWVudVxuICogQzNEcm9wZG93bkNvbXBvbmVudCB3aGVuIGFuIGl0ZW0gaXMgY2xpY2tlZC5cbiAqIEBzZWxlY3RvciBbYzNEcm9wZG93bl1cbiAqIEBleHBvcnRBcyBjM0Ryb3Bkb3duVHJpZ2dlclxuICogQGlucHV0IGMzRHJvcGRvd24gLSBBIHJlZmVyZW5jZSB0byBhbiBpbnN0YW5jZSBvZiBDM0Ryb3Bkb3duQ29tcG9uZW50LlxuICogQGlucHV0IGMzRHJvcGRvd25EaXNhYmxlZCAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGRpcmVjdGl2ZSBzaG91bGQgYmUgZGlzYWJsZWQuXG4gKiBAaW5wdXQgYzNEcm9wZG93bkNsYXNzIC0gQSBzdHJpbmcsIGFuIGFycmF5IG9mIHN0cmluZ3MsIGEgc2V0IG9mIHN0cmluZ3Mgb3IgYVxuICogb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgQ1NTIGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGUgZHJvcGRvd24gbWVudS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2MzRHJvcGRvd25dJyxcbiAgZXhwb3J0QXM6ICdjM0Ryb3Bkb3duVHJpZ2dlcicsXG4gIHByb3ZpZGVyczogW01BVF9EUk9QRE9XTl9WQUxVRV9BQ0NFU1NPUl0sXG59KVxuZXhwb3J0IGNsYXNzIEMzRHJvcGRvd25UcmlnZ2VyIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmIHwgbnVsbDtcbiAgcHJpdmF0ZSBfY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgcHJpdmF0ZSBfZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9kcm9wZG93bkNsYXNzOlxuICAgIHwgc3RyaW5nXG4gICAgfCBzdHJpbmdbXVxuICAgIHwgU2V0PHN0cmluZz5cbiAgICB8IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSAnJztcblxuICBwcml2YXRlIF9kcm9wZG93bkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBkcm9wZG93biBtZW51IGluc3RhbmNlICovXG4gIEBJbnB1dCgnYzNEcm9wZG93bicpXG4gIGRyb3Bkb3duPzogQzNEcm9wZG93bkNvbXBvbmVudDtcblxuICAvKiogV2hldGhlciB0aGUgZHJvcGRvd24gaXMgZGlzYWJsZWQuICovXG4gIEBJbnB1dCgnYzNEcm9wZG93bkRpc2FibGVkJylcbiAgZ2V0IGRyb3Bkb3duRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duRGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRyb3Bkb3duRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kcm9wZG93bkRpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBDbGFzc2VzIHRvIGJlIHBhc3NlZCB0byB0aGUgZHJvcGRvd24gbWVudS4gU3VwcG9ydHMgdGhlIHNhbWUgc3ludGF4IGFzIGBuZ0NsYXNzYC4gKi9cbiAgQElucHV0KCdjM0Ryb3Bkb3duQ2xhc3MnKVxuICBkcm9wZG93bkNsYXNzOiBzdHJpbmcgfCBzdHJpbmdbXSB8IFNldDxzdHJpbmc+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCkge1xuICAgIHRoaXMuc2hvdygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydkcm9wZG93bkNsYXNzJ10gJiYgdGhpcy5kcm9wZG93bikge1xuICAgICAgdGhpcy5kcm9wZG93bi5kcm9wZG93bkNsYXNzID0gdGhpcy5fZHJvcGRvd25DbGFzcztcbiAgICAgIHRoaXMuZHJvcGRvd24uX21hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZHJvcGRvd24pIHJldHVybjtcblxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh0aGlzLl9nZXRPdmVybGF5Q29uZmlnKCkpO1xuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgIHRoaXMuZHJvcGRvd24udGVtcGxhdGUsXG4gICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmXG4gICAgKTtcbiAgICBvdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcblxuICAgIHRoaXMuX2Nsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uID0gdGhpcy5fbWVudUNsb3NpbmdBY3Rpb25zKCkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4gdGhpcy5jbG9zZSgpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmICYmIHRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKVxuICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T3ZlcmxheUNvbmZpZygpOiBPdmVybGF5Q29uZmlnIHtcbiAgICBjb25zdCBiZWxvd1Bvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIH07XG4gICAgY29uc3QgYWJvdmVQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcblxuICAgICAgLy8gVGhlIG92ZXJsYXkgZWRnZSBjb25uZWN0ZWQgdG8gdGhlIHRyaWdnZXIgc2hvdWxkIGhhdmUgc3F1YXJlZCBjb3JuZXJzLCB3aGlsZVxuICAgICAgLy8gdGhlIG9wcG9zaXRlIGVuZCBoYXMgcm91bmRlZCBjb3JuZXJzLiBXZSBhcHBseSBhIENTUyBjbGFzcyB0byBzd2FwIHRoZVxuICAgICAgLy8gYm9yZGVyLXJhZGl1cyBiYXNlZCBvbiB0aGUgb3ZlcmxheSBwb3NpdGlvbi5cbiAgICAgIHBhbmVsQ2xhc3M6ICdtYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlJyxcbiAgICB9O1xuXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9lbGVtZW50KVxuICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbYmVsb3dQb3NpdGlvbiwgYWJvdmVQb3NpdGlvbl0pO1xuXG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogUmV0dXJucyBhIHN0cmVhbSB0aGF0IGVtaXRzIHdoZW5ldmVyIGFuIGFjdGlvbiB0aGF0IHNob3VsZCBjbG9zZSB0aGUgbWVudSBvY2N1cnMuICovXG4gIHByaXZhdGUgX21lbnVDbG9zaW5nQWN0aW9ucygpIHtcbiAgICBjb25zdCBiYWNrZHJvcCA9IHRoaXMub3ZlcmxheVJlZiEuYmFja2Ryb3BDbGljaygpO1xuICAgIGNvbnN0IGRldGFjaG1lbnRzID0gdGhpcy5vdmVybGF5UmVmIS5kZXRhY2htZW50cygpO1xuXG4gICAgcmV0dXJuIG1lcmdlKGJhY2tkcm9wLCBkZXRhY2htZW50cykucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSk7XG4gIH1cbn1cbiJdfQ==