@ng-vagabond-lab/ng-dsv 0.1.94 → 0.1.95

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 (32) hide show
  1. package/assets/global.scss +4 -12
  2. package/assets/style.scss +12 -34
  3. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs +2 -2
  4. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs.map +1 -1
  5. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs +2 -2
  6. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs.map +1 -1
  7. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs +2 -2
  8. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs.map +1 -1
  9. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs +2 -2
  10. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs.map +1 -1
  11. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs +6 -6
  12. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs.map +1 -1
  13. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs +6 -6
  14. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs.map +1 -1
  15. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs +2 -2
  16. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs.map +1 -1
  17. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs +2 -2
  18. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs.map +1 -1
  19. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs +2 -2
  20. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs.map +1 -1
  21. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs +2 -7
  22. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs.map +1 -1
  23. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs +2 -2
  24. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs.map +1 -1
  25. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs +2 -2
  26. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs.map +1 -1
  27. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs +4 -59
  28. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs.map +1 -1
  29. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs +2 -2
  30. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/types/ng-vagabond-lab-ng-dsv-ds-theme.d.ts +2 -26
@@ -10,11 +10,7 @@ body {
10
10
 
11
11
  body {
12
12
  overflow-x: hidden;
13
- scrollbar-color: rgb(117, 117, 117) rgb(245, 245, 245);
14
- }
15
-
16
- body.dark {
17
- scrollbar-color: rgb(169, 169, 169) rgb(56, 56, 56);
13
+ scrollbar-color: var(--scrollbar);
18
14
  }
19
15
 
20
16
  app-root {
@@ -93,10 +89,6 @@ hr {
93
89
  margin: 20px 0px;
94
90
  }
95
91
 
96
- .card-container .subtitle {
97
- color: rgb(91, 90, 90);
98
- }
99
-
100
- .dark .card-container .subtitle {
101
- color: rgba(255, 255, 255, 0.7);
102
- }
92
+ .subtitle {
93
+ color: var(--subtitle) !important;
94
+ }
package/assets/style.scss CHANGED
@@ -5,37 +5,37 @@
5
5
 
6
6
  .default {
7
7
  background-color: var(--text);
8
- color: var(--text-dark);
8
+ color: var(--button-text);
9
9
  }
10
10
 
11
11
  .primary {
12
12
  background-color: var(--primary);
13
- color: var(--text-dark);
13
+ color: var(--button-text);
14
14
  }
15
15
 
16
16
  .secondary {
17
17
  background-color: var(--secondary);
18
- color: var(--text-dark);
18
+ color: var(--button-text);
19
19
  }
20
20
 
21
21
  .success {
22
22
  background-color: var(--success);
23
- color: var(--text-dark);
23
+ color: var(--button-text);
24
24
  }
25
25
 
26
26
  .info {
27
27
  background-color: var(--info);
28
- color: var(--text-dark);
28
+ color: var(--button-text);
29
29
  }
30
30
 
31
31
  .warning {
32
32
  background-color: var(--warning);
33
- color: var(--text-dark);
33
+ color: var(--button-text);
34
34
  }
35
35
 
36
36
  .error {
37
37
  background-color: var(--error);
38
- color: var(--text-dark);
38
+ color: var(button-text);
39
39
  }
40
40
 
41
41
  .text,
@@ -92,40 +92,18 @@
92
92
  }
93
93
  }
94
94
 
95
- .dark {
96
- .default {
97
- background-color: var(--text-dark);
98
- color: var(--text);
99
- }
100
-
101
- .inherit {
102
- filter: hue-rotate(5deg);
103
- }
104
-
105
- .text,
106
- .outlined {
107
- .default {
108
- color: var(--text-dark);
109
- }
110
- }
111
-
112
- .outlined.default {
113
- border: 1px solid var(--text-dark);
114
- }
115
- }
116
-
117
95
  .small,
118
- .small > i {
96
+ .small>i {
119
97
  font-size: 1rem;
120
98
  }
121
99
 
122
100
  .medium,
123
- .medium > i {
101
+ .medium>i {
124
102
  font-size: 1.25rem;
125
103
  }
126
104
 
127
105
  .large,
128
- .large > i {
106
+ .large>i {
129
107
  font-size: 1.5rem;
130
108
  }
131
109
 
@@ -133,9 +111,9 @@
133
111
  width: 100%;
134
112
  }
135
113
 
136
- dsv-tooltip > *:not(.dsv-tooltip) {
114
+ dsv-tooltip>*:not(.dsv-tooltip) {
137
115
  cursor: context-menu;
138
116
  white-space: nowrap;
139
117
  overflow: hidden;
140
118
  text-overflow: ellipsis;
141
- }
119
+ }
@@ -16,11 +16,11 @@ class DsvAccordionComponent {
16
16
  this.isOpen.update((tootle) => !tootle);
17
17
  }
18
18
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvAccordionComponent, isStandalone: true, selector: "dsv-accordion", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a\n class=\"dsv-accordion-header\"\n (click)=\"doToogle()\"\n>\n {{ titleText() | translate }}\n @if (isOpen() === true) {\n <i class=\"ri-arrow-up-s-line\"></i>\n } @else {\n <i class=\"ri-arrow-down-s-line\"></i>\n }\n</a>\n<div\n class=\"dsv-accordion-text\"\n [class.open]=\"isOpen() === true\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;gap:7px;width:calc(100% - 40px);margin:10px;padding:10px;background-color:#fff;position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;width:95%;font-weight:700;cursor:pointer;padding:5px 10px}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-text{display:flex;width:calc(100% - 20px);overflow:hidden;padding:0 10px;opacity:0;height:0;transition:transform .3s ease-out,opacity .2s ease-out,height .2s ease-out}:host .dsv-accordion-text.open{padding:10px;opacity:1;height:auto}::ng-deep .dark dsv-accordion{background-color:#2c2c2c}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvAccordionComponent, isStandalone: true, selector: "dsv-accordion", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a\n class=\"dsv-accordion-header\"\n (click)=\"doToogle()\"\n>\n {{ titleText() | translate }}\n @if (isOpen() === true) {\n <i class=\"ri-arrow-up-s-line\"></i>\n } @else {\n <i class=\"ri-arrow-down-s-line\"></i>\n }\n</a>\n<div\n class=\"dsv-accordion-text\"\n [class.open]=\"isOpen() === true\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;gap:7px;width:calc(100% - 40px);margin:10px;padding:10px;background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;width:95%;font-weight:700;cursor:pointer;padding:5px 10px}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-text{display:flex;width:calc(100% - 20px);overflow:hidden;padding:0 10px;opacity:0;height:0;transition:transform .3s ease-out,opacity .2s ease-out,height .2s ease-out}:host .dsv-accordion-text.open{padding:10px;opacity:1;height:auto}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvAccordionComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'dsv-accordion', imports: [TranslatePipe], template: "<a\n class=\"dsv-accordion-header\"\n (click)=\"doToogle()\"\n>\n {{ titleText() | translate }}\n @if (isOpen() === true) {\n <i class=\"ri-arrow-up-s-line\"></i>\n } @else {\n <i class=\"ri-arrow-down-s-line\"></i>\n }\n</a>\n<div\n class=\"dsv-accordion-text\"\n [class.open]=\"isOpen() === true\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;gap:7px;width:calc(100% - 40px);margin:10px;padding:10px;background-color:#fff;position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;width:95%;font-weight:700;cursor:pointer;padding:5px 10px}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-text{display:flex;width:calc(100% - 20px);overflow:hidden;padding:0 10px;opacity:0;height:0;transition:transform .3s ease-out,opacity .2s ease-out,height .2s ease-out}:host .dsv-accordion-text.open{padding:10px;opacity:1;height:auto}::ng-deep .dark dsv-accordion{background-color:#2c2c2c}\n"] }]
23
+ args: [{ selector: 'dsv-accordion', imports: [TranslatePipe], template: "<a\n class=\"dsv-accordion-header\"\n (click)=\"doToogle()\"\n>\n {{ titleText() | translate }}\n @if (isOpen() === true) {\n <i class=\"ri-arrow-up-s-line\"></i>\n } @else {\n <i class=\"ri-arrow-down-s-line\"></i>\n }\n</a>\n<div\n class=\"dsv-accordion-text\"\n [class.open]=\"isOpen() === true\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;gap:7px;width:calc(100% - 40px);margin:10px;padding:10px;background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;width:95%;font-weight:700;cursor:pointer;padding:5px 10px}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-text{display:flex;width:calc(100% - 20px);overflow:hidden;padding:0 10px;opacity:0;height:0;transition:transform .3s ease-out,opacity .2s ease-out,height .2s ease-out}:host .dsv-accordion-text.open{padding:10px;opacity:1;height:auto}\n"] }]
24
24
  }], ctorParameters: () => [], propDecorators: { open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
25
25
 
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-accordion.mjs","sources":["../../../projects/ng-dsv/ds/accordion/component/accordion.component.ts","../../../projects/ng-dsv/ds/accordion/component/accordion.component.html","../../../projects/ng-dsv/ds/accordion/ng-vagabond-lab-ng-dsv-ds-accordion.ts"],"sourcesContent":["import { Component, effect, input, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-accordion',\n imports: [TranslatePipe],\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n})\nexport class DsvAccordionComponent {\n open = input<boolean>(false);\n titleText = input<string>('');\n color = input<string>('');\n\n isOpen = signal<boolean>(this.open());\n\n constructor() {\n effect(() => {\n this.isOpen.set(this.open());\n });\n }\n\n doToogle() {\n this.isOpen.update((tootle) => !tootle);\n }\n}\n","<a\n class=\"dsv-accordion-header\"\n (click)=\"doToogle()\"\n>\n {{ titleText() | translate }}\n @if (isOpen() === true) {\n <i class=\"ri-arrow-up-s-line\"></i>\n } @else {\n <i class=\"ri-arrow-down-s-line\"></i>\n }\n</a>\n<div\n class=\"dsv-accordion-text\"\n [class.open]=\"isOpen() === true\"\n>\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MASa,qBAAqB,CAAA;AAC9B,IAAA,IAAI,GAAG,KAAK,CAAU,KAAK,2EAAC;AAC5B,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,gFAAC;AAC7B,IAAA,KAAK,GAAG,KAAK,CAAS,EAAE,4EAAC;IAEzB,MAAM,GAAG,MAAM,CAAU,IAAI,CAAC,IAAI,EAAE,6EAAC;AAErC,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAChC,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC;IAC3C;uGAfS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTlC,+XAiBA,EAAA,MAAA,EAAA,CAAA,inBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDZc,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAId,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACI,eAAe,EAAA,OAAA,EAChB,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,+XAAA,EAAA,MAAA,EAAA,CAAA,inBAAA,CAAA,EAAA;;;AEL5B;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-accordion.mjs","sources":["../../../projects/ng-dsv/ds/accordion/component/accordion.component.ts","../../../projects/ng-dsv/ds/accordion/component/accordion.component.html","../../../projects/ng-dsv/ds/accordion/ng-vagabond-lab-ng-dsv-ds-accordion.ts"],"sourcesContent":["import { Component, effect, input, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-accordion',\n imports: [TranslatePipe],\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n})\nexport class DsvAccordionComponent {\n open = input<boolean>(false);\n titleText = input<string>('');\n color = input<string>('');\n\n isOpen = signal<boolean>(this.open());\n\n constructor() {\n effect(() => {\n this.isOpen.set(this.open());\n });\n }\n\n doToogle() {\n this.isOpen.update((tootle) => !tootle);\n }\n}\n","<a\n class=\"dsv-accordion-header\"\n (click)=\"doToogle()\"\n>\n {{ titleText() | translate }}\n @if (isOpen() === true) {\n <i class=\"ri-arrow-up-s-line\"></i>\n } @else {\n <i class=\"ri-arrow-down-s-line\"></i>\n }\n</a>\n<div\n class=\"dsv-accordion-text\"\n [class.open]=\"isOpen() === true\"\n>\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MASa,qBAAqB,CAAA;AAC9B,IAAA,IAAI,GAAG,KAAK,CAAU,KAAK,2EAAC;AAC5B,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,gFAAC;AAC7B,IAAA,KAAK,GAAG,KAAK,CAAS,EAAE,4EAAC;IAEzB,MAAM,GAAG,MAAM,CAAU,IAAI,CAAC,IAAI,EAAE,6EAAC;AAErC,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAChC,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC;IAC3C;uGAfS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECTlC,+XAiBA,EAAA,MAAA,EAAA,CAAA,4kBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDZc,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAId,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACI,eAAe,EAAA,OAAA,EAChB,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,+XAAA,EAAA,MAAA,EAAA,CAAA,4kBAAA,CAAA,EAAA;;;AEL5B;;AAEG;;;;"}
@@ -26,11 +26,11 @@ class DsvAvatarComponent extends BaseColorComponent {
26
26
  this.isCallback() && this.callback?.emit();
27
27
  }
28
28
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvAvatarComponent, isStandalone: true, selector: "dsv-avatar", inputs: { avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, host: { listeners: { "click": "onClick()" }, properties: { "class": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (isImage()) {\n <img\n [src]=\"avatar()\"\n alt=\"avatar\"\n />\n} @else {\n <span>{{ avatarLetter() }}</span>\n}\n", styles: [":host.dsv-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;-webkit-user-select:none;user-select:none;border:4px solid var(--background)}:host.dsv-avatar img{width:40px;height:40px}:host.dsv-avatar.callback:hover{border:4px solid #e0e0e0}:host.dsv-avatar.callback:active{opacity:.8}::ng-deep .dark .dsv-avatar{border-color:var(--background-dark)}::ng-deep .dark .dsv-avatar.callback:hover{border-color:#2b2b2b}\n"] });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvAvatarComponent, isStandalone: true, selector: "dsv-avatar", inputs: { avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, host: { listeners: { "click": "onClick()" }, properties: { "class": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (isImage()) {\n <img\n [src]=\"avatar()\"\n alt=\"avatar\"\n />\n} @else {\n <span>{{ avatarLetter() }}</span>\n}\n", styles: [":host.dsv-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;-webkit-user-select:none;user-select:none;border:4px solid var(--background)}:host.dsv-avatar img{width:40px;height:40px}:host.dsv-avatar.callback:hover{border:4px solid var(--border)}:host.dsv-avatar.callback:active{opacity:.8}\n"] });
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvAvatarComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'dsv-avatar', imports: [], template: "@if (isImage()) {\n <img\n [src]=\"avatar()\"\n alt=\"avatar\"\n />\n} @else {\n <span>{{ avatarLetter() }}</span>\n}\n", styles: [":host.dsv-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;-webkit-user-select:none;user-select:none;border:4px solid var(--background)}:host.dsv-avatar img{width:40px;height:40px}:host.dsv-avatar.callback:hover{border:4px solid #e0e0e0}:host.dsv-avatar.callback:active{opacity:.8}::ng-deep .dark .dsv-avatar{border-color:var(--background-dark)}::ng-deep .dark .dsv-avatar.callback:hover{border-color:#2b2b2b}\n"] }]
33
+ args: [{ selector: 'dsv-avatar', imports: [], template: "@if (isImage()) {\n <img\n [src]=\"avatar()\"\n alt=\"avatar\"\n />\n} @else {\n <span>{{ avatarLetter() }}</span>\n}\n", styles: [":host.dsv-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;-webkit-user-select:none;user-select:none;border:4px solid var(--background)}:host.dsv-avatar img{width:40px;height:40px}:host.dsv-avatar.callback:hover{border:4px solid var(--border)}:host.dsv-avatar.callback:active{opacity:.8}\n"] }]
34
34
  }], ctorParameters: () => [], propDecorators: { avatar: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatar", required: false }] }], callback: [{ type: i0.Output, args: ["callback"] }], hostClasses: [{
35
35
  type: HostBinding,
36
36
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-avatar.mjs","sources":["../../../projects/ng-dsv/ds/avatar/component/avatar.component.ts","../../../projects/ng-dsv/ds/avatar/component/avatar.component.html","../../../projects/ng-dsv/ds/avatar/ng-vagabond-lab-ng-dsv-ds-avatar.ts"],"sourcesContent":["import { Component, effect, HostBinding, HostListener, input, output, signal } from '@angular/core';\nimport { isCallback } from '@ng-vagabond-lab/ng-dsv/base';\nimport { BaseColorComponent } from '@ng-vagabond-lab/ng-dsv/ds/color';\n\n@Component({\n selector: 'dsv-avatar',\n imports: [],\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n})\nexport class DsvAvatarComponent extends BaseColorComponent {\n avatar = input<string>('');\n callback = output<void>();\n\n avatarLetter = signal<string>('');\n isImage = signal<boolean>(false);\n isCallback = signal<boolean>(false);\n\n constructor() {\n super();\n effect(() => {\n this.isImage.set(this.avatar().startsWith('http'));\n this.avatarLetter.set(this.avatar().substring(0, 1).toUpperCase() ?? '?');\n this.isCallback.set(isCallback(this.callback));\n });\n }\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes: string[] = [this.color()];\n this.isCallback() && classes.push('callback');\n return this.getClasses('dsv-avatar', classes);\n }\n\n @HostListener('click')\n onClick() {\n this.isCallback() && this.callback?.emit();\n }\n}\n","@if (isImage()) {\n <img\n [src]=\"avatar()\"\n alt=\"avatar\"\n />\n} @else {\n <span>{{ avatarLetter() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAUM,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;AACtD,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,6EAAC;IAC1B,QAAQ,GAAG,MAAM,EAAQ;AAEzB,IAAA,YAAY,GAAG,MAAM,CAAS,EAAE,mFAAC;AACjC,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,8EAAC;AAChC,IAAA,UAAU,GAAG,MAAM,CAAU,KAAK,iFAAC;AAEnC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC;AACzE,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClD,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,IACI,WAAW,GAAA;QACX,MAAM,OAAO,GAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;IACjD;IAGA,OAAO,GAAA;QACH,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;IAC9C;uGA3BS,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,mWCV/B,gJAQA,EAAA,MAAA,EAAA,CAAA,qfAAA,CAAA,EAAA,CAAA;;2FDEa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,EAAE,EAAA,QAAA,EAAA,gJAAA,EAAA,MAAA,EAAA,CAAA,qfAAA,CAAA,EAAA;;sBAqBV,WAAW;uBAAC,OAAO;;sBAOnB,YAAY;uBAAC,OAAO;;;AElCzB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-avatar.mjs","sources":["../../../projects/ng-dsv/ds/avatar/component/avatar.component.ts","../../../projects/ng-dsv/ds/avatar/component/avatar.component.html","../../../projects/ng-dsv/ds/avatar/ng-vagabond-lab-ng-dsv-ds-avatar.ts"],"sourcesContent":["import { Component, effect, HostBinding, HostListener, input, output, signal } from '@angular/core';\nimport { isCallback } from '@ng-vagabond-lab/ng-dsv/base';\nimport { BaseColorComponent } from '@ng-vagabond-lab/ng-dsv/ds/color';\n\n@Component({\n selector: 'dsv-avatar',\n imports: [],\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n})\nexport class DsvAvatarComponent extends BaseColorComponent {\n avatar = input<string>('');\n callback = output<void>();\n\n avatarLetter = signal<string>('');\n isImage = signal<boolean>(false);\n isCallback = signal<boolean>(false);\n\n constructor() {\n super();\n effect(() => {\n this.isImage.set(this.avatar().startsWith('http'));\n this.avatarLetter.set(this.avatar().substring(0, 1).toUpperCase() ?? '?');\n this.isCallback.set(isCallback(this.callback));\n });\n }\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes: string[] = [this.color()];\n this.isCallback() && classes.push('callback');\n return this.getClasses('dsv-avatar', classes);\n }\n\n @HostListener('click')\n onClick() {\n this.isCallback() && this.callback?.emit();\n }\n}\n","@if (isImage()) {\n <img\n [src]=\"avatar()\"\n alt=\"avatar\"\n />\n} @else {\n <span>{{ avatarLetter() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAUM,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;AACtD,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,6EAAC;IAC1B,QAAQ,GAAG,MAAM,EAAQ;AAEzB,IAAA,YAAY,GAAG,MAAM,CAAS,EAAE,mFAAC;AACjC,IAAA,OAAO,GAAG,MAAM,CAAU,KAAK,8EAAC;AAChC,IAAA,UAAU,GAAG,MAAM,CAAU,KAAK,iFAAC;AAEnC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC;AACzE,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClD,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,IACI,WAAW,GAAA;QACX,MAAM,OAAO,GAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;IACjD;IAGA,OAAO,GAAA;QACH,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;IAC9C;uGA3BS,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,mWCV/B,gJAQA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA,CAAA;;2FDEa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,EAAE,EAAA,QAAA,EAAA,gJAAA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA;;sBAqBV,WAAW;uBAAC,OAAO;;sBAOnB,YAAY;uBAAC,OAAO;;;AElCzB;;AAEG;;;;"}
@@ -14,11 +14,11 @@ class DsvCardComponent {
14
14
  return classes.join(' ');
15
15
  }
16
16
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvCardComponent, isStandalone: true, selector: "dsv-card", inputs: { avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\n}\n@if (avatar() || titleText() !== '') {\n <div class=\"dsv-card-header\">\n @if (avatar()) {\n <dsv-avatar [avatar]=\"avatar()!\"></dsv-avatar>\n }\n <div>\n <h2>{{ titleText() }}</h2>\n <div class=\"dsv-card-subtitle\">{{ subtitle() }}</div>\n </div>\n <div class=\"dsv-actions\">\n <ng-content select=\"dsv-actions\"></ng-content>\n </div>\n </div>\n}\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.dsv-card{display:flex;flex-direction:column;border:1px solid rgb(211,211,211);border-radius:4px;font-size:1rem;margin:5px;width:calc(100% - 10px);color:var(--text);background-color:var(--white)}:host.dsv-card img{width:100%;max-height:300px;border-top-left-radius:2px;border-top-right-radius:2px}:host.dsv-card .dsv-card-header{display:flex;flex-direction:row;gap:10px;align-items:center;padding:10px}::ng-deep .dark :host.dsv-card .dsv-card-header .dsv-card-subtitle{color:#ffffffb3}:host.dsv-card .dsv-card-content{display:flex;flex-direction:column;padding:10px}:host.dsv-card h2{margin:0;padding:0}::ng-deep .dark .dsv-card{color:var(--text-dark);background-color:var(--background-dark);border:1px solid rgb(30,30,30)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvAvatarComponent, selector: "dsv-avatar", inputs: ["avatar"], outputs: ["callback"] }] });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvCardComponent, isStandalone: true, selector: "dsv-card", inputs: { avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\n}\n@if (avatar() || titleText() !== '') {\n <div class=\"dsv-card-header\">\n @if (avatar()) {\n <dsv-avatar [avatar]=\"avatar()!\"></dsv-avatar>\n }\n <div>\n <h2>{{ titleText() }}</h2>\n <div class=\"subtitle\">{{ subtitle() }}</div>\n </div>\n <div class=\"dsv-actions\">\n <ng-content select=\"dsv-actions\"></ng-content>\n </div>\n </div>\n}\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.dsv-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:4px;font-size:1rem;margin:5px;width:calc(100% - 10px);color:var(--text);background-color:var(--background-card)}:host.dsv-card img{width:100%;max-height:300px;border-top-left-radius:2px;border-top-right-radius:2px}:host.dsv-card .dsv-card-header{display:flex;flex-direction:row;gap:10px;align-items:center;padding:10px}:host.dsv-card .dsv-card-content{display:flex;flex-direction:column;padding:10px}:host.dsv-card h2{margin:0;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvAvatarComponent, selector: "dsv-avatar", inputs: ["avatar"], outputs: ["callback"] }] });
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvCardComponent, decorators: [{
20
20
  type: Component,
21
- args: [{ selector: 'dsv-card', imports: [CommonModule, DsvAvatarComponent], template: "@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\n}\n@if (avatar() || titleText() !== '') {\n <div class=\"dsv-card-header\">\n @if (avatar()) {\n <dsv-avatar [avatar]=\"avatar()!\"></dsv-avatar>\n }\n <div>\n <h2>{{ titleText() }}</h2>\n <div class=\"dsv-card-subtitle\">{{ subtitle() }}</div>\n </div>\n <div class=\"dsv-actions\">\n <ng-content select=\"dsv-actions\"></ng-content>\n </div>\n </div>\n}\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.dsv-card{display:flex;flex-direction:column;border:1px solid rgb(211,211,211);border-radius:4px;font-size:1rem;margin:5px;width:calc(100% - 10px);color:var(--text);background-color:var(--white)}:host.dsv-card img{width:100%;max-height:300px;border-top-left-radius:2px;border-top-right-radius:2px}:host.dsv-card .dsv-card-header{display:flex;flex-direction:row;gap:10px;align-items:center;padding:10px}::ng-deep .dark :host.dsv-card .dsv-card-header .dsv-card-subtitle{color:#ffffffb3}:host.dsv-card .dsv-card-content{display:flex;flex-direction:column;padding:10px}:host.dsv-card h2{margin:0;padding:0}::ng-deep .dark .dsv-card{color:var(--text-dark);background-color:var(--background-dark);border:1px solid rgb(30,30,30)}\n"] }]
21
+ args: [{ selector: 'dsv-card', imports: [CommonModule, DsvAvatarComponent], template: "@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\n}\n@if (avatar() || titleText() !== '') {\n <div class=\"dsv-card-header\">\n @if (avatar()) {\n <dsv-avatar [avatar]=\"avatar()!\"></dsv-avatar>\n }\n <div>\n <h2>{{ titleText() }}</h2>\n <div class=\"subtitle\">{{ subtitle() }}</div>\n </div>\n <div class=\"dsv-actions\">\n <ng-content select=\"dsv-actions\"></ng-content>\n </div>\n </div>\n}\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host.dsv-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:4px;font-size:1rem;margin:5px;width:calc(100% - 10px);color:var(--text);background-color:var(--background-card)}:host.dsv-card img{width:100%;max-height:300px;border-top-left-radius:2px;border-top-right-radius:2px}:host.dsv-card .dsv-card-header{display:flex;flex-direction:row;gap:10px;align-items:center;padding:10px}:host.dsv-card .dsv-card-content{display:flex;flex-direction:column;padding:10px}:host.dsv-card h2{margin:0;padding:0}\n"] }]
22
22
  }], propDecorators: { avatar: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatar", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], image: [{ type: i0.Input, args: [{ isSignal: true, alias: "image", required: false }] }], alt: [{ type: i0.Input, args: [{ isSignal: true, alias: "alt", required: false }] }], hostClasses: [{
23
23
  type: HostBinding,
24
24
  args: ['class']
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-card.mjs","sources":["../../../projects/ng-dsv/ds/card/component/card.component.ts","../../../projects/ng-dsv/ds/card/component/card.component.html","../../../projects/ng-dsv/ds/card/ng-vagabond-lab-ng-dsv-ds-card.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, HostBinding, input } from '@angular/core';\nimport { DsvAvatarComponent } from '@ng-vagabond-lab/ng-dsv/ds/avatar';\n\n@Component({\n selector: 'dsv-card',\n imports: [CommonModule, DsvAvatarComponent],\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class DsvCardComponent {\n avatar = input<string>();\n titleText = input<string>('');\n subtitle = input<string>('');\n image = input<string>();\n alt = input<string>();\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes: string[] = ['dsv-card'];\n return classes.join(' ');\n }\n}\n","@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\n}\n@if (avatar() || titleText() !== '') {\n <div class=\"dsv-card-header\">\n @if (avatar()) {\n <dsv-avatar [avatar]=\"avatar()!\"></dsv-avatar>\n }\n <div>\n <h2>{{ titleText() }}</h2>\n <div class=\"dsv-card-subtitle\">{{ subtitle() }}</div>\n </div>\n <div class=\"dsv-actions\">\n <ng-content select=\"dsv-actions\"></ng-content>\n </div>\n </div>\n}\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,gBAAgB,CAAA;IACzB,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AACxB,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,gFAAC;AAC7B,IAAA,QAAQ,GAAG,KAAK,CAAS,EAAE,+EAAC;IAC5B,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;IACvB,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AAErB,IAAA,IACI,WAAW,GAAA;AACX,QAAA,MAAM,OAAO,GAAa,CAAC,UAAU,CAAC;AACtC,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5B;uGAXS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV7B,umBAuBA,EAAA,MAAA,EAAA,CAAA,4tBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBc,YAAY,+BAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIjC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,OAAA,EACX,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,umBAAA,EAAA,MAAA,EAAA,CAAA,4tBAAA,CAAA,EAAA;;sBAW1C,WAAW;uBAAC,OAAO;;;AEjBxB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-card.mjs","sources":["../../../projects/ng-dsv/ds/card/component/card.component.ts","../../../projects/ng-dsv/ds/card/component/card.component.html","../../../projects/ng-dsv/ds/card/ng-vagabond-lab-ng-dsv-ds-card.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, HostBinding, input } from '@angular/core';\nimport { DsvAvatarComponent } from '@ng-vagabond-lab/ng-dsv/ds/avatar';\n\n@Component({\n selector: 'dsv-card',\n imports: [CommonModule, DsvAvatarComponent],\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n})\nexport class DsvCardComponent {\n avatar = input<string>();\n titleText = input<string>('');\n subtitle = input<string>('');\n image = input<string>();\n alt = input<string>();\n\n @HostBinding('class')\n get hostClasses(): string {\n const classes: string[] = ['dsv-card'];\n return classes.join(' ');\n }\n}\n","@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\n}\n@if (avatar() || titleText() !== '') {\n <div class=\"dsv-card-header\">\n @if (avatar()) {\n <dsv-avatar [avatar]=\"avatar()!\"></dsv-avatar>\n }\n <div>\n <h2>{{ titleText() }}</h2>\n <div class=\"subtitle\">{{ subtitle() }}</div>\n </div>\n <div class=\"dsv-actions\">\n <ng-content select=\"dsv-actions\"></ng-content>\n </div>\n </div>\n}\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAUa,gBAAgB,CAAA;IACzB,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AACxB,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,gFAAC;AAC7B,IAAA,QAAQ,GAAG,KAAK,CAAS,EAAE,+EAAC;IAC5B,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;IACvB,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAU;AAErB,IAAA,IACI,WAAW,GAAA;AACX,QAAA,MAAM,OAAO,GAAa,CAAC,UAAU,CAAC;AACtC,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5B;uGAXS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV7B,8lBAuBA,EAAA,MAAA,EAAA,CAAA,whBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjBc,YAAY,+BAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIjC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,OAAA,EACX,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,8lBAAA,EAAA,MAAA,EAAA,CAAA,whBAAA,CAAA,EAAA;;sBAW1C,WAAW;uBAAC,OAAO;;;AEjBxB;;AAEG;;;;"}
@@ -105,11 +105,11 @@ class FileUploadComponent {
105
105
  }
106
106
  }
107
107
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
108
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FileUploadComponent, isStandalone: true, selector: "dsv-file-upload", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, fileType: { classPropertyName: "fileType", publicName: "fileType", isSignal: true, isRequired: false, transformFunction: null }, dragDropEnabled: { classPropertyName: "dragDropEnabled", publicName: "dragDropEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filesChanged: "filesChanged" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<label\n class=\"drag-zone\"\n [appDragDrop]=\"dragDropEnabled()\"\n (dropped)=\"handleFileDrop($event)\"\n>\n <input\n type=\"file\"\n [accept]=\"fileType()\"\n [multiple]=\"multiple()\"\n (change)=\"addFiles(fileInput.files!)\"\n #fileInput\n class=\"visually-hidden\"\n />\n @if (!file()) {\n <ng-content></ng-content>\n } @else {\n <img\n [src]=\"file()\"\n alt=\"Aper\u00E7u du Meme\"\n width=\"100%\"\n />\n }\n</label>\n", styles: [":host{width:100%;height:100%;display:flex;align-items:center;justify-content:center}:host label{padding:20px}:host .drag-zone{width:80%;min-height:200px;border:1px solid rgba(51,51,51,.5);display:flex;flex-direction:column;align-items:center;justify-content:space-around;cursor:pointer}:host .drag-zone.dragging{background-color:#cdcdff;border:3px dashed #999999}:host .drag-zone:focus-within{border:1px solid #999999}:host .visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}::ng-deep .dark :host{background:var(--text)!important}\n"], dependencies: [{ kind: "directive", type: FileUploadDirective, selector: "[appDragDrop]", inputs: ["appDragDrop"], outputs: ["dropped"] }] });
108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FileUploadComponent, isStandalone: true, selector: "dsv-file-upload", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, fileType: { classPropertyName: "fileType", publicName: "fileType", isSignal: true, isRequired: false, transformFunction: null }, dragDropEnabled: { classPropertyName: "dragDropEnabled", publicName: "dragDropEnabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filesChanged: "filesChanged" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<label\n class=\"drag-zone\"\n [appDragDrop]=\"dragDropEnabled()\"\n (dropped)=\"handleFileDrop($event)\"\n>\n <input\n type=\"file\"\n [accept]=\"fileType()\"\n [multiple]=\"multiple()\"\n (change)=\"addFiles(fileInput.files!)\"\n #fileInput\n class=\"visually-hidden\"\n />\n @if (!file()) {\n <ng-content></ng-content>\n } @else {\n <img\n [src]=\"file()\"\n alt=\"Aper\u00E7u du Meme\"\n width=\"100%\"\n />\n }\n</label>\n", styles: [":host{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--background)}:host label{padding:5px}:host .drag-zone{width:80%;min-height:200px;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:space-around;cursor:pointer}:host .drag-zone.dragging{background-color:#cdcdff;border:3px dashed #999999}:host .drag-zone:focus-within{border:1px solid #999999}:host .visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}\n"], dependencies: [{ kind: "directive", type: FileUploadDirective, selector: "[appDragDrop]", inputs: ["appDragDrop"], outputs: ["dropped"] }] });
109
109
  }
110
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FileUploadComponent, decorators: [{
111
111
  type: Component,
112
- args: [{ selector: 'dsv-file-upload', imports: [FileUploadDirective], template: "<label\n class=\"drag-zone\"\n [appDragDrop]=\"dragDropEnabled()\"\n (dropped)=\"handleFileDrop($event)\"\n>\n <input\n type=\"file\"\n [accept]=\"fileType()\"\n [multiple]=\"multiple()\"\n (change)=\"addFiles(fileInput.files!)\"\n #fileInput\n class=\"visually-hidden\"\n />\n @if (!file()) {\n <ng-content></ng-content>\n } @else {\n <img\n [src]=\"file()\"\n alt=\"Aper\u00E7u du Meme\"\n width=\"100%\"\n />\n }\n</label>\n", styles: [":host{width:100%;height:100%;display:flex;align-items:center;justify-content:center}:host label{padding:20px}:host .drag-zone{width:80%;min-height:200px;border:1px solid rgba(51,51,51,.5);display:flex;flex-direction:column;align-items:center;justify-content:space-around;cursor:pointer}:host .drag-zone.dragging{background-color:#cdcdff;border:3px dashed #999999}:host .drag-zone:focus-within{border:1px solid #999999}:host .visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}::ng-deep .dark :host{background:var(--text)!important}\n"] }]
112
+ args: [{ selector: 'dsv-file-upload', imports: [FileUploadDirective], template: "<label\n class=\"drag-zone\"\n [appDragDrop]=\"dragDropEnabled()\"\n (dropped)=\"handleFileDrop($event)\"\n>\n <input\n type=\"file\"\n [accept]=\"fileType()\"\n [multiple]=\"multiple()\"\n (change)=\"addFiles(fileInput.files!)\"\n #fileInput\n class=\"visually-hidden\"\n />\n @if (!file()) {\n <ng-content></ng-content>\n } @else {\n <img\n [src]=\"file()\"\n alt=\"Aper\u00E7u du Meme\"\n width=\"100%\"\n />\n }\n</label>\n", styles: [":host{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--background)}:host label{padding:5px}:host .drag-zone{width:80%;min-height:200px;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:space-around;cursor:pointer}:host .drag-zone.dragging{background-color:#cdcdff;border:3px dashed #999999}:host .drag-zone:focus-within{border:1px solid #999999}:host .visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}\n"] }]
113
113
  }], propDecorators: { multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], fileType: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileType", required: false }] }], dragDropEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragDropEnabled", required: false }] }], filesChanged: [{ type: i0.Output, args: ["filesChanged"] }], inputRef: [{
114
114
  type: ViewChild,
115
115
  args: ['fileInput']
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-file.mjs","sources":["../../../projects/ng-dsv/ds/file/show/component/file.show.component.ts","../../../projects/ng-dsv/ds/file/show/component/file.show.component.html","../../../projects/ng-dsv/ds/file/upload/directive/file-upload-directives.ts","../../../projects/ng-dsv/ds/file/upload/component/file-upload.component.ts","../../../projects/ng-dsv/ds/file/upload/component/file-upload.component.html","../../../projects/ng-dsv/ds/file/ng-vagabond-lab-ng-dsv-ds-file.ts"],"sourcesContent":["import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'dsv-file-show',\n templateUrl: './file.show.component.html',\n})\nexport class FileShowComponent {\n url = input<string>('');\n src = input.required<string>();\n alt = input<string>('Exemple du dsv file show');\n\n fileUrl = computed<string>(() => this.url() + '/file/download?fileName=' + this.src());\n}\n","<img\n [src]=\"fileUrl()\"\n [alt]=\"alt()\"\n width=\"100%\"\n/>\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n@Directive({\n selector: '[appDragDrop]',\n})\nexport class FileUploadDirective {\n private _enabled: boolean = false;\n private _dragInProgress: boolean = false;\n\n @Input() set appDragDrop(value: any) {\n this._enabled = value === '' ? true : !!value;\n }\n\n @HostBinding('class.dragging') get dragInProgress() {\n return this._dragInProgress;\n }\n\n @Output() dropped: EventEmitter<any>;\n\n constructor() {\n this.dropped = new EventEmitter();\n }\n\n @HostListener('dragenter', ['$event'])\n @HostListener('dragover', ['$event'])\n handleDragOver(event: DragEvent): void {\n if (!this._enabled) {\n return;\n }\n this.stopAndPreventDefault(event);\n this._dragInProgress = true;\n }\n\n @HostListener('dragleave', ['$event'])\n @HostListener('dragend', ['$event'])\n handleDragEnd(event: DragEvent): void {\n if (!this._enabled) {\n return;\n }\n this.stopAndPreventDefault(event);\n this._dragInProgress = false;\n }\n\n @HostListener('drop', ['$event'])\n handleDrop(event: UIEvent): void {\n this.stopAndPreventDefault(event);\n this._dragInProgress = false;\n this.dropped.emit(event);\n }\n\n stopAndPreventDefault(e: UIEvent): void {\n e.stopPropagation();\n e.preventDefault();\n }\n}\n","import { Component, ElementRef, input, output, signal, ViewChild } from '@angular/core';\nimport { FileUploadDirective } from '../directive/file-upload-directives';\n\n@Component({\n selector: 'dsv-file-upload',\n imports: [FileUploadDirective],\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n})\nexport class FileUploadComponent {\n multiple = input<boolean>(false);\n fileType = input<string>('image/*');\n dragDropEnabled = input<boolean>(true);\n\n filesChanged = output<FileList>();\n\n file = signal<string | undefined>(undefined);\n\n @ViewChild('fileInput')\n inputRef!: ElementRef<HTMLInputElement>;\n\n addFiles(files: FileList): void {\n const reader = new FileReader();\n reader.onload = () => {\n this.file.set(reader.result as string);\n };\n reader.readAsDataURL(files.item(0) as Blob);\n this.filesChanged.emit(files);\n }\n\n handleFileDrop(event: DragEvent) {\n if (event?.dataTransfer?.files?.length) {\n const files = event.dataTransfer.files;\n this.inputRef.nativeElement.files = files;\n this.addFiles(files);\n }\n }\n}\n","<label\n class=\"drag-zone\"\n [appDragDrop]=\"dragDropEnabled()\"\n (dropped)=\"handleFileDrop($event)\"\n>\n <input\n type=\"file\"\n [accept]=\"fileType()\"\n [multiple]=\"multiple()\"\n (change)=\"addFiles(fileInput.files!)\"\n #fileInput\n class=\"visually-hidden\"\n />\n @if (!file()) {\n <ng-content></ng-content>\n } @else {\n <img\n [src]=\"file()\"\n alt=\"Aperçu du Meme\"\n width=\"100%\"\n />\n }\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAMa,iBAAiB,CAAA;AAC1B,IAAA,GAAG,GAAG,KAAK,CAAS,EAAE,0EAAC;AACvB,IAAA,GAAG,GAAG,KAAK,CAAC,QAAQ,yEAAU;AAC9B,IAAA,GAAG,GAAG,KAAK,CAAS,0BAA0B,0EAAC;AAE/C,IAAA,OAAO,GAAG,QAAQ,CAAS,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,0BAA0B,GAAG,IAAI,CAAC,GAAG,EAAE,8EAAC;uGAL7E,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,0aCN9B,8EAKA,EAAA,CAAA;;2FDCa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;+BACI,eAAe,EAAA,QAAA,EAAA,8EAAA,EAAA;;;MEEhB,mBAAmB,CAAA;IACpB,QAAQ,GAAY,KAAK;IACzB,eAAe,GAAY,KAAK;IAExC,IAAa,WAAW,CAAC,KAAU,EAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK;IACjD;AAEA,IAAA,IAAmC,cAAc,GAAA;QAC7C,OAAO,IAAI,CAAC,eAAe;IAC/B;AAEU,IAAA,OAAO;AAEjB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;IACrC;AAIA,IAAA,cAAc,CAAC,KAAgB,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;AACA,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;IAC/B;AAIA,IAAA,aAAa,CAAC,KAAgB,EAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;AACA,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;IAChC;AAGA,IAAA,UAAU,CAAC,KAAc,EAAA;AACrB,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B;AAEA,IAAA,qBAAqB,CAAC,CAAU,EAAA;QAC5B,CAAC,CAAC,eAAe,EAAE;QACnB,CAAC,CAAC,cAAc,EAAE;IACtB;uGAhDS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,WAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AAC5B,iBAAA;;sBAKI;;sBAIA,WAAW;uBAAC,gBAAgB;;sBAI5B;;sBAMA,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;sBACpC,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;;sBASnC,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;sBACpC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;sBASlC,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;MClCvB,mBAAmB,CAAA;AAC5B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAChC,IAAA,QAAQ,GAAG,KAAK,CAAS,SAAS,+EAAC;AACnC,IAAA,eAAe,GAAG,KAAK,CAAU,IAAI,sFAAC;IAEtC,YAAY,GAAG,MAAM,EAAY;AAEjC,IAAA,IAAI,GAAG,MAAM,CAAqB,SAAS,2EAAC;AAG5C,IAAA,QAAQ;AAER,IAAA,QAAQ,CAAC,KAAe,EAAA;AACpB,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;AAC/B,QAAA,MAAM,CAAC,MAAM,GAAG,MAAK;YACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAgB,CAAC;AAC1C,QAAA,CAAC;QACD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC;AAC3C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC;AAEA,IAAA,cAAc,CAAC,KAAgB,EAAA;QAC3B,IAAI,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;AACpC,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK;YACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK;AACzC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxB;IACJ;uGA3BS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECThC,qiBAuBA,EAAA,MAAA,EAAA,CAAA,glBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBc,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIpB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;+BACI,iBAAiB,EAAA,OAAA,EAClB,CAAC,mBAAmB,CAAC,EAAA,QAAA,EAAA,qiBAAA,EAAA,MAAA,EAAA,CAAA,glBAAA,CAAA,EAAA;;sBAa7B,SAAS;uBAAC,WAAW;;;AElB1B;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-file.mjs","sources":["../../../projects/ng-dsv/ds/file/show/component/file.show.component.ts","../../../projects/ng-dsv/ds/file/show/component/file.show.component.html","../../../projects/ng-dsv/ds/file/upload/directive/file-upload-directives.ts","../../../projects/ng-dsv/ds/file/upload/component/file-upload.component.ts","../../../projects/ng-dsv/ds/file/upload/component/file-upload.component.html","../../../projects/ng-dsv/ds/file/ng-vagabond-lab-ng-dsv-ds-file.ts"],"sourcesContent":["import { Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'dsv-file-show',\n templateUrl: './file.show.component.html',\n})\nexport class FileShowComponent {\n url = input<string>('');\n src = input.required<string>();\n alt = input<string>('Exemple du dsv file show');\n\n fileUrl = computed<string>(() => this.url() + '/file/download?fileName=' + this.src());\n}\n","<img\n [src]=\"fileUrl()\"\n [alt]=\"alt()\"\n width=\"100%\"\n/>\n","import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\n\n@Directive({\n selector: '[appDragDrop]',\n})\nexport class FileUploadDirective {\n private _enabled: boolean = false;\n private _dragInProgress: boolean = false;\n\n @Input() set appDragDrop(value: any) {\n this._enabled = value === '' ? true : !!value;\n }\n\n @HostBinding('class.dragging') get dragInProgress() {\n return this._dragInProgress;\n }\n\n @Output() dropped: EventEmitter<any>;\n\n constructor() {\n this.dropped = new EventEmitter();\n }\n\n @HostListener('dragenter', ['$event'])\n @HostListener('dragover', ['$event'])\n handleDragOver(event: DragEvent): void {\n if (!this._enabled) {\n return;\n }\n this.stopAndPreventDefault(event);\n this._dragInProgress = true;\n }\n\n @HostListener('dragleave', ['$event'])\n @HostListener('dragend', ['$event'])\n handleDragEnd(event: DragEvent): void {\n if (!this._enabled) {\n return;\n }\n this.stopAndPreventDefault(event);\n this._dragInProgress = false;\n }\n\n @HostListener('drop', ['$event'])\n handleDrop(event: UIEvent): void {\n this.stopAndPreventDefault(event);\n this._dragInProgress = false;\n this.dropped.emit(event);\n }\n\n stopAndPreventDefault(e: UIEvent): void {\n e.stopPropagation();\n e.preventDefault();\n }\n}\n","import { Component, ElementRef, input, output, signal, ViewChild } from '@angular/core';\nimport { FileUploadDirective } from '../directive/file-upload-directives';\n\n@Component({\n selector: 'dsv-file-upload',\n imports: [FileUploadDirective],\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n})\nexport class FileUploadComponent {\n multiple = input<boolean>(false);\n fileType = input<string>('image/*');\n dragDropEnabled = input<boolean>(true);\n\n filesChanged = output<FileList>();\n\n file = signal<string | undefined>(undefined);\n\n @ViewChild('fileInput')\n inputRef!: ElementRef<HTMLInputElement>;\n\n addFiles(files: FileList): void {\n const reader = new FileReader();\n reader.onload = () => {\n this.file.set(reader.result as string);\n };\n reader.readAsDataURL(files.item(0) as Blob);\n this.filesChanged.emit(files);\n }\n\n handleFileDrop(event: DragEvent) {\n if (event?.dataTransfer?.files?.length) {\n const files = event.dataTransfer.files;\n this.inputRef.nativeElement.files = files;\n this.addFiles(files);\n }\n }\n}\n","<label\n class=\"drag-zone\"\n [appDragDrop]=\"dragDropEnabled()\"\n (dropped)=\"handleFileDrop($event)\"\n>\n <input\n type=\"file\"\n [accept]=\"fileType()\"\n [multiple]=\"multiple()\"\n (change)=\"addFiles(fileInput.files!)\"\n #fileInput\n class=\"visually-hidden\"\n />\n @if (!file()) {\n <ng-content></ng-content>\n } @else {\n <img\n [src]=\"file()\"\n alt=\"Aperçu du Meme\"\n width=\"100%\"\n />\n }\n</label>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -34,11 +34,11 @@ class FormReactiveCheckboxComponent {
34
34
  this.callbackChange.emit(this.form().value[this.field()]);
35
35
  }
36
36
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormReactiveCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: FormReactiveCheckboxComponent, isStandalone: true, selector: "dsv-form-reactive-checkbox", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackChange: "callbackChange" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormReactiveLabelComponent, selector: "dsv-form-reactive-label", inputs: ["label", "field", "show"] }] });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: FormReactiveCheckboxComponent, isStandalone: true, selector: "dsv-form-reactive-checkbox", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackChange: "callbackChange" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormReactiveLabelComponent, selector: "dsv-form-reactive-label", inputs: ["label", "field", "show"] }] });
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormReactiveCheckboxComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ selector: 'dsv-form-reactive-checkbox', imports: [ReactiveFormsModule, FormReactiveLabelComponent], template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}\n"] }]
41
+ args: [{ selector: 'dsv-form-reactive-checkbox', imports: [ReactiveFormsModule, FormReactiveLabelComponent], template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <input\n type=\"checkbox\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark}\n", ":host{display:flex;flex:1;width:100%;margin-bottom:10px!important}:host>div{align-items:center;flex-direction:row;flex:1}:host>div dsv-form-label,:host>div dsv-form-reactive-label,:host>div dsv-form-signal-label{margin-bottom:0!important;flex:1!important;cursor:pointer!important}:host>div input{accent-color:var(--primary);width:20px!important;height:20px!important;margin-right:5px!important}\n"] }]
42
42
  }], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: true }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], withLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withLabel", required: false }] }], callbackChange: [{ type: i0.Output, args: ["callbackChange"] }] } });
43
43
 
44
44
  class BaseFormReactiveComponent {
@@ -112,11 +112,11 @@ class FormReactiveInputComponent {
112
112
  this.callbackSend.emit(this.form().value[this.field()]);
113
113
  }
114
114
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormReactiveInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
115
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormReactiveInputComponent, isStandalone: true, selector: "dsv-form-reactive-input", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSend: "callbackSend" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n (change)=\"onEnter()\"\n (keydown.enter)=\"onEnter()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormReactiveLabelComponent, selector: "dsv-form-reactive-label", inputs: ["label", "field", "show"] }, { kind: "component", type: FormReactiveErrorComponent, selector: "dsv-form-reactive-error", inputs: ["field"] }] });
115
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormReactiveInputComponent, isStandalone: true, selector: "dsv-form-reactive-input", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackSend: "callbackSend" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n (change)=\"onEnter()\"\n (keydown.enter)=\"onEnter()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormReactiveLabelComponent, selector: "dsv-form-reactive-label", inputs: ["label", "field", "show"] }, { kind: "component", type: FormReactiveErrorComponent, selector: "dsv-form-reactive-error", inputs: ["field"] }] });
116
116
  }
117
117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormReactiveInputComponent, decorators: [{
118
118
  type: Component,
119
- args: [{ selector: 'dsv-form-reactive-input', imports: [ReactiveFormsModule, FormReactiveLabelComponent, FormReactiveErrorComponent], template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n (change)=\"onEnter()\"\n (keydown.enter)=\"onEnter()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n"] }]
119
+ args: [{ selector: 'dsv-form-reactive-input', imports: [ReactiveFormsModule, FormReactiveLabelComponent, FormReactiveErrorComponent], template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n />\n }\n @if (type() === 'textarea') {\n <textarea\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n ></textarea>\n } @else {\n <input\n [id]=\"field()\"\n [type]=\"type()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [class.icon]=\"icon()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n (change)=\"onEnter()\"\n (keydown.enter)=\"onEnter()\"\n />\n }\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark}\n"] }]
120
120
  }], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: true }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], withLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withLabel", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], callbackSend: [{ type: i0.Output, args: ["callbackSend"] }] } });
121
121
 
122
122
  class ReactiveSearchbarComponent extends BaseFormReactiveComponent {
@@ -151,11 +151,11 @@ class FormReactiveSelectComponent {
151
151
  this.callbackChange.emit(this.form().value[this.field()]);
152
152
  }
153
153
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormReactiveSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormReactiveSelectComponent, isStandalone: true, selector: "dsv-form-reactive-select", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackChange: "callbackChange" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{width:100%}:host>div .form-control{width:calc(100% - 2px)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormReactiveLabelComponent, selector: "dsv-form-reactive-label", inputs: ["label", "field", "show"] }, { kind: "component", type: FormReactiveErrorComponent, selector: "dsv-form-reactive-error", inputs: ["field"] }] });
154
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FormReactiveSelectComponent, isStandalone: true, selector: "dsv-form-reactive-select", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: true, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, withLabel: { classPropertyName: "withLabel", publicName: "withLabel", isSignal: true, isRequired: false, transformFunction: null }, list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callbackChange: "callbackChange" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark}\n", ":host{width:100%}:host>div .form-control{width:calc(100% - 2px)}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormReactiveLabelComponent, selector: "dsv-form-reactive-label", inputs: ["label", "field", "show"] }, { kind: "component", type: FormReactiveErrorComponent, selector: "dsv-form-reactive-error", inputs: ["field"] }] });
155
155
  }
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FormReactiveSelectComponent, decorators: [{
157
157
  type: Component,
158
- args: [{ selector: 'dsv-form-reactive-select', imports: [ReactiveFormsModule, FormReactiveLabelComponent, FormReactiveErrorComponent], template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark;background-color:var(--background-dark)!important;color:var(--text-dark)!important}\n", ":host{width:100%}:host>div .form-control{width:calc(100% - 2px)}\n"] }]
158
+ args: [{ selector: 'dsv-form-reactive-select', imports: [ReactiveFormsModule, FormReactiveLabelComponent, FormReactiveErrorComponent], template: "<div [formGroup]=\"form()\">\n <dsv-form-reactive-label\n [label]=\"field()\"\n [field]=\"form().get(field())!\"\n [show]=\"withLabel()\"\n />\n <div>\n <select\n [id]=\"field()\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n (change)=\"doChange()\"\n [class.error]=\"form().get(field())?.touched && form().get(field())?.invalid\"\n >\n @for (list of list(); track list.id) {\n <option [value]=\"list.id\">\n {{ list.name }}\n </option>\n }\n </select>\n <dsv-form-reactive-error [field]=\"form().get(field())!\" />\n </div>\n</div>\n", styles: [":host{width:100%}:host>div{display:flex;flex-direction:column;position:relative}:host>div .form-control{font-family:inherit;display:block;width:calc(100% - 20px);margin:0;padding:6px 6px 6px 10px;font-size:1rem;line-height:1.5;color:var(--text);background-color:var(--background-card);background-clip:padding-box;border:1px solid var(--border);border-radius:5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline-color:#0000004d}:host>div .form-control.icon{padding-left:25px}:host>div .form-control.error{border:1px solid var(--error)}:host>div .form-control:disabled{opacity:.6}:host>div i{position:absolute;z-index:1000;top:10px;left:7px}:host>div textarea{overflow:auto;scrollbar-width:thin;resize:vertical}:host>div textarea.form-control{height:auto;min-height:90px}::ng-deep .dark .form-control{color-scheme:dark}\n", ":host{width:100%}:host>div .form-control{width:calc(100% - 2px)}\n"] }]
159
159
  }], propDecorators: { form: [{ type: i0.Input, args: [{ isSignal: true, alias: "form", required: true }] }], field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], withLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withLabel", required: false }] }], list: [{ type: i0.Input, args: [{ isSignal: true, alias: "list", required: false }] }], callbackChange: [{ type: i0.Output, args: ["callbackChange"] }] } });
160
160
 
161
161
  /**