@sdcorejs/angular 21.1.2 → 21.1.4

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 (177) hide show
  1. package/README.md +127 -807
  2. package/fesm2022/sdcorejs-angular-components-anchor.mjs +14 -14
  3. package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
  4. package/fesm2022/sdcorejs-angular-components-audit-diff.mjs +332 -0
  5. package/fesm2022/sdcorejs-angular-components-audit-diff.mjs.map +1 -0
  6. package/fesm2022/sdcorejs-angular-components-badge.mjs +1 -0
  7. package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
  8. package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs +121 -0
  9. package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs.map +1 -0
  10. package/fesm2022/sdcorejs-angular-components-data-state.mjs +68 -0
  11. package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -0
  12. package/fesm2022/sdcorejs-angular-components-document-builder.mjs +18 -23
  13. package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +1 -1
  14. package/fesm2022/sdcorejs-angular-components-editor.mjs +6 -4
  15. package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
  16. package/fesm2022/sdcorejs-angular-components-form-generic.mjs +633 -886
  17. package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
  18. package/fesm2022/sdcorejs-angular-components-import-excel.mjs +26 -41
  19. package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
  20. package/fesm2022/sdcorejs-angular-components-job-progress.mjs +97 -0
  21. package/fesm2022/sdcorejs-angular-components-job-progress.mjs.map +1 -0
  22. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs +10 -20
  23. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs.map +1 -1
  24. package/fesm2022/sdcorejs-angular-components-modal.mjs +61 -4
  25. package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
  26. package/fesm2022/sdcorejs-angular-components-preview.mjs +1438 -218
  27. package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
  28. package/fesm2022/sdcorejs-angular-components-query-bar.mjs +9 -17
  29. package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
  30. package/fesm2022/sdcorejs-angular-components-query-builder.mjs +1 -1
  31. package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
  32. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +39 -2
  33. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
  34. package/fesm2022/sdcorejs-angular-components-tab-router.mjs +76 -52
  35. package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
  36. package/fesm2022/sdcorejs-angular-components-tab.mjs +48 -4
  37. package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
  38. package/fesm2022/sdcorejs-angular-components-table.mjs +123 -89
  39. package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
  40. package/fesm2022/sdcorejs-angular-components-tree.mjs +188 -18
  41. package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
  42. package/fesm2022/sdcorejs-angular-components-upload-file.mjs +17 -23
  43. package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
  44. package/fesm2022/sdcorejs-angular-components.mjs +4 -0
  45. package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
  46. package/fesm2022/sdcorejs-angular-directives.mjs +29 -41
  47. package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
  48. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +9 -8
  49. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
  50. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +20 -71
  51. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
  52. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +8 -4
  53. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
  54. package/fesm2022/sdcorejs-angular-forms-chip.mjs +8 -4
  55. package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
  56. package/fesm2022/sdcorejs-angular-forms-date-range.mjs +18 -14
  57. package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
  58. package/fesm2022/sdcorejs-angular-forms-date.mjs +48 -70
  59. package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
  60. package/fesm2022/sdcorejs-angular-forms-datetime.mjs +62 -528
  61. package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
  62. package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +384 -0
  63. package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -0
  64. package/fesm2022/sdcorejs-angular-forms-input-color.mjs +5 -3
  65. package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
  66. package/fesm2022/sdcorejs-angular-forms-input-number.mjs +16 -11
  67. package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
  68. package/fesm2022/sdcorejs-angular-forms-input.mjs +297 -59
  69. package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
  70. package/fesm2022/sdcorejs-angular-forms-models.mjs +155 -2
  71. package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
  72. package/fesm2022/sdcorejs-angular-forms-radio.mjs +44 -66
  73. package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
  74. package/fesm2022/sdcorejs-angular-forms-select.mjs +8 -21
  75. package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
  76. package/fesm2022/sdcorejs-angular-forms-switch.mjs +19 -64
  77. package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
  78. package/fesm2022/sdcorejs-angular-forms-textarea.mjs +8 -6
  79. package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
  80. package/fesm2022/sdcorejs-angular-forms-time-range.mjs +277 -0
  81. package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -0
  82. package/fesm2022/sdcorejs-angular-forms-time.mjs +307 -0
  83. package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -0
  84. package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +210 -0
  85. package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -0
  86. package/fesm2022/sdcorejs-angular-forms.mjs +73 -4
  87. package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
  88. package/fesm2022/sdcorejs-angular-i18n.mjs +355 -10
  89. package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
  90. package/fesm2022/sdcorejs-angular-interceptors.mjs +12 -17
  91. package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
  92. package/fesm2022/sdcorejs-angular-modules-icon.mjs.map +1 -1
  93. package/fesm2022/sdcorejs-angular-modules-layout.mjs +861 -80
  94. package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
  95. package/fesm2022/sdcorejs-angular-modules.mjs +0 -1
  96. package/fesm2022/sdcorejs-angular-modules.mjs.map +1 -1
  97. package/fesm2022/sdcorejs-angular-pipes.mjs +5 -7
  98. package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
  99. package/fesm2022/sdcorejs-angular-services-api.mjs +407 -137
  100. package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
  101. package/fesm2022/sdcorejs-angular-services-cache.mjs +515 -105
  102. package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
  103. package/fesm2022/sdcorejs-angular-services-confirm.mjs +5 -7
  104. package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
  105. package/fesm2022/sdcorejs-angular-services-docx.mjs +7 -10
  106. package/fesm2022/sdcorejs-angular-services-docx.mjs.map +1 -1
  107. package/fesm2022/sdcorejs-angular-services-loading.mjs +340 -66
  108. package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
  109. package/fesm2022/sdcorejs-angular-services-notify.mjs +7 -10
  110. package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
  111. package/fesm2022/sdcorejs-angular-services-persistence.mjs +899 -0
  112. package/fesm2022/sdcorejs-angular-services-persistence.mjs.map +1 -0
  113. package/fesm2022/sdcorejs-angular-services-storage.mjs +324 -122
  114. package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
  115. package/fesm2022/sdcorejs-angular-services-task.mjs +389 -0
  116. package/fesm2022/sdcorejs-angular-services-task.mjs.map +1 -0
  117. package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs +255 -0
  118. package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs.map +1 -0
  119. package/fesm2022/sdcorejs-angular-services-viewport.mjs +76 -0
  120. package/fesm2022/sdcorejs-angular-services-viewport.mjs.map +1 -0
  121. package/fesm2022/sdcorejs-angular-services.mjs +4 -0
  122. package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
  123. package/package.json +50 -5
  124. package/types/sdcorejs-angular-components-audit-diff.d.ts +74 -0
  125. package/types/sdcorejs-angular-components-badge.d.ts +1 -1
  126. package/types/sdcorejs-angular-components-breadcrumb.d.ts +53 -0
  127. package/types/sdcorejs-angular-components-data-state.d.ts +44 -0
  128. package/types/sdcorejs-angular-components-document-builder.d.ts +5 -5
  129. package/types/sdcorejs-angular-components-form-generic.d.ts +89 -103
  130. package/types/sdcorejs-angular-components-import-excel.d.ts +4 -14
  131. package/types/sdcorejs-angular-components-job-progress.d.ts +38 -0
  132. package/types/sdcorejs-angular-components-mini-editor.d.ts +9 -9
  133. package/types/sdcorejs-angular-components-modal.d.ts +7 -1
  134. package/types/sdcorejs-angular-components-preview.d.ts +181 -28
  135. package/types/sdcorejs-angular-components-side-drawer.d.ts +7 -1
  136. package/types/sdcorejs-angular-components-tab.d.ts +9 -2
  137. package/types/sdcorejs-angular-components-table.d.ts +8 -7
  138. package/types/sdcorejs-angular-components-tree.d.ts +24 -2
  139. package/types/sdcorejs-angular-components-upload-file.d.ts +5 -4
  140. package/types/sdcorejs-angular-components.d.ts +4 -0
  141. package/types/sdcorejs-angular-directives.d.ts +10 -8
  142. package/types/sdcorejs-angular-forms-autocomplete.d.ts +3 -4
  143. package/types/sdcorejs-angular-forms-checkbox.d.ts +4 -8
  144. package/types/sdcorejs-angular-forms-date-range.d.ts +6 -7
  145. package/types/sdcorejs-angular-forms-date.d.ts +3 -3
  146. package/types/sdcorejs-angular-forms-datetime.d.ts +3 -3
  147. package/types/sdcorejs-angular-forms-entity-picker.d.ts +128 -0
  148. package/types/sdcorejs-angular-forms-input-color.d.ts +3 -1
  149. package/types/sdcorejs-angular-forms-input-number.d.ts +4 -2
  150. package/types/sdcorejs-angular-forms-input.d.ts +76 -11
  151. package/types/sdcorejs-angular-forms-models.d.ts +86 -3
  152. package/types/sdcorejs-angular-forms-radio.d.ts +12 -8
  153. package/types/sdcorejs-angular-forms-switch.d.ts +4 -7
  154. package/types/sdcorejs-angular-forms-time-range.d.ts +98 -0
  155. package/types/sdcorejs-angular-forms-time.d.ts +117 -0
  156. package/types/sdcorejs-angular-forms-tree-select.d.ts +76 -0
  157. package/types/sdcorejs-angular-forms.d.ts +15 -5
  158. package/types/sdcorejs-angular-i18n.d.ts +68 -2
  159. package/types/sdcorejs-angular-interceptors.d.ts +5 -6
  160. package/types/sdcorejs-angular-modules-icon.d.ts +2 -3
  161. package/types/sdcorejs-angular-modules-layout.d.ts +288 -15
  162. package/types/sdcorejs-angular-modules.d.ts +0 -1
  163. package/types/sdcorejs-angular-pipes.d.ts +2 -2
  164. package/types/sdcorejs-angular-services-api.d.ts +68 -24
  165. package/types/sdcorejs-angular-services-cache.d.ts +52 -16
  166. package/types/sdcorejs-angular-services-confirm.d.ts +3 -2
  167. package/types/sdcorejs-angular-services-docx.d.ts +2 -3
  168. package/types/sdcorejs-angular-services-loading.d.ts +16 -8
  169. package/types/sdcorejs-angular-services-persistence.d.ts +159 -0
  170. package/types/sdcorejs-angular-services-storage.d.ts +26 -8
  171. package/types/sdcorejs-angular-services-task.d.ts +104 -0
  172. package/types/sdcorejs-angular-services-unsaved-changes.d.ts +83 -0
  173. package/types/sdcorejs-angular-services-viewport.d.ts +42 -0
  174. package/types/sdcorejs-angular-services.d.ts +4 -0
  175. package/fesm2022/sdcorejs-angular-modules-authom.mjs +0 -360
  176. package/fesm2022/sdcorejs-angular-modules-authom.mjs.map +0 -1
  177. package/types/sdcorejs-angular-modules-authom.d.ts +0 -70
@@ -2,7 +2,6 @@ export * from '@sdcorejs/angular/modules/keycloak';
2
2
  export * from '@sdcorejs/angular/modules/permission';
3
3
  export * from '@sdcorejs/angular/modules/auth';
4
4
  export * from '@sdcorejs/angular/modules/layout';
5
- export * from '@sdcorejs/angular/modules/authom';
6
5
  export * from '@sdcorejs/angular/modules/icon';
7
6
 
8
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sdcorejs-angular-modules.mjs","sources":["../../../projects/sdcorejs-angular/modules/sdcorejs-angular-modules.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"sdcorejs-angular-modules.mjs","sources":["../../../projects/sdcorejs-angular/modules/sdcorejs-angular-modules.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;AAEG"}
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Pipe, Injectable, inject } from '@angular/core';
3
3
  import { DateUtilities, NumberUtilities } from '@sdcorejs/angular/utilities/extensions';
4
4
  import { SD_CORE_CONFIGURATION } from '@sdcorejs/angular/configurations';
5
- import * as i1 from '@angular/platform-browser';
5
+ import { DomSanitizer } from '@angular/platform-browser';
6
6
  import { of, interval } from 'rxjs';
7
7
  import { map } from 'rxjs/operators';
8
8
  import { EMPTY_STR } from '@sdcorejs/utils/constants';
@@ -77,10 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
77
77
  }] });
78
78
 
79
79
  class SdSafeHtmlPipe {
80
- sanitizer;
81
- constructor(sanitizer) {
82
- this.sanitizer = sanitizer;
83
- }
80
+ sanitizer = inject(DomSanitizer);
81
+ constructor() { }
84
82
  transform(html) {
85
83
  if (typeof html === 'number') {
86
84
  return html;
@@ -90,7 +88,7 @@ class SdSafeHtmlPipe {
90
88
  }
91
89
  return this.sanitizer.bypassSecurityTrustHtml(html);
92
90
  }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SdSafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SdSafeHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
94
92
  static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.17", ngImport: i0, type: SdSafeHtmlPipe, isStandalone: true, name: "sdSafeHtml" });
95
93
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SdSafeHtmlPipe, providedIn: 'root' });
96
94
  }
@@ -105,7 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
105
103
  args: [{
106
104
  providedIn: 'root',
107
105
  }]
108
- }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
106
+ }], ctorParameters: () => [] });
109
107
 
110
108
  class SdTimeDifferentPipe {
111
109
  maxSecond = 60;
@@ -1 +1 @@
1
- {"version":3,"file":"sdcorejs-angular-pipes.mjs","sources":["../../../projects/sdcorejs-angular/pipes/src/format-date.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/format-datetime.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/format-number.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/safe-html.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/time-different.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/empty.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/view.pipe.ts","../../../projects/sdcorejs-angular/pipes/sdcorejs-angular-pipes.ts"],"sourcesContent":["import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { DateUtilities } from '@sdcorejs/angular/utilities/extensions';\n\n@Pipe({\n name: 'sdFormatDate',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdFormatDatePipe implements PipeTransform {\n transform(value: unknown, format = 'dd/MM/yyyy'): string | null {\n return DateUtilities.toFormat(value, format) || null;\n }\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { DateUtilities } from '@sdcorejs/angular/utilities/extensions';\n\n@Pipe({\n name: 'sdFormatDatetime',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdFormatDatetimePipe implements PipeTransform {\n transform(value: unknown, format = 'dd/MM/yyyy HH:mm:ss'): string | null {\n return DateUtilities.toFormat(value, format) || null;\n }\n}\n","import { inject, Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { ISdCoreConfiguration, SD_CORE_CONFIGURATION } from '@sdcorejs/angular/configurations';\nimport { NumberUtilities } from '@sdcorejs/angular/utilities/extensions';\n@Pipe({\n name: 'sdFormatNumber',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdFormatNumberPipe implements PipeTransform {\n private readonly coreConfiguration: ISdCoreConfiguration | null = inject(SD_CORE_CONFIGURATION, { optional: true });\n\n\n transform(value: any, digits?: number, format?: '1,234,567.89' | '1.234.567,89') {\n const resolvedFormat = format ?? this.coreConfiguration?.format?.number;\n const fixedValue = NumberUtilities.isNumber(value) ? (+value).toFixed(digits ?? 2) : null;\n if (resolvedFormat === '1.234.567,89') {\n return NumberUtilities.toVN(fixedValue);\n }\n return NumberUtilities.toISO(fixedValue);\n }\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sdSafeHtml',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdSafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(html: string | number | undefined | null) {\n if (typeof html === 'number') {\n return html;\n }\n if (!html) {\n return undefined;\n }\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DateUtilities } from '@sdcorejs/angular/utilities/extensions';\nimport { interval, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n@Pipe({\n name: 'sdTimeDifferent',\n standalone: true,\n})\nexport class SdTimeDifferentPipe implements PipeTransform {\n private maxSecond = 60;\n private maxMinute = this.maxSecond * 60;\n private maxHour = this.maxMinute * 24;\n private maxDay = this.maxHour * 30;\n private maxMonth = this.maxHour * 365;\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\n if (!DateUtilities.isDate(value)) {\n return of('');\n }\n if (!different) {\n return of(DateUtilities.toFormat(value, format));\n }\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\n return of(DateUtilities.toFormat(value, format));\n }\n return interval(1000).pipe(\n map(() => {\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\n if (different === 'month' && timeDifferent < this.maxMonth) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'day' && timeDifferent < this.maxDay) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'hour' && timeDifferent < this.maxHour) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'minute' && timeDifferent < this.maxMinute) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'second' && timeDifferent < this.maxSecond) {\n return DateUtilities.timeDifference(value);\n }\n return DateUtilities.toFormat(value, format);\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { EMPTY_STR } from '@sdcorejs/utils/constants';\n@Pipe({\n name: 'sdEmpty',\n standalone: true,\n})\nexport class SdEmptyPipe implements PipeTransform {\n transform(value: any): string {\n if (value === undefined || value === null || value === '') {\n return EMPTY_STR;\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { EMPTY_STR } from '@sdcorejs/utils/constants';\n\n@Pipe({\n name: 'sdView',\n standalone: true,\n})\nexport class SdViewPipe implements PipeTransform {\n transform(value: unknown): string {\n if (value === null || value === undefined || value === '' || (typeof value === 'number' && Number.isNaN(value))) {\n return EMPTY_STR;\n }\n\n if (Array.isArray(value)) {\n if (!value.length) return EMPTY_STR;\n return value.map(item => this.transform(item)).join(', ');\n }\n\n return `${value}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdcorejs-angular-pipes.mjs","sources":["../../../projects/sdcorejs-angular/pipes/src/format-date.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/format-datetime.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/format-number.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/safe-html.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/time-different.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/empty.pipe.ts","../../../projects/sdcorejs-angular/pipes/src/view.pipe.ts","../../../projects/sdcorejs-angular/pipes/sdcorejs-angular-pipes.ts"],"sourcesContent":["import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { DateUtilities } from '@sdcorejs/angular/utilities/extensions';\n\n@Pipe({\n name: 'sdFormatDate',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdFormatDatePipe implements PipeTransform {\n transform(value: unknown, format = 'dd/MM/yyyy'): string | null {\n return DateUtilities.toFormat(value, format) || null;\n }\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { DateUtilities } from '@sdcorejs/angular/utilities/extensions';\n\n@Pipe({\n name: 'sdFormatDatetime',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdFormatDatetimePipe implements PipeTransform {\n transform(value: unknown, format = 'dd/MM/yyyy HH:mm:ss'): string | null {\n return DateUtilities.toFormat(value, format) || null;\n }\n}\n","import { inject, Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { ISdCoreConfiguration, SD_CORE_CONFIGURATION } from '@sdcorejs/angular/configurations';\nimport { NumberUtilities } from '@sdcorejs/angular/utilities/extensions';\n@Pipe({\n name: 'sdFormatNumber',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdFormatNumberPipe implements PipeTransform {\n private readonly coreConfiguration: ISdCoreConfiguration | null = inject(SD_CORE_CONFIGURATION, { optional: true });\n\n transform(value: any, digits?: number, format?: '1,234,567.89' | '1.234.567,89') {\n const resolvedFormat = format ?? this.coreConfiguration?.format?.number;\n const fixedValue = NumberUtilities.isNumber(value) ? (+value).toFixed(digits ?? 2) : null;\n if (resolvedFormat === '1.234.567,89') {\n return NumberUtilities.toVN(fixedValue);\n }\n return NumberUtilities.toISO(fixedValue);\n }\n}\n","import { Injectable, Pipe, PipeTransform, inject } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sdSafeHtml',\n standalone: true,\n})\n@Injectable({\n providedIn: 'root',\n})\nexport class SdSafeHtmlPipe implements PipeTransform {\n private sanitizer = inject(DomSanitizer);\n\n /** Inserted by Angular inject() migration for backwards compatibility */\n constructor(...args: unknown[]);\n\n constructor() {}\n transform(html: string | number | undefined | null) {\n if (typeof html === 'number') {\n return html;\n }\n if (!html) {\n return undefined;\n }\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DateUtilities } from '@sdcorejs/angular/utilities/extensions';\nimport { interval, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n@Pipe({\n name: 'sdTimeDifferent',\n standalone: true,\n})\nexport class SdTimeDifferentPipe implements PipeTransform {\n private maxSecond = 60;\n private maxMinute = this.maxSecond * 60;\n private maxHour = this.maxMinute * 24;\n private maxDay = this.maxHour * 30;\n private maxMonth = this.maxHour * 365;\n transform(value: any, format: string, different: 'second' | 'minute' | 'hour' | 'day' | 'month'): Observable<string> {\n if (!DateUtilities.isDate(value)) {\n return of('');\n }\n if (!different) {\n return of(DateUtilities.toFormat(value, format));\n }\n if (Math.round((new Date().getTime() - new Date(value).getTime()) / 1000) < 0) {\n return of(DateUtilities.toFormat(value, format));\n }\n return interval(1000).pipe(\n map(() => {\n const timeDifferent = Math.round((new Date().getTime() - new Date(value).getTime()) / 1000);\n if (different === 'month' && timeDifferent < this.maxMonth) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'day' && timeDifferent < this.maxDay) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'hour' && timeDifferent < this.maxHour) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'minute' && timeDifferent < this.maxMinute) {\n return DateUtilities.timeDifference(value);\n }\n if (different === 'second' && timeDifferent < this.maxSecond) {\n return DateUtilities.timeDifference(value);\n }\n return DateUtilities.toFormat(value, format);\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { EMPTY_STR } from '@sdcorejs/utils/constants';\n@Pipe({\n name: 'sdEmpty',\n standalone: true,\n})\nexport class SdEmptyPipe implements PipeTransform {\n transform(value: any): string {\n if (value === undefined || value === null || value === '') {\n return EMPTY_STR;\n }\n return value;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { EMPTY_STR } from '@sdcorejs/utils/constants';\n\n@Pipe({\n name: 'sdView',\n standalone: true,\n})\nexport class SdViewPipe implements PipeTransform {\n transform(value: unknown): string {\n if (value === null || value === undefined || value === '' || (typeof value === 'number' && Number.isNaN(value))) {\n return EMPTY_STR;\n }\n\n if (Array.isArray(value)) {\n if (!value.length) return EMPTY_STR;\n return value.map(item => this.transform(item)).join(', ');\n }\n\n return `${value}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}