@ng-vagabond-lab/ng-dsv 0.0.69 → 0.0.71

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.
@@ -1,38 +1,39 @@
1
1
  import { FormBuilder, FormGroup } from '@angular/forms';
2
- import * as i0 from '@angular/core';
2
+ import * as _angular_core from '@angular/core';
3
3
 
4
4
  declare abstract class BaseFormComponent {
5
5
  protected readonly formBuilder: FormBuilder;
6
6
  protected form: FormGroup;
7
7
  onSubmit(): void;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<BaseFormComponent, "ng-component", never, {}, {}, never, never, true, never>;
8
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseFormComponent, never>;
9
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseFormComponent, "ng-component", never, {}, {}, never, never, true, never>;
10
10
  }
11
11
 
12
12
  declare class FormComponent {
13
- form: i0.InputSignal<FormGroup<any>>;
13
+ form: _angular_core.InputSignal<FormGroup<any>>;
14
14
  onSubmit(): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "app-form", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
15
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormComponent, never>;
16
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormComponent, "app-form", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
17
17
  }
18
18
 
19
19
  declare class FormInputComponent {
20
- form: i0.InputSignal<FormGroup<any>>;
21
- field: i0.InputSignal<string>;
22
- withLabel: i0.InputSignal<boolean>;
23
- onSend: i0.OutputEmitterRef<string>;
20
+ form: _angular_core.InputSignal<FormGroup<any>>;
21
+ field: _angular_core.InputSignal<string>;
22
+ withLabel: _angular_core.InputSignal<boolean>;
23
+ icon: _angular_core.InputSignal<string | undefined>;
24
+ onSend: _angular_core.OutputEmitterRef<string>;
24
25
  onEnter(): void;
25
- static ɵfac: i0.ɵɵFactoryDeclaration<FormInputComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<FormInputComponent, "form-input", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "withLabel": { "alias": "withLabel"; "required": false; "isSignal": true; }; }, { "onSend": "onSend"; }, never, never, true, never>;
26
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormInputComponent, never>;
27
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormInputComponent, "form-input", never, { "form": { "alias": "form"; "required": true; "isSignal": true; }; "field": { "alias": "field"; "required": true; "isSignal": true; }; "withLabel": { "alias": "withLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "onSend": "onSend"; }, never, never, true, never>;
27
28
  }
28
29
 
29
30
  declare class SearchbarComponent extends BaseFormComponent {
30
- search: i0.InputSignal<string>;
31
- onSearch: i0.OutputEmitterRef<string>;
31
+ search: _angular_core.InputSignal<string>;
32
+ onSearch: _angular_core.OutputEmitterRef<string>;
32
33
  constructor();
33
34
  onSend(value: string): void;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<SearchbarComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<SearchbarComponent, "form-searchbar", never, { "search": { "alias": "search"; "required": false; "isSignal": true; }; }, { "onSearch": "onSearch"; }, never, never, true, never>;
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchbarComponent, never>;
36
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchbarComponent, "form-searchbar", never, { "search": { "alias": "search"; "required": false; "isSignal": true; }; }, { "onSearch": "onSearch"; }, never, never, true, never>;
36
37
  }
37
38
 
38
39
  export { BaseFormComponent, FormComponent, FormInputComponent, SearchbarComponent };
@@ -20,7 +20,7 @@ const authInterceptor = (req, next) => {
20
20
  console.log(error);
21
21
  toastService.showToast({
22
22
  type: 'error',
23
- text: error.error.debugMessage,
23
+ text: error.error.debugMessage ?? error.error.message ?? error.message,
24
24
  });
25
25
  return throwError(() => error);
26
26
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/interceptor/api.interceptor.ts","../../../projects/ng-dsv/api/service/api.load.service.ts","../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import {\n HttpClient,\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { StorageService } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { catchError, switchMap, throwError } from 'rxjs';\nimport { ApiService } from '../public-api';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n const apiService = inject(ApiService);\n const storageService = inject(StorageService);\n const toastService = inject(ToastService);\n\n return next(getToken(req, apiService, storageService)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n req.url.includes(apiService.baseUrl) &&\n error.status === 401\n ) {\n return handle401Error(\n httpClient,\n apiService,\n storageService,\n req,\n next\n );\n }\n\n console.log(error);\n\n toastService.showToast({\n type: 'error',\n text: error.error.debugMessage,\n })\n\n return throwError(() => error);\n })\n );\n};\n\nconst getToken = <T>(\n req: HttpRequest<T>,\n apiService: ApiService,\n storageService: StorageService\n) => {\n const jwt =\n storageService.getItem('user-connected')?.['jwt' as keyof {}] ?? '';\n if (!req.url.includes('/auth/') && req.url.includes(apiService.baseUrl)) {\n const headers = req.headers.set('Authorization', `Bearer ${jwt}`);\n\n return req.clone({\n headers,\n });\n }\n return req;\n};\n\nconst handle401Error = <T>(\n httpClient: HttpClient,\n apiService: ApiService,\n storageService: StorageService,\n request: HttpRequest<T>,\n next: HttpHandlerFn\n) => {\n const jwtRefresh =\n storageService.getItem('user-connected')?.['jwtRefresh' as keyof {}] ?? '';\n return httpClient\n .post(apiService.baseUrl + '/auth/refresh-token', {\n refreshToken: jwtRefresh,\n })\n .pipe(\n switchMap((response) => {\n storageService.setItem('user-connected', JSON.stringify(response));\n return next(getToken(request, apiService, storageService));\n })\n );\n};\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiLoadService {\n load = signal<boolean>(false);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { JSONObject } from '../dto/api.dto';\nimport { ApiLoadService } from './api.load.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n baseUrl: string = '';\n httpClient = inject(HttpClient);\n apiLoadService = inject(ApiLoadService);\n\n setBaseUrl(url: string) {\n this.baseUrl = url;\n }\n\n get<T>(url: string, callback: (data: T) => void) {\n this.apiLoadService.load.set(true);\n this.httpClient.get<T>(this.baseUrl + url).subscribe({\n next: (res) => {\n this.apiLoadService.load.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.apiLoadService.load.set(false);\n this.error(url, error);\n },\n });\n }\n\n post<T>(url: string, data: T, callback: (data: T) => void) {\n this.apiLoadService.load.set(true);\n this.httpClient.post<T>(this.baseUrl + url, data).subscribe({\n next: (res) => {\n this.apiLoadService.load.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.apiLoadService.load.set(false);\n this.error(url, error);\n },\n });\n }\n\n info(url: string, data: JSONObject) {\n console.log(url, data);\n }\n\n error(url: string, error: JSONObject) {\n console.error(url, error);\n }\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-api.mjs","sources":["../../../projects/ng-dsv/api/interceptor/api.interceptor.ts","../../../projects/ng-dsv/api/service/api.load.service.ts","../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import {\n HttpClient,\n HttpErrorResponse,\n HttpHandlerFn,\n HttpInterceptorFn,\n HttpRequest,\n} from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { StorageService } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { catchError, switchMap, throwError } from 'rxjs';\nimport { ApiService } from '../public-api';\n\nexport const authInterceptor: HttpInterceptorFn = (req, next) => {\n const httpClient = inject(HttpClient);\n const apiService = inject(ApiService);\n const storageService = inject(StorageService);\n const toastService = inject(ToastService);\n\n return next(getToken(req, apiService, storageService)).pipe(\n catchError((error) => {\n if (\n error instanceof HttpErrorResponse &&\n !req.url.includes('auth/') &&\n req.url.includes(apiService.baseUrl) &&\n error.status === 401\n ) {\n return handle401Error(\n httpClient,\n apiService,\n storageService,\n req,\n next\n );\n }\n\n console.log(error);\n\n toastService.showToast({\n type: 'error',\n text: error.error.debugMessage ?? error.error.message ?? error.message,\n })\n\n return throwError(() => error);\n })\n );\n};\n\nconst getToken = <T>(\n req: HttpRequest<T>,\n apiService: ApiService,\n storageService: StorageService\n) => {\n const jwt =\n storageService.getItem('user-connected')?.['jwt' as keyof {}] ?? '';\n if (!req.url.includes('/auth/') && req.url.includes(apiService.baseUrl)) {\n const headers = req.headers.set('Authorization', `Bearer ${jwt}`);\n\n return req.clone({\n headers,\n });\n }\n return req;\n};\n\nconst handle401Error = <T>(\n httpClient: HttpClient,\n apiService: ApiService,\n storageService: StorageService,\n request: HttpRequest<T>,\n next: HttpHandlerFn\n) => {\n const jwtRefresh =\n storageService.getItem('user-connected')?.['jwtRefresh' as keyof {}] ?? '';\n return httpClient\n .post(apiService.baseUrl + '/auth/refresh-token', {\n refreshToken: jwtRefresh,\n })\n .pipe(\n switchMap((response) => {\n storageService.setItem('user-connected', JSON.stringify(response));\n return next(getToken(request, apiService, storageService));\n })\n );\n};\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiLoadService {\n load = signal<boolean>(false);\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { JSONObject } from '../dto/api.dto';\nimport { ApiLoadService } from './api.load.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n baseUrl: string = '';\n httpClient = inject(HttpClient);\n apiLoadService = inject(ApiLoadService);\n\n setBaseUrl(url: string) {\n this.baseUrl = url;\n }\n\n get<T>(url: string, callback: (data: T) => void) {\n this.apiLoadService.load.set(true);\n this.httpClient.get<T>(this.baseUrl + url).subscribe({\n next: (res) => {\n this.apiLoadService.load.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.apiLoadService.load.set(false);\n this.error(url, error);\n },\n });\n }\n\n post<T>(url: string, data: T, callback: (data: T) => void) {\n this.apiLoadService.load.set(true);\n this.httpClient.post<T>(this.baseUrl + url, data).subscribe({\n next: (res) => {\n this.apiLoadService.load.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.apiLoadService.load.set(false);\n this.error(url, error);\n },\n });\n }\n\n info(url: string, data: JSONObject) {\n console.log(url, data);\n }\n\n error(url: string, error: JSONObject) {\n console.error(url, error);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -21,11 +21,11 @@ class DsvButtonComponent {
21
21
  !this.disabled() && this.callback.emit();
22
22
  }
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: DsvButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: DsvButtonComponent, isStandalone: true, selector: "dsv-button", inputs: { libelle: { classPropertyName: "libelle", publicName: "libelle", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fullwidth: { classPropertyName: "fullwidth", publicName: "fullwidth", isSignal: true, isRequired: false, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noHover: { classPropertyName: "noHover", publicName: "noHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "@if (show()) {\n <button\n class=\"dsv-button\"\n (click)=\"doClick($event)\"\n [ngClass]=\"\n (icon() ? 'icon' : '') +\n ' ' +\n color() +\n ' ' +\n width() +\n ' ' +\n variant() +\n ' ' +\n (fullwidth() ? 'fullwidth' : '')\n \"\n [class.no-hover]=\"noHover()\"\n [disabled]=\"disabled()\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: ["button.dsv-button{display:inline-flex;flex-direction:row;gap:5px;align-items:center;justify-content:center;position:relative;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;font-weight:500;letter-spacing:.02857em;text-transform:uppercase;color:var(--white);outline:0px;margin:0;text-decoration:none;border-width:0px;border-radius:4px;transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1);padding:6px;font-size:1rem;min-width:10px;line-height:1}button.dsv-button.small,button.dsv-button.small>i{font-size:.8rem!important}button.dsv-button.medium,button.dsv-button.medium>i{font-size:1rem!important}button.dsv-button.large,button.dsv-button.large>i{font-size:1.5rem!important}button.dsv-button.fullwidth{width:100%}button.dsv-button.text,button.dsv-button.outlined{background-color:transparent;box-shadow:none}button.dsv-button.text.default,button.dsv-button.outlined.default{color:var(--text)}button.dsv-button.text.primary,button.dsv-button.outlined.primary{color:var(--primary)}button.dsv-button.text.success,button.dsv-button.outlined.success{color:var(--success)}button.dsv-button.text.info,button.dsv-button.outlined.info{color:var(--info)}button.dsv-button.text.warning,button.dsv-button.outlined.warning{color:var(--warning)}button.dsv-button.text.error,button.dsv-button.outlined.error{color:var(--error)}button.dsv-button.text.outlined.default,button.dsv-button.outlined.outlined.default{border:1px solid var(--text)}button.dsv-button.text.outlined.primary,button.dsv-button.outlined.outlined.primary{border:1px solid var(--primary)}button.dsv-button.text.outlined.success,button.dsv-button.outlined.outlined.success{border:1px solid var(--success)}button.dsv-button.text.outlined.info,button.dsv-button.outlined.outlined.info{border:1px solid var(--info)}button.dsv-button.text.outlined.warning,button.dsv-button.outlined.outlined.warning{border:1px solid var(--warning)}button.dsv-button.text.outlined.error,button.dsv-button.outlined.outlined.error{border:1px solid var(--error)}button.dsv-button.contained.inherit{background-color:inherit;color:var(--text)!important}button.dsv-button.contained.default{background-color:var(--text)}button.dsv-button.contained.primary{background-color:var(--primary)}button.dsv-button.contained.secondary{background-color:var(--secondary)}button.dsv-button.contained.success{background-color:var(--success)}button.dsv-button.contained.info{background-color:var(--info)}button.dsv-button.contained.warning{background-color:var(--warning)}button.dsv-button.contained.error{background-color:var(--error)}button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}button.dsv-button:disabled{background:#5b5b5b!important}::ng-deep .dark button.dsv-button.contained.inherit{color:var(--white)!important;filter:hue-rotate(5deg)}::ng-deep .dark button.dsv-button.text.default,::ng-deep .dark button.dsv-button.outlined.default{color:var(--text-dark)}::ng-deep .dark button.dsv-button.outlined.default{border:1px solid var(--text-dark)}::ng-deep .dark button.dsv-button.contained.default{background-color:var(--text-dark);color:var(--text)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: DsvButtonComponent, isStandalone: true, selector: "dsv-button", inputs: { libelle: { classPropertyName: "libelle", publicName: "libelle", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fullwidth: { classPropertyName: "fullwidth", publicName: "fullwidth", isSignal: true, isRequired: false, transformFunction: null }, show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noHover: { classPropertyName: "noHover", publicName: "noHover", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, ngImport: i0, template: "@if (show()) {\n <button\n class=\"dsv-button\"\n (click)=\"doClick($event)\"\n [ngClass]=\"\n (icon() ? 'icon' : '') +\n ' ' +\n color() +\n ' ' +\n width() +\n ' ' +\n variant() +\n ' ' +\n (fullwidth() ? 'fullwidth' : '')\n \"\n [class.no-hover]=\"noHover()\"\n [disabled]=\"disabled()\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: ["button.dsv-button{display:inline-flex;flex-direction:row;gap:5px;align-items:center;justify-content:center;position:relative;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;font-weight:500;letter-spacing:.02857em;text-transform:uppercase;color:var(--white);outline:0px;margin:0;text-decoration:none;border-width:0px;border-radius:4px;transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1);padding:6px;font-size:1rem;min-width:10px;line-height:1}button.dsv-button.small,button.dsv-button.small>i{font-size:.8rem}button.dsv-button.medium,button.dsv-button.medium>i{font-size:1rem}button.dsv-button.large,button.dsv-button.large>i{font-size:1.5rem}button.dsv-button.fullwidth{width:100%}button.dsv-button.text,button.dsv-button.outlined{background-color:transparent;box-shadow:none}button.dsv-button.text.default,button.dsv-button.outlined.default{color:var(--text)}button.dsv-button.text.primary,button.dsv-button.outlined.primary{color:var(--primary)}button.dsv-button.text.success,button.dsv-button.outlined.success{color:var(--success)}button.dsv-button.text.info,button.dsv-button.outlined.info{color:var(--info)}button.dsv-button.text.warning,button.dsv-button.outlined.warning{color:var(--warning)}button.dsv-button.text.error,button.dsv-button.outlined.error{color:var(--error)}button.dsv-button.text.outlined.default,button.dsv-button.outlined.outlined.default{border:1px solid var(--text)}button.dsv-button.text.outlined.primary,button.dsv-button.outlined.outlined.primary{border:1px solid var(--primary)}button.dsv-button.text.outlined.success,button.dsv-button.outlined.outlined.success{border:1px solid var(--success)}button.dsv-button.text.outlined.info,button.dsv-button.outlined.outlined.info{border:1px solid var(--info)}button.dsv-button.text.outlined.warning,button.dsv-button.outlined.outlined.warning{border:1px solid var(--warning)}button.dsv-button.text.outlined.error,button.dsv-button.outlined.outlined.error{border:1px solid var(--error)}button.dsv-button.contained.inherit{background-color:inherit;color:var(--text)}button.dsv-button.contained.default{background-color:var(--text)}button.dsv-button.contained.primary{background-color:var(--primary)}button.dsv-button.contained.secondary{background-color:var(--secondary)}button.dsv-button.contained.success{background-color:var(--success)}button.dsv-button.contained.info{background-color:var(--info)}button.dsv-button.contained.warning{background-color:var(--warning)}button.dsv-button.contained.error{background-color:var(--error)}button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}button.dsv-button:disabled{background:#5b5b5b}::ng-deep .dark button.dsv-button.contained.inherit{color:var(--white);filter:hue-rotate(5deg)}::ng-deep .dark button.dsv-button.text.default,::ng-deep .dark button.dsv-button.outlined.default{color:var(--text-dark)}::ng-deep .dark button.dsv-button.outlined.default{border:1px solid var(--text-dark)}::ng-deep .dark button.dsv-button.contained.default{background-color:var(--text-dark);color:var(--text)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: DsvButtonComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'dsv-button', standalone: true, imports: [CommonModule], template: "@if (show()) {\n <button\n class=\"dsv-button\"\n (click)=\"doClick($event)\"\n [ngClass]=\"\n (icon() ? 'icon' : '') +\n ' ' +\n color() +\n ' ' +\n width() +\n ' ' +\n variant() +\n ' ' +\n (fullwidth() ? 'fullwidth' : '')\n \"\n [class.no-hover]=\"noHover()\"\n [disabled]=\"disabled()\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: ["button.dsv-button{display:inline-flex;flex-direction:row;gap:5px;align-items:center;justify-content:center;position:relative;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;font-weight:500;letter-spacing:.02857em;text-transform:uppercase;color:var(--white);outline:0px;margin:0;text-decoration:none;border-width:0px;border-radius:4px;transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1);padding:6px;font-size:1rem;min-width:10px;line-height:1}button.dsv-button.small,button.dsv-button.small>i{font-size:.8rem!important}button.dsv-button.medium,button.dsv-button.medium>i{font-size:1rem!important}button.dsv-button.large,button.dsv-button.large>i{font-size:1.5rem!important}button.dsv-button.fullwidth{width:100%}button.dsv-button.text,button.dsv-button.outlined{background-color:transparent;box-shadow:none}button.dsv-button.text.default,button.dsv-button.outlined.default{color:var(--text)}button.dsv-button.text.primary,button.dsv-button.outlined.primary{color:var(--primary)}button.dsv-button.text.success,button.dsv-button.outlined.success{color:var(--success)}button.dsv-button.text.info,button.dsv-button.outlined.info{color:var(--info)}button.dsv-button.text.warning,button.dsv-button.outlined.warning{color:var(--warning)}button.dsv-button.text.error,button.dsv-button.outlined.error{color:var(--error)}button.dsv-button.text.outlined.default,button.dsv-button.outlined.outlined.default{border:1px solid var(--text)}button.dsv-button.text.outlined.primary,button.dsv-button.outlined.outlined.primary{border:1px solid var(--primary)}button.dsv-button.text.outlined.success,button.dsv-button.outlined.outlined.success{border:1px solid var(--success)}button.dsv-button.text.outlined.info,button.dsv-button.outlined.outlined.info{border:1px solid var(--info)}button.dsv-button.text.outlined.warning,button.dsv-button.outlined.outlined.warning{border:1px solid var(--warning)}button.dsv-button.text.outlined.error,button.dsv-button.outlined.outlined.error{border:1px solid var(--error)}button.dsv-button.contained.inherit{background-color:inherit;color:var(--text)!important}button.dsv-button.contained.default{background-color:var(--text)}button.dsv-button.contained.primary{background-color:var(--primary)}button.dsv-button.contained.secondary{background-color:var(--secondary)}button.dsv-button.contained.success{background-color:var(--success)}button.dsv-button.contained.info{background-color:var(--info)}button.dsv-button.contained.warning{background-color:var(--warning)}button.dsv-button.contained.error{background-color:var(--error)}button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}button.dsv-button:disabled{background:#5b5b5b!important}::ng-deep .dark button.dsv-button.contained.inherit{color:var(--white)!important;filter:hue-rotate(5deg)}::ng-deep .dark button.dsv-button.text.default,::ng-deep .dark button.dsv-button.outlined.default{color:var(--text-dark)}::ng-deep .dark button.dsv-button.outlined.default{border:1px solid var(--text-dark)}::ng-deep .dark button.dsv-button.contained.default{background-color:var(--text-dark);color:var(--text)}\n"] }]
28
+ args: [{ selector: 'dsv-button', standalone: true, imports: [CommonModule], template: "@if (show()) {\n <button\n class=\"dsv-button\"\n (click)=\"doClick($event)\"\n [ngClass]=\"\n (icon() ? 'icon' : '') +\n ' ' +\n color() +\n ' ' +\n width() +\n ' ' +\n variant() +\n ' ' +\n (fullwidth() ? 'fullwidth' : '')\n \"\n [class.no-hover]=\"noHover()\"\n [disabled]=\"disabled()\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: ["button.dsv-button{display:inline-flex;flex-direction:row;gap:5px;align-items:center;justify-content:center;position:relative;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:middle;font-weight:500;letter-spacing:.02857em;text-transform:uppercase;color:var(--white);outline:0px;margin:0;text-decoration:none;border-width:0px;border-radius:4px;transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1);padding:6px;font-size:1rem;min-width:10px;line-height:1}button.dsv-button.small,button.dsv-button.small>i{font-size:.8rem}button.dsv-button.medium,button.dsv-button.medium>i{font-size:1rem}button.dsv-button.large,button.dsv-button.large>i{font-size:1.5rem}button.dsv-button.fullwidth{width:100%}button.dsv-button.text,button.dsv-button.outlined{background-color:transparent;box-shadow:none}button.dsv-button.text.default,button.dsv-button.outlined.default{color:var(--text)}button.dsv-button.text.primary,button.dsv-button.outlined.primary{color:var(--primary)}button.dsv-button.text.success,button.dsv-button.outlined.success{color:var(--success)}button.dsv-button.text.info,button.dsv-button.outlined.info{color:var(--info)}button.dsv-button.text.warning,button.dsv-button.outlined.warning{color:var(--warning)}button.dsv-button.text.error,button.dsv-button.outlined.error{color:var(--error)}button.dsv-button.text.outlined.default,button.dsv-button.outlined.outlined.default{border:1px solid var(--text)}button.dsv-button.text.outlined.primary,button.dsv-button.outlined.outlined.primary{border:1px solid var(--primary)}button.dsv-button.text.outlined.success,button.dsv-button.outlined.outlined.success{border:1px solid var(--success)}button.dsv-button.text.outlined.info,button.dsv-button.outlined.outlined.info{border:1px solid var(--info)}button.dsv-button.text.outlined.warning,button.dsv-button.outlined.outlined.warning{border:1px solid var(--warning)}button.dsv-button.text.outlined.error,button.dsv-button.outlined.outlined.error{border:1px solid var(--error)}button.dsv-button.contained.inherit{background-color:inherit;color:var(--text)}button.dsv-button.contained.default{background-color:var(--text)}button.dsv-button.contained.primary{background-color:var(--primary)}button.dsv-button.contained.secondary{background-color:var(--secondary)}button.dsv-button.contained.success{background-color:var(--success)}button.dsv-button.contained.info{background-color:var(--info)}button.dsv-button.contained.warning{background-color:var(--warning)}button.dsv-button.contained.error{background-color:var(--error)}button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}button.dsv-button:not(:disabled):not(.no-hover):hover:not(.text){box-shadow:#0003 0 2px 4px -1px,#00000024 0 4px 5px,#0000001f 0 1px 10px}button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}button.dsv-button:disabled{background:#5b5b5b}::ng-deep .dark button.dsv-button.contained.inherit{color:var(--white);filter:hue-rotate(5deg)}::ng-deep .dark button.dsv-button.text.default,::ng-deep .dark button.dsv-button.outlined.default{color:var(--text-dark)}::ng-deep .dark button.dsv-button.outlined.default{border:1px solid var(--text-dark)}::ng-deep .dark button.dsv-button.contained.default{background-color:var(--text-dark);color:var(--text)}\n"] }]
29
29
  }] });
30
30
 
31
31
  class ButtonScrollTopComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-button.mjs","sources":["../../../projects/ng-dsv/ds/button/component/button.component.ts","../../../projects/ng-dsv/ds/button/component/button.component.html","../../../projects/ng-dsv/ds/button/component/scroll-top/button.scroll-top.component.ts","../../../projects/ng-dsv/ds/button/component/scroll-top/button.scroll-top.component.html","../../../projects/ng-dsv/ds/button/ng-vagabond-lab-ng-dsv-ds-button.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { ColorType } from '@ng-vagabond-lab/ng-dsv/type';\n\nexport type ButtonWidthType = 'small' | 'medium' | 'large';\nexport type ButtonVariantType = 'text' | 'outlined' | 'contained';\n\n@Component({\n selector: 'dsv-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class DsvButtonComponent {\n libelle = input<string>('');\n color = input<ColorType>('primary');\n icon = input<string>('');\n iconEnd = input<string>('');\n width = input<ButtonWidthType>('medium');\n variant = input<ButtonVariantType>('contained');\n fullwidth = input<boolean>(false);\n show = input<boolean>(true);\n disabled = input<boolean>(false);\n noHover = input<boolean>(false);\n\n callback = output<void>();\n\n doClick(event: Event) {\n event.stopPropagation();\n event.preventDefault();\n !this.disabled() && this.callback.emit();\n }\n}\n","@if (show()) {\n <button\n class=\"dsv-button\"\n (click)=\"doClick($event)\"\n [ngClass]=\"\n (icon() ? 'icon' : '') +\n ' ' +\n color() +\n ' ' +\n width() +\n ' ' +\n variant() +\n ' ' +\n (fullwidth() ? 'fullwidth' : '')\n \"\n [class.no-hover]=\"noHover()\"\n [disabled]=\"disabled()\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n","import { Component, effect, input, signal } from '@angular/core';\nimport { DsvButtonComponent } from '../button.component';\n\n@Component({\n selector: 'app-scroll-top-button',\n imports: [\n DsvButtonComponent\n ],\n standalone: true,\n templateUrl: './button.scroll-top.component.html',\n styleUrls: ['./button.scroll-top.component.scss'],\n})\nexport class ButtonScrollTopComponent {\n scroll = input<number>(0);\n\n show = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.show.set(this.scroll() > 400);\n })\n }\n\n scrollToTop() {\n document.getElementById('scroll')?.scrollTo(0, 0);\n }\n}\n","@if (show()) {\n <dsv-button\n icon=\"ri-arrow-up-line\"\n color=\"default\"\n (callback)=\"scrollToTop()\"\n ></dsv-button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-button.mjs","sources":["../../../projects/ng-dsv/ds/button/component/button.component.ts","../../../projects/ng-dsv/ds/button/component/button.component.html","../../../projects/ng-dsv/ds/button/component/scroll-top/button.scroll-top.component.ts","../../../projects/ng-dsv/ds/button/component/scroll-top/button.scroll-top.component.html","../../../projects/ng-dsv/ds/button/ng-vagabond-lab-ng-dsv-ds-button.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, input, output } from '@angular/core';\nimport { ColorType } from '@ng-vagabond-lab/ng-dsv/type';\n\nexport type ButtonWidthType = 'small' | 'medium' | 'large';\nexport type ButtonVariantType = 'text' | 'outlined' | 'contained';\n\n@Component({\n selector: 'dsv-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class DsvButtonComponent {\n libelle = input<string>('');\n color = input<ColorType>('primary');\n icon = input<string>('');\n iconEnd = input<string>('');\n width = input<ButtonWidthType>('medium');\n variant = input<ButtonVariantType>('contained');\n fullwidth = input<boolean>(false);\n show = input<boolean>(true);\n disabled = input<boolean>(false);\n noHover = input<boolean>(false);\n\n callback = output<void>();\n\n doClick(event: Event) {\n event.stopPropagation();\n event.preventDefault();\n !this.disabled() && this.callback.emit();\n }\n}\n","@if (show()) {\n <button\n class=\"dsv-button\"\n (click)=\"doClick($event)\"\n [ngClass]=\"\n (icon() ? 'icon' : '') +\n ' ' +\n color() +\n ' ' +\n width() +\n ' ' +\n variant() +\n ' ' +\n (fullwidth() ? 'fullwidth' : '')\n \"\n [class.no-hover]=\"noHover()\"\n [disabled]=\"disabled()\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n","import { Component, effect, input, signal } from '@angular/core';\nimport { DsvButtonComponent } from '../button.component';\n\n@Component({\n selector: 'app-scroll-top-button',\n imports: [\n DsvButtonComponent\n ],\n standalone: true,\n templateUrl: './button.scroll-top.component.html',\n styleUrls: ['./button.scroll-top.component.scss'],\n})\nexport class ButtonScrollTopComponent {\n scroll = input<number>(0);\n\n show = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n this.show.set(this.scroll() > 400);\n })\n }\n\n scrollToTop() {\n document.getElementById('scroll')?.scrollTo(0, 0);\n }\n}\n","@if (show()) {\n <dsv-button\n icon=\"ri-arrow-up-line\"\n color=\"default\"\n (callback)=\"scrollToTop()\"\n ></dsv-button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -40,16 +40,17 @@ class FormInputComponent {
40
40
  form = input.required();
41
41
  field = input.required();
42
42
  withLabel = input(true);
43
+ icon = input();
43
44
  onSend = output();
44
45
  onEnter() {
45
46
  this.onSend.emit(this.form().value[this.field()]);
46
47
  }
47
48
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: FormInputComponent, isStandalone: true, selector: "form-input", 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: { onSend: "onSend" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n type=\"text\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n <i class=\"icon ri-search-line\"></i>\n</div>\n", styles: [":host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 1.5rem);height:calc(1rem + 2px);padding:.5rem;padding-left:25px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}\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],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"] }] });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: FormInputComponent, isStandalone: true, selector: "form-input", 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 }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSend: "onSend" }, ngImport: i0, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n type=\"text\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n</div>\n", styles: [":host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 1.5rem);height:calc(1rem + 2px);padding:.5rem;padding-left:25px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}\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],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"] }] });
49
50
  }
50
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: FormInputComponent, decorators: [{
51
52
  type: Component,
52
- args: [{ selector: 'form-input', imports: [ReactiveFormsModule], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n type=\"text\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n <i class=\"icon ri-search-line\"></i>\n</div>\n", styles: [":host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 1.5rem);height:calc(1rem + 2px);padding:.5rem;padding-left:25px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}\n"] }]
53
+ args: [{ selector: 'form-input', imports: [ReactiveFormsModule], standalone: true, template: "<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n type=\"text\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n</div>\n", styles: [":host>div{display:flex;flex-direction:column;position:relative}:host>div label{display:inline-block;margin-bottom:.5rem}:host>div .form-control{display:block;width:calc(100% - 1.5rem);height:calc(1rem + 2px);padding:.5rem;padding-left:25px;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host>div i{position:absolute;z-index:1000;color:#000;top:10px;left:5px}\n"] }]
53
54
  }] });
54
55
 
55
56
  class SearchbarComponent extends BaseFormComponent {
@@ -67,11 +68,11 @@ class SearchbarComponent extends BaseFormComponent {
67
68
  this.onSearch.emit(value);
68
69
  }
69
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SearchbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: SearchbarComponent, isStandalone: true, selector: "form-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSearch: "onSearch" }, usesInheritance: true, ngImport: i0, template: "<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n ></form-input>\n</app-form>\n", dependencies: [{ kind: "component", type: FormComponent, selector: "app-form", inputs: ["form"] }, { kind: "component", type: FormInputComponent, selector: "form-input", inputs: ["form", "field", "withLabel"], outputs: ["onSend"] }] });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.0", type: SearchbarComponent, isStandalone: true, selector: "form-searchbar", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSearch: "onSearch" }, usesInheritance: true, ngImport: i0, template: "<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></form-input>\n</app-form>\n", dependencies: [{ kind: "component", type: FormComponent, selector: "app-form", inputs: ["form"] }, { kind: "component", type: FormInputComponent, selector: "form-input", inputs: ["form", "field", "withLabel", "icon"], outputs: ["onSend"] }] });
71
72
  }
72
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: SearchbarComponent, decorators: [{
73
74
  type: Component,
74
- args: [{ selector: 'form-searchbar', imports: [FormComponent, FormInputComponent], standalone: true, template: "<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n ></form-input>\n</app-form>\n" }]
75
+ args: [{ selector: 'form-searchbar', imports: [FormComponent, FormInputComponent], standalone: true, template: "<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></form-input>\n</app-form>\n" }]
75
76
  }], ctorParameters: () => [] });
76
77
 
77
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form.mjs","sources":["../../../projects/ng-dsv/ds/form/form/base/base.form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.html","../../../projects/ng-dsv/ds/form/input/component/form.input.component.ts","../../../projects/ng-dsv/ds/form/input/component/form.input.component.html","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.ts","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.html","../../../projects/ng-dsv/ds/form/ng-vagabond-lab-ng-dsv-ds-form.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Component({\n template: '',\n})\nexport abstract class BaseFormComponent {\n protected readonly formBuilder = inject(FormBuilder);\n protected form!: FormGroup;\n\n onSubmit() {\n if (this.form.valid) {\n console.log('Formulaire envoyé !', this.form.value);\n }\n }\n}\n","import { Component, input } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'app-form',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss',\n})\nexport class FormComponent {\n form = input.required<FormGroup>();\n\n onSubmit() {\n if (this.form().valid) {\n console.log('Formulaire envoyé !', this.form().value);\n }\n }\n}\n","<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n</form>\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'form-input',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.input.component.html',\n styleUrl: './form.input.component.scss',\n})\nexport class FormInputComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n withLabel = input<boolean>(true);\n\n onSend = output<string>();\n\n onEnter() {\n this.onSend.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n type=\"text\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n <i class=\"icon ri-search-line\"></i>\n</div>\n","import { Component, effect, input, output } from '@angular/core';\nimport {\n BaseFormComponent,\n FormComponent,\n FormInputComponent,\n} from '../../public-api';\n\n@Component({\n selector: 'form-searchbar',\n imports: [FormComponent, FormInputComponent],\n standalone: true,\n templateUrl: './searchbar.component.html',\n})\nexport class SearchbarComponent extends BaseFormComponent {\n search = input<string>('');\n onSearch = output<string>();\n\n constructor() {\n super();\n effect(() => {\n this.form = this.formBuilder.group({\n search: [this.search()],\n });\n });\n }\n\n onSend(value: string) {\n this.onSearch.emit(value);\n }\n}\n","<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n ></form-input>\n</app-form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAMsB,iBAAiB,CAAA;AAClB,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAC1C,IAAA,IAAI;IAEd,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;uGANnC,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,wEAF3B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAEQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA;;;MCKY,aAAa,CAAA;AACxB,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAa;IAElC,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;AACrB,YAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;;;uGAL9C,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV1B,0HAGA,EAAA,MAAA,EAAA,CAAA,kHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKlB,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EACX,OAAA,EAAA,CAAC,mBAAmB,CAAC,cAClB,IAAI,EAAA,QAAA,EAAA,0HAAA,EAAA,MAAA,EAAA,CAAA,kHAAA,CAAA,EAAA;;;MEIL,kBAAkB,CAAA;AAC7B,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAa;AAClC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,IAAA,SAAS,GAAG,KAAK,CAAU,IAAI,CAAC;IAEhC,MAAM,GAAG,MAAM,EAAU;IAEzB,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;;uGARxC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,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,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECV/B,4TAaA,EAAA,MAAA,EAAA,CAAA,8gBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDRY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACb,OAAA,EAAA,CAAC,mBAAmB,CAAC,cAClB,IAAI,EAAA,QAAA,EAAA,4TAAA,EAAA,MAAA,EAAA,CAAA,8gBAAA,CAAA,EAAA;;;AEOZ,MAAO,kBAAmB,SAAQ,iBAAiB,CAAA;AACvD,IAAA,MAAM,GAAG,KAAK,CAAS,EAAE,CAAC;IAC1B,QAAQ,GAAG,MAAM,EAAU;AAE3B,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACjC,gBAAA,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACxB,aAAA,CAAC;AACJ,SAAC,CAAC;;AAGJ,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;uGAdhB,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,ECb/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,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,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,mLAQA,EDCY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,uEAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIhC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,CAAC,aAAa,EAAE,kBAAkB,CAAC,cAChC,IAAI,EAAA,QAAA,EAAA,mLAAA,EAAA;;;AEVlB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-form.mjs","sources":["../../../projects/ng-dsv/ds/form/form/base/base.form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.ts","../../../projects/ng-dsv/ds/form/form/component/form.component.html","../../../projects/ng-dsv/ds/form/input/component/form.input.component.ts","../../../projects/ng-dsv/ds/form/input/component/form.input.component.html","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.ts","../../../projects/ng-dsv/ds/form/searchbar/component/searchbar.component.html","../../../projects/ng-dsv/ds/form/ng-vagabond-lab-ng-dsv-ds-form.ts"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\n\n@Component({\n template: '',\n})\nexport abstract class BaseFormComponent {\n protected readonly formBuilder = inject(FormBuilder);\n protected form!: FormGroup;\n\n onSubmit() {\n if (this.form.valid) {\n console.log('Formulaire envoyé !', this.form.value);\n }\n }\n}\n","import { Component, input } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'app-form',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.component.html',\n styleUrl: './form.component.scss',\n})\nexport class FormComponent {\n form = input.required<FormGroup>();\n\n onSubmit() {\n if (this.form().valid) {\n console.log('Formulaire envoyé !', this.form().value);\n }\n }\n}\n","<form [formGroup]=\"form()\" (ngSubmit)=\"onSubmit()\" class=\"form-container\">\n <ng-content></ng-content>\n</form>\n","import { Component, input, output } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'form-input',\n imports: [ReactiveFormsModule],\n standalone: true,\n templateUrl: './form.input.component.html',\n styleUrl: './form.input.component.scss',\n})\nexport class FormInputComponent {\n form = input.required<FormGroup>();\n field = input.required<string>();\n withLabel = input<boolean>(true);\n icon = input<string>();\n\n onSend = output<string>();\n\n onEnter() {\n this.onSend.emit(this.form().value[this.field()]);\n }\n}\n","<div [formGroup]=\"form()\">\n @if (withLabel()) {\n <label [for]=\"field()\">{{ field() }}</label>\n }\n <input\n type=\"text\"\n [formControlName]=\"field()\"\n class=\"form-control\"\n [id]=\"field()\"\n (keydown.enter)=\"onEnter()\"\n />\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n</div>\n","import { Component, effect, input, output } from '@angular/core';\nimport {\n BaseFormComponent,\n FormComponent,\n FormInputComponent,\n} from '../../public-api';\n\n@Component({\n selector: 'form-searchbar',\n imports: [FormComponent, FormInputComponent],\n standalone: true,\n templateUrl: './searchbar.component.html',\n})\nexport class SearchbarComponent extends BaseFormComponent {\n search = input<string>('');\n onSearch = output<string>();\n\n constructor() {\n super();\n effect(() => {\n this.form = this.formBuilder.group({\n search: [this.search()],\n });\n });\n }\n\n onSend(value: string) {\n this.onSearch.emit(value);\n }\n}\n","<app-form [form]=\"form\">\n <form-input\n [form]=\"form\"\n field=\"search\"\n [withLabel]=\"false\"\n (onSend)=\"onSend($event)\"\n icon=\"icon ri-search-line\"\n ></form-input>\n</app-form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-vagabond-lab/ng-dsv",
3
- "version": "0.0.69",
3
+ "version": "0.0.71",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0"
@@ -59,14 +59,14 @@
59
59
  "types": "./ds/button/index.d.ts",
60
60
  "default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs"
61
61
  },
62
- "./ds/container": {
63
- "types": "./ds/container/index.d.ts",
64
- "default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs"
65
- },
66
62
  "./ds/card": {
67
63
  "types": "./ds/card/index.d.ts",
68
64
  "default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs"
69
65
  },
66
+ "./ds/container": {
67
+ "types": "./ds/container/index.d.ts",
68
+ "default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs"
69
+ },
70
70
  "./ds/file": {
71
71
  "types": "./ds/file/index.d.ts",
72
72
  "default": "./fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs"