@sd-angular/core 19.0.0-beta.66 → 19.0.0-beta.67

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 (35) hide show
  1. package/assets/scss/core/form.scss +28 -5
  2. package/assets/scss/themes/material-theme.scss +13 -12
  3. package/fesm2022/sd-angular-core-forms-autocomplete.mjs +18 -2
  4. package/fesm2022/sd-angular-core-forms-autocomplete.mjs.map +1 -1
  5. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs +23 -6
  6. package/fesm2022/sd-angular-core-forms-chip-calendar.mjs.map +1 -1
  7. package/fesm2022/sd-angular-core-forms-chip.mjs +21 -4
  8. package/fesm2022/sd-angular-core-forms-chip.mjs.map +1 -1
  9. package/fesm2022/sd-angular-core-forms-date-range.mjs +21 -2
  10. package/fesm2022/sd-angular-core-forms-date-range.mjs.map +1 -1
  11. package/fesm2022/sd-angular-core-forms-date.mjs +30 -2
  12. package/fesm2022/sd-angular-core-forms-date.mjs.map +1 -1
  13. package/fesm2022/sd-angular-core-forms-datetime.mjs +30 -2
  14. package/fesm2022/sd-angular-core-forms-datetime.mjs.map +1 -1
  15. package/fesm2022/sd-angular-core-forms-input-number.mjs +22 -2
  16. package/fesm2022/sd-angular-core-forms-input-number.mjs.map +1 -1
  17. package/fesm2022/sd-angular-core-forms-input.mjs +23 -2
  18. package/fesm2022/sd-angular-core-forms-input.mjs.map +1 -1
  19. package/fesm2022/sd-angular-core-forms-select.mjs +18 -2
  20. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  21. package/fesm2022/sd-angular-core-forms-textarea.mjs +22 -2
  22. package/fesm2022/sd-angular-core-forms-textarea.mjs.map +1 -1
  23. package/forms/autocomplete/src/autocomplete.component.d.ts +5 -0
  24. package/forms/chip/src/chip.component.d.ts +5 -0
  25. package/forms/chip-calendar/src/chip-calendar.component.d.ts +5 -0
  26. package/forms/date/src/date.component.d.ts +5 -0
  27. package/forms/date-range/src/date-range.component.d.ts +5 -0
  28. package/forms/datetime/src/datetime.component.d.ts +5 -0
  29. package/forms/input/src/input.component.d.ts +6 -0
  30. package/forms/input-number/src/input-number.component.d.ts +5 -0
  31. package/forms/select/src/select.component.d.ts +6 -1
  32. package/forms/textarea/src/textarea.component.d.ts +5 -0
  33. package/package.json +43 -43
  34. package/sd-angular-core-19.0.0-beta.67.tgz +0 -0
  35. package/sd-angular-core-19.0.0-beta.66.tgz +0 -0
@@ -45,6 +45,11 @@ export declare class SdAutocomplete<T = any> implements OnInit, OnDestroy, After
45
45
  viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
46
46
  validator: import("@angular/core").InputSignal<SdCustomValidator | undefined>;
47
47
  inlineError: import("@angular/core").InputSignal<string | undefined>;
48
+ /**
49
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
50
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
51
+ */
52
+ get errorTooltipMessage(): string | undefined;
48
53
  appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
49
54
  appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
50
55
  valueModel: import("@angular/core").ModelSignal<string | number | null | undefined>;
@@ -51,6 +51,11 @@ export declare class SdChip implements OnDestroy, AfterViewInit {
51
51
  inputControl: FormControl<any>;
52
52
  formControl: SdFormControl;
53
53
  matcher: SdChipErrotStateMatcher;
54
+ /**
55
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
56
+ * Dùng getter (không phải computed) vì đây là component cũ dùng @Input decorator.
57
+ */
58
+ get errorTooltipMessage(): string | undefined;
54
59
  constructor(ref: ChangeDetectorRef);
55
60
  ngAfterViewInit(): void;
56
61
  ngOnDestroy(): void;
@@ -50,6 +50,11 @@ export declare class SdChipCalendar implements OnDestroy, AfterViewInit {
50
50
  inputControl: FormControl<any>;
51
51
  formControl: SdFormControl;
52
52
  matcher: SdChipErrotStateMatcher;
53
+ /**
54
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
55
+ * Dùng getter (không phải computed) vì đây là component cũ dùng @Input decorator.
56
+ */
57
+ get errorTooltipMessage(): string | undefined;
53
58
  constructor(ref: ChangeDetectorRef);
54
59
  ngAfterViewInit(): void;
55
60
  ngOnDestroy(): void;
@@ -31,6 +31,11 @@ export declare class SdDate implements OnDestroy, OnInit {
31
31
  disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
32
32
  viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
33
33
  inlineError: import("@angular/core").InputSignal<string | undefined>;
34
+ /**
35
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
36
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
37
+ */
38
+ get errorTooltipMessage(): string | undefined;
34
39
  hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
35
40
  appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
36
41
  appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
@@ -26,6 +26,11 @@ export declare class SdDateRange implements OnDestroy, OnInit {
26
26
  label: import("@angular/core").InputSignal<string | undefined>;
27
27
  helperText: import("@angular/core").InputSignal<string | undefined>;
28
28
  hideInlineError: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
29
+ /**
30
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
31
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
32
+ */
33
+ get errorTooltipMessage(): string | undefined;
29
34
  required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
30
35
  disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
31
36
  appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
@@ -30,6 +30,11 @@ export declare class SdDatetime implements OnDestroy, OnInit {
30
30
  disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
31
31
  viewed: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
32
32
  inlineError: import("@angular/core").InputSignal<string | undefined>;
33
+ /**
34
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
35
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
36
+ */
37
+ get errorTooltipMessage(): string | undefined;
33
38
  hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
34
39
  appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
35
40
  appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
@@ -37,6 +37,12 @@ export declare class SdInput implements OnDestroy, OnInit, AfterViewInit {
37
37
  patternErrorMessage: import("@angular/core").InputSignal<string | null | undefined>;
38
38
  resolvedPattern: import("@angular/core").Signal<string | undefined>;
39
39
  resolvedPatternErrorMsg: import("@angular/core").Signal<string | undefined>;
40
+ /**
41
+ * Tổng hợp error message đầu tiên để hiển thị trong tooltip khi hideInlineError = true.
42
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
43
+ * cdRef.markForCheck() được gọi qua sdChanges subscription nên getter sẽ được re-evaluate đúng cycle.
44
+ */
45
+ get errorTooltipMessage(): string | undefined;
40
46
  validator: import("@angular/core").InputSignal<SdCustomValidator | undefined>;
41
47
  inlineError: import("@angular/core").InputSignal<string | undefined>;
42
48
  hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
@@ -43,6 +43,11 @@ export declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit {
43
43
  max: import("@angular/core").InputSignalWithTransform<number | undefined, unknown>;
44
44
  validator: import("@angular/core").InputSignal<SdCustomValidator | undefined>;
45
45
  inlineError: import("@angular/core").InputSignal<string | undefined>;
46
+ /**
47
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
48
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
49
+ */
50
+ get errorTooltipMessage(): string | undefined;
46
51
  hyperlink: import("@angular/core").InputSignal<string | null | undefined>;
47
52
  appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
48
53
  appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
@@ -39,6 +39,11 @@ export declare class SdSelect<T extends object | string | number = Record<string
39
39
  multiple: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
40
40
  validator: import("@angular/core").InputSignal<SdCustomValidator | undefined>;
41
41
  inlineError: import("@angular/core").InputSignal<string | undefined>;
42
+ /**
43
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
44
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
45
+ */
46
+ get errorTooltipMessage(): string | undefined;
42
47
  appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
43
48
  appearance: Signal<MatFormFieldAppearance>;
44
49
  floatLabel: import("@angular/core").InputSignal<FloatLabelType>;
@@ -58,7 +63,7 @@ export declare class SdSelect<T extends object | string | number = Record<string
58
63
  calculatedPanelWidth: import("@angular/core").WritableSignal<string | number>;
59
64
  normalizedValue: Signal<string | number | boolean | (string | number | boolean)[] | null | undefined>;
60
65
  filtered: Signal<boolean>;
61
- delayTime: Signal<0 | 500>;
66
+ delayTime: Signal<500 | 0>;
62
67
  itemValue: (item: T) => unknown;
63
68
  itemDisplay: (item: T) => string;
64
69
  itemDisabled: (item: T) => boolean;
@@ -30,6 +30,11 @@ export declare class SdTextarea implements OnInit, AfterViewInit, OnDestroy {
30
30
  pattern: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
31
31
  validator: import("@angular/core").InputSignal<SdCustomValidator | undefined>;
32
32
  inlineError: import("@angular/core").InputSignalWithTransform<string | undefined, string | null | undefined>;
33
+ /**
34
+ * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true.
35
+ * Dùng getter (không phải computed) vì formControl.errors không phải Angular signal.
36
+ */
37
+ get errorTooltipMessage(): string | undefined;
33
38
  appearanceInput: import("@angular/core").InputSignal<MatFormFieldAppearance | undefined>;
34
39
  appearance: import("@angular/core").Signal<MatFormFieldAppearance>;
35
40
  floatLabel: import("@angular/core").InputSignal<FloatLabelType>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sd-angular/core",
3
- "version": "19.0.0-beta.66",
3
+ "version": "19.0.0-beta.67",
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",
@@ -30,14 +30,14 @@
30
30
  "types": "./index.d.ts",
31
31
  "default": "./fesm2022/sd-angular-core.mjs"
32
32
  },
33
- "./configurations": {
34
- "types": "./configurations/index.d.ts",
35
- "default": "./fesm2022/sd-angular-core-configurations.mjs"
36
- },
37
33
  "./components": {
38
34
  "types": "./components/index.d.ts",
39
35
  "default": "./fesm2022/sd-angular-core-components.mjs"
40
36
  },
37
+ "./configurations": {
38
+ "types": "./configurations/index.d.ts",
39
+ "default": "./fesm2022/sd-angular-core-configurations.mjs"
40
+ },
41
41
  "./directives": {
42
42
  "types": "./directives/index.d.ts",
43
43
  "default": "./fesm2022/sd-angular-core-directives.mjs"
@@ -78,14 +78,14 @@
78
78
  "types": "./components/anchor/index.d.ts",
79
79
  "default": "./fesm2022/sd-angular-core-components-anchor.mjs"
80
80
  },
81
- "./components/avatar": {
82
- "types": "./components/avatar/index.d.ts",
83
- "default": "./fesm2022/sd-angular-core-components-avatar.mjs"
84
- },
85
81
  "./components/anchor-v2": {
86
82
  "types": "./components/anchor-v2/index.d.ts",
87
83
  "default": "./fesm2022/sd-angular-core-components-anchor-v2.mjs"
88
84
  },
85
+ "./components/avatar": {
86
+ "types": "./components/avatar/index.d.ts",
87
+ "default": "./fesm2022/sd-angular-core-components-avatar.mjs"
88
+ },
89
89
  "./components/badge": {
90
90
  "types": "./components/badge/index.d.ts",
91
91
  "default": "./fesm2022/sd-angular-core-components-badge.mjs"
@@ -98,14 +98,14 @@
98
98
  "types": "./components/button/index.d.ts",
99
99
  "default": "./fesm2022/sd-angular-core-components-button.mjs"
100
100
  },
101
- "./components/document-builder": {
102
- "types": "./components/document-builder/index.d.ts",
103
- "default": "./fesm2022/sd-angular-core-components-document-builder.mjs"
104
- },
105
101
  "./components/code-editor": {
106
102
  "types": "./components/code-editor/index.d.ts",
107
103
  "default": "./fesm2022/sd-angular-core-components-code-editor.mjs"
108
104
  },
105
+ "./components/document-builder": {
106
+ "types": "./components/document-builder/index.d.ts",
107
+ "default": "./fesm2022/sd-angular-core-components-document-builder.mjs"
108
+ },
109
109
  "./components/history": {
110
110
  "types": "./components/history/index.d.ts",
111
111
  "default": "./fesm2022/sd-angular-core-components-history.mjs"
@@ -122,14 +122,14 @@
122
122
  "types": "./components/import-excel/index.d.ts",
123
123
  "default": "./fesm2022/sd-angular-core-components-import-excel.mjs"
124
124
  },
125
- "./components/query-builder": {
126
- "types": "./components/query-builder/index.d.ts",
127
- "default": "./fesm2022/sd-angular-core-components-query-builder.mjs"
128
- },
129
125
  "./components/preview": {
130
126
  "types": "./components/preview/index.d.ts",
131
127
  "default": "./fesm2022/sd-angular-core-components-preview.mjs"
132
128
  },
129
+ "./components/query-builder": {
130
+ "types": "./components/query-builder/index.d.ts",
131
+ "default": "./fesm2022/sd-angular-core-components-query-builder.mjs"
132
+ },
133
133
  "./components/quick-action": {
134
134
  "types": "./components/quick-action/index.d.ts",
135
135
  "default": "./fesm2022/sd-angular-core-components-quick-action.mjs"
@@ -150,30 +150,30 @@
150
150
  "types": "./components/table/index.d.ts",
151
151
  "default": "./fesm2022/sd-angular-core-components-table.mjs"
152
152
  },
153
- "./components/view": {
154
- "types": "./components/view/index.d.ts",
155
- "default": "./fesm2022/sd-angular-core-components-view.mjs"
153
+ "./components/upload-file": {
154
+ "types": "./components/upload-file/index.d.ts",
155
+ "default": "./fesm2022/sd-angular-core-components-upload-file.mjs"
156
156
  },
157
- "./forms/autocomplete": {
158
- "types": "./forms/autocomplete/index.d.ts",
159
- "default": "./fesm2022/sd-angular-core-forms-autocomplete.mjs"
157
+ "./components/workflow": {
158
+ "types": "./components/workflow/index.d.ts",
159
+ "default": "./fesm2022/sd-angular-core-components-workflow.mjs"
160
160
  },
161
161
  "./forms/checkbox": {
162
162
  "types": "./forms/checkbox/index.d.ts",
163
163
  "default": "./fesm2022/sd-angular-core-forms-checkbox.mjs"
164
164
  },
165
- "./components/workflow": {
166
- "types": "./components/workflow/index.d.ts",
167
- "default": "./fesm2022/sd-angular-core-components-workflow.mjs"
168
- },
169
- "./forms/chip": {
170
- "types": "./forms/chip/index.d.ts",
171
- "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
165
+ "./forms/autocomplete": {
166
+ "types": "./forms/autocomplete/index.d.ts",
167
+ "default": "./fesm2022/sd-angular-core-forms-autocomplete.mjs"
172
168
  },
173
169
  "./forms/chip-calendar": {
174
170
  "types": "./forms/chip-calendar/index.d.ts",
175
171
  "default": "./fesm2022/sd-angular-core-forms-chip-calendar.mjs"
176
172
  },
173
+ "./forms/chip": {
174
+ "types": "./forms/chip/index.d.ts",
175
+ "default": "./fesm2022/sd-angular-core-forms-chip.mjs"
176
+ },
177
177
  "./forms/date": {
178
178
  "types": "./forms/date/index.d.ts",
179
179
  "default": "./fesm2022/sd-angular-core-forms-date.mjs"
@@ -198,17 +198,17 @@
198
198
  "types": "./forms/input-number/index.d.ts",
199
199
  "default": "./fesm2022/sd-angular-core-forms-input-number.mjs"
200
200
  },
201
- "./forms/radio": {
202
- "types": "./forms/radio/index.d.ts",
203
- "default": "./fesm2022/sd-angular-core-forms-radio.mjs"
201
+ "./forms/models": {
202
+ "types": "./forms/models/index.d.ts",
203
+ "default": "./fesm2022/sd-angular-core-forms-models.mjs"
204
204
  },
205
205
  "./forms/label": {
206
206
  "types": "./forms/label/index.d.ts",
207
207
  "default": "./fesm2022/sd-angular-core-forms-label.mjs"
208
208
  },
209
- "./forms/models": {
210
- "types": "./forms/models/index.d.ts",
211
- "default": "./fesm2022/sd-angular-core-forms-models.mjs"
209
+ "./forms/radio": {
210
+ "types": "./forms/radio/index.d.ts",
211
+ "default": "./fesm2022/sd-angular-core-forms-radio.mjs"
212
212
  },
213
213
  "./forms/select": {
214
214
  "types": "./forms/select/index.d.ts",
@@ -242,14 +242,14 @@
242
242
  "types": "./modules/permission/index.d.ts",
243
243
  "default": "./fesm2022/sd-angular-core-modules-permission.mjs"
244
244
  },
245
- "./services/cache": {
246
- "types": "./services/cache/index.d.ts",
247
- "default": "./fesm2022/sd-angular-core-services-cache.mjs"
248
- },
249
245
  "./services/api": {
250
246
  "types": "./services/api/index.d.ts",
251
247
  "default": "./fesm2022/sd-angular-core-services-api.mjs"
252
248
  },
249
+ "./services/cache": {
250
+ "types": "./services/cache/index.d.ts",
251
+ "default": "./fesm2022/sd-angular-core-services-cache.mjs"
252
+ },
253
253
  "./services/confirm": {
254
254
  "types": "./services/confirm/index.d.ts",
255
255
  "default": "./fesm2022/sd-angular-core-services-confirm.mjs"
@@ -290,9 +290,9 @@
290
290
  "types": "./utilities/models/index.d.ts",
291
291
  "default": "./fesm2022/sd-angular-core-utilities-models.mjs"
292
292
  },
293
- "./components/upload-file": {
294
- "types": "./components/upload-file/index.d.ts",
295
- "default": "./fesm2022/sd-angular-core-components-upload-file.mjs"
293
+ "./components/view": {
294
+ "types": "./components/view/index.d.ts",
295
+ "default": "./fesm2022/sd-angular-core-components-view.mjs"
296
296
  }
297
297
  }
298
298
  }
Binary file