@sd-angular/core 19.0.0-beta.1 → 19.0.0-beta.11

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 (89) hide show
  1. package/assets/scss/core/bootstrap.scss +25 -0
  2. package/assets/scss/core/form.scss +4 -10
  3. package/components/avatar/index.d.ts +1 -0
  4. package/components/avatar/src/avatar.component.d.ts +14 -0
  5. package/components/document-builder/src/document-builder.component.d.ts +23 -6
  6. package/components/document-builder/src/document-builder.config.d.ts +21 -0
  7. package/components/document-builder/src/document-builder.model.d.ts +1 -0
  8. package/components/document-builder/src/document-builder.utils.d.ts +10 -0
  9. package/components/document-builder/src/plugins/heading/heading.plugin.d.ts +4 -0
  10. package/components/document-builder/src/plugins/{image-upload.plugin.d.ts → image-upload/image-upload.plugin.d.ts} +0 -4
  11. package/components/document-builder/src/plugins/index.d.ts +6 -5
  12. package/components/index.d.ts +1 -0
  13. package/components/table/src/models/table-item.model.d.ts +2 -1
  14. package/components/table/src/models/table-option.model.d.ts +2 -1
  15. package/components/workflow/src/models/index.d.ts +1 -0
  16. package/fesm2022/sd-angular-core-components-avatar.mjs +88 -0
  17. package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -0
  18. package/fesm2022/sd-angular-core-components-badge.mjs +2 -2
  19. package/fesm2022/sd-angular-core-components-badge.mjs.map +1 -1
  20. package/fesm2022/sd-angular-core-components-document-builder.mjs +721 -513
  21. package/fesm2022/sd-angular-core-components-document-builder.mjs.map +1 -1
  22. package/fesm2022/sd-angular-core-components-table.mjs +366 -77
  23. package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
  24. package/fesm2022/sd-angular-core-components-workflow.mjs +23 -23
  25. package/fesm2022/sd-angular-core-components-workflow.mjs.map +1 -1
  26. package/fesm2022/sd-angular-core-components.mjs +1 -0
  27. package/fesm2022/sd-angular-core-components.mjs.map +1 -1
  28. package/fesm2022/sd-angular-core-forms-autocomplete.mjs +24 -2
  29. package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
  30. package/fesm2022/sd-angular-core-forms-date.mjs +15 -3
  31. package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
  32. package/fesm2022/sd-angular-core-forms-datetime.mjs +17 -3
  33. package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
  34. package/fesm2022/sd-angular-core-forms-input-number.mjs +18 -3
  35. package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
  36. package/fesm2022/sd-angular-core-forms-input.mjs +20 -6
  37. package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
  38. package/fesm2022/sd-angular-core-forms-radio.mjs +17 -2
  39. package/fesm2022/sd-angular-core-forms-radio.mjs.map +1 -1
  40. package/fesm2022/sd-angular-core-forms-select.mjs +15 -2
  41. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  42. package/fesm2022/sd-angular-core-forms-textarea.mjs +21 -2
  43. package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
  44. package/fesm2022/sd-angular-core-modules-auth.mjs +137 -0
  45. package/fesm2022/sd-angular-core-modules-auth.mjs.map +1 -0
  46. package/fesm2022/sd-angular-core-modules-layout.mjs +1 -1
  47. package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
  48. package/fesm2022/sd-angular-core-modules.mjs +1 -0
  49. package/fesm2022/sd-angular-core-modules.mjs.map +1 -1
  50. package/fesm2022/sd-angular-core-pipes.mjs +21 -1
  51. package/fesm2022/sd-angular-core-pipes.mjs.map +1 -1
  52. package/fesm2022/sd-angular-core-services-confirm.mjs +60 -25
  53. package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
  54. package/fesm2022/sd-angular-core-utilities-extensions.mjs +66 -1
  55. package/fesm2022/sd-angular-core-utilities-extensions.mjs.map +1 -1
  56. package/fesm2022/sd-angular-core-utilities-models.mjs +12 -3
  57. package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
  58. package/forms/autocomplete/src/autocomplete.component.d.ts +5 -1
  59. package/forms/date/src/date.component.d.ts +4 -1
  60. package/forms/datetime/src/datetime.component.d.ts +4 -1
  61. package/forms/input/src/input.component.d.ts +6 -4
  62. package/forms/input-number/src/input-number.component.d.ts +4 -1
  63. package/forms/radio/src/radio.component.d.ts +5 -1
  64. package/forms/select/src/select.component.d.ts +5 -1
  65. package/forms/textarea/src/textarea.component.d.ts +3 -1
  66. package/modules/auth/configurations/auth.configuration.d.ts +19 -0
  67. package/modules/auth/configurations/index.d.ts +1 -0
  68. package/modules/auth/guards/auth.guard.d.ts +11 -0
  69. package/modules/auth/guards/index.d.ts +2 -0
  70. package/modules/auth/guards/portal.guard.d.ts +11 -0
  71. package/modules/auth/index.d.ts +3 -0
  72. package/modules/auth/services/auth.model.d.ts +8 -0
  73. package/modules/auth/services/auth.service.d.ts +17 -0
  74. package/modules/auth/services/index.d.ts +2 -0
  75. package/modules/index.d.ts +1 -0
  76. package/package.json +57 -49
  77. package/pipes/index.d.ts +1 -0
  78. package/pipes/src/empty.pipe.d.ts +7 -0
  79. package/sd-angular-core-19.0.0-beta.11.tgz +0 -0
  80. package/services/confirm/src/lib/components/dialog-confirm/dialog-confirm.component.d.ts +8 -0
  81. package/services/confirm/src/lib/confirm.service.d.ts +14 -0
  82. package/utilities/extensions/index.d.ts +1 -0
  83. package/utilities/extensions/src/color.extension.d.ts +20 -0
  84. package/utilities/models/src/maybe-async.model.d.ts +1 -0
  85. package/utilities/models/src/pattern.model.d.ts +2 -2
  86. /package/components/document-builder/src/plugins/{comment.plugin.d.ts → comment/comment.plugin.d.ts} +0 -0
  87. /package/components/document-builder/src/plugins/{page-orientation.plugin.d.ts → page-orientation/page-orientation.plugin.d.ts} +0 -0
  88. /package/components/document-builder/src/plugins/{table-fit.plugin.d.ts → table-fit/table-fit.plugin.d.ts} +0 -0
  89. /package/components/document-builder/src/plugins/{variable.plugin.d.ts → variable/variable.plugin.d.ts} +0 -0
@@ -26,6 +26,9 @@ export declare class SdRadio implements OnInit, AfterViewInit, OnDestroy {
26
26
  inlineError?: string;
27
27
  set _inlineError(val: string);
28
28
  set disabled(val: boolean | '' | undefined | null);
29
+ viewed: boolean;
30
+ set _viewed(val: boolean | '' | undefined | null);
31
+ hyperlink?: string | null;
29
32
  sdSuffixDef?: SdSuffixDefDirective;
30
33
  sdLabelDef?: SdLabelDefDirective;
31
34
  sdViewDef?: SdViewDefDirective;
@@ -36,11 +39,12 @@ export declare class SdRadio implements OnInit, AfterViewInit, OnDestroy {
36
39
  item?: any;
37
40
  }>;
38
41
  constructor(ref: ChangeDetectorRef);
42
+ get viewedText(): any;
39
43
  ngOnInit(): void;
40
44
  ngAfterViewInit(): void;
41
45
  ngOnDestroy(): void;
42
46
  customInlineErrorValidator(): ValidatorFn;
43
47
  reValidate: () => void;
44
48
  static ɵfac: i0.ɵɵFactoryDeclaration<SdRadio, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<SdRadio, "sd-radio", never, { "_autoId": { "alias": "autoId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "form": { "alias": "form"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "_display": { "alias": "display"; "required": false; }; "model": { "alias": "model"; "required": false; }; "pItems": { "alias": "items"; "required": false; }; "valueField": { "alias": "valueField"; "required": true; }; "displayField": { "alias": "displayField"; "required": true; }; "_required": { "alias": "required"; "required": false; }; "_inlineError": { "alias": "inlineError"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; "sdSelection": "sdSelection"; }, ["sdSuffixDef", "sdLabelDef", "sdViewDef"], never, true, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdRadio, "sd-radio", never, { "_autoId": { "alias": "autoId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "form": { "alias": "form"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "_display": { "alias": "display"; "required": false; }; "model": { "alias": "model"; "required": false; }; "pItems": { "alias": "items"; "required": false; }; "valueField": { "alias": "valueField"; "required": true; }; "displayField": { "alias": "displayField"; "required": true; }; "_required": { "alias": "required"; "required": false; }; "_inlineError": { "alias": "inlineError"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; "hyperlink": { "alias": "hyperlink"; "required": false; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; "sdSelection": "sdSelection"; }, ["sdSuffixDef", "sdLabelDef", "sdViewDef"], never, true, never>;
46
50
  }
@@ -44,6 +44,10 @@ export declare class SdSelect implements OnInit, AfterViewInit, OnDestroy {
44
44
  inlineError?: string;
45
45
  set _inlineError(val: string);
46
46
  set disabled(val: boolean | '' | undefined | null);
47
+ viewed: boolean;
48
+ set _viewed(val: boolean | '' | undefined | null);
49
+ viewedText?: Observable<string>;
50
+ hyperlink?: string | null;
47
51
  multiple: boolean;
48
52
  set _multiple(val: boolean | '' | undefined | null);
49
53
  limit: number;
@@ -73,5 +77,5 @@ export declare class SdSelect implements OnInit, AfterViewInit, OnDestroy {
73
77
  onOptionChange: (tooltip: MatTooltip) => void;
74
78
  trackBy: (index: number, item: any) => any;
75
79
  static ɵfac: i0.ɵɵFactoryDeclaration<SdSelect, [null, { optional: true; }]>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<SdSelect, "sd-select", never, { "_autoId": { "alias": "autoId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "_hideInlineError": { "alias": "hideInlineError"; "required": false; }; "size": { "alias": "size"; "required": false; }; "form": { "alias": "form"; "required": false; }; "_label": { "alias": "label"; "required": false; }; "_helperText": { "alias": "helperText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "model": { "alias": "model"; "required": false; }; "items": { "alias": "items"; "required": false; }; "valueField": { "alias": "valueField"; "required": true; }; "displayField": { "alias": "displayField"; "required": true; }; "disabledField": { "alias": "disabledField"; "required": false; }; "cacheChecksum": { "alias": "cacheChecksum"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_validator": { "alias": "validator"; "required": false; }; "_inlineError": { "alias": "inlineError"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "_multiple": { "alias": "multiple"; "required": false; }; "limit": { "alias": "limit"; "required": false; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; "sdSelection": "sdSelection"; }, ["itemDef", "sdLabelDef", "sdViewDef"], never, true, never>;
80
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdSelect, "sd-select", never, { "_autoId": { "alias": "autoId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "_hideInlineError": { "alias": "hideInlineError"; "required": false; }; "size": { "alias": "size"; "required": false; }; "form": { "alias": "form"; "required": false; }; "_label": { "alias": "label"; "required": false; }; "_helperText": { "alias": "helperText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "model": { "alias": "model"; "required": false; }; "items": { "alias": "items"; "required": false; }; "valueField": { "alias": "valueField"; "required": true; }; "displayField": { "alias": "displayField"; "required": true; }; "disabledField": { "alias": "disabledField"; "required": false; }; "cacheChecksum": { "alias": "cacheChecksum"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_validator": { "alias": "validator"; "required": false; }; "_inlineError": { "alias": "inlineError"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; "hyperlink": { "alias": "hyperlink"; "required": false; }; "_multiple": { "alias": "multiple"; "required": false; }; "limit": { "alias": "limit"; "required": false; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; "sdSelection": "sdSelection"; }, ["itemDef", "sdLabelDef", "sdViewDef"], never, true, never>;
77
81
  }
@@ -36,6 +36,8 @@ export declare class SdTextarea implements OnInit, AfterViewInit, OnDestroy {
36
36
  inlineError?: string;
37
37
  set _inlineError(val: string);
38
38
  set disabled(val: boolean | '' | undefined | null);
39
+ viewed: boolean;
40
+ set _viewed(val: boolean | '' | undefined | null);
39
41
  set _autoHeight(val: boolean | '');
40
42
  textarea: ElementRef;
41
43
  sdViewDef?: SdViewDefDirective;
@@ -54,5 +56,5 @@ export declare class SdTextarea implements OnInit, AfterViewInit, OnDestroy {
54
56
  focus: () => void;
55
57
  customInlineErrorValidator(): ValidatorFn;
56
58
  static ɵfac: i0.ɵɵFactoryDeclaration<SdTextarea, [null, { optional: true; }]>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<SdTextarea, "sd-textarea", never, { "_autoId": { "alias": "autoId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "form": { "alias": "form"; "required": false; }; "_label": { "alias": "label"; "required": false; }; "_helperText": { "alias": "helperText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "model": { "alias": "model"; "required": false; }; "_hideInlineError": { "alias": "hideInlineError"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_maxlength": { "alias": "maxlength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "validator": { "alias": "validator"; "required": false; }; "_inlineError": { "alias": "inlineError"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "_autoHeight": { "alias": "autoHeight"; "required": false; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; }, ["sdViewDef", "sdLabelDef", "sdSuffixDef"], never, true, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<SdTextarea, "sd-textarea", never, { "_autoId": { "alias": "autoId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "form": { "alias": "form"; "required": false; }; "_label": { "alias": "label"; "required": false; }; "_helperText": { "alias": "helperText"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "model": { "alias": "model"; "required": false; }; "_hideInlineError": { "alias": "hideInlineError"; "required": false; }; "_required": { "alias": "required"; "required": false; }; "_maxlength": { "alias": "maxlength"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "validator": { "alias": "validator"; "required": false; }; "_inlineError": { "alias": "inlineError"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "_viewed": { "alias": "viewed"; "required": false; }; "_autoHeight": { "alias": "autoHeight"; "required": false; }; }, { "modelChange": "modelChange"; "sdChange": "sdChange"; }, ["sdViewDef", "sdLabelDef", "sdSuffixDef"], never, true, never>;
58
60
  }
@@ -0,0 +1,19 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { CanActivate } from '@angular/router';
3
+ import { SdMaybeAsync } from '@sd-angular/core/utilities';
4
+ import { SdAuthInfo } from '../services';
5
+ export interface ISdAuthConfiguration {
6
+ action?: IAuthConfigurationAction;
7
+ guard?: IAuthConfigurationGuard;
8
+ }
9
+ export declare const SD_AUTH_CONFIGURATION: InjectionToken<ISdAuthConfiguration>;
10
+ interface IAuthConfigurationAction {
11
+ signout: () => SdMaybeAsync<void>;
12
+ changePassword?: () => SdMaybeAsync<void>;
13
+ }
14
+ interface IAuthConfigurationGuard {
15
+ auth?: CanActivate['canActivate'];
16
+ portal?: CanActivate['canActivate'];
17
+ authInfo: () => SdMaybeAsync<SdAuthInfo>;
18
+ }
19
+ export {};
@@ -0,0 +1 @@
1
+ export * from './auth.configuration';
@@ -0,0 +1,11 @@
1
+ import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
2
+ import { ISdAuthConfiguration } from '../configurations';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SdAuthGuard implements CanActivate {
5
+ private authConfiguration;
6
+ protected readonly router: Router;
7
+ constructor(authConfiguration: ISdAuthConfiguration, router: Router);
8
+ canActivate: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => import("@angular/router").MaybeAsync<import("@angular/router").GuardResult>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdAuthGuard, [{ optional: true; }, null]>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<SdAuthGuard>;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './auth.guard';
2
+ export * from './portal.guard';
@@ -0,0 +1,11 @@
1
+ import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
2
+ import { ISdAuthConfiguration } from '../configurations';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SdPortalGuard implements CanActivate {
5
+ private authConfiguration;
6
+ protected readonly router: Router;
7
+ constructor(authConfiguration: ISdAuthConfiguration, router: Router);
8
+ canActivate: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => import("@angular/router").MaybeAsync<import("@angular/router").GuardResult>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdPortalGuard, [{ optional: true; }, null]>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<SdPortalGuard>;
11
+ }
@@ -0,0 +1,3 @@
1
+ export * from './configurations';
2
+ export * from './services';
3
+ export * from './guards';
@@ -0,0 +1,8 @@
1
+ export interface SdAuthInfo<T = any> {
2
+ id?: string;
3
+ username?: string;
4
+ firstName?: string;
5
+ lastName?: string;
6
+ email?: string;
7
+ data?: T;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { Signal } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ISdAuthConfiguration } from '../configurations';
4
+ import { SdAuthInfo } from './auth.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SdAuthService {
7
+ #private;
8
+ private authConfiguration;
9
+ getAuthInfo?: Signal<SdAuthInfo | undefined>;
10
+ signout$?: Observable<void>;
11
+ changePassword$?: Observable<void>;
12
+ constructor(authConfiguration: ISdAuthConfiguration);
13
+ signout: () => void;
14
+ changePassword: () => void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdAuthService, [{ optional: true; }]>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<SdAuthService>;
17
+ }
@@ -0,0 +1,2 @@
1
+ export * from './auth.model';
2
+ export * from './auth.service';
@@ -1,3 +1,4 @@
1
1
  export * from '@sd-angular/core/modules/oidc';
2
2
  export * from '@sd-angular/core/modules/permission';
3
+ export * from '@sd-angular/core/modules/auth';
3
4
  export * from '@sd-angular/core/modules/layout';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sd-angular/core",
3
- "version": "19.0.0-beta.1",
3
+ "version": "19.0.0-beta.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0",
6
6
  "@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0",
@@ -39,17 +39,17 @@
39
39
  "types": "./directives/index.d.ts",
40
40
  "default": "./fesm2022/sd-angular-core-directives.mjs"
41
41
  },
42
- "./forms": {
43
- "types": "./forms/index.d.ts",
44
- "default": "./fesm2022/sd-angular-core-forms.mjs"
42
+ "./guards": {
43
+ "types": "./guards/index.d.ts",
44
+ "default": "./fesm2022/sd-angular-core-guards.mjs"
45
45
  },
46
46
  "./handlers": {
47
47
  "types": "./handlers/index.d.ts",
48
48
  "default": "./fesm2022/sd-angular-core-handlers.mjs"
49
49
  },
50
- "./guards": {
51
- "types": "./guards/index.d.ts",
52
- "default": "./fesm2022/sd-angular-core-guards.mjs"
50
+ "./forms": {
51
+ "types": "./forms/index.d.ts",
52
+ "default": "./fesm2022/sd-angular-core-forms.mjs"
53
53
  },
54
54
  "./interceptors": {
55
55
  "types": "./interceptors/index.d.ts",
@@ -79,17 +79,25 @@
79
79
  "types": "./components/anchor-v2/index.d.ts",
80
80
  "default": "./fesm2022/sd-angular-core-components-anchor-v2.mjs"
81
81
  },
82
+ "./components/avatar": {
83
+ "types": "./components/avatar/index.d.ts",
84
+ "default": "./fesm2022/sd-angular-core-components-avatar.mjs"
85
+ },
82
86
  "./components/badge": {
83
87
  "types": "./components/badge/index.d.ts",
84
88
  "default": "./fesm2022/sd-angular-core-components-badge.mjs"
85
89
  },
90
+ "./components/button": {
91
+ "types": "./components/button/index.d.ts",
92
+ "default": "./fesm2022/sd-angular-core-components-button.mjs"
93
+ },
86
94
  "./components/base": {
87
95
  "types": "./components/base/index.d.ts",
88
96
  "default": "./fesm2022/sd-angular-core-components-base.mjs"
89
97
  },
90
- "./components/button": {
91
- "types": "./components/button/index.d.ts",
92
- "default": "./fesm2022/sd-angular-core-components-button.mjs"
98
+ "./components/history": {
99
+ "types": "./components/history/index.d.ts",
100
+ "default": "./fesm2022/sd-angular-core-components-history.mjs"
93
101
  },
94
102
  "./components/document-builder": {
95
103
  "types": "./components/document-builder/index.d.ts",
@@ -99,21 +107,13 @@
99
107
  "types": "./components/import-excel/index.d.ts",
100
108
  "default": "./fesm2022/sd-angular-core-components-import-excel.mjs"
101
109
  },
102
- "./components/history": {
103
- "types": "./components/history/index.d.ts",
104
- "default": "./fesm2022/sd-angular-core-components-history.mjs"
105
- },
106
- "./components/preview": {
107
- "types": "./components/preview/index.d.ts",
108
- "default": "./fesm2022/sd-angular-core-components-preview.mjs"
109
- },
110
110
  "./components/modal": {
111
111
  "types": "./components/modal/index.d.ts",
112
112
  "default": "./fesm2022/sd-angular-core-components-modal.mjs"
113
113
  },
114
- "./components/section": {
115
- "types": "./components/section/index.d.ts",
116
- "default": "./fesm2022/sd-angular-core-components-section.mjs"
114
+ "./components/preview": {
115
+ "types": "./components/preview/index.d.ts",
116
+ "default": "./fesm2022/sd-angular-core-components-preview.mjs"
117
117
  },
118
118
  "./components/query-builder": {
119
119
  "types": "./components/query-builder/index.d.ts",
@@ -123,6 +123,10 @@
123
123
  "types": "./components/quick-action/index.d.ts",
124
124
  "default": "./fesm2022/sd-angular-core-components-quick-action.mjs"
125
125
  },
126
+ "./components/section": {
127
+ "types": "./components/section/index.d.ts",
128
+ "default": "./fesm2022/sd-angular-core-components-section.mjs"
129
+ },
126
130
  "./components/side-drawer": {
127
131
  "types": "./components/side-drawer/index.d.ts",
128
132
  "default": "./fesm2022/sd-angular-core-components-side-drawer.mjs"
@@ -135,30 +139,34 @@
135
139
  "types": "./components/table/index.d.ts",
136
140
  "default": "./fesm2022/sd-angular-core-components-table.mjs"
137
141
  },
142
+ "./components/upload-file": {
143
+ "types": "./components/upload-file/index.d.ts",
144
+ "default": "./fesm2022/sd-angular-core-components-upload-file.mjs"
145
+ },
138
146
  "./components/workflow": {
139
147
  "types": "./components/workflow/index.d.ts",
140
148
  "default": "./fesm2022/sd-angular-core-components-workflow.mjs"
141
149
  },
142
- "./components/upload-file": {
143
- "types": "./components/upload-file/index.d.ts",
144
- "default": "./fesm2022/sd-angular-core-components-upload-file.mjs"
150
+ "./guards/permission": {
151
+ "types": "./guards/permission/index.d.ts",
152
+ "default": "./fesm2022/sd-angular-core-guards-permission.mjs"
145
153
  },
146
- "./forms/chip": {
147
- "types": "./forms/chip/index.d.ts",
148
- "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
154
+ "./forms/autocomplete": {
155
+ "types": "./forms/autocomplete/index.d.ts",
156
+ "default": "./fesm2022/sd-angular-core-forms-autocomplete.mjs"
149
157
  },
150
158
  "./forms/checkbox": {
151
159
  "types": "./forms/checkbox/index.d.ts",
152
160
  "default": "./fesm2022/sd-angular-core-forms-checkbox.mjs"
153
161
  },
162
+ "./forms/chip": {
163
+ "types": "./forms/chip/index.d.ts",
164
+ "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
165
+ },
154
166
  "./forms/chip-calendar": {
155
167
  "types": "./forms/chip-calendar/index.d.ts",
156
168
  "default": "./fesm2022/sd-angular-core-forms-chip-calendar.mjs"
157
169
  },
158
- "./forms/autocomplete": {
159
- "types": "./forms/autocomplete/index.d.ts",
160
- "default": "./fesm2022/sd-angular-core-forms-autocomplete.mjs"
161
- },
162
170
  "./forms/date": {
163
171
  "types": "./forms/date/index.d.ts",
164
172
  "default": "./fesm2022/sd-angular-core-forms-date.mjs"
@@ -179,14 +187,14 @@
179
187
  "types": "./forms/input/index.d.ts",
180
188
  "default": "./fesm2022/sd-angular-core-forms-input.mjs"
181
189
  },
182
- "./forms/label": {
183
- "types": "./forms/label/index.d.ts",
184
- "default": "./fesm2022/sd-angular-core-forms-label.mjs"
185
- },
186
190
  "./forms/input-number": {
187
191
  "types": "./forms/input-number/index.d.ts",
188
192
  "default": "./fesm2022/sd-angular-core-forms-input-number.mjs"
189
193
  },
194
+ "./forms/label": {
195
+ "types": "./forms/label/index.d.ts",
196
+ "default": "./fesm2022/sd-angular-core-forms-label.mjs"
197
+ },
190
198
  "./forms/models": {
191
199
  "types": "./forms/models/index.d.ts",
192
200
  "default": "./fesm2022/sd-angular-core-forms-models.mjs"
@@ -199,17 +207,17 @@
199
207
  "types": "./forms/select/index.d.ts",
200
208
  "default": "./fesm2022/sd-angular-core-forms-select.mjs"
201
209
  },
202
- "./forms/textarea": {
203
- "types": "./forms/textarea/index.d.ts",
204
- "default": "./fesm2022/sd-angular-core-forms-textarea.mjs"
205
- },
206
210
  "./forms/switch": {
207
211
  "types": "./forms/switch/index.d.ts",
208
212
  "default": "./fesm2022/sd-angular-core-forms-switch.mjs"
209
213
  },
210
- "./guards/permission": {
211
- "types": "./guards/permission/index.d.ts",
212
- "default": "./fesm2022/sd-angular-core-guards-permission.mjs"
214
+ "./forms/textarea": {
215
+ "types": "./forms/textarea/index.d.ts",
216
+ "default": "./fesm2022/sd-angular-core-forms-textarea.mjs"
217
+ },
218
+ "./modules/auth": {
219
+ "types": "./modules/auth/index.d.ts",
220
+ "default": "./fesm2022/sd-angular-core-modules-auth.mjs"
213
221
  },
214
222
  "./modules/layout": {
215
223
  "types": "./modules/layout/index.d.ts",
@@ -247,17 +255,13 @@
247
255
  "types": "./services/firebase/index.d.ts",
248
256
  "default": "./fesm2022/sd-angular-core-services-firebase.mjs"
249
257
  },
250
- "./services/notify": {
251
- "types": "./services/notify/index.d.ts",
252
- "default": "./fesm2022/sd-angular-core-services-notify.mjs"
253
- },
254
258
  "./services/loading": {
255
259
  "types": "./services/loading/index.d.ts",
256
260
  "default": "./fesm2022/sd-angular-core-services-loading.mjs"
257
261
  },
258
- "./services/storage": {
259
- "types": "./services/storage/index.d.ts",
260
- "default": "./fesm2022/sd-angular-core-services-storage.mjs"
262
+ "./services/notify": {
263
+ "types": "./services/notify/index.d.ts",
264
+ "default": "./fesm2022/sd-angular-core-services-notify.mjs"
261
265
  },
262
266
  "./utilities/extensions": {
263
267
  "types": "./utilities/extensions/index.d.ts",
@@ -266,6 +270,10 @@
266
270
  "./utilities/models": {
267
271
  "types": "./utilities/models/index.d.ts",
268
272
  "default": "./fesm2022/sd-angular-core-utilities-models.mjs"
273
+ },
274
+ "./services/storage": {
275
+ "types": "./services/storage/index.d.ts",
276
+ "default": "./fesm2022/sd-angular-core-services-storage.mjs"
269
277
  }
270
278
  }
271
279
  }
package/pipes/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './src/format-number.pipe';
2
2
  export * from './src/safe-html.pipe';
3
3
  export * from './src/time-different.pipe';
4
+ export * from './src/empty.pipe';
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SdEmptyPipe implements PipeTransform {
4
+ transform(value: any): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SdEmptyPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<SdEmptyPipe, "sdEmpty", true>;
7
+ }
@@ -23,6 +23,14 @@ export interface DialogData {
23
23
  min?: string | Date;
24
24
  max?: string | Date;
25
25
  };
26
+ radio?: {
27
+ required?: boolean;
28
+ defaultValue?: string | number;
29
+ items: any[];
30
+ valueField: string;
31
+ displayField: string;
32
+ display?: 'row' | 'column';
33
+ };
26
34
  }
27
35
  export declare class DialogConfirmComponent {
28
36
  dialogRef: MatDialogRef<DialogConfirmComponent>;
@@ -10,6 +10,7 @@ export declare class SdConfirmService {
10
10
  noTitle?: string;
11
11
  yesButtonColor?: SdColor;
12
12
  noButtonColor?: SdColor;
13
+ width?: string;
13
14
  }) => Promise<unknown>;
14
15
  withInput: (message?: string, option?: {
15
16
  title?: string;
@@ -21,6 +22,19 @@ export declare class SdConfirmService {
21
22
  noButtonColor?: SdColor;
22
23
  defaultValue?: string;
23
24
  }) => Promise<string>;
25
+ withRadio: (message?: string, option?: {
26
+ title?: string;
27
+ yesTitle?: string;
28
+ noTitle?: string;
29
+ required?: boolean;
30
+ yesButtonColor?: SdColor;
31
+ noButtonColor?: SdColor;
32
+ defaultValue?: string | number;
33
+ items: any[];
34
+ valueField: string;
35
+ displayField: string;
36
+ display?: "row" | "column";
37
+ }) => Promise<string>;
24
38
  withDate: (message?: string, option?: {
25
39
  title?: string;
26
40
  yesTitle?: string;
@@ -3,3 +3,4 @@ export * from './src/string.extension';
3
3
  export * from './src/number.extension';
4
4
  export * from './src/date.extension';
5
5
  export * from './src/utility.extension';
6
+ export * from './src/color.extension';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Color Utilities Extension
3
+ * Các tiện ích xử lý màu
4
+ */
5
+ /**
6
+ * Chuyển đổi màu HSL sang định dạng hex
7
+ * @param h - Hue (0-360)
8
+ * @param s - Saturation (0-100)
9
+ * @param l - Lightness (0-100)
10
+ * @returns Mã màu hex
11
+ */
12
+ export declare function hslToHex(h: number, s: number, l: number): string;
13
+ /**
14
+ * Chuyển đổi màu RGB sang hex
15
+ * @param r - Red (0-255)
16
+ * @param g - Green (0-255)
17
+ * @param b - Blue (0-255)
18
+ * @returns Mã màu hex
19
+ */
20
+ export declare function rgbToHex(r: number, g: number, b: number): string;
@@ -1,3 +1,4 @@
1
1
  import { Observable } from 'rxjs';
2
2
  export type SdMaybeAsync<T> = T | Promise<T> | Observable<T>;
3
3
  export declare const SdResolveMaybeAsync: <T>(value: SdMaybeAsync<T>) => Promise<T>;
4
+ export declare const SdNormalizeAsync: <T>(value: SdMaybeAsync<T>) => Observable<T>;
@@ -1,8 +1,8 @@
1
1
  export type SdPatternType = 'EMAIL' | 'PHONE' | 'PHONE_VN';
2
- export interface SdPattern {
2
+ export interface SdPatternCommon {
3
3
  type: SdPatternType;
4
4
  name: string;
5
5
  regex: string;
6
6
  errorMessage: string;
7
7
  }
8
- export declare const SdPatterns: SdPattern[];
8
+ export declare const SdPatternCommons: SdPatternCommon[];