@ng-vagabond-lab/ng-dsv 0.1.94 → 0.1.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/global.scss +4 -12
- package/assets/style.scss +12 -34
- package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs +4 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs +6 -6
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs +6 -6
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs +5 -7
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs +4 -59
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs +2 -2
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-modules-auth.mjs +6 -6
- package/fesm2022/ng-vagabond-lab-ng-dsv-modules-auth.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ng-vagabond-lab-ng-dsv-api.d.ts +2 -2
- package/types/ng-vagabond-lab-ng-dsv-base.d.ts +4 -2
- package/types/ng-vagabond-lab-ng-dsv-ds-menu.d.ts +1 -0
- package/types/ng-vagabond-lab-ng-dsv-ds-theme.d.ts +2 -26
- package/types/ng-vagabond-lab-ng-dsv-modules-auth.d.ts +5 -7
package/assets/global.scss
CHANGED
|
@@ -10,11 +10,7 @@ body {
|
|
|
10
10
|
|
|
11
11
|
body {
|
|
12
12
|
overflow-x: hidden;
|
|
13
|
-
scrollbar-color:
|
|
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
|
-
.
|
|
97
|
-
color:
|
|
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
|
|
8
|
+
color: var(--button-text);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.primary {
|
|
12
12
|
background-color: var(--primary);
|
|
13
|
-
color: var(--text
|
|
13
|
+
color: var(--button-text);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.secondary {
|
|
17
17
|
background-color: var(--secondary);
|
|
18
|
-
color: var(--text
|
|
18
|
+
color: var(--button-text);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.success {
|
|
22
22
|
background-color: var(--success);
|
|
23
|
-
color: var(--text
|
|
23
|
+
color: var(--button-text);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.info {
|
|
27
27
|
background-color: var(--info);
|
|
28
|
-
color: var(--text
|
|
28
|
+
color: var(--button-text);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.warning {
|
|
32
32
|
background-color: var(--warning);
|
|
33
|
-
color: var(--text
|
|
33
|
+
color: var(--button-text);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
.error {
|
|
37
37
|
background-color: var(--error);
|
|
38
|
-
color: var(--text
|
|
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
|
|
96
|
+
.small>i {
|
|
119
97
|
font-size: 1rem;
|
|
120
98
|
}
|
|
121
99
|
|
|
122
100
|
.medium,
|
|
123
|
-
.medium
|
|
101
|
+
.medium>i {
|
|
124
102
|
font-size: 1.25rem;
|
|
125
103
|
}
|
|
126
104
|
|
|
127
105
|
.large,
|
|
128
|
-
.large
|
|
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
|
|
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
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, signal, effect, TransferState, makeStateKey, Directive, Injectable } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { Router, NavigationEnd, Scroll, ActivatedRoute } from '@angular/router';
|
|
4
5
|
import { ApiService } from '@ng-vagabond-lab/ng-dsv/api';
|
|
5
6
|
import { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';
|
|
6
7
|
import { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';
|
|
7
8
|
import { StorageService } from '@ng-vagabond-lab/ng-dsv/storage';
|
|
8
9
|
import { filter, map } from 'rxjs';
|
|
9
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
10
10
|
import { Title, Meta } from '@angular/platform-browser';
|
|
11
11
|
|
|
12
12
|
class BaseAppComponent {
|
|
@@ -15,6 +15,8 @@ class BaseAppComponent {
|
|
|
15
15
|
environmentService = inject(EnvironmentService);
|
|
16
16
|
apiService = inject(ApiService);
|
|
17
17
|
scrollService = inject(ScrollService);
|
|
18
|
+
router = inject(Router);
|
|
19
|
+
currentUrl = toSignal(this.router.events.pipe(filter((event) => event instanceof NavigationEnd), map((event) => event.urlAfterRedirects)), { initialValue: this.router.url });
|
|
18
20
|
scroll = signal(0, ...(ngDevMode ? [{ debugName: "scroll" }] : /* istanbul ignore next */ []));
|
|
19
21
|
load = signal(false, ...(ngDevMode ? [{ debugName: "load" }] : /* istanbul ignore next */ []));
|
|
20
22
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base.mjs","sources":["../../../projects/ng-dsv/base/component/base.app.component.ts","../../../projects/ng-dsv/base/component/base.seo.container.ts","../../../projects/ng-dsv/base/component/base.route.component.ts","../../../projects/ng-dsv/base/component/base.scroll.component.ts","../../../projects/ng-dsv/base/service/base.service.ts","../../../projects/ng-dsv/base/service/scroll.service.ts","../../../projects/ng-dsv/base/utils/base.utils.ts","../../../projects/ng-dsv/base/ng-vagabond-lab-ng-dsv-base.ts"],"sourcesContent":["import { effect, inject, signal } from '@angular/core';\nimport { Router, Scroll } from '@angular/router';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\nimport { StorageService } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { filter, map } from 'rxjs';\nimport { ScrollService } from '../public-api';\n\nexport abstract class BaseAppComponent {\n readonly platformService = inject(PlatformService);\n readonly storageService: StorageService = inject(StorageService);\n readonly environmentService = inject(EnvironmentService);\n readonly apiService = inject(ApiService);\n readonly scrollService = inject(ScrollService);\n\n scroll = signal<number>(0);\n\n load = signal<boolean>(false);\n\n constructor() {\n inject(Router)\n .events.pipe(\n filter((event): event is Scroll => event instanceof Scroll),\n map((event: Scroll) => event.position),\n )\n .subscribe(() => {\n if (this.platformService.isPlatformBrowser() && this.scrollService.getScroll()) {\n const divScrolls = document.getElementsByClassName('scroll');\n Array.from(divScrolls).forEach((scroll) => {\n setTimeout(() => {\n scroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);\n }, 100);\n });\n }\n });\n\n effect(() => {\n if (this.environmentService.env()) {\n const apiUrl = this.environmentService.env()?.API_URL!;\n this.apiService.setBaseUrl(apiUrl);\n this.load.set(true);\n }\n });\n }\n\n doScroll() {\n const divScroll = document.getElementsByClassName('scroll')?.[0];\n if (document.getElementsByClassName('scroll').length === 1) {\n this.scrollService.saveScroll(divScroll.scrollTop);\n this.scrollService.scroll.set(divScroll.scrollTop);\n }\n }\n}\n","import { inject, makeStateKey, TransferState } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\n\nexport abstract class BaseSeoContainer {\n public readonly title = inject(Title);\n public readonly transferState = inject(TransferState);\n public readonly meta = inject(Meta);\n\n setMeta(titleApp: string, title: string, description: string, image?: string) {\n const newTitle = titleApp + ' - ' + title;\n this.title.setTitle(newTitle);\n this.transferState.set(makeStateKey<string>('title'), newTitle);\n this.meta.updateTag({ name: 'description', content: description });\n image && this.meta.updateTag({ property: 'og:image', content: image });\n }\n}\n","import { inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { BaseSeoContainer } from './base.seo.container';\n\nexport abstract class BaseRouteComponent extends BaseSeoContainer {\n activatedRoute = inject<ActivatedRoute>(ActivatedRoute);\n\n routeParams = toSignal(this.activatedRoute.params);\n\n routeObservable: Subscription | null = null;\n}\n","import { inject } from '@angular/core';\nimport { BaseSeoContainer, ScrollService } from '../public-api';\n\nexport abstract class BaseScrollComponent extends BaseSeoContainer {\n readonly scrollService = inject(ScrollService);\n\n loadMore() {\n if (!this.scrollService.getlocked()) {\n this.scrollService.doBlocked();\n this.doLoad();\n this.scrollService.doBlockedWithTimeout(false, 500);\n }\n }\n\n abstract doLoad(): void;\n}\n","import { Directive } from '@angular/core';\n\n@Directive()\nexport abstract class BaseService {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ScrollService {\n scrolls = signal<Map<string, number>>(new Map());\n blocked = signal<Map<string, boolean>>(new Map());\n scroll = signal<number>(0);\n\n saveScroll(scrollTop: number) {\n this.scrolls.update((value) => {\n if (scrollTop !== 0) {\n value.set(location.href, scrollTop);\n }\n return value;\n });\n }\n\n getScroll() {\n return this.scrolls().get(location.href);\n }\n\n doBlocked(blocked: boolean = true) {\n this.blocked.update((value) => {\n value.set(location.href, blocked);\n return value;\n });\n }\n\n doBlockedWithTimeout(blocked: boolean, timeout: number = 1000) {\n setTimeout(() => {\n this.doBlocked(blocked);\n }, timeout);\n }\n\n getlocked() {\n return this.blocked().get(location.href);\n }\n}\n","import { OutputEmitterRef } from '@angular/core';\n\nexport const isCallback = <T>(callback: OutputEmitterRef<T>) => {\n const listeners = callback['listeners' as keyof OutputEmitterRef<T>];\n return listeners?.length > 0;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-base.mjs","sources":["../../../projects/ng-dsv/base/component/base.app.component.ts","../../../projects/ng-dsv/base/component/base.seo.container.ts","../../../projects/ng-dsv/base/component/base.route.component.ts","../../../projects/ng-dsv/base/component/base.scroll.component.ts","../../../projects/ng-dsv/base/service/base.service.ts","../../../projects/ng-dsv/base/service/scroll.service.ts","../../../projects/ng-dsv/base/utils/base.utils.ts","../../../projects/ng-dsv/base/ng-vagabond-lab-ng-dsv-base.ts"],"sourcesContent":["import { effect, inject, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router, Scroll } from '@angular/router';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\nimport { StorageService } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { filter, map } from 'rxjs';\nimport { ScrollService } from '../public-api';\n\nexport abstract class BaseAppComponent {\n readonly platformService = inject(PlatformService);\n readonly storageService: StorageService = inject(StorageService);\n readonly environmentService = inject(EnvironmentService);\n readonly apiService = inject(ApiService);\n readonly scrollService = inject(ScrollService);\n readonly router = inject(Router);\n\n currentUrl = toSignal(\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n map((event) => event.urlAfterRedirects),\n ),\n { initialValue: this.router.url },\n );\n scroll = signal<number>(0);\n\n load = signal<boolean>(false);\n\n constructor() {\n inject(Router)\n .events.pipe(\n filter((event): event is Scroll => event instanceof Scroll),\n map((event: Scroll) => event.position),\n )\n .subscribe(() => {\n if (this.platformService.isPlatformBrowser() && this.scrollService.getScroll()) {\n const divScrolls = document.getElementsByClassName('scroll');\n Array.from(divScrolls).forEach((scroll) => {\n setTimeout(() => {\n scroll?.scrollTo(0, this.scrollService.getScroll() ?? 0);\n }, 100);\n });\n }\n });\n\n effect(() => {\n if (this.environmentService.env()) {\n const apiUrl = this.environmentService.env()?.API_URL!;\n this.apiService.setBaseUrl(apiUrl);\n this.load.set(true);\n }\n });\n }\n\n doScroll() {\n const divScroll = document.getElementsByClassName('scroll')?.[0];\n if (document.getElementsByClassName('scroll').length === 1) {\n this.scrollService.saveScroll(divScroll.scrollTop);\n this.scrollService.scroll.set(divScroll.scrollTop);\n }\n }\n}\n","import { inject, makeStateKey, TransferState } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\n\nexport abstract class BaseSeoContainer {\n public readonly title = inject(Title);\n public readonly transferState = inject(TransferState);\n public readonly meta = inject(Meta);\n\n setMeta(titleApp: string, title: string, description: string, image?: string) {\n const newTitle = titleApp + ' - ' + title;\n this.title.setTitle(newTitle);\n this.transferState.set(makeStateKey<string>('title'), newTitle);\n this.meta.updateTag({ name: 'description', content: description });\n image && this.meta.updateTag({ property: 'og:image', content: image });\n }\n}\n","import { inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { BaseSeoContainer } from './base.seo.container';\n\nexport abstract class BaseRouteComponent extends BaseSeoContainer {\n activatedRoute = inject<ActivatedRoute>(ActivatedRoute);\n\n routeParams = toSignal(this.activatedRoute.params);\n\n routeObservable: Subscription | null = null;\n}\n","import { inject } from '@angular/core';\nimport { BaseSeoContainer, ScrollService } from '../public-api';\n\nexport abstract class BaseScrollComponent extends BaseSeoContainer {\n readonly scrollService = inject(ScrollService);\n\n loadMore() {\n if (!this.scrollService.getlocked()) {\n this.scrollService.doBlocked();\n this.doLoad();\n this.scrollService.doBlockedWithTimeout(false, 500);\n }\n }\n\n abstract doLoad(): void;\n}\n","import { Directive } from '@angular/core';\n\n@Directive()\nexport abstract class BaseService {}\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ScrollService {\n scrolls = signal<Map<string, number>>(new Map());\n blocked = signal<Map<string, boolean>>(new Map());\n scroll = signal<number>(0);\n\n saveScroll(scrollTop: number) {\n this.scrolls.update((value) => {\n if (scrollTop !== 0) {\n value.set(location.href, scrollTop);\n }\n return value;\n });\n }\n\n getScroll() {\n return this.scrolls().get(location.href);\n }\n\n doBlocked(blocked: boolean = true) {\n this.blocked.update((value) => {\n value.set(location.href, blocked);\n return value;\n });\n }\n\n doBlockedWithTimeout(blocked: boolean, timeout: number = 1000) {\n setTimeout(() => {\n this.doBlocked(blocked);\n }, timeout);\n }\n\n getlocked() {\n return this.blocked().get(location.href);\n }\n}\n","import { OutputEmitterRef } from '@angular/core';\n\nexport const isCallback = <T>(callback: OutputEmitterRef<T>) => {\n const listeners = callback['listeners' as keyof OutputEmitterRef<T>];\n return listeners?.length > 0;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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=\"
|
|
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=\"
|
|
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=\"
|
|
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:
|
|
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:
|
|
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":"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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
/**
|