@sdcorejs/angular 20.1.3 → 20.1.5

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 (168) hide show
  1. package/README.md +19 -14
  2. package/components/audit-diff/index.d.ts +74 -0
  3. package/components/badge/index.d.ts +1 -1
  4. package/components/breadcrumb/index.d.ts +53 -0
  5. package/components/data-state/index.d.ts +44 -0
  6. package/components/document-builder/index.d.ts +5 -5
  7. package/components/form-generic/index.d.ts +67 -104
  8. package/components/import-excel/index.d.ts +4 -14
  9. package/components/index.d.ts +4 -0
  10. package/components/job-progress/index.d.ts +38 -0
  11. package/components/mini-editor/index.d.ts +9 -9
  12. package/components/modal/index.d.ts +7 -1
  13. package/components/preview/index.d.ts +181 -28
  14. package/components/side-drawer/index.d.ts +7 -1
  15. package/components/tab/index.d.ts +9 -2
  16. package/components/table/index.d.ts +8 -7
  17. package/components/tree/index.d.ts +24 -2
  18. package/components/upload-file/index.d.ts +5 -4
  19. package/directives/index.d.ts +10 -8
  20. package/fesm2022/sdcorejs-angular-components-anchor.mjs +14 -14
  21. package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
  22. package/fesm2022/sdcorejs-angular-components-audit-diff.mjs +332 -0
  23. package/fesm2022/sdcorejs-angular-components-audit-diff.mjs.map +1 -0
  24. package/fesm2022/sdcorejs-angular-components-badge.mjs +1 -0
  25. package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
  26. package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs +121 -0
  27. package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs.map +1 -0
  28. package/fesm2022/sdcorejs-angular-components-data-state.mjs +68 -0
  29. package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -0
  30. package/fesm2022/sdcorejs-angular-components-document-builder.mjs +18 -23
  31. package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +1 -1
  32. package/fesm2022/sdcorejs-angular-components-editor.mjs +6 -4
  33. package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
  34. package/fesm2022/sdcorejs-angular-components-form-generic.mjs +495 -838
  35. package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
  36. package/fesm2022/sdcorejs-angular-components-import-excel.mjs +24 -34
  37. package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
  38. package/fesm2022/sdcorejs-angular-components-job-progress.mjs +97 -0
  39. package/fesm2022/sdcorejs-angular-components-job-progress.mjs.map +1 -0
  40. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs +10 -20
  41. package/fesm2022/sdcorejs-angular-components-mini-editor.mjs.map +1 -1
  42. package/fesm2022/sdcorejs-angular-components-modal.mjs +61 -4
  43. package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
  44. package/fesm2022/sdcorejs-angular-components-preview.mjs +1438 -218
  45. package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
  46. package/fesm2022/sdcorejs-angular-components-query-bar.mjs +4 -4
  47. package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
  48. package/fesm2022/sdcorejs-angular-components-query-builder.mjs +1 -1
  49. package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
  50. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +39 -2
  51. package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
  52. package/fesm2022/sdcorejs-angular-components-tab-router.mjs +16 -22
  53. package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
  54. package/fesm2022/sdcorejs-angular-components-tab.mjs +48 -4
  55. package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
  56. package/fesm2022/sdcorejs-angular-components-table.mjs +96 -63
  57. package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
  58. package/fesm2022/sdcorejs-angular-components-tree.mjs +186 -17
  59. package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
  60. package/fesm2022/sdcorejs-angular-components-upload-file.mjs +15 -22
  61. package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
  62. package/fesm2022/sdcorejs-angular-components.mjs +4 -0
  63. package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
  64. package/fesm2022/sdcorejs-angular-directives.mjs +29 -41
  65. package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
  66. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +7 -7
  67. package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
  68. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +20 -83
  69. package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
  70. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +6 -3
  71. package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
  72. package/fesm2022/sdcorejs-angular-forms-chip.mjs +6 -3
  73. package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
  74. package/fesm2022/sdcorejs-angular-forms-date-range.mjs +16 -13
  75. package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
  76. package/fesm2022/sdcorejs-angular-forms-date.mjs +42 -65
  77. package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
  78. package/fesm2022/sdcorejs-angular-forms-datetime.mjs +51 -66
  79. package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
  80. package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +384 -0
  81. package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -0
  82. package/fesm2022/sdcorejs-angular-forms-input-color.mjs +1 -1
  83. package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
  84. package/fesm2022/sdcorejs-angular-forms-input-number.mjs +7 -5
  85. package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
  86. package/fesm2022/sdcorejs-angular-forms-input.mjs +290 -56
  87. package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
  88. package/fesm2022/sdcorejs-angular-forms-models.mjs +155 -2
  89. package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
  90. package/fesm2022/sdcorejs-angular-forms-radio.mjs +44 -78
  91. package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
  92. package/fesm2022/sdcorejs-angular-forms-select.mjs +6 -20
  93. package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
  94. package/fesm2022/sdcorejs-angular-forms-switch.mjs +19 -76
  95. package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
  96. package/fesm2022/sdcorejs-angular-forms-textarea.mjs +6 -5
  97. package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
  98. package/fesm2022/sdcorejs-angular-forms-time-range.mjs +280 -0
  99. package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -0
  100. package/fesm2022/sdcorejs-angular-forms-time.mjs +310 -0
  101. package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -0
  102. package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +210 -0
  103. package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -0
  104. package/fesm2022/sdcorejs-angular-forms.mjs +73 -4
  105. package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
  106. package/fesm2022/sdcorejs-angular-i18n.mjs +375 -10
  107. package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
  108. package/fesm2022/sdcorejs-angular-interceptors.mjs +12 -17
  109. package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
  110. package/fesm2022/sdcorejs-angular-modules-layout.mjs +994 -168
  111. package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
  112. package/fesm2022/sdcorejs-angular-pipes.mjs +5 -7
  113. package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
  114. package/fesm2022/sdcorejs-angular-services-api.mjs +407 -137
  115. package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
  116. package/fesm2022/sdcorejs-angular-services-cache.mjs +515 -105
  117. package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
  118. package/fesm2022/sdcorejs-angular-services-confirm.mjs +5 -7
  119. package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
  120. package/fesm2022/sdcorejs-angular-services-docx.mjs +7 -10
  121. package/fesm2022/sdcorejs-angular-services-docx.mjs.map +1 -1
  122. package/fesm2022/sdcorejs-angular-services-loading.mjs +339 -74
  123. package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
  124. package/fesm2022/sdcorejs-angular-services-notify.mjs +7 -10
  125. package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
  126. package/fesm2022/sdcorejs-angular-services-persistence.mjs +899 -0
  127. package/fesm2022/sdcorejs-angular-services-persistence.mjs.map +1 -0
  128. package/fesm2022/sdcorejs-angular-services-storage.mjs +324 -122
  129. package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
  130. package/fesm2022/sdcorejs-angular-services-task.mjs +389 -0
  131. package/fesm2022/sdcorejs-angular-services-task.mjs.map +1 -0
  132. package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs +255 -0
  133. package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs.map +1 -0
  134. package/fesm2022/sdcorejs-angular-services-viewport.mjs +76 -0
  135. package/fesm2022/sdcorejs-angular-services-viewport.mjs.map +1 -0
  136. package/fesm2022/sdcorejs-angular-services.mjs +4 -0
  137. package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
  138. package/forms/autocomplete/index.d.ts +3 -4
  139. package/forms/checkbox/index.d.ts +4 -8
  140. package/forms/date/index.d.ts +2 -2
  141. package/forms/date-range/index.d.ts +6 -7
  142. package/forms/datetime/index.d.ts +2 -2
  143. package/forms/entity-picker/index.d.ts +128 -0
  144. package/forms/index.d.ts +15 -5
  145. package/forms/input/index.d.ts +74 -11
  146. package/forms/input-number/index.d.ts +1 -1
  147. package/forms/models/index.d.ts +86 -3
  148. package/forms/radio/index.d.ts +12 -8
  149. package/forms/switch/index.d.ts +4 -7
  150. package/forms/time/index.d.ts +117 -0
  151. package/forms/time-range/index.d.ts +98 -0
  152. package/forms/tree-select/index.d.ts +76 -0
  153. package/i18n/index.d.ts +72 -2
  154. package/interceptors/index.d.ts +5 -6
  155. package/modules/layout/index.d.ts +354 -17
  156. package/package.json +49 -1
  157. package/pipes/index.d.ts +2 -2
  158. package/services/api/index.d.ts +68 -24
  159. package/services/cache/index.d.ts +52 -16
  160. package/services/confirm/index.d.ts +3 -2
  161. package/services/docx/index.d.ts +2 -3
  162. package/services/index.d.ts +4 -0
  163. package/services/loading/index.d.ts +16 -8
  164. package/services/persistence/index.d.ts +159 -0
  165. package/services/storage/index.d.ts +26 -8
  166. package/services/task/index.d.ts +104 -0
  167. package/services/unsaved-changes/index.d.ts +83 -0
  168. package/services/viewport/index.d.ts +42 -0
@@ -0,0 +1,83 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Signal, InjectionToken } from '@angular/core';
3
+ import { FormGroup } from '@angular/forms';
4
+ import { CanDeactivateFn } from '@angular/router';
5
+
6
+ type SdUnsavedChangesMaybeAsync<T> = T | PromiseLike<T>;
7
+ type SdUnsavedChangesDirtySource = boolean | Signal<boolean> | (() => boolean);
8
+ type SdUnsavedChangesDecision = 'save' | 'discard' | 'cancel';
9
+ type SdUnsavedChangesReason = 'navigation' | 'close' | 'manual';
10
+ interface SdUnsavedChangesWatcher {
11
+ readonly id: string;
12
+ readonly scope?: unknown;
13
+ readonly isDirty: SdUnsavedChangesDirtySource;
14
+ readonly message?: string;
15
+ readonly save?: () => SdUnsavedChangesMaybeAsync<void | boolean>;
16
+ readonly reset?: () => SdUnsavedChangesMaybeAsync<void | boolean>;
17
+ readonly discard?: () => SdUnsavedChangesMaybeAsync<void | boolean>;
18
+ readonly cleanup?: () => void;
19
+ }
20
+ interface SdUnsavedChangesPromptContext {
21
+ readonly reason: SdUnsavedChangesReason;
22
+ readonly scope?: unknown;
23
+ readonly message: string;
24
+ readonly watchers: readonly SdUnsavedChangesRegistration[];
25
+ }
26
+ interface SdUnsavedChangesConfirmationAdapter {
27
+ confirm(context: SdUnsavedChangesPromptContext): SdUnsavedChangesMaybeAsync<SdUnsavedChangesDecision | boolean>;
28
+ }
29
+ interface SdUnsavedChangesRegistration {
30
+ readonly id: string;
31
+ readonly scope?: unknown;
32
+ readonly message?: string;
33
+ readonly destroyed: Signal<boolean>;
34
+ readonly dirty: Signal<boolean>;
35
+ markDirty(): void;
36
+ markPristine(): void;
37
+ save(): Promise<boolean>;
38
+ reset(): Promise<boolean>;
39
+ discard(): Promise<boolean>;
40
+ destroy(): void;
41
+ }
42
+ interface SdUnsavedChangesConfirmOptions {
43
+ readonly scope?: unknown;
44
+ readonly reason?: SdUnsavedChangesReason;
45
+ }
46
+
47
+ interface SdUnsavedChangesWindow {
48
+ addEventListener(type: 'beforeunload', listener: (event: BeforeUnloadEvent) => void): void;
49
+ removeEventListener(type: 'beforeunload', listener: (event: BeforeUnloadEvent) => void): void;
50
+ confirm?(message?: string): boolean;
51
+ }
52
+ declare const SD_UNSAVED_CHANGES_WINDOW: InjectionToken<SdUnsavedChangesWindow | null>;
53
+ declare const SD_UNSAVED_CHANGES_CONFIRMATION_ADAPTER: InjectionToken<SdUnsavedChangesConfirmationAdapter>;
54
+
55
+ declare class SdUnsavedChangesService {
56
+ #private;
57
+ readonly registrations: _angular_core.Signal<SdUnsavedChangesRegistration[]>;
58
+ readonly dirty: _angular_core.Signal<boolean>;
59
+ constructor();
60
+ register(watcher: SdUnsavedChangesWatcher): SdUnsavedChangesRegistration;
61
+ hasChanges(scope?: unknown): boolean;
62
+ confirmLeave(options?: SdUnsavedChangesConfirmOptions): Promise<boolean>;
63
+ saveAll(scope?: unknown): Promise<boolean>;
64
+ resetAll(scope?: unknown): Promise<boolean>;
65
+ discardAll(scope?: unknown): Promise<boolean>;
66
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdUnsavedChangesService, never>;
67
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdUnsavedChangesService>;
68
+ }
69
+
70
+ interface SdUnsavedChangesFormOptions<TValue> {
71
+ readonly id: string;
72
+ readonly scope?: unknown;
73
+ readonly message?: string;
74
+ readonly save?: (value: TValue) => SdUnsavedChangesMaybeAsync<void | boolean>;
75
+ readonly reset?: (form: FormGroup) => SdUnsavedChangesMaybeAsync<void | boolean>;
76
+ readonly discard?: (form: FormGroup) => SdUnsavedChangesMaybeAsync<void | boolean>;
77
+ }
78
+ declare function registerSdUnsavedChangesForm<TValue extends Record<string, unknown>>(service: SdUnsavedChangesService, form: FormGroup, options: SdUnsavedChangesFormOptions<TValue>): SdUnsavedChangesRegistration;
79
+ declare function createSdUnsavedChangesCloseGuard(service: SdUnsavedChangesService, options?: Omit<SdUnsavedChangesConfirmOptions, 'reason'>): () => Promise<boolean>;
80
+ declare const sdUnsavedChangesGuard: CanDeactivateFn<unknown>;
81
+
82
+ export { SD_UNSAVED_CHANGES_CONFIRMATION_ADAPTER, SD_UNSAVED_CHANGES_WINDOW, SdUnsavedChangesService, createSdUnsavedChangesCloseGuard, registerSdUnsavedChangesForm, sdUnsavedChangesGuard };
83
+ export type { SdUnsavedChangesConfirmOptions, SdUnsavedChangesConfirmationAdapter, SdUnsavedChangesDecision, SdUnsavedChangesDirtySource, SdUnsavedChangesFormOptions, SdUnsavedChangesMaybeAsync, SdUnsavedChangesPromptContext, SdUnsavedChangesReason, SdUnsavedChangesRegistration, SdUnsavedChangesWatcher, SdUnsavedChangesWindow };
@@ -0,0 +1,42 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
3
+ import * as _sdcorejs_angular_services_viewport from '@sdcorejs/angular/services/viewport';
4
+
5
+ interface SdViewportBreakpoints {
6
+ mobile: number;
7
+ tablet: number;
8
+ desktop: number;
9
+ }
10
+ type SdViewportBreakpoint = keyof SdViewportBreakpoints;
11
+ interface SdViewport {
12
+ innerWidth: number;
13
+ innerHeight?: number;
14
+ addEventListener(type: 'resize', listener: EventListenerOrEventListenerObject): void;
15
+ removeEventListener(type: 'resize', listener: EventListenerOrEventListenerObject): void;
16
+ }
17
+
18
+ declare const SD_VIEWPORT_DEFAULT_BREAKPOINTS: Readonly<SdViewportBreakpoints>;
19
+ declare const SD_VIEWPORT: InjectionToken<SdViewport | null>;
20
+ declare const SD_VIEWPORT_BREAKPOINTS: InjectionToken<Readonly<SdViewportBreakpoints>>;
21
+ declare function sdNormalizeViewportBreakpoints(value: Readonly<SdViewportBreakpoints>): Readonly<SdViewportBreakpoints>;
22
+
23
+ /**
24
+ * Exposes one SSR-safe, signal-based viewport state for the application.
25
+ * Breakpoints use min-width semantics and can be configured through `SD_VIEWPORT_BREAKPOINTS`.
26
+ */
27
+ declare class SdViewportService {
28
+ #private;
29
+ readonly breakpoints: Readonly<_sdcorejs_angular_services_viewport.SdViewportBreakpoints>;
30
+ readonly width: _angular_core.Signal<number>;
31
+ readonly height: _angular_core.Signal<number>;
32
+ readonly currentBreakpoint: _angular_core.Signal<keyof _sdcorejs_angular_services_viewport.SdViewportBreakpoints>;
33
+ readonly isMobile: _angular_core.Signal<boolean>;
34
+ readonly isTablet: _angular_core.Signal<boolean>;
35
+ readonly isDesktop: _angular_core.Signal<boolean>;
36
+ constructor();
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdViewportService, never>;
38
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdViewportService>;
39
+ }
40
+
41
+ export { SD_VIEWPORT, SD_VIEWPORT_BREAKPOINTS, SD_VIEWPORT_DEFAULT_BREAKPOINTS, SdViewportService, sdNormalizeViewportBreakpoints };
42
+ export type { SdViewport, SdViewportBreakpoint, SdViewportBreakpoints };