@ng-vagabond-lab/ng-dsv 0.1.110 → 0.1.112

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs +6 -6
  2. package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs.map +1 -1
  3. package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs +15 -14
  4. package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs.map +1 -1
  5. package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs +29 -22
  6. package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs.map +1 -1
  7. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs +3 -3
  8. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs.map +1 -1
  9. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs +3 -3
  10. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs.map +1 -1
  11. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs +3 -3
  12. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs.map +1 -1
  13. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs +3 -3
  14. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs.map +1 -1
  15. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs +3 -3
  16. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs.map +1 -1
  17. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-color.mjs +6 -6
  18. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-color.mjs.map +1 -1
  19. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs +3 -3
  20. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs.map +1 -1
  21. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs +9 -9
  22. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs.map +1 -1
  23. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs +25 -25
  24. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs.map +1 -1
  25. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs +28 -28
  26. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs.map +1 -1
  27. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs +3 -3
  28. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs.map +1 -1
  29. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs +3 -3
  30. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs.map +1 -1
  31. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs +3 -3
  32. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs.map +1 -1
  33. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-linear-progress.mjs +3 -3
  34. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-linear-progress.mjs.map +1 -1
  35. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs +12 -12
  36. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs.map +1 -1
  37. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs +12 -12
  38. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs.map +1 -1
  39. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs +12 -12
  40. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs.map +1 -1
  41. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs +3 -3
  42. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs.map +1 -1
  43. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-scroll.mjs +19 -19
  44. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-scroll.mjs.map +1 -1
  45. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-skeleton.mjs +3 -3
  46. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-skeleton.mjs.map +1 -1
  47. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs +6 -6
  48. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs.map +1 -1
  49. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs +3 -3
  50. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs.map +1 -1
  51. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs +9 -9
  52. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs.map +1 -1
  53. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs +6 -6
  54. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs.map +1 -1
  55. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tooltip.mjs +3 -3
  56. package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tooltip.mjs.map +1 -1
  57. package/fesm2022/ng-vagabond-lab-ng-dsv-environment.mjs +3 -3
  58. package/fesm2022/ng-vagabond-lab-ng-dsv-environment.mjs.map +1 -1
  59. package/fesm2022/ng-vagabond-lab-ng-dsv-modules-admin.mjs +15 -15
  60. package/fesm2022/ng-vagabond-lab-ng-dsv-modules-admin.mjs.map +1 -1
  61. package/fesm2022/ng-vagabond-lab-ng-dsv-modules-auth.mjs +9 -9
  62. package/fesm2022/ng-vagabond-lab-ng-dsv-modules-auth.mjs.map +1 -1
  63. package/fesm2022/ng-vagabond-lab-ng-dsv-pipe.mjs +53 -0
  64. package/fesm2022/ng-vagabond-lab-ng-dsv-pipe.mjs.map +1 -0
  65. package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs +3 -3
  66. package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs.map +1 -1
  67. package/fesm2022/ng-vagabond-lab-ng-dsv-router.mjs +3 -3
  68. package/fesm2022/ng-vagabond-lab-ng-dsv-router.mjs.map +1 -1
  69. package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs +47 -5
  70. package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs.map +1 -1
  71. package/fesm2022/ng-vagabond-lab-ng-dsv.mjs +6 -6
  72. package/fesm2022/ng-vagabond-lab-ng-dsv.mjs.map +1 -1
  73. package/package.json +5 -1
  74. package/types/ng-vagabond-lab-ng-dsv-api.d.ts +10 -8
  75. package/types/ng-vagabond-lab-ng-dsv-api.d.ts.map +1 -0
  76. package/types/ng-vagabond-lab-ng-dsv-base-service.d.ts +2 -1
  77. package/types/ng-vagabond-lab-ng-dsv-base-service.d.ts.map +1 -0
  78. package/types/ng-vagabond-lab-ng-dsv-base.d.ts +14 -8
  79. package/types/ng-vagabond-lab-ng-dsv-base.d.ts.map +1 -0
  80. package/types/ng-vagabond-lab-ng-dsv-date.d.ts.map +1 -0
  81. package/types/ng-vagabond-lab-ng-dsv-ds-avatar.d.ts.map +1 -0
  82. package/types/ng-vagabond-lab-ng-dsv-ds-button.d.ts.map +1 -0
  83. package/types/ng-vagabond-lab-ng-dsv-ds-card.d.ts.map +1 -0
  84. package/types/ng-vagabond-lab-ng-dsv-ds-chip.d.ts.map +1 -0
  85. package/types/ng-vagabond-lab-ng-dsv-ds-container.d.ts.map +1 -0
  86. package/types/ng-vagabond-lab-ng-dsv-ds-form-reactive.d.ts.map +1 -0
  87. package/types/ng-vagabond-lab-ng-dsv-ds-form-signal.d.ts.map +1 -0
  88. package/types/ng-vagabond-lab-ng-dsv-ds-header.d.ts.map +1 -0
  89. package/types/ng-vagabond-lab-ng-dsv-ds-img.d.ts.map +1 -0
  90. package/types/ng-vagabond-lab-ng-dsv-ds-item.d.ts.map +1 -0
  91. package/types/ng-vagabond-lab-ng-dsv-ds-linear-progress.d.ts.map +1 -0
  92. package/types/ng-vagabond-lab-ng-dsv-ds-list.d.ts.map +1 -0
  93. package/types/ng-vagabond-lab-ng-dsv-ds-menu.d.ts.map +1 -0
  94. package/types/ng-vagabond-lab-ng-dsv-ds-modal.d.ts.map +1 -0
  95. package/types/ng-vagabond-lab-ng-dsv-ds-paginate.d.ts.map +1 -0
  96. package/types/ng-vagabond-lab-ng-dsv-ds-scroll.d.ts.map +1 -0
  97. package/types/ng-vagabond-lab-ng-dsv-ds-skeleton.d.ts.map +1 -0
  98. package/types/ng-vagabond-lab-ng-dsv-ds-tab.d.ts.map +1 -0
  99. package/types/ng-vagabond-lab-ng-dsv-ds-table.d.ts.map +1 -0
  100. package/types/ng-vagabond-lab-ng-dsv-ds-theme.d.ts.map +1 -0
  101. package/types/ng-vagabond-lab-ng-dsv-ds-toast.d.ts.map +1 -0
  102. package/types/ng-vagabond-lab-ng-dsv-ds-tooltip.d.ts.map +1 -0
  103. package/types/ng-vagabond-lab-ng-dsv-environment.d.ts.map +1 -0
  104. package/types/ng-vagabond-lab-ng-dsv-modules-admin.d.ts.map +1 -0
  105. package/types/ng-vagabond-lab-ng-dsv-modules-auth.d.ts.map +1 -0
  106. package/types/ng-vagabond-lab-ng-dsv-pipe.d.ts +19 -0
  107. package/types/ng-vagabond-lab-ng-dsv-platform.d.ts.map +1 -0
  108. package/types/ng-vagabond-lab-ng-dsv-router.d.ts.map +1 -0
  109. package/types/ng-vagabond-lab-ng-dsv-storage.d.ts +21 -6
  110. package/types/ng-vagabond-lab-ng-dsv-storage.d.ts.map +1 -0
@@ -26,10 +26,10 @@ class ApiResourceService {
26
26
  integrity: 'sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GhEXAMPLEKEY=',
27
27
  }), ...(ngDevMode ? [{ debugName: "resource" }] : /* istanbul ignore next */ []));
28
28
  constructor() { }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ApiResourceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ApiResourceService, providedIn: 'root' });
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ApiResourceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ApiResourceService, providedIn: 'root' });
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ApiResourceService, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ApiResourceService, decorators: [{
33
33
  type: Injectable,
34
34
  args: [{
35
35
  providedIn: 'root',
@@ -125,10 +125,10 @@ class ApiService {
125
125
  console.error(url, error);
126
126
  }
127
127
  }
128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
129
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ApiService, providedIn: 'root' });
128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
129
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ApiService, providedIn: 'root' });
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ApiService, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ApiService, decorators: [{
132
132
  type: Injectable,
133
133
  args: [{
134
134
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/service/api.resource.service.ts","../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import { httpResource } from '@angular/common/http';\nimport { Injectable, ResourceRef, signal } from '@angular/core';\nimport { OrderState } from '../public-api';\n\nexport interface ApiFindBy {\n endPoint?: string;\n fields?: string;\n values?: string;\n first?: number;\n max?: number;\n order?: OrderState;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiResourceService<T> {\n url = signal<string | undefined>(undefined);\n\n resource: ResourceRef<T | undefined> = httpResource(() => ({\n url: `${this.url()}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n params: {},\n reportProgress: true,\n transferCache: true,\n keepalive: true,\n mode: 'same-origin',\n redirect: 'error',\n priority: 'high',\n cache: 'force-cache',\n credentials: 'include',\n referrer: 'no-referrer',\n integrity: 'sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GhEXAMPLEKEY=',\n }));\n\n constructor() {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { effect, inject, Injectable, signal } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\nimport { Observable } from 'rxjs';\nimport { ApiDto, ID, JSONObject, OrderState } from '../dto/api.dto';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n readonly httpClient = inject(HttpClient);\n readonly toastService = inject(ToastService);\n readonly platformService = inject(PlatformService);\n readonly environmentService = inject(EnvironmentService);\n\n baseUrl = signal<string>('');\n loaded = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n if (this.environmentService.env()) {\n this.baseUrl.set(this.environmentService.env()!.API_URL);\n }\n });\n }\n\n get<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, this.httpClient.get<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n post<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n withCredentials: boolean = false,\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n this.httpClient.post<TResponse>(this.baseUrl() + url, data, { withCredentials }),\n callback,\n callbackError,\n );\n }\n\n put<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n this.httpClient.put<TResponse>(this.baseUrl() + url, data),\n callback,\n callbackError,\n );\n }\n\n delete<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, this.httpClient.delete<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n findById<T>(endPoint: string, id: ID, callback: (data: T) => void) {\n this.get<T>(endPoint + '/' + id, callback);\n }\n\n findBy<T>(\n endPoint: string,\n fields: string,\n values: string,\n first: number,\n max: number,\n order: OrderState,\n callback: (data: T) => void,\n ) {\n const orderType: string = order.orderAsc ? '' : 'Desc';\n const orderConst: string = order.order ? '>>' + order.order + orderType : '';\n const fieldsComplete = fields + orderConst;\n this.get<T>(\n endPoint +\n '?fields=' +\n encodeURI(fieldsComplete) +\n '&values=' +\n encodeURI(values) +\n '&first=' +\n first +\n '&max=' +\n max,\n (data: T) => {\n callback(data);\n },\n );\n }\n\n countBy(endPoint: string, fields: string, values: string, callback: (data: { count: number }) => void) {\n return this.get<{ count: number }>(\n endPoint + '?fields=' + encodeURI(fields) + '&values=' + values,\n (data: { count: number }) => {\n callback(data);\n },\n );\n }\n\n createOrUpdate<T extends ApiDto>(endPoint: string, data: T, callback: (data: T) => void) {\n if (data.id !== null && data.id !== undefined && data.id !== '' && Number(data.id) > 0) {\n this.put<T>('/' + endPoint + '/', data, (dateReturn: T) => {\n this.toastService.showToast({ text: 'UPDATE_OK', type: 'success' });\n callback(dateReturn);\n });\n } else {\n this.post<T>('/' + endPoint + '/', data, (dateReturn: T) => {\n this.toastService.showToast({ text: 'CREATION_OK', type: 'success' });\n callback(dateReturn);\n });\n }\n }\n\n doSubscribe<T>(\n url: string,\n observable: Observable<T>,\n callback: (data: T) => void,\n callbackError: () => void = () => {},\n ) {\n this.loaded.set(true);\n observable.subscribe({\n next: (res) => {\n this.loaded.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.loaded.set(false);\n callbackError();\n this.error(url, error);\n },\n });\n }\n\n info(url: string, data: JSONObject) {\n if (this.platformService.isPlatformBrowser()) {\n console.log(url, data);\n }\n }\n\n error(url: string, error: JSONObject) {\n if (this.platformService.isPlatformBrowser()) {\n console.error(url, error);\n }\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/service/api.resource.service.ts","../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import { httpResource } from '@angular/common/http';\nimport { Injectable, ResourceRef, signal } from '@angular/core';\nimport { OrderState } from '../public-api';\n\nexport interface ApiFindBy {\n endPoint?: string;\n fields?: string;\n values?: string;\n first?: number;\n max?: number;\n order?: OrderState;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiResourceService<T> {\n url = signal<string | undefined>(undefined);\n\n resource: ResourceRef<T | undefined> = httpResource(() => ({\n url: `${this.url()}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n params: {},\n reportProgress: true,\n transferCache: true,\n keepalive: true,\n mode: 'same-origin',\n redirect: 'error',\n priority: 'high',\n cache: 'force-cache',\n credentials: 'include',\n referrer: 'no-referrer',\n integrity: 'sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GhEXAMPLEKEY=',\n }));\n\n constructor() {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { effect, inject, Injectable, signal } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\nimport { Observable } from 'rxjs';\nimport { ApiDto, ID, JSONObject, OrderState } from '../dto/api.dto';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n readonly httpClient = inject(HttpClient);\n readonly toastService = inject(ToastService);\n readonly platformService = inject(PlatformService);\n readonly environmentService = inject(EnvironmentService);\n\n baseUrl = signal<string>('');\n loaded = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n if (this.environmentService.env()) {\n this.baseUrl.set(this.environmentService.env()!.API_URL);\n }\n });\n }\n\n get<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, this.httpClient.get<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n post<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n withCredentials: boolean = false,\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n this.httpClient.post<TResponse>(this.baseUrl() + url, data, { withCredentials }),\n callback,\n callbackError,\n );\n }\n\n put<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n this.httpClient.put<TResponse>(this.baseUrl() + url, data),\n callback,\n callbackError,\n );\n }\n\n delete<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, this.httpClient.delete<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n findById<T>(endPoint: string, id: ID, callback: (data: T) => void) {\n this.get<T>(endPoint + '/' + id, callback);\n }\n\n findBy<T>(\n endPoint: string,\n fields: string,\n values: string,\n first: number,\n max: number,\n order: OrderState,\n callback: (data: T) => void,\n ) {\n const orderType: string = order.orderAsc ? '' : 'Desc';\n const orderConst: string = order.order ? '>>' + order.order + orderType : '';\n const fieldsComplete = fields + orderConst;\n this.get<T>(\n endPoint +\n '?fields=' +\n encodeURI(fieldsComplete) +\n '&values=' +\n encodeURI(values) +\n '&first=' +\n first +\n '&max=' +\n max,\n (data: T) => {\n callback(data);\n },\n );\n }\n\n countBy(endPoint: string, fields: string, values: string, callback: (data: { count: number }) => void) {\n return this.get<{ count: number }>(\n endPoint + '?fields=' + encodeURI(fields) + '&values=' + values,\n (data: { count: number }) => {\n callback(data);\n },\n );\n }\n\n createOrUpdate<T extends ApiDto>(endPoint: string, data: T, callback: (data: T) => void) {\n if (data.id !== null && data.id !== undefined && data.id !== '' && Number(data.id) > 0) {\n this.put<T>('/' + endPoint + '/', data, (dateReturn: T) => {\n this.toastService.showToast({ text: 'UPDATE_OK', type: 'success' });\n callback(dateReturn);\n });\n } else {\n this.post<T>('/' + endPoint + '/', data, (dateReturn: T) => {\n this.toastService.showToast({ text: 'CREATION_OK', type: 'success' });\n callback(dateReturn);\n });\n }\n }\n\n doSubscribe<T>(\n url: string,\n observable: Observable<T>,\n callback: (data: T) => void,\n callbackError: () => void = () => {},\n ) {\n this.loaded.set(true);\n observable.subscribe({\n next: (res) => {\n this.loaded.set(false);\n this.info(url, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.loaded.set(false);\n callbackError();\n this.error(url, error);\n },\n });\n }\n\n info(url: string, data: JSONObject) {\n if (this.platformService.isPlatformBrowser()) {\n console.log(url, data);\n }\n }\n\n error(url: string, error: JSONObject) {\n if (this.platformService.isPlatformBrowser()) {\n console.error(url, error);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -10,15 +10,16 @@ class BaseService {
10
10
  isPlatformBrowser() {
11
11
  return this.apiService.platformService.isPlatformBrowser();
12
12
  }
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: BaseService, isStandalone: true, ngImport: i0 });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.10", type: BaseService, isStandalone: true, ngImport: i0 });
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseService, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseService, decorators: [{
17
17
  type: Directive
18
18
  }] });
19
19
 
20
20
  class BaseFetchService extends BaseService {
21
21
  //abstract fetch(id: number): D;
22
+ ssr = signal(true, ...(ngDevMode ? [{ debugName: "ssr" }] : /* istanbul ignore next */ []));
22
23
  getStateKey(url) {
23
24
  return makeStateKey(url);
24
25
  }
@@ -38,10 +39,10 @@ class BaseFetchService extends BaseService {
38
39
  this.transferState.set(key, data);
39
40
  }
40
41
  }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFetchService, deps: null, target: i0.ɵɵFactoryTarget.Directive });
42
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: BaseFetchService, isStandalone: true, usesInheritance: true, ngImport: i0 });
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseFetchService, deps: null, target: i0.ɵɵFactoryTarget.Directive });
43
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.10", type: BaseFetchService, isStandalone: true, usesInheritance: true, ngImport: i0 });
43
44
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseFetchService, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseFetchService, decorators: [{
45
46
  type: Directive
46
47
  }] });
47
48
 
@@ -54,7 +55,7 @@ class BaseSearchService extends BaseFetchService {
54
55
  getUrl() {
55
56
  let url = this.getEndPoint();
56
57
  const params = this.getParams();
57
- url += '?page=' + this.page() + params + '&query=';
58
+ url += '?page=' + this.page() + params + '&search=';
58
59
  return url;
59
60
  }
60
61
  getParams() {
@@ -68,24 +69,24 @@ class BaseSearchService extends BaseFetchService {
68
69
  if (this.stopFetch()) {
69
70
  return;
70
71
  }
71
- this.isLoading.set(true);
72
72
  const url = this.getUrl();
73
73
  const data = this.getDataFromState(url);
74
74
  if (data) {
75
75
  this.updateDate(page, data);
76
+ this.isLoading.set(false);
76
77
  return;
77
78
  }
79
+ this.isLoading.set(true);
78
80
  this.apiService.get(url + search, (data) => {
79
81
  this.page.set(page + 1);
80
82
  this.setDataToState(url, data.content);
81
- this.updateDate(page, data.content);
82
83
  this.isLoading.set(false);
84
+ this.updateDate(page, data.content);
83
85
  }, () => {
84
86
  this.stopFetch.set(true);
85
87
  });
86
88
  }
87
89
  updateDate(page, datas) {
88
- console.log(page);
89
90
  if (page === 1) {
90
91
  this.datas.set([]);
91
92
  }
@@ -96,12 +97,12 @@ class BaseSearchService extends BaseFetchService {
96
97
  this.afterFetch(datas);
97
98
  }
98
99
  afterFetch(data) {
99
- return data;
100
+ return;
100
101
  }
101
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseSearchService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
102
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseSearchService, providedIn: 'root' });
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseSearchService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
103
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseSearchService, providedIn: 'root' });
103
104
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseSearchService, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseSearchService, decorators: [{
105
106
  type: Injectable,
106
107
  args: [{ providedIn: 'root' }]
107
108
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-base-service.mjs","sources":["../../../projects/ng-dsv/base/service/base/base.service.ts","../../../projects/ng-dsv/base/service/fetch/base.fetch.service.ts","../../../projects/ng-dsv/base/service/search/base.search.service.ts","../../../projects/ng-dsv/base/service/ng-vagabond-lab-ng-dsv-base-service.ts"],"sourcesContent":["import { Directive, inject, signal, TransferState } from '@angular/core';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\n\n@Directive()\nexport abstract class BaseService {\n readonly apiService = inject(ApiService);\n readonly transferState = inject(TransferState);\n\n readonly loaded = signal<boolean>(true);\n\n isPlatformBrowser() {\n return this.apiService.platformService.isPlatformBrowser();\n }\n}\n","import { Directive, makeStateKey, StateKey } from '@angular/core';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { BaseService } from '../base/base.service';\n\n@Directive()\nexport abstract class BaseFetchService<D extends ApiDto | ApiDto[]> extends BaseService {\n //abstract fetch(id: number): D;\n\n getStateKey(url: string): StateKey<D> {\n return makeStateKey<D>(url);\n }\n\n getDataFromState(url: string): D | null {\n const key = this.getStateKey(url);\n let data = null;\n if (this.transferState.hasKey(key)) {\n console.log('Load from transfer state');\n data = this.transferState.get(key, null);\n this.transferState.remove(key);\n }\n return data;\n }\n\n setDataToState(url: string, data: D | null) {\n if (!this.isPlatformBrowser()) {\n const key = this.getStateKey(url);\n this.transferState.set(key, data);\n }\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { ApiDto, PageableDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { removeDuplicate } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { BaseFetchService } from '../fetch/base.fetch.service';\n\n@Injectable({ providedIn: 'root' })\nexport abstract class BaseSearchService<T extends ApiDto> extends BaseFetchService<T[]> {\n datas = signal<T[]>([]);\n\n page = signal<number>(1);\n search = signal<string>('');\n isLoading = signal<boolean>(false);\n stopFetch = signal<boolean>(false);\n\n getUrl(): string {\n let url = this.getEndPoint();\n const params = this.getParams();\n url += '?page=' + this.page() + params + '&query=';\n return url;\n }\n\n abstract getEndPoint(): string;\n\n getParams(): string {\n return '';\n }\n\n fetchByPage(search: string = '', page: number = 1): void {\n this.search.set(search);\n if (page === 1) {\n this.stopFetch.set(false);\n }\n if (this.stopFetch()) {\n return;\n }\n this.isLoading.set(true);\n const url = this.getUrl();\n\n const data = this.getDataFromState(url);\n if (data) {\n this.updateDate(page, data);\n return;\n }\n\n this.apiService.get<PageableDto<T[]>>(\n url + search,\n (data) => {\n this.page.set(page + 1);\n this.setDataToState(url, data.content);\n this.updateDate(page, data.content);\n this.isLoading.set(false);\n },\n () => {\n this.stopFetch.set(true);\n },\n );\n }\n\n updateDate(page: number, datas: T[]): void {\n console.log(page);\n if (page === 1) {\n this.datas.set([]);\n }\n this.datas.update((current) => removeDuplicate([...current, ...datas]));\n if (datas?.length === 0) {\n this.stopFetch.set(true);\n }\n this.afterFetch(datas);\n }\n\n afterFetch(data: T[]): T[] {\n return data;\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-base-service.mjs","sources":["../../../projects/ng-dsv/base/service/base/base.service.ts","../../../projects/ng-dsv/base/service/fetch/base.fetch.service.ts","../../../projects/ng-dsv/base/service/search/base.search.service.ts","../../../projects/ng-dsv/base/service/ng-vagabond-lab-ng-dsv-base-service.ts"],"sourcesContent":["import { Directive, inject, signal, TransferState } from '@angular/core';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\n\n@Directive()\nexport abstract class BaseService {\n readonly apiService = inject(ApiService);\n readonly transferState = inject(TransferState);\n\n readonly loaded = signal<boolean>(true);\n\n isPlatformBrowser() {\n return this.apiService.platformService.isPlatformBrowser();\n }\n}\n","import { Directive, makeStateKey, signal, StateKey } from '@angular/core';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { BaseService } from '../base/base.service';\n\n@Directive()\nexport abstract class BaseFetchService<D extends ApiDto | ApiDto[]> extends BaseService {\n //abstract fetch(id: number): D;\n\n readonly ssr = signal<boolean>(true);\n\n getStateKey(url: string): StateKey<D> {\n return makeStateKey<D>(url);\n }\n\n getDataFromState(url: string): D | null {\n const key = this.getStateKey(url);\n let data = null;\n if (this.transferState.hasKey(key)) {\n console.log('Load from transfer state');\n data = this.transferState.get(key, null);\n this.transferState.remove(key);\n }\n return data;\n }\n\n setDataToState(url: string, data: D | null) {\n if (!this.isPlatformBrowser()) {\n const key = this.getStateKey(url);\n this.transferState.set(key, data);\n }\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { ApiDto, PageableDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { removeDuplicate } from '@ng-vagabond-lab/ng-dsv/storage';\nimport { BaseFetchService } from '../fetch/base.fetch.service';\n\n@Injectable({ providedIn: 'root' })\nexport abstract class BaseSearchService<T extends ApiDto> extends BaseFetchService<T[]> {\n datas = signal<T[]>([]);\n\n page = signal<number>(1);\n search = signal<string>('');\n isLoading = signal<boolean>(false);\n stopFetch = signal<boolean>(false);\n\n getUrl(): string {\n let url = this.getEndPoint();\n const params = this.getParams();\n url += '?page=' + this.page() + params + '&search=';\n return url;\n }\n\n abstract getEndPoint(): string;\n\n getParams(): string {\n return '';\n }\n\n fetchByPage(search: string = '', page: number = 1): void {\n this.search.set(search);\n if (page === 1) {\n this.stopFetch.set(false);\n }\n if (this.stopFetch()) {\n return;\n }\n const url = this.getUrl();\n\n const data = this.getDataFromState(url);\n if (data) {\n this.updateDate(page, data);\n this.isLoading.set(false);\n return;\n }\n this.isLoading.set(true);\n\n this.apiService.get<PageableDto<T[]>>(\n url + search,\n (data) => {\n this.page.set(page + 1);\n this.setDataToState(url, data.content);\n this.isLoading.set(false);\n this.updateDate(page, data.content);\n },\n () => {\n this.stopFetch.set(true);\n },\n );\n }\n\n updateDate(page: number, datas: T[]): void {\n if (page === 1) {\n this.datas.set([]);\n }\n this.datas.update((current) => removeDuplicate([...current, ...datas]));\n if (datas?.length === 0) {\n this.stopFetch.set(true);\n }\n this.afterFetch(datas);\n }\n\n afterFetch(data: T[]): void {\n return;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,25 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, signal, effect, TransferState, Directive, makeStateKey, Injectable } from '@angular/core';
2
+ import { signal, inject, TransferState, Directive, makeStateKey, Injectable, effect } from '@angular/core';
3
3
  import { AuthService } from '@ng-vagabond-lab/ng-dsv/modules/auth';
4
- import { RouterService } from '@ng-vagabond-lab/ng-dsv/router';
5
4
  import { Title, Meta } from '@angular/platform-browser';
6
5
  import { ApiService } from '@ng-vagabond-lab/ng-dsv/api';
6
+ import { RouterService } from '@ng-vagabond-lab/ng-dsv/router';
7
7
  import { toSignal } from '@angular/core/rxjs-interop';
8
8
  import { ActivatedRoute } from '@angular/router';
9
9
  import { scrollOnClassTo } from '@ng-vagabond-lab/ng-dsv/ds/scroll';
10
10
 
11
- class BaseAppScrollComponent {
12
- authService = inject(AuthService);
13
- routerService = inject(RouterService);
14
- initRefreshToken = signal(false, ...(ngDevMode ? [{ debugName: "initRefreshToken" }] : /* istanbul ignore next */ []));
15
- constructor() {
16
- effect(() => {
17
- if (this.authService.isPlatformBrowser() && !this.initRefreshToken()) {
18
- this.initRefreshToken.set(true);
19
- this.authService.refreshToken();
20
- }
21
- });
22
- }
11
+ // TODO : checker les inject dans les composants ???
12
+ class BaseComponent {
13
+ loaded = signal(false, ...(ngDevMode ? [{ debugName: "loaded" }] : /* istanbul ignore next */ []));
23
14
  }
24
15
 
25
16
  class BaseService {
@@ -29,10 +20,10 @@ class BaseService {
29
20
  isPlatformBrowser() {
30
21
  return this.apiService.platformService.isPlatformBrowser();
31
22
  }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Directive });
33
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: BaseService, isStandalone: true, ngImport: i0 });
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseService, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.10", type: BaseService, isStandalone: true, ngImport: i0 });
34
25
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: BaseService, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BaseService, decorators: [{
36
27
  type: Directive
37
28
  }] });
38
29
 
@@ -46,10 +37,10 @@ class SeoService extends BaseService {
46
37
  this.meta.updateTag({ name: 'description', content: description });
47
38
  image && this.meta.updateTag({ property: 'og:image', content: image });
48
39
  }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SeoService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
50
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SeoService, providedIn: 'root' });
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SeoService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
41
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SeoService, providedIn: 'root' });
51
42
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SeoService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: SeoService, decorators: [{
53
44
  type: Injectable,
54
45
  args: [{ providedIn: 'root' }]
55
46
  }] });
@@ -59,6 +50,20 @@ class BaseContainer {
59
50
  seoService = inject(SeoService);
60
51
  }
61
52
 
53
+ class BaseMainContainer {
54
+ authService = inject(AuthService);
55
+ routerService = inject(RouterService);
56
+ initRefreshToken = signal(false, ...(ngDevMode ? [{ debugName: "initRefreshToken" }] : /* istanbul ignore next */ []));
57
+ constructor() {
58
+ effect(() => {
59
+ if (this.authService.isPlatformBrowser() && !this.initRefreshToken()) {
60
+ this.initRefreshToken.set(true);
61
+ this.authService.refreshToken();
62
+ }
63
+ });
64
+ }
65
+ }
66
+
62
67
  class BaseRouteContainer extends BaseContainer {
63
68
  activatedRoute = inject(ActivatedRoute);
64
69
  routeParams = toSignal(this.activatedRoute.params);
@@ -74,7 +79,8 @@ class BaseSearchContainer {
74
79
  effect(() => {
75
80
  if (this.service?.datas().length === 0 &&
76
81
  this.service.search() === '' &&
77
- !this.service.stopFetch()) {
82
+ !this.service.stopFetch() &&
83
+ (this.service.ssr() || this.authService.isPlatformBrowser())) {
78
84
  this.doFetch();
79
85
  }
80
86
  });
@@ -93,10 +99,11 @@ const isCallback = (callback) => {
93
99
  const listeners = callback['listeners'];
94
100
  return listeners?.length > 0;
95
101
  };
102
+ const generateArray = (length = 20) => Array.from({ length }, (_, i) => i);
96
103
 
97
104
  /**
98
105
  * Generated bundle index. Do not edit.
99
106
  */
100
107
 
101
- export { BaseAppScrollComponent, BaseContainer, BaseRouteContainer, BaseSearchContainer, isCallback };
108
+ export { BaseComponent, BaseContainer, BaseMainContainer, BaseRouteContainer, BaseSearchContainer, generateArray, isCallback };
102
109
  //# sourceMappingURL=ng-vagabond-lab-ng-dsv-base.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-vagabond-lab-ng-dsv-base.mjs","sources":["../../../projects/ng-dsv/base/component/base.app.scroll.component.ts","../../../projects/ng-dsv/base/service/base/base.service.ts","../../../projects/ng-dsv/base/service/seo/seo.service.ts","../../../projects/ng-dsv/base/container/base.container.ts","../../../projects/ng-dsv/base/container/route/base.route.container.ts","../../../projects/ng-dsv/base/container/search/base.search.container.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 { AuthService } from '@ng-vagabond-lab/ng-dsv/modules/auth';\nimport { RouterService } from '@ng-vagabond-lab/ng-dsv/router';\n\nexport abstract class BaseAppScrollComponent {\n readonly authService = inject(AuthService);\n readonly routerService = inject(RouterService);\n\n initRefreshToken = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n if (this.authService.isPlatformBrowser() && !this.initRefreshToken()) {\n this.initRefreshToken.set(true);\n this.authService.refreshToken();\n }\n });\n }\n}\n","import { Directive, inject, signal, TransferState } from '@angular/core';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\n\n@Directive()\nexport abstract class BaseService {\n readonly apiService = inject(ApiService);\n readonly transferState = inject(TransferState);\n\n readonly loaded = signal<boolean>(true);\n\n isPlatformBrowser() {\n return this.apiService.platformService.isPlatformBrowser();\n }\n}\n","import { inject, Injectable, makeStateKey } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { BaseService } from '../base/base.service';\n\n@Injectable({ providedIn: 'root' })\nexport class SeoService extends BaseService {\n public readonly title = inject(Title);\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 { AuthService } from '@ng-vagabond-lab/ng-dsv/modules/auth';\nimport { SeoService } from '../service/seo/seo.service';\n\nexport abstract class BaseContainer {\n readonly authService = inject(AuthService);\n readonly seoService = inject(SeoService);\n}\n","import { inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { BaseContainer } from '../base.container';\n\nexport abstract class BaseRouteContainer extends BaseContainer {\n activatedRoute = inject<ActivatedRoute>(ActivatedRoute);\n\n routeParams = toSignal(this.activatedRoute.params);\n}\n","import { effect, inject } from '@angular/core';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { scrollOnClassTo } from '@ng-vagabond-lab/ng-dsv/ds/scroll';\nimport { AuthService } from '@ng-vagabond-lab/ng-dsv/modules/auth';\nimport { BaseSearchService } from '../../service';\nimport { SeoService } from '../../service/seo/seo.service';\n\nexport abstract class BaseSearchContainer<T extends BaseSearchService<U>, U extends ApiDto> {\n readonly authService = inject(AuthService);\n readonly seoService = inject(SeoService);\n\n readonly service: T | undefined = undefined;\n\n constructor(searchService: T) {\n this.service = searchService;\n this.service.isLoading.set(true);\n effect(() => {\n if (\n this.service?.datas().length === 0 &&\n this.service.search() === '' &&\n !this.service.stopFetch()\n ) {\n this.doFetch();\n }\n });\n }\n\n doFetch(search: string | undefined = this.service?.search()): void {\n this.service?.fetchByPage(search, this.service?.page());\n }\n\n doSearch(search: string) {\n this.service?.page.set(1);\n scrollOnClassTo('scroll', 0, 0);\n this.doFetch(search);\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.component.ts","../../../projects/ng-dsv/base/service/base/base.service.ts","../../../projects/ng-dsv/base/service/seo/seo.service.ts","../../../projects/ng-dsv/base/container/base.container.ts","../../../projects/ng-dsv/base/container/main/base.main.container.ts","../../../projects/ng-dsv/base/container/route/base.route.container.ts","../../../projects/ng-dsv/base/container/search/base.search.container.ts","../../../projects/ng-dsv/base/utils/base.utils.ts","../../../projects/ng-dsv/base/ng-vagabond-lab-ng-dsv-base.ts"],"sourcesContent":["import { signal } from '@angular/core';\n\n// TODO : checker les inject dans les composants ???\nexport abstract class BaseComponent {\n loaded = signal(false);\n}\n","import { Directive, inject, signal, TransferState } from '@angular/core';\nimport { ApiService } from '@ng-vagabond-lab/ng-dsv/api';\n\n@Directive()\nexport abstract class BaseService {\n readonly apiService = inject(ApiService);\n readonly transferState = inject(TransferState);\n\n readonly loaded = signal<boolean>(true);\n\n isPlatformBrowser() {\n return this.apiService.platformService.isPlatformBrowser();\n }\n}\n","import { inject, Injectable, makeStateKey } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { BaseService } from '../base/base.service';\n\n@Injectable({ providedIn: 'root' })\nexport class SeoService extends BaseService {\n public readonly title = inject(Title);\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 { AuthService } from '@ng-vagabond-lab/ng-dsv/modules/auth';\nimport { SeoService } from '../service/seo/seo.service';\n\nexport abstract class BaseContainer {\n readonly authService = inject(AuthService);\n readonly seoService = inject(SeoService);\n}\n","import { effect, inject, signal } from '@angular/core';\nimport { AuthService } from '@ng-vagabond-lab/ng-dsv/modules/auth';\nimport { RouterService } from '@ng-vagabond-lab/ng-dsv/router';\n\nexport abstract class BaseMainContainer {\n readonly authService = inject(AuthService);\n readonly routerService = inject(RouterService);\n\n initRefreshToken = signal<boolean>(false);\n\n constructor() {\n effect(() => {\n if (this.authService.isPlatformBrowser() && !this.initRefreshToken()) {\n this.initRefreshToken.set(true);\n this.authService.refreshToken();\n }\n });\n }\n}\n","import { inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { BaseContainer } from '../base.container';\n\nexport abstract class BaseRouteContainer extends BaseContainer {\n activatedRoute = inject<ActivatedRoute>(ActivatedRoute);\n\n routeParams = toSignal(this.activatedRoute.params);\n}\n","import { effect, inject } from '@angular/core';\nimport { ApiDto } from '@ng-vagabond-lab/ng-dsv/api';\nimport { scrollOnClassTo } from '@ng-vagabond-lab/ng-dsv/ds/scroll';\nimport { AuthService } from '@ng-vagabond-lab/ng-dsv/modules/auth';\nimport { BaseSearchService } from '../../service';\nimport { SeoService } from '../../service/seo/seo.service';\n\nexport abstract class BaseSearchContainer<T extends BaseSearchService<U>, U extends ApiDto> {\n readonly authService = inject(AuthService);\n readonly seoService = inject(SeoService);\n\n readonly service: T | undefined = undefined;\n\n constructor(searchService: T) {\n this.service = searchService;\n this.service.isLoading.set(true);\n effect(() => {\n if (\n this.service?.datas().length === 0 &&\n this.service.search() === '' &&\n !this.service.stopFetch() &&\n (this.service.ssr() || this.authService.isPlatformBrowser())\n ) {\n this.doFetch();\n }\n });\n }\n\n doFetch(search: string | undefined = this.service?.search()): void {\n this.service?.fetchByPage(search, this.service?.page());\n }\n\n doSearch(search: string) {\n this.service?.page.set(1);\n scrollOnClassTo('scroll', 0, 0);\n this.doFetch(search);\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\nexport const generateArray = (length: number = 20) => Array.from({ length }, (_, i) => i);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAEA;MACsB,aAAa,CAAA;AAC/B,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,6EAAC;AACzB;;MCDqB,WAAW,CAAA;AACpB,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAErC,IAAA,MAAM,GAAG,MAAM,CAAU,IAAI,6EAAC;IAEvC,iBAAiB,GAAA;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,iBAAiB,EAAE;IAC9D;wGARkB,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADhC;;;ACEK,MAAO,UAAW,SAAQ,WAAW,CAAA;AACvB,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AACrB,IAAA,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAEnC,IAAA,OAAO,CAAC,QAAgB,EAAE,KAAa,EAAE,WAAmB,EAAE,KAAc,EAAA;AACxE,QAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK;AACzC,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAS,OAAO,CAAC,EAAE,QAAQ,CAAC;AAC/D,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClE,QAAA,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC1E;wGAVS,UAAU,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAV,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cADG,MAAM,EAAA,CAAA;;4FACnB,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCAZ,aAAa,CAAA;AACtB,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC3C;;MCHqB,iBAAiB,CAAA;AAC1B,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAE9C,IAAA,gBAAgB,GAAG,MAAM,CAAU,KAAK,uFAAC;AAEzC,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAClE,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,gBAAA,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;YACnC;AACJ,QAAA,CAAC,CAAC;IACN;AACH;;ACbK,MAAgB,kBAAmB,SAAQ,aAAa,CAAA;AAC1D,IAAA,cAAc,GAAG,MAAM,CAAiB,cAAc,CAAC;IAEvD,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;AACrD;;MCFqB,mBAAmB,CAAA;AAC5B,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAE/B,OAAO,GAAkB,SAAS;AAE3C,IAAA,WAAA,CAAY,aAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,aAAa;QAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,MAAK;YACR,IACI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC;AAClC,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;AAC5B,gBAAA,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AACzB,iBAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,EAC9D;gBACE,IAAI,CAAC,OAAO,EAAE;YAClB;AACJ,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,OAAO,CAAC,MAAA,GAA6B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAA;AACvD,QAAA,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3D;AAEA,IAAA,QAAQ,CAAC,MAAc,EAAA;QACnB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACzB,QAAA,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACxB;AACH;;ACnCM,MAAM,UAAU,GAAG,CAAI,QAA6B,KAAI;AAC3D,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAwC,CAAC;AACpE,IAAA,OAAO,SAAS,EAAE,MAAM,GAAG,CAAC;AAChC;AAEO,MAAM,aAAa,GAAG,CAAC,MAAA,GAAiB,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;;ACPxF;;AAEG;;;;"}
@@ -15,10 +15,10 @@ class DsvAccordionComponent {
15
15
  doToogle() {
16
16
  this.isOpen.update((tootle) => !tootle);
17
17
  }
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{--accordion-margin: 10px;--accordion-padding: 10px;--accordion-width: calc(100% - 40px) ;--accordion-header-padding: 5px 10px;--accordion-text-display: flex;--accordion-text-padding: 0px 10px;--accordion-text-width: calc(100% - 20px) ;display:flex;flex-direction:column;gap:7px;margin:var(--accordion-margin);padding:var(--accordion-padding);width:var(--accordion-width);background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;width:95%;font-weight:700;cursor:pointer;padding:var(--accordion-header-padding)}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-text{display:var(--accordion-text-display);width:var(--accordion-text-width);padding:var(--accordion-text-padding);overflow:hidden;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" }] });
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", 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{--accordion-margin: 10px;--accordion-padding: 10px;--accordion-width: calc(100% - 40px) ;--accordion-header-padding: 5px 10px;--accordion-text-display: flex;--accordion-text-padding: 0px 10px;--accordion-text-width: calc(100% - 20px) ;display:flex;flex-direction:column;gap:7px;margin:var(--accordion-margin);padding:var(--accordion-padding);width:var(--accordion-width);background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;width:95%;font-weight:700;cursor:pointer;padding:var(--accordion-header-padding)}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-text{display:var(--accordion-text-display);width:var(--accordion-text-width);padding:var(--accordion-text-padding);overflow:hidden;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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvAccordionComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvAccordionComponent, decorators: [{
22
22
  type: Component,
23
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{--accordion-margin: 10px;--accordion-padding: 10px;--accordion-width: calc(100% - 40px) ;--accordion-header-padding: 5px 10px;--accordion-text-display: flex;--accordion-text-padding: 0px 10px;--accordion-text-width: calc(100% - 20px) ;display:flex;flex-direction:column;gap:7px;margin:var(--accordion-margin);padding:var(--accordion-padding);width:var(--accordion-width);background-color:var(--background-card);position:relative;border-radius:0}:host .dsv-accordion-header{display:flex;width:95%;font-weight:700;cursor:pointer;padding:var(--accordion-header-padding)}:host .dsv-accordion-header i{position:absolute;right:10px}:host .dsv-accordion-text{display:var(--accordion-text-display);width:var(--accordion-text-width);padding:var(--accordion-text-padding);overflow:hidden;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 }] }] } });
@@ -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,o7BAAA,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,o7BAAA,CAAA,EAAA;;;AEL5B;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-accordion.mjs","sources":["../../../projects/ng-dsv/ds/accordion/component/accordion.component.ts","../../../projects/ng-dsv/ds/accordion/component/accordion.component.html","../../../projects/ng-dsv/ds/accordion/ng-vagabond-lab-ng-dsv-ds-accordion.ts"],"sourcesContent":["import { Component, effect, input, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-accordion',\n imports: [TranslatePipe],\n templateUrl: './accordion.component.html',\n styleUrls: ['./accordion.component.scss'],\n})\nexport class DsvAccordionComponent {\n open = input<boolean>(false);\n titleText = input<string>('');\n color = input<string>('');\n\n isOpen = signal<boolean>(this.open());\n\n constructor() {\n effect(() => {\n this.isOpen.set(this.open());\n });\n }\n\n doToogle() {\n this.isOpen.update((tootle) => !tootle);\n }\n}\n","<a\n class=\"dsv-accordion-header\"\n (click)=\"doToogle()\"\n>\n {{ titleText() | translate }}\n @if (isOpen() === true) {\n <i class=\"ri-arrow-up-s-line\"></i>\n } @else {\n <i class=\"ri-arrow-down-s-line\"></i>\n }\n</a>\n<div\n class=\"dsv-accordion-text\"\n [class.open]=\"isOpen() === true\"\n>\n <ng-content></ng-content>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MASa,qBAAqB,CAAA;AAC9B,IAAA,IAAI,GAAG,KAAK,CAAU,KAAK,2EAAC;AAC5B,IAAA,SAAS,GAAG,KAAK,CAAS,EAAE,gFAAC;AAC7B,IAAA,KAAK,GAAG,KAAK,CAAS,EAAE,4EAAC;IAEzB,MAAM,GAAG,MAAM,CAAU,IAAI,CAAC,IAAI,EAAE,6EAAC;AAErC,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAChC,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC;IAC3C;wGAfS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAArB,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,o7BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDZc,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;4FAId,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACI,eAAe,EAAA,OAAA,EAChB,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,+XAAA,EAAA,MAAA,EAAA,CAAA,o7BAAA,CAAA,EAAA;;;AEL5B;;AAEG;;;;"}
@@ -25,10 +25,10 @@ class DsvAvatarComponent extends BaseColorComponent {
25
25
  onClick() {
26
26
  this.isCallback() && this.callback?.emit();
27
27
  }
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 var(--border)}:host.dsv-avatar.callback:active{opacity:.8}\n"] });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", 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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvAvatarComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvAvatarComponent, decorators: [{
32
32
  type: Component,
33
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: [{
@@ -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,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;;;;"}
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;wGA3BS,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,SAAA,EAAA,IAAA,EAAA,kBAAkB,mWCV/B,gJAQA,EAAA,MAAA,EAAA,CAAA,2XAAA,CAAA,EAAA,CAAA;;4FDEa,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;;;;"}
@@ -29,10 +29,10 @@ class DsvButtonComponent extends BaseColorComponent {
29
29
  }
30
30
  !this.disabled() && this.callback.emit();
31
31
  }
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvButtonComponent, isStandalone: true, selector: "dsv-button", inputs: { libelle: { classPropertyName: "libelle", publicName: "libelle", 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 }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noHover: { classPropertyName: "noHover", publicName: "noHover", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, prevent: { classPropertyName: "prevent", publicName: "prevent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, usesInheritance: true, ngImport: i0, template: "@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0)}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:500;letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:0;padding:6px;min-width:10px;line-height:1;text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);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)}:host button.dsv-button.padding{padding:8px 10px}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host 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}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: DsvButtonComponent, isStandalone: true, selector: "dsv-button", inputs: { libelle: { classPropertyName: "libelle", publicName: "libelle", 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 }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, noHover: { classPropertyName: "noHover", publicName: "noHover", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, prevent: { classPropertyName: "prevent", publicName: "prevent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { callback: "callback" }, usesInheritance: true, ngImport: i0, template: "@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0)}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:500;letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:0;padding:6px;min-width:10px;line-height:1;text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);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)}:host button.dsv-button.padding{padding:8px 10px}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host 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}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }] });
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvButtonComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvButtonComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'dsv-button', imports: [TranslatePipe], template: "@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n", styles: [":host{--button-border-radius: 4px;--button-disabled-background: rgb(200, 200, 200);--button-disabled-color: rgba(0, 0, 0)}:host button.dsv-button{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;box-sizing:border-box;vertical-align:middle;flex-direction:row;gap:5px;align-items:center;justify-content:center;font-weight:500;letter-spacing:.02857em;text-transform:uppercase;outline:0px;margin:0;padding:6px;min-width:10px;line-height:1;text-decoration:none;border-width:0px;border-radius:var(--button-border-radius);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)}:host button.dsv-button.padding{padding:8px 10px}:host button.dsv-button:not(:disabled):not(.no-hover):hover{transform:scale(1);opacity:1.2}:host 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}:host button.dsv-button:not(:disabled):active{transform:scale(1);opacity:.8}:host button.dsv-button:disabled{cursor:auto;background:var(--button-disabled-background);color:var(--button-disabled-color)}\n"] }]
38
38
  }], ctorParameters: () => [], propDecorators: { libelle: [{ type: i0.Input, args: [{ isSignal: true, alias: "libelle", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconEnd", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], noHover: [{ type: i0.Input, args: [{ isSignal: true, alias: "noHover", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], prevent: [{ type: i0.Input, args: [{ isSignal: true, alias: "prevent", required: false }] }], callback: [{ type: i0.Output, args: ["callback"] }] } });
@@ -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/ng-vagabond-lab-ng-dsv-ds-button.ts"],"sourcesContent":["import { Component, effect, input, output } from '@angular/core';\nimport { BaseColorComponent } from '@ng-vagabond-lab/ng-dsv/ds/color';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-button',\n imports: [TranslatePipe],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class DsvButtonComponent extends BaseColorComponent {\n libelle = input<string>('');\n icon = input<string>('');\n iconEnd = input<string>('');\n disabled = input<boolean>(false);\n noHover = input<boolean>(false);\n type = input<string>('button');\n\n prevent = input<boolean>(true);\n\n callback = output<void>();\n\n constructor() {\n super();\n effect(() => {\n const classes: string[] = [];\n this.icon() && classes.push('icon');\n this.libelle() !== '' && classes.push('padding');\n this.noHover() && classes.push('no-hover');\n\n this.setClasses('dsv-button', classes);\n });\n }\n\n doClick(event: Event) {\n if (this.prevent() && this.type() !== 'submit') {\n event.stopPropagation();\n event.preventDefault();\n }\n !this.disabled() && this.callback.emit();\n }\n}\n","@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAUM,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;AACtD,IAAA,OAAO,GAAG,KAAK,CAAS,EAAE,8EAAC;AAC3B,IAAA,IAAI,GAAG,KAAK,CAAS,EAAE,2EAAC;AACxB,IAAA,OAAO,GAAG,KAAK,CAAS,EAAE,8EAAC;AAC3B,IAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;AAChC,IAAA,OAAO,GAAG,KAAK,CAAU,KAAK,8EAAC;AAC/B,IAAA,IAAI,GAAG,KAAK,CAAS,QAAQ,2EAAC;AAE9B,IAAA,OAAO,GAAG,KAAK,CAAU,IAAI,8EAAC;IAE9B,QAAQ,GAAG,MAAM,EAAQ;AAEzB,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACR,MAAM,OAAO,GAAa,EAAE;YAC5B,IAAI,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,YAAA,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAChD,IAAI,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAE1C,YAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC;AAC1C,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE;YAC5C,KAAK,CAAC,eAAe,EAAE;YACvB,KAAK,CAAC,cAAc,EAAE;QAC1B;QACA,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IAC5C;uGA9BS,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,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,ECV/B,qfAqBA,EAAA,MAAA,EAAA,CAAA,qqCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDfc,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAId,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACI,YAAY,EAAA,OAAA,EACb,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,qfAAA,EAAA,MAAA,EAAA,CAAA,qqCAAA,CAAA,EAAA;;;AEN5B;;AAEG;;;;"}
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/ng-vagabond-lab-ng-dsv-ds-button.ts"],"sourcesContent":["import { Component, effect, input, output } from '@angular/core';\nimport { BaseColorComponent } from '@ng-vagabond-lab/ng-dsv/ds/color';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'dsv-button',\n imports: [TranslatePipe],\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class DsvButtonComponent extends BaseColorComponent {\n libelle = input<string>('');\n icon = input<string>('');\n iconEnd = input<string>('');\n disabled = input<boolean>(false);\n noHover = input<boolean>(false);\n type = input<string>('button');\n\n prevent = input<boolean>(true);\n\n callback = output<void>();\n\n constructor() {\n super();\n effect(() => {\n const classes: string[] = [];\n this.icon() && classes.push('icon');\n this.libelle() !== '' && classes.push('padding');\n this.noHover() && classes.push('no-hover');\n\n this.setClasses('dsv-button', classes);\n });\n }\n\n doClick(event: Event) {\n if (this.prevent() && this.type() !== 'submit') {\n event.stopPropagation();\n event.preventDefault();\n }\n !this.disabled() && this.callback.emit();\n }\n}\n","@if (show()) {\n <button\n [class]=\"classes()\"\n [type]=\"type()\"\n [disabled]=\"disabled()\"\n (click)=\"doClick($event)\"\n >\n @if (icon()) {\n <i [class]=\"icon()\"></i>\n }\n @if (libelle()) {\n <span>\n {{ libelle() | translate }}\n </span>\n }\n <ng-content></ng-content>\n @if (iconEnd()) {\n <i [class]=\"iconEnd()\"></i>\n }\n </button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@ class DsvCardComponent {
9
9
  subtitle = input('', ...(ngDevMode ? [{ debugName: "subtitle" }] : /* istanbul ignore next */ []));
10
10
  image = input(...(ngDevMode ? [undefined, { debugName: "image" }] : /* istanbul ignore next */ []));
11
11
  alt = input(...(ngDevMode ? [undefined, { debugName: "alt" }] : /* istanbul ignore next */ []));
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- 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: { classAttribute: "dsv-card" }, ngImport: i0, template: "@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\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\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{--card-content-overflow: hidden;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 h2{margin:0;padding:0}:host img{width:100%;max-height:300px;border-top-left-radius:2px;border-top-right-radius:2px}:host .dsv-card-header{display:flex;flex-direction:row;gap:10px;align-items:center;padding:10px}:host .dsv-card-header:empty{display:none}:host .dsv-card-content{display:flex;flex-direction:column;padding:10px;overflow:var(--card-content-overflow)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvAvatarComponent, selector: "dsv-avatar", inputs: ["avatar"], outputs: ["callback"] }] });
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", 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: { classAttribute: "dsv-card" }, ngImport: i0, template: "@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\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\n<div class=\"dsv-card-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{--card-content-overflow: hidden;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 h2{margin:0;padding:0}:host img{width:100%;max-height:300px;border-top-left-radius:2px;border-top-right-radius:2px}:host .dsv-card-header{display:flex;flex-direction:row;gap:10px;align-items:center;padding:10px}:host .dsv-card-header:empty{display:none}:host .dsv-card-content{display:flex;flex-direction:column;padding:10px;overflow:var(--card-content-overflow)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DsvAvatarComponent, selector: "dsv-avatar", inputs: ["avatar"], outputs: ["callback"] }] });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvCardComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvCardComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'dsv-card', imports: [CommonModule, DsvAvatarComponent], host: {
18
18
  class: 'dsv-card',
@@ -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, 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 host: {\n class: 'dsv-card',\n },\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","@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\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\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":";;;;;MAaa,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;uGALZ,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,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb7B,kmBAyBA,EAAA,MAAA,EAAA,CAAA,2lBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBc,YAAY,+BAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAOjC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,WACX,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAA,IAAA,EAGrC;AACF,wBAAA,KAAK,EAAE,UAAU;AACpB,qBAAA,EAAA,QAAA,EAAA,kmBAAA,EAAA,MAAA,EAAA,CAAA,2lBAAA,CAAA,EAAA;;;AEXL;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-vagabond-lab-ng-dsv-ds-card.mjs","sources":["../../../projects/ng-dsv/ds/card/component/card.component.ts","../../../projects/ng-dsv/ds/card/component/card.component.html","../../../projects/ng-dsv/ds/card/ng-vagabond-lab-ng-dsv-ds-card.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, 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 host: {\n class: 'dsv-card',\n },\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","@if (image()) {\n <img\n src=\"{{ image() }}\"\n [alt]=\"alt()\"\n />\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\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":";;;;;MAaa,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;wGALZ,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,SAAA,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,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb7B,kmBAyBA,EAAA,MAAA,EAAA,CAAA,2lBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBc,YAAY,+BAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAOjC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,WACX,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAA,IAAA,EAGrC;AACF,wBAAA,KAAK,EAAE,UAAU;AACpB,qBAAA,EAAA,QAAA,EAAA,kmBAAA,EAAA,MAAA,EAAA,CAAA,2lBAAA,CAAA,EAAA;;;AEXL;;AAEG;;;;"}
@@ -21,10 +21,10 @@ class DsvChipComponent extends BaseColorComponent {
21
21
  doDelete() {
22
22
  this.delete.emit();
23
23
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DsvChipComponent, isStandalone: true, selector: "dsv-chip", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"classes()\">\n <span>\n {{ text() | translate }}\n </span>\n @if (isDelete()) {\n <dsv-button\n icon=\"ri-delete-bin-line\"\n variant=\"text\"\n color=\"inherit\"\n (callback)=\"doDelete()\"\n ></dsv-button>\n }\n</div>\n", styles: [":host{--chip-padding: 10px 20px;--chip-width: auto;--chip-border-radius: 15px;display:flex;-webkit-user-select:none;user-select:none}:host:empty{display:none}:host .dsv-chip{display:flex;align-items:center;justify-content:center;padding:var(--chip-padding);width:var(--chip-width);border-radius:var(--chip-border-radius)}:host .dsv-chip.with-delete{padding:5px 5px 5px 20px}:host .dsv-chip:empty{display:none}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: DsvChipComponent, isStandalone: true, selector: "dsv-chip", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { delete: "delete" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"classes()\">\n <span>\n {{ text() | translate }}\n </span>\n @if (isDelete()) {\n <dsv-button\n icon=\"ri-delete-bin-line\"\n variant=\"text\"\n color=\"inherit\"\n (callback)=\"doDelete()\"\n ></dsv-button>\n }\n</div>\n", styles: [":host{--chip-padding: 10px 20px;--chip-width: auto;--chip-border-radius: 15px;display:flex;-webkit-user-select:none;user-select:none}:host:empty{display:none}:host .dsv-chip{display:flex;align-items:center;justify-content:center;padding:var(--chip-padding);width:var(--chip-width);border-radius:var(--chip-border-radius)}:host .dsv-chip.with-delete{padding:5px 5px 5px 20px}:host .dsv-chip:empty{display:none}\n"], dependencies: [{ kind: "component", type: DsvButtonComponent, selector: "dsv-button", inputs: ["libelle", "icon", "iconEnd", "disabled", "noHover", "type", "prevent"], outputs: ["callback"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DsvChipComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: DsvChipComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'dsv-chip', imports: [DsvButtonComponent, TranslatePipe], template: "<div [class]=\"classes()\">\n <span>\n {{ text() | translate }}\n </span>\n @if (isDelete()) {\n <dsv-button\n icon=\"ri-delete-bin-line\"\n variant=\"text\"\n color=\"inherit\"\n (callback)=\"doDelete()\"\n ></dsv-button>\n }\n</div>\n", styles: [":host{--chip-padding: 10px 20px;--chip-width: auto;--chip-border-radius: 15px;display:flex;-webkit-user-select:none;user-select:none}:host:empty{display:none}:host .dsv-chip{display:flex;align-items:center;justify-content:center;padding:var(--chip-padding);width:var(--chip-width);border-radius:var(--chip-border-radius)}:host .dsv-chip.with-delete{padding:5px 5px 5px 20px}:host .dsv-chip:empty{display:none}\n"] }]
30
30
  }], ctorParameters: () => [], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], delete: [{ type: i0.Output, args: ["delete"] }] } });