@sdcorejs/angular 21.1.5 → 21.2.0
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.
- package/README.md +12 -4
- package/assets/scss/core/menu.scss +18 -0
- package/assets/scss/core/utilities/_misc.scss +15 -0
- package/assets/scss/sd-core.scss +1 -0
- package/fesm2022/sdcorejs-angular-components-anchor.mjs +37 -13
- package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-badge.mjs +15 -2
- package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-button.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-button.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs +1 -1
- package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-code-editor.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-data-state.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-editor.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs +324 -192
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-history.mjs +4 -4
- package/fesm2022/sdcorejs-angular-components-history.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs +13 -5
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-inform.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-inform.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs +164 -8
- package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal.mjs +30 -18
- package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-org-chart.mjs +60 -13
- package/fesm2022/sdcorejs-angular-components-org-chart.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-preview.mjs +58 -19
- package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs +192 -30
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs +187 -127
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-section.mjs +16 -2
- package/fesm2022/sdcorejs-angular-components-section.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +83 -24
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-splitter.mjs +57 -21
- package/fesm2022/sdcorejs-angular-components-splitter.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-stepper.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs +68 -20
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab.mjs +3 -2
- package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-table.mjs +557 -255
- package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tree.mjs +80 -17
- package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs +48 -13
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components.mjs +6 -1
- package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-configurations.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-directives.mjs +45 -8
- package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +40 -29
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +5 -5
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +67 -50
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip.mjs +57 -43
- package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs +234 -64
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date.mjs +209 -42
- package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs +131 -27
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +40 -16
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs +16 -5
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs +24 -9
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input.mjs +58 -10
- package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-models.mjs +279 -6
- package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-radio.mjs +4 -4
- package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-select.mjs +136 -38
- package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-switch.mjs +18 -3
- package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs +51 -62
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs +57 -12
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time.mjs +16 -5
- package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +100 -9
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms.mjs +91 -46
- package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-handlers.mjs +18 -3
- package/fesm2022/sdcorejs-angular-handlers.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-i18n.mjs +510 -68
- package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-interceptors.mjs +87 -29
- package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-auth.mjs +25 -15
- package/fesm2022/sdcorejs-angular-modules-auth.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-icon.mjs +2 -2
- package/fesm2022/sdcorejs-angular-modules-icon.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-keycloak.mjs +32 -3
- package/fesm2022/sdcorejs-angular-modules-keycloak.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-layout.mjs +441 -135
- package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-permission.mjs +177 -40
- package/fesm2022/sdcorejs-angular-modules-permission.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-pipes.mjs +62 -28
- package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-api.mjs +123 -13
- package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-cache.mjs +53 -3
- package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-confirm.mjs +25 -73
- package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-excel.mjs +12 -10
- package/fesm2022/sdcorejs-angular-services-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-loading.mjs +75 -84
- package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-notify.mjs +46 -5
- package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-storage.mjs +4 -0
- package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services.mjs +0 -1
- package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-utilities-extensions.mjs +225 -80
- package/fesm2022/sdcorejs-angular-utilities-extensions.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-utilities-models.mjs +1 -63
- package/fesm2022/sdcorejs-angular-utilities-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular.mjs +17 -10
- package/fesm2022/sdcorejs-angular.mjs.map +1 -1
- package/package.json +40 -25
- package/types/sdcorejs-angular-components-anchor.d.ts +3 -1
- package/types/sdcorejs-angular-components-badge.d.ts +1 -0
- package/types/sdcorejs-angular-components-ckeditor-styles.d.ts +1 -1
- package/types/sdcorejs-angular-components-form-generic.d.ts +44 -33
- package/types/sdcorejs-angular-components-import-excel.d.ts +1 -0
- package/types/sdcorejs-angular-components-mini-editor.d.ts +1 -1
- package/types/sdcorejs-angular-components-modal-resizable.d.ts +92 -0
- package/types/sdcorejs-angular-components-modal.d.ts +3 -2
- package/types/sdcorejs-angular-components-org-chart.d.ts +6 -0
- package/types/sdcorejs-angular-components-preview.d.ts +1 -0
- package/types/sdcorejs-angular-components-query-bar.d.ts +55 -17
- package/types/sdcorejs-angular-components-query-builder.d.ts +150 -98
- package/types/sdcorejs-angular-components-section.d.ts +3 -0
- package/types/sdcorejs-angular-components-tab-router.d.ts +19 -19
- package/types/sdcorejs-angular-components-table.d.ts +252 -110
- package/types/sdcorejs-angular-components-tree.d.ts +48 -30
- package/types/sdcorejs-angular-components-upload-file.d.ts +6 -3
- package/types/sdcorejs-angular-components.d.ts +6 -1
- package/types/sdcorejs-angular-configurations.d.ts +1 -2
- package/types/sdcorejs-angular-forms-autocomplete.d.ts +5 -2
- package/types/sdcorejs-angular-forms-chip-calendar.d.ts +10 -0
- package/types/sdcorejs-angular-forms-date-range.d.ts +14 -2
- package/types/sdcorejs-angular-forms-date.d.ts +21 -3
- package/types/sdcorejs-angular-forms-datetime.d.ts +13 -2
- package/types/sdcorejs-angular-forms-entity-picker.d.ts +9 -3
- package/types/sdcorejs-angular-forms-input-color.d.ts +4 -0
- package/types/sdcorejs-angular-forms-input-number.d.ts +3 -0
- package/types/sdcorejs-angular-forms-input.d.ts +3 -0
- package/types/sdcorejs-angular-forms-models.d.ts +146 -5
- package/types/sdcorejs-angular-forms-select.d.ts +27 -4
- package/types/sdcorejs-angular-forms-switch.d.ts +7 -1
- package/types/sdcorejs-angular-forms-textarea.d.ts +5 -3
- package/types/sdcorejs-angular-forms-time-range.d.ts +22 -1
- package/types/sdcorejs-angular-forms-tree-select.d.ts +36 -5
- package/types/sdcorejs-angular-forms.d.ts +22 -13
- package/types/sdcorejs-angular-i18n.d.ts +99 -16
- package/types/sdcorejs-angular-interceptors.d.ts +13 -3
- package/types/sdcorejs-angular-modules-auth.d.ts +1 -1
- package/types/sdcorejs-angular-modules-keycloak.d.ts +1 -0
- package/types/sdcorejs-angular-modules-layout.d.ts +103 -28
- package/types/sdcorejs-angular-modules-permission.d.ts +66 -4
- package/types/sdcorejs-angular-pipes.d.ts +27 -5
- package/types/sdcorejs-angular-services-api.d.ts +21 -1
- package/types/sdcorejs-angular-services-cache.d.ts +11 -1
- package/types/sdcorejs-angular-services-notify.d.ts +1 -1
- package/types/sdcorejs-angular-services.d.ts +0 -1
- package/types/sdcorejs-angular-utilities-extensions.d.ts +83 -61
- package/types/sdcorejs-angular-utilities-models.d.ts +2 -76
- package/types/sdcorejs-angular.d.ts +11 -2
- package/fesm2022/sdcorejs-angular-components-base.mjs +0 -23
- package/fesm2022/sdcorejs-angular-components-base.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs +0 -5038
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-models.mjs +0 -6
- package/fesm2022/sdcorejs-angular-models.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-services-docx.mjs +0 -291
- package/fesm2022/sdcorejs-angular-services-docx.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-services-license.mjs +0 -97
- package/fesm2022/sdcorejs-angular-services-license.mjs.map +0 -1
- package/types/sdcorejs-angular-components-base.d.ts +0 -11
- package/types/sdcorejs-angular-components-document-builder.d.ts +0 -252
- package/types/sdcorejs-angular-models.d.ts +0 -2
- package/types/sdcorejs-angular-services-docx.d.ts +0 -27
- package/types/sdcorejs-angular-services-license.d.ts +0 -12
|
@@ -1,71 +1,9 @@
|
|
|
1
|
-
import { EMPTY_STR } from '@sdcorejs/utils/constants';
|
|
2
|
-
export { EMPTY_STR, VALIDATION_PATTERNS } from '@sdcorejs/utils/constants';
|
|
3
|
-
import { StringUtilities } from '@sdcorejs/utils/fns';
|
|
4
|
-
import { resolveMaybeAsync, normalizeAsync } from '@sdcorejs/utils/models';
|
|
5
|
-
export { normalizeAsync, resolveMaybeAsync } from '@sdcorejs/utils/models';
|
|
6
|
-
|
|
7
1
|
const DefaultSdIconSet = 'material-icons-outlined';
|
|
8
2
|
const DefaultSdMaterialIconSet = 'material-icons-outlined';
|
|
9
3
|
|
|
10
|
-
// `name` và `errorMessage` chứa i18n KEY (không phải chuỗi đã dịch).
|
|
11
|
-
/** @deprecated Use `VALIDATION_PATTERNS` from `@sdcorejs/utils/constants` instead. */
|
|
12
|
-
const SdPatternCommons = [
|
|
13
|
-
{ type: 'EMAIL', name: 'core.validator.email.name', regex: StringUtilities.REGEX_EMAIL, errorMessage: 'core.validator.email.error' },
|
|
14
|
-
{ type: 'PHONE', name: 'core.validator.phone.name', regex: StringUtilities.REGEX_PHONE, errorMessage: 'core.validator.phone.error' },
|
|
15
|
-
{
|
|
16
|
-
type: 'PHONE_VN',
|
|
17
|
-
name: 'core.validator.phone-vn.name',
|
|
18
|
-
regex: StringUtilities.REGEX_VN_PHONE,
|
|
19
|
-
errorMessage: 'core.validator.phone-vn.error',
|
|
20
|
-
},
|
|
21
|
-
{ type: 'IDVN', name: 'core.validator.cccd.name', regex: StringUtilities.REGEX_VN_ID, errorMessage: 'core.validator.cccd.error' },
|
|
22
|
-
{
|
|
23
|
-
type: 'PASSPORT',
|
|
24
|
-
name: 'core.validator.passport.name',
|
|
25
|
-
regex: StringUtilities.REGEX_PASSPORT,
|
|
26
|
-
errorMessage: 'core.validator.passport.error',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
type: 'IDVN_OR_PASSPORT',
|
|
30
|
-
name: 'core.validator.id-vn.name',
|
|
31
|
-
regex: StringUtilities.REGEX_VN_ID_OR_PASSPORT,
|
|
32
|
-
errorMessage: 'core.validator.id-vn.error',
|
|
33
|
-
},
|
|
34
|
-
{ type: 'TIME', name: 'core.validator.time.name', regex: StringUtilities.REGEX_TIME, errorMessage: 'core.validator.time.error' },
|
|
35
|
-
];
|
|
36
|
-
|
|
37
|
-
/** @deprecated Use {@link EMPTY_STR} from `@sdcorejs/utils/constants` instead */
|
|
38
|
-
const SD_EMPTY_STR = EMPTY_STR;
|
|
39
|
-
|
|
40
|
-
/** @deprecated Use {@link resolveMaybeAsync} from `@sdcorejs/utils/models` instead */
|
|
41
|
-
const SdResolveMaybeAsync = resolveMaybeAsync;
|
|
42
|
-
/** @deprecated Use {@link normalizeAsync} from `@sdcorejs/utils/models` instead */
|
|
43
|
-
const SdNormalizeAsync = normalizeAsync;
|
|
44
|
-
|
|
45
|
-
// `display` chứa i18n KEY (không phải chuỗi đã dịch).
|
|
46
|
-
// Consumer phải gọi i18n.t(display) trước khi render ra UI.
|
|
47
|
-
// @deprecated Use `OPERATORS` from `@sdcorejs/utils/constants` instead.
|
|
48
|
-
// Note: OPERATORS has translated display labels; SdOperators uses i18n keys.
|
|
49
|
-
const SdOperators = [
|
|
50
|
-
{ value: 'EQUAL', symbol: '=', display: 'core.operator.equal.display' },
|
|
51
|
-
{ value: 'NOT_EQUAL', symbol: '≠', display: 'core.operator.not-equal.display' },
|
|
52
|
-
{ value: 'GREATER_THAN', symbol: '>', display: 'core.operator.greater-than.display' },
|
|
53
|
-
{ value: 'LESS_THAN', symbol: '<', display: 'core.operator.less-than.display' },
|
|
54
|
-
{ value: 'GREATER_OR_EQUAL', symbol: '≥', display: 'core.operator.greater-or-equal.display' },
|
|
55
|
-
{ value: 'LESS_OR_EQUAL', symbol: '≤', display: 'core.operator.less-or-equal.display' },
|
|
56
|
-
{ value: 'CONTAIN', symbol: 'join_inner', display: 'core.operator.contain.display' },
|
|
57
|
-
{ value: 'NOT_CONTAIN', symbol: 'join', display: 'core.operator.not-contain.display' },
|
|
58
|
-
{ value: 'START_WITH', symbol: 'line_start_circle', display: 'core.operator.start-with.display' },
|
|
59
|
-
{ value: 'END_WITH', symbol: 'line_end_circle', display: 'core.operator.end-with.display' },
|
|
60
|
-
{ value: 'IN', symbol: 'checklist_rtl', display: 'core.operator.in.display' },
|
|
61
|
-
{ value: 'NOT_IN', symbol: 'event_list', display: 'core.operator.not-in.display' },
|
|
62
|
-
{ value: 'NULL', symbol: 'motion_photos_off', display: 'core.operator.null.display' },
|
|
63
|
-
{ value: 'NOT_NULL', symbol: 'adjust', display: 'core.operator.not-null.display' },
|
|
64
|
-
];
|
|
65
|
-
|
|
66
4
|
/**
|
|
67
5
|
* Generated bundle index. Do not edit.
|
|
68
6
|
*/
|
|
69
7
|
|
|
70
|
-
export { DefaultSdIconSet, DefaultSdMaterialIconSet
|
|
8
|
+
export { DefaultSdIconSet, DefaultSdMaterialIconSet };
|
|
71
9
|
//# sourceMappingURL=sdcorejs-angular-utilities-models.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdcorejs-angular-utilities-models.mjs","sources":["../../../projects/sdcorejs-angular/utilities/models/src/icon.model.ts","../../../projects/sdcorejs-angular/utilities/models/
|
|
1
|
+
{"version":3,"file":"sdcorejs-angular-utilities-models.mjs","sources":["../../../projects/sdcorejs-angular/utilities/models/src/icon.model.ts","../../../projects/sdcorejs-angular/utilities/models/sdcorejs-angular-utilities-models.ts"],"sourcesContent":["export type SdIconSet = 'material-icons' | 'material-icons-outlined' | 'material-icons-round' | 'material-icons-sharp' | 'lucide';\nexport type SdMaterialIconSet = Exclude<SdIconSet, 'lucide'>;\nexport const DefaultSdIconSet: SdIconSet = 'material-icons-outlined';\nexport const DefaultSdMaterialIconSet: SdMaterialIconSet = 'material-icons-outlined';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEO,MAAM,gBAAgB,GAAc;AACpC,MAAM,wBAAwB,GAAsB;;ACH3D;;AAEG;;;;"}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
export * from '@sdcorejs/angular/configurations';
|
|
2
|
+
export * from '@sdcorejs/angular/i18n';
|
|
3
|
+
export * from '@sdcorejs/angular/utilities';
|
|
4
|
+
export * from '@sdcorejs/angular/pipes';
|
|
5
|
+
export * from '@sdcorejs/angular/directives';
|
|
6
|
+
export * from '@sdcorejs/angular/services';
|
|
7
|
+
export * from '@sdcorejs/angular/interceptors';
|
|
8
|
+
export * from '@sdcorejs/angular/handlers';
|
|
9
|
+
export * from '@sdcorejs/angular/components';
|
|
10
|
+
export * from '@sdcorejs/angular/forms';
|
|
11
|
+
export * from '@sdcorejs/angular/modules';
|
|
11
12
|
|
|
12
13
|
/*
|
|
13
14
|
* Public API Surface of sd-angular
|
|
15
|
+
*
|
|
16
|
+
* why: these were previously bare `import '...'` statements, which meant the primary
|
|
17
|
+
* entry point re-exported NOTHING — `import { SdButton } from '@sdcorejs/angular'`
|
|
18
|
+
* resolved to nothing for every symbol, and the built FESM bundle was 517 bytes with
|
|
19
|
+
* no `export` statement. Deep imports (`@sdcorejs/angular/components/button`) remain
|
|
20
|
+
* the recommended path for bundle size; this barrel exists so the root import works.
|
|
14
21
|
*/
|
|
15
22
|
|
|
16
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdcorejs-angular.mjs","sources":["../../../projects/sdcorejs-angular/src/public-api.ts","../../../projects/sdcorejs-angular/src/sdcorejs-angular.ts"],"sourcesContent":["/*\n * Public API Surface of sd-angular\n */\
|
|
1
|
+
{"version":3,"file":"sdcorejs-angular.mjs","sources":["../../../projects/sdcorejs-angular/src/public-api.ts","../../../projects/sdcorejs-angular/src/sdcorejs-angular.ts"],"sourcesContent":["/*\n * Public API Surface of sd-angular\n *\n * why: these were previously bare `import '...'` statements, which meant the primary\n * entry point re-exported NOTHING — `import { SdButton } from '@sdcorejs/angular'`\n * resolved to nothing for every symbol, and the built FESM bundle was 517 bytes with\n * no `export` statement. Deep imports (`@sdcorejs/angular/components/button`) remain\n * the recommended path for bundle size; this barrel exists so the root import works.\n */\nexport * from '@sdcorejs/angular/configurations';\nexport * from '@sdcorejs/angular/i18n';\nexport * from '@sdcorejs/angular/utilities';\nexport * from '@sdcorejs/angular/pipes';\nexport * from '@sdcorejs/angular/directives';\nexport * from '@sdcorejs/angular/services';\nexport * from '@sdcorejs/angular/interceptors';\nexport * from '@sdcorejs/angular/handlers';\nexport * from '@sdcorejs/angular/components';\nexport * from '@sdcorejs/angular/forms';\nexport * from '@sdcorejs/angular/modules';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;AAQG;;ACRH;;AAEG"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,49 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sdcorejs/angular",
|
|
3
|
-
"version": "21.
|
|
3
|
+
"version": "21.2.0",
|
|
4
|
+
"description": "Angular component library: data table, query bar/builder, 20+ signal-based form controls, layout, auth and workflow services. Standalone, OnPush, signals-first. Published in parallel lines for Angular 19, 20 and 21.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"angular",
|
|
7
|
+
"angular-components",
|
|
8
|
+
"component-library",
|
|
9
|
+
"ui-components",
|
|
10
|
+
"angular-material",
|
|
11
|
+
"signals",
|
|
12
|
+
"standalone-components",
|
|
13
|
+
"data-table",
|
|
14
|
+
"forms",
|
|
15
|
+
"query-builder"
|
|
16
|
+
],
|
|
17
|
+
"author": "SDCoreJS",
|
|
4
18
|
"license": "MIT",
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=20.11.0"
|
|
21
|
+
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/sdcorejs/sdcorejs-angular.git"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://sdcorejs.github.io/sdcorejs-angular/",
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/sdcorejs/sdcorejs-angular/issues"
|
|
29
|
+
},
|
|
5
30
|
"peerDependencies": {
|
|
31
|
+
"@angular/animations": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
32
|
+
"@angular/cdk": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
6
33
|
"@angular/common": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
7
34
|
"@angular/core": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
35
|
+
"@angular/forms": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
8
36
|
"@angular/material": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
9
|
-
"@angular/material-date-fns-adapter": "^19.0.0 || ^20.0.0 || ^21.0.0"
|
|
37
|
+
"@angular/material-date-fns-adapter": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
38
|
+
"@angular/platform-browser": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
39
|
+
"@angular/router": "^19.0.0 || ^20.0.0 || ^21.0.0",
|
|
40
|
+
"rxjs": "^7.8.0"
|
|
10
41
|
},
|
|
11
42
|
"dependencies": {
|
|
12
43
|
"@sdcorejs/angular-material-datetime": "1.0.3",
|
|
13
44
|
"@sdcorejs/utils": "1.1.4",
|
|
14
45
|
"@lucide/angular": "^1.22.0",
|
|
15
46
|
"@ckeditor/ckeditor5-angular": "11.1.2",
|
|
16
|
-
"@omer-go/docx-parser-converter-ts": "^1.0.0",
|
|
17
|
-
"@bjorn3/browser_wasi_shim": "^0.4.2",
|
|
18
47
|
"ckeditor5": "48.0.0",
|
|
19
48
|
"chart.js": "^4.5.1",
|
|
20
49
|
"date-fns": "^3.6.0",
|
|
@@ -24,7 +53,13 @@
|
|
|
24
53
|
"prismjs": "^1.30.0",
|
|
25
54
|
"tslib": "^2.8.0"
|
|
26
55
|
},
|
|
27
|
-
"sideEffects":
|
|
56
|
+
"sideEffects": [
|
|
57
|
+
"**/*.css",
|
|
58
|
+
"**/*.scss",
|
|
59
|
+
"./fesm2022/sdcorejs-angular-components-chart.mjs",
|
|
60
|
+
"./fesm2022/sdcorejs-angular-components-code-editor.mjs",
|
|
61
|
+
"./fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs"
|
|
62
|
+
],
|
|
28
63
|
"module": "fesm2022/sdcorejs-angular.mjs",
|
|
29
64
|
"typings": "types/sdcorejs-angular.d.ts",
|
|
30
65
|
"exports": {
|
|
@@ -59,10 +94,6 @@
|
|
|
59
94
|
"types": "./types/sdcorejs-angular-components-badge.d.ts",
|
|
60
95
|
"default": "./fesm2022/sdcorejs-angular-components-badge.mjs"
|
|
61
96
|
},
|
|
62
|
-
"./components/base": {
|
|
63
|
-
"types": "./types/sdcorejs-angular-components-base.d.ts",
|
|
64
|
-
"default": "./fesm2022/sdcorejs-angular-components-base.mjs"
|
|
65
|
-
},
|
|
66
97
|
"./components/breadcrumb": {
|
|
67
98
|
"types": "./types/sdcorejs-angular-components-breadcrumb.d.ts",
|
|
68
99
|
"default": "./fesm2022/sdcorejs-angular-components-breadcrumb.mjs"
|
|
@@ -87,10 +118,6 @@
|
|
|
87
118
|
"types": "./types/sdcorejs-angular-components-data-state.d.ts",
|
|
88
119
|
"default": "./fesm2022/sdcorejs-angular-components-data-state.mjs"
|
|
89
120
|
},
|
|
90
|
-
"./components/document-builder": {
|
|
91
|
-
"types": "./types/sdcorejs-angular-components-document-builder.d.ts",
|
|
92
|
-
"default": "./fesm2022/sdcorejs-angular-components-document-builder.mjs"
|
|
93
|
-
},
|
|
94
121
|
"./components/editor": {
|
|
95
122
|
"types": "./types/sdcorejs-angular-components-editor.d.ts",
|
|
96
123
|
"default": "./fesm2022/sdcorejs-angular-components-editor.mjs"
|
|
@@ -303,10 +330,6 @@
|
|
|
303
330
|
"types": "./types/sdcorejs-angular-interceptors.d.ts",
|
|
304
331
|
"default": "./fesm2022/sdcorejs-angular-interceptors.mjs"
|
|
305
332
|
},
|
|
306
|
-
"./models": {
|
|
307
|
-
"types": "./types/sdcorejs-angular-models.d.ts",
|
|
308
|
-
"default": "./fesm2022/sdcorejs-angular-models.mjs"
|
|
309
|
-
},
|
|
310
333
|
"./modules": {
|
|
311
334
|
"types": "./types/sdcorejs-angular-modules.d.ts",
|
|
312
335
|
"default": "./fesm2022/sdcorejs-angular-modules.mjs"
|
|
@@ -351,18 +374,10 @@
|
|
|
351
374
|
"types": "./types/sdcorejs-angular-services-confirm.d.ts",
|
|
352
375
|
"default": "./fesm2022/sdcorejs-angular-services-confirm.mjs"
|
|
353
376
|
},
|
|
354
|
-
"./services/docx": {
|
|
355
|
-
"types": "./types/sdcorejs-angular-services-docx.d.ts",
|
|
356
|
-
"default": "./fesm2022/sdcorejs-angular-services-docx.mjs"
|
|
357
|
-
},
|
|
358
377
|
"./services/excel": {
|
|
359
378
|
"types": "./types/sdcorejs-angular-services-excel.d.ts",
|
|
360
379
|
"default": "./fesm2022/sdcorejs-angular-services-excel.mjs"
|
|
361
380
|
},
|
|
362
|
-
"./services/license": {
|
|
363
|
-
"types": "./types/sdcorejs-angular-services-license.d.ts",
|
|
364
|
-
"default": "./fesm2022/sdcorejs-angular-services-license.mjs"
|
|
365
|
-
},
|
|
366
381
|
"./services/loading": {
|
|
367
382
|
"types": "./types/sdcorejs-angular-services-loading.d.ts",
|
|
368
383
|
"default": "./fesm2022/sdcorejs-angular-services-loading.mjs"
|
|
@@ -30,13 +30,15 @@ declare class SdAnchor implements OnDestroy {
|
|
|
30
30
|
ellipsis: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
31
31
|
overScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
32
32
|
hideNav: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
33
|
+
hideNavOnMobile: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
33
34
|
color: _angular_core.InputSignal<Color>;
|
|
35
|
+
readonly navHidden: _angular_core.Signal<boolean>;
|
|
34
36
|
activeSectionId: _angular_core.WritableSignal<string>;
|
|
35
37
|
constructor();
|
|
36
38
|
scrollSectionByClick(idSectionTarget: string): void;
|
|
37
39
|
ngOnDestroy(): void;
|
|
38
40
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdAnchor, never>;
|
|
39
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdAnchor, "sd-anchor", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "sidebarWidth": { "alias": "sidebarWidth"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; "overScroll": { "alias": "overScroll"; "required": false; "isSignal": true; }; "hideNav": { "alias": "hideNav"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, ["sections"], ["*"], true, never>;
|
|
41
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdAnchor, "sd-anchor", never, { "autoIdInput": { "alias": "autoId"; "required": false; "isSignal": true; }; "sidebarWidth": { "alias": "sidebarWidth"; "required": false; "isSignal": true; }; "ellipsis": { "alias": "ellipsis"; "required": false; "isSignal": true; }; "overScroll": { "alias": "overScroll"; "required": false; "isSignal": true; }; "hideNav": { "alias": "hideNav"; "required": false; "isSignal": true; }; "hideNavOnMobile": { "alias": "hideNavOnMobile"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, ["sections"], ["*"], true, never>;
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
export { SdAnchor, SdAnchorItem };
|
|
@@ -22,6 +22,7 @@ declare class SdBadge {
|
|
|
22
22
|
size: _angular_core.InputSignalWithTransform<Size, Size | null | undefined>;
|
|
23
23
|
readonly click: EventEmitter<Event>;
|
|
24
24
|
onClick: (event: Event) => void;
|
|
25
|
+
onActivateKey: (event: Event) => void;
|
|
25
26
|
effectiveColor: _angular_core.Signal<Color>;
|
|
26
27
|
baseColorClasses: _angular_core.Signal<{
|
|
27
28
|
'c-primary': boolean;
|
|
@@ -7,7 +7,7 @@ import * as i0 from '@angular/core';
|
|
|
7
7
|
* - CKEditor's CSS must be global (applies to body-rendered overlays, dialogs, balloons),
|
|
8
8
|
* which means whichever Angular component declares it must use ViewEncapsulation.None.
|
|
9
9
|
* - Switching encapsulation on the main editor components (`<sd-editor>`, `<sd-mini-editor>`,
|
|
10
|
-
* `<sd-
|
|
10
|
+
* `<sd-mini-editor>`) would un-scope all their local styles too.
|
|
11
11
|
* - Instead, this tiny no-render component owns the global CSS. The editor components embed
|
|
12
12
|
* `<sd-ckeditor-styles>` at the top of their template; the CSS is injected once into <head>
|
|
13
13
|
* the first time any editor instance mounts. Editor components themselves keep
|
|
@@ -3,7 +3,7 @@ import { InjectionToken, OnDestroy, OnInit, AfterViewInit, QueryList } from '@an
|
|
|
3
3
|
import { SdSearch, SdCustomValidator } from '@sdcorejs/angular/forms/models';
|
|
4
4
|
import { SdTableColumn, SdTableOption, SdTable } from '@sdcorejs/angular/components/table';
|
|
5
5
|
import { SdUploadFile } from '@sdcorejs/angular/components/upload-file';
|
|
6
|
-
import { Operator
|
|
6
|
+
import { Operator, ValidationPatternType, Color } from '@sdcorejs/utils/models';
|
|
7
7
|
import { SdUnwrapSignal } from '@sdcorejs/angular/utilities/models';
|
|
8
8
|
import { CdkDropList, CdkDragMove, CdkDragDrop, CdkDragEnter, CdkDragSortEvent, CdkDrag } from '@angular/cdk/drag-drop';
|
|
9
9
|
import { FormGroup } from '@angular/forms';
|
|
@@ -17,7 +17,7 @@ type SdFormRenderEntity = Record<string, any> & {
|
|
|
17
17
|
sdRaw?: Record<string, any>;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
interface SdFormGenericSelectionItem<T =
|
|
20
|
+
interface SdFormGenericSelectionItem<T = unknown> {
|
|
21
21
|
value: string;
|
|
22
22
|
display: string;
|
|
23
23
|
disabled?: boolean;
|
|
@@ -28,8 +28,8 @@ interface SdFormGenericSelectionStaticItem {
|
|
|
28
28
|
value: string;
|
|
29
29
|
label: string;
|
|
30
30
|
}
|
|
31
|
-
type SdFormGenericDefinitionSelection<T =
|
|
32
|
-
interface SelectionVariables<T =
|
|
31
|
+
type SdFormGenericDefinitionSelection<T = unknown, TArgs = unknown> = SelectionValues<T> | SelectionLazyValues<T> | SelectionValuesKey<TArgs> | SelectionLazyValuesKey<TArgs>;
|
|
32
|
+
interface SelectionVariables<T = unknown> {
|
|
33
33
|
items?: {
|
|
34
34
|
value: Extract<keyof T, string>;
|
|
35
35
|
display: string;
|
|
@@ -57,10 +57,10 @@ interface SelectionLazyValuesKey<TArgs> extends SelecttionBase {
|
|
|
57
57
|
lazyValuesKey: string;
|
|
58
58
|
args?: TArgs;
|
|
59
59
|
}
|
|
60
|
-
interface SelectionValues<T =
|
|
60
|
+
interface SelectionValues<T = unknown> extends SelecttionBase {
|
|
61
61
|
values: (args: SdFormGenericArgs) => Promise<SdFormGenericSelectionItem<T>[]>;
|
|
62
62
|
}
|
|
63
|
-
interface SelectionLazyValues<T =
|
|
63
|
+
interface SelectionLazyValues<T = unknown> extends SelecttionBase {
|
|
64
64
|
lazyValues: (searchArgs: Parameters<SdSearch>[0], args: SdFormGenericArgs) => Promise<SdFormGenericSelectionItem<T>[]>;
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -74,13 +74,13 @@ interface SdFormGenericExpressionCondition {
|
|
|
74
74
|
key: string;
|
|
75
75
|
type: 'condition';
|
|
76
76
|
field?: string;
|
|
77
|
-
operator: Operator
|
|
77
|
+
operator: Operator;
|
|
78
78
|
value: any;
|
|
79
79
|
dayInfo: DayInfo;
|
|
80
80
|
}
|
|
81
|
-
type
|
|
82
|
-
declare const
|
|
83
|
-
value:
|
|
81
|
+
type SdFormGenericOperator = 'EQUAL' | 'NOT_EQUAL' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_OR_EQUAL' | 'LESS_OR_EQUAL' | 'NULL' | 'NOT_NULL';
|
|
82
|
+
declare const SdFormGenericOperators: {
|
|
83
|
+
value: SdFormGenericOperator;
|
|
84
84
|
symbol?: string;
|
|
85
85
|
display: string;
|
|
86
86
|
}[];
|
|
@@ -107,16 +107,16 @@ interface DayInfo {
|
|
|
107
107
|
related?: 'LASTDAY' | 'NEXTDAY' | 'LASTWEEK' | 'NEXTWEEK' | 'LASTMONTH' | 'NEXTMONTH';
|
|
108
108
|
relatedValue?: number;
|
|
109
109
|
}
|
|
110
|
-
declare const
|
|
110
|
+
declare const SD_DAY_INFO_TYPES: {
|
|
111
111
|
value: string;
|
|
112
112
|
display: string;
|
|
113
113
|
}[];
|
|
114
|
-
declare const
|
|
114
|
+
declare const SD_DAY_INFO_PREVIOUSES: {
|
|
115
115
|
value: string;
|
|
116
116
|
display: string;
|
|
117
117
|
format: (n: number) => string;
|
|
118
118
|
}[];
|
|
119
|
-
declare const
|
|
119
|
+
declare const sdGetDatetimeValue: (value: string) => string | undefined;
|
|
120
120
|
interface AttributeValues {
|
|
121
121
|
value: string;
|
|
122
122
|
display: string;
|
|
@@ -126,20 +126,24 @@ interface AttributeValues {
|
|
|
126
126
|
display: string;
|
|
127
127
|
}[];
|
|
128
128
|
}
|
|
129
|
-
declare const
|
|
130
|
-
value:
|
|
129
|
+
declare const SD_ATTRIBUTE_OPERATORS: Record<Attribute['type'], {
|
|
130
|
+
value: SdFormGenericOperator;
|
|
131
131
|
symbol?: string;
|
|
132
132
|
display: string;
|
|
133
133
|
}[]>;
|
|
134
|
-
declare const
|
|
135
|
-
declare const
|
|
136
|
-
declare const
|
|
137
|
-
declare const
|
|
134
|
+
declare const sdGetAttributes: (components: (SdFormGenericComponent | SdFormGenericGroup)[]) => Attribute[];
|
|
135
|
+
declare const sdTemplateToCondition: (template: string | undefined | null, entity: Record<string, any>) => string | undefined;
|
|
136
|
+
declare const sdEvaluateExpression: (condition: SdFormGenericExpression | SdFormGenericExpressionCondition, entity: Record<string, any>) => boolean | undefined;
|
|
137
|
+
declare const sdExpressionToJavascriptExpression: (condition: SdFormGenericExpression | SdFormGenericExpressionCondition) => string | undefined;
|
|
138
138
|
|
|
139
139
|
type SdFormGenericValidation = ValidationExpression | ValidationFunction;
|
|
140
140
|
interface ValidationBase {
|
|
141
141
|
alert: 'warning' | 'error';
|
|
142
142
|
}
|
|
143
|
+
declare const ValidationAlerts: {
|
|
144
|
+
value: string;
|
|
145
|
+
display: string;
|
|
146
|
+
}[];
|
|
143
147
|
interface ValidationExpression extends ValidationBase {
|
|
144
148
|
type: 'expression';
|
|
145
149
|
expression: SdFormGenericExpression;
|
|
@@ -179,9 +183,9 @@ interface SdFormGenericLayout {
|
|
|
179
183
|
columns: '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
180
184
|
mobileColumns?: '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
181
185
|
}
|
|
182
|
-
declare const
|
|
183
|
-
declare const
|
|
184
|
-
declare const
|
|
186
|
+
declare const sdGenerateId: () => string;
|
|
187
|
+
declare const sdGenerateKey: () => string;
|
|
188
|
+
declare const sdFormatComponent: (component: SdFormGenericComponent | SdFormGenericGroup) => void;
|
|
185
189
|
interface SdFormGenericVariable {
|
|
186
190
|
id: string;
|
|
187
191
|
key: string;
|
|
@@ -333,7 +337,7 @@ interface FormRenderComponentTableColumnValues {
|
|
|
333
337
|
query?: Record<string, any>;
|
|
334
338
|
}
|
|
335
339
|
type SdFormGenericTableColumn<T = any> = TableColumnString<T> | TableColumnNumber<T> | TableColumnBool<T> | TableColumnDate<T> | TableColumnDatetime<T> | TableColumnRadio<T> | TableColumnValues<T> | TableColumnImage<T> | TableColumnFile<T>;
|
|
336
|
-
declare const
|
|
340
|
+
declare const SD_TABLE_COLUMN_TYPES: {
|
|
337
341
|
value: string;
|
|
338
342
|
display: string;
|
|
339
343
|
}[];
|
|
@@ -463,17 +467,17 @@ interface FormBuilderComponent {
|
|
|
463
467
|
group: FormBuilderComponentGroup;
|
|
464
468
|
name: string;
|
|
465
469
|
}
|
|
466
|
-
declare const
|
|
470
|
+
declare const SD_FORM_BUILDER_COMPONENTS: FormBuilderComponent[];
|
|
467
471
|
/** Lookup: component type → Material icon + label, used by attribute panel header. */
|
|
468
|
-
declare const
|
|
472
|
+
declare const SD_COMPONENT_ICONS: Record<string, {
|
|
469
473
|
symbol: string;
|
|
470
474
|
label: string;
|
|
471
475
|
}>;
|
|
472
|
-
declare const
|
|
476
|
+
declare const sdGetComponentAttributes: (components: (SdFormGenericComponent | SdFormGenericGroup)[]) => {
|
|
473
477
|
value: string;
|
|
474
478
|
display: string;
|
|
475
479
|
}[];
|
|
476
|
-
declare const
|
|
480
|
+
declare const sdGetVariableAttributes: (variables: SdFormGenericVariable[]) => {
|
|
477
481
|
value: string;
|
|
478
482
|
display: string;
|
|
479
483
|
}[];
|
|
@@ -525,7 +529,7 @@ interface SdFormGenericDefinitionHtmlQuery {
|
|
|
525
529
|
}[];
|
|
526
530
|
}
|
|
527
531
|
|
|
528
|
-
interface IWorkflowConfigurationForm<TSelectionArgs =
|
|
532
|
+
interface IWorkflowConfigurationForm<TSelectionArgs = unknown> {
|
|
529
533
|
templates: SdFormGenericTemplate[];
|
|
530
534
|
selections: SdFormGenericDefinitionSelection<any, TSelectionArgs>[] | (() => SdFormGenericDefinitionSelection<any, TSelectionArgs>[]) | (() => Promise<SdFormGenericDefinitionSelection[]>);
|
|
531
535
|
getValues?: (key: string, selectionArgs?: TSelectionArgs) => Promise<SdFormGenericSelectionItem[]>;
|
|
@@ -595,7 +599,7 @@ declare class TableComponent implements AfterViewInit, OnDestroy, OnInit {
|
|
|
595
599
|
readonly modelChange: _angular_core.OutputEmitterRef<any[]>;
|
|
596
600
|
tableOption?: SdTableOption;
|
|
597
601
|
row: any;
|
|
598
|
-
columnValues: Record<string, SdFormGenericSelectionItem[] | SdSearch$1
|
|
602
|
+
columnValues: Record<string, SdFormGenericSelectionItem[] | SdSearch$1<SdFormGenericSelectionItem>>;
|
|
599
603
|
formRenderColumn: Record<string, SdFormGenericTableColumn>;
|
|
600
604
|
fileKeys: string[];
|
|
601
605
|
imageKeys: string[];
|
|
@@ -604,6 +608,11 @@ declare class TableComponent implements AfterViewInit, OnDestroy, OnInit {
|
|
|
604
608
|
ngOnInit(): void;
|
|
605
609
|
ngAfterViewInit(): void;
|
|
606
610
|
ngOnDestroy(): void;
|
|
611
|
+
/**
|
|
612
|
+
* Tiêu đề của side-drawer phải nói đúng tác vụ đang làm — trước đây nó cứng là "Chi tiết" cho cả
|
|
613
|
+
* thêm mới lẫn sửa, còn dòng "Tạo mới/cập nhật" thì rơi vào thân drawer vì gắn nhầm slot.
|
|
614
|
+
*/
|
|
615
|
+
get detailTitle(): string;
|
|
607
616
|
onDetail: (row?: any) => void;
|
|
608
617
|
onCancel: () => void;
|
|
609
618
|
onAccept: (addable?: boolean) => void;
|
|
@@ -797,7 +806,7 @@ declare class SdFormBuilder implements OnInit, OnDestroy {
|
|
|
797
806
|
placeholderColumnsFor: (item: FormBuilderComponent | SdFormGenericComponent | SdFormGenericGroup | DragDropRowItem | undefined) => number;
|
|
798
807
|
/** True nếu component có expression điều kiện — drives the "conditional" status chip. */
|
|
799
808
|
hasConditional: (item: SdFormGenericComponent | SdFormGenericGroup) => boolean;
|
|
800
|
-
/** Map
|
|
809
|
+
/** Map Color preset → 2 CSS var names cho header-bg và header-fg của group card. */
|
|
801
810
|
groupColorVars: (color: string | undefined | null) => {
|
|
802
811
|
bg: string;
|
|
803
812
|
fg: string;
|
|
@@ -805,6 +814,7 @@ declare class SdFormBuilder implements OnInit, OnDestroy {
|
|
|
805
814
|
/** Segmented Design/Preview toggle (replaces play_circle/stop_circle). */
|
|
806
815
|
setMode: (preview: boolean) => void;
|
|
807
816
|
/** Mở canvas thiết kế riêng cho 1 group (chỉ children của nó). Snapshot để Cancel revert. */
|
|
817
|
+
onEnterGroupEditKeydown: (group: SdFormGenericGroup, event: KeyboardEvent) => void;
|
|
808
818
|
enterGroupEdit: (group: SdFormGenericGroup) => void;
|
|
809
819
|
/** OK: giữ thay đổi children, quay về canvas chính. */
|
|
810
820
|
confirmGroupEdit: () => void;
|
|
@@ -817,6 +827,7 @@ declare class SdFormBuilder implements OnInit, OnDestroy {
|
|
|
817
827
|
/** Xoá component theo scope hiện tại (top-level hoặc children của group đang Detail). */
|
|
818
828
|
removeComponent: (id: string) => void;
|
|
819
829
|
selectComponent: (item?: SdFormGenericComponent | SdFormGenericGroup) => void;
|
|
830
|
+
onPaletteItemKeydown: (item: FormBuilderComponent, event: KeyboardEvent) => void;
|
|
820
831
|
onClickedOutside: (e: any) => void;
|
|
821
832
|
clickFormContentEmpty: () => void;
|
|
822
833
|
drop: (event: CdkDragDrop<any[]>) => void;
|
|
@@ -867,7 +878,7 @@ declare class SdFeelExpression implements OnInit {
|
|
|
867
878
|
modal?: SdModal;
|
|
868
879
|
form: FormGroup<{}>;
|
|
869
880
|
attributeOperators: Record<"string" | "number" | "boolean" | "datetime" | "values", {
|
|
870
|
-
value: _sdcorejs_angular_components_form_generic.
|
|
881
|
+
value: _sdcorejs_angular_components_form_generic.SdFormGenericOperator;
|
|
871
882
|
symbol?: string;
|
|
872
883
|
display: string;
|
|
873
884
|
}[]>;
|
|
@@ -905,5 +916,5 @@ declare class SdFormRenderService {
|
|
|
905
916
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdFormRenderService>;
|
|
906
917
|
}
|
|
907
918
|
|
|
908
|
-
export {
|
|
909
|
-
export type { Attribute, DayInfo, FormBuilderComponent, FormBuilderComponentGroup, FormRenderComponentTableColumnValues, ISdFormGenericConfiguration, IWorkflowConfigurationForm,
|
|
919
|
+
export { SD_ATTRIBUTE_OPERATORS, SD_COMPONENT_ICONS, SD_DAY_INFO_PREVIOUSES, SD_DAY_INFO_TYPES, SD_FORM_BUILDER_COMPONENTS, SD_FORM_GENERIC_CONFIGURATION, SD_TABLE_COLUMN_TYPES, SdFeelExpression, SdFormBuilder, SdFormGenericOperators, SdFormRender, SdFormRenderService, ValidationAlerts, sdEvaluateExpression, sdExpressionToJavascriptExpression, sdFormatComponent, sdGenerateId, sdGenerateKey, sdGetAttributes, sdGetComponentAttributes, sdGetDatetimeValue, sdGetVariableAttributes, sdTemplateToCondition };
|
|
920
|
+
export type { Attribute, DayInfo, FormBuilderComponent, FormBuilderComponentGroup, FormRenderComponentTableColumnValues, ISdFormGenericConfiguration, IWorkflowConfigurationForm, SdFormGeneric, SdFormGenericArgs, SdFormGenericBreak, SdFormGenericCheckbox, SdFormGenericChecklist, SdFormGenericChipCalendar, SdFormGenericChipString, SdFormGenericComponent, SdFormGenericComponentBase, SdFormGenericDatetime, SdFormGenericDefinitionHtml, SdFormGenericDefinitionSelection, SdFormGenericDefinitionTable, SdFormGenericExpression, SdFormGenericExpressionCondition, SdFormGenericGroup, SdFormGenericHtml, SdFormGenericLayout, SdFormGenericNumber, SdFormGenericOperator, SdFormGenericRadio, SdFormGenericSelect, SdFormGenericSelectionItem, SdFormGenericSelectionStaticItem, SdFormGenericTable, SdFormGenericTableColumn, SdFormGenericTemplate, SdFormGenericTextarea, SdFormGenericTextfield, SdFormGenericUpload, SdFormGenericValidation, SdFormGenericValidationConfiguration, SdFormGenericValidationFunction, SdFormGenericValues, SdFormGenericVariable, SdFormRenderConfiguration, SdFormRenderEntity };
|
|
@@ -139,6 +139,7 @@ declare class SdImportExcel implements OnInit, OnDestroy {
|
|
|
139
139
|
accept: () => void;
|
|
140
140
|
setValidation: (validations: SdImportExcelValidation[]) => void;
|
|
141
141
|
view: (showing?: "ALL" | "SUCCESS" | "WARNING" | "ERROR") => void;
|
|
142
|
+
onDownloadTemplateKeydown: (event: KeyboardEvent) => void;
|
|
142
143
|
downloadTemplate: () => Promise<void>;
|
|
143
144
|
export: () => Promise<void>;
|
|
144
145
|
onClosed: () => void;
|
|
@@ -18,7 +18,7 @@ interface SdMiniEditorMentionConfig {
|
|
|
18
18
|
attributes?: Record<string, string>;
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
type SdMiniEditorMentionItem<T =
|
|
21
|
+
type SdMiniEditorMentionItem<T = unknown> = MentionFeedObjectItem & {
|
|
22
22
|
data?: T;
|
|
23
23
|
};
|
|
24
24
|
interface SdMiniEditorOption {
|