@masterteam/components 0.0.108 → 0.0.110
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/assets/common.css +1 -1
- package/assets/i18n/ar.json +38 -28
- package/assets/i18n/en.json +10 -0
- package/fesm2022/masterteam-components-business-fields.mjs +260 -3
- package/fesm2022/masterteam-components-business-fields.mjs.map +1 -1
- package/fesm2022/masterteam-components-entities.mjs +2 -2
- package/fesm2022/masterteam-components-entities.mjs.map +1 -1
- package/fesm2022/masterteam-components-slider-field.mjs +2 -2
- package/fesm2022/masterteam-components-slider-field.mjs.map +1 -1
- package/fesm2022/masterteam-components.mjs +10 -1
- package/fesm2022/masterteam-components.mjs.map +1 -1
- package/package.json +1 -1
- package/types/masterteam-components-business-fields.d.ts +73 -1
- package/types/masterteam-components.d.ts +16 -3
- package/.codex-tmp-pack/extract/package/README.md +0 -63
- package/.codex-tmp-pack/extract/package/assets/cairo.css +0 -70
- package/.codex-tmp-pack/extract/package/assets/common.css +0 -2
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-Black.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-Bold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-ExtraBold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-ExtraLight.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-Light.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-Medium.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-Regular.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-SemiBold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Cairo-VariableFont_slnt,wght.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-Black.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-BlackItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-Bold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-BoldItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-ExtraBold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-ExtraBoldItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-ExtraLight.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-ExtraLightItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-Italic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-Light.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-LightItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-Medium.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-MediumItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-Regular.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-SemiBold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-SemiBoldItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-Thin.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/Inter-ThinItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-Black.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-BlackItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-Bold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-BoldItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-ExtraBold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-ExtraBoldItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-ExtraLight.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-ExtraLightItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-Italic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-Light.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-LightItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-Medium.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-MediumItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-Regular.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-SemiBold.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-SemiBoldItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-Thin.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterDisplay-ThinItalic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterVariable-Italic.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/fonts/InterVariable.woff2 +0 -0
- package/.codex-tmp-pack/extract/package/assets/i18n/ar.json +0 -44
- package/.codex-tmp-pack/extract/package/assets/i18n/en.json +0 -44
- package/.codex-tmp-pack/extract/package/assets/inter.css +0 -418
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-avatar-text.mjs +0 -46
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-avatar-text.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-avatar.mjs +0 -45
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-avatar.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-breadcrumb.mjs +0 -27
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-breadcrumb.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-business-fields.mjs +0 -222
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-business-fields.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-button-group.mjs +0 -20
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-button-group.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-button.mjs +0 -52
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-button.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-card.mjs +0 -28
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-card.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-checkbox-field.mjs +0 -88
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-checkbox-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-chip.mjs +0 -35
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-chip.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-client-page-menu.mjs +0 -92
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-client-page-menu.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-client-page.mjs +0 -93
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-client-page.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-color-picker-field.mjs +0 -94
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-color-picker-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-confirmation.mjs +0 -93
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-confirmation.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-date-field.mjs +0 -94
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-date-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-dialog.mjs +0 -33
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-dialog.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-drawer.mjs +0 -69
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-drawer.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-dynamic-drawer.mjs +0 -321
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-dynamic-drawer.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-editor-field.mjs +0 -96
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-editor-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-entities.mjs +0 -572
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-entities.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-field-validation.mjs +0 -103
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-field-validation.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-formula.mjs +0 -3102
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-formula.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-icon-field.mjs +0 -63
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-icon-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-list.mjs +0 -31
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-list.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-menu.mjs +0 -136
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-menu.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-modal.mjs +0 -50
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-modal.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-module-summary-card.mjs +0 -32
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-module-summary-card.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-multi-select-field.mjs +0 -197
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-multi-select-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-number-field.mjs +0 -95
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-number-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-page-header.mjs +0 -42
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-page-header.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-page.mjs +0 -35
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-page.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-paginator.mjs +0 -44
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-paginator.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-pick-list-field.mjs +0 -204
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-pick-list-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-progress.mjs +0 -41
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-progress.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-property-filter-builder.mjs +0 -383
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-property-filter-builder.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-radio-button-field.mjs +0 -85
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-radio-button-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-radio-cards-field.mjs +0 -68
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-radio-cards-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-radio-cards.mjs +0 -74
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-radio-cards.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-select-field.mjs +0 -258
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-select-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-sidebar.mjs +0 -36
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-sidebar.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-slider-field.mjs +0 -104
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-slider-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-statistic-card.mjs +0 -21
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-statistic-card.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-table.mjs +0 -583
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-table.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-tabs.mjs +0 -44
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-tabs.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-text-field.mjs +0 -159
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-text-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-textarea-field.mjs +0 -92
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-textarea-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-toast.mjs +0 -75
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-toast.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-toggle-field.mjs +0 -104
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-toggle-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-tooltip.mjs +0 -45
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-tooltip.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-topbar.mjs +0 -28
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-topbar.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-tree.mjs +0 -219
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-tree.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-upload-field.mjs +0 -480
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-upload-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-user-search-field.mjs +0 -153
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components-user-search-field.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components.mjs +0 -1338
- package/.codex-tmp-pack/extract/package/fesm2022/masterteam-components.mjs.map +0 -1
- package/.codex-tmp-pack/extract/package/types/masterteam-components-avatar-text.d.ts +0 -23
- package/.codex-tmp-pack/extract/package/types/masterteam-components-avatar.d.ts +0 -21
- package/.codex-tmp-pack/extract/package/types/masterteam-components-breadcrumb.d.ts +0 -18
- package/.codex-tmp-pack/extract/package/types/masterteam-components-business-fields.d.ts +0 -114
- package/.codex-tmp-pack/extract/package/types/masterteam-components-button-group.d.ts +0 -8
- package/.codex-tmp-pack/extract/package/types/masterteam-components-button.d.ts +0 -36
- package/.codex-tmp-pack/extract/package/types/masterteam-components-card.d.ts +0 -14
- package/.codex-tmp-pack/extract/package/types/masterteam-components-checkbox-field.d.ts +0 -34
- package/.codex-tmp-pack/extract/package/types/masterteam-components-chip.d.ts +0 -19
- package/.codex-tmp-pack/extract/package/types/masterteam-components-client-page-menu.d.ts +0 -35
- package/.codex-tmp-pack/extract/package/types/masterteam-components-client-page.d.ts +0 -42
- package/.codex-tmp-pack/extract/package/types/masterteam-components-color-picker-field.d.ts +0 -35
- package/.codex-tmp-pack/extract/package/types/masterteam-components-confirmation.d.ts +0 -41
- package/.codex-tmp-pack/extract/package/types/masterteam-components-date-field.d.ts +0 -41
- package/.codex-tmp-pack/extract/package/types/masterteam-components-dialog.d.ts +0 -12
- package/.codex-tmp-pack/extract/package/types/masterteam-components-drawer.d.ts +0 -30
- package/.codex-tmp-pack/extract/package/types/masterteam-components-dynamic-drawer.d.ts +0 -93
- package/.codex-tmp-pack/extract/package/types/masterteam-components-editor-field.d.ts +0 -34
- package/.codex-tmp-pack/extract/package/types/masterteam-components-entities.d.ts +0 -326
- package/.codex-tmp-pack/extract/package/types/masterteam-components-field-validation.d.ts +0 -13
- package/.codex-tmp-pack/extract/package/types/masterteam-components-formula.d.ts +0 -651
- package/.codex-tmp-pack/extract/package/types/masterteam-components-icon-field.d.ts +0 -27
- package/.codex-tmp-pack/extract/package/types/masterteam-components-list.d.ts +0 -18
- package/.codex-tmp-pack/extract/package/types/masterteam-components-menu.d.ts +0 -55
- package/.codex-tmp-pack/extract/package/types/masterteam-components-modal.d.ts +0 -18
- package/.codex-tmp-pack/extract/package/types/masterteam-components-module-summary-card.d.ts +0 -17
- package/.codex-tmp-pack/extract/package/types/masterteam-components-multi-select-field.d.ts +0 -74
- package/.codex-tmp-pack/extract/package/types/masterteam-components-number-field.d.ts +0 -42
- package/.codex-tmp-pack/extract/package/types/masterteam-components-page-header.d.ts +0 -30
- package/.codex-tmp-pack/extract/package/types/masterteam-components-page.d.ts +0 -26
- package/.codex-tmp-pack/extract/package/types/masterteam-components-paginator.d.ts +0 -20
- package/.codex-tmp-pack/extract/package/types/masterteam-components-pick-list-field.d.ts +0 -60
- package/.codex-tmp-pack/extract/package/types/masterteam-components-progress.d.ts +0 -20
- package/.codex-tmp-pack/extract/package/types/masterteam-components-property-filter-builder.d.ts +0 -90
- package/.codex-tmp-pack/extract/package/types/masterteam-components-radio-button-field.d.ts +0 -41
- package/.codex-tmp-pack/extract/package/types/masterteam-components-radio-cards-field.d.ts +0 -30
- package/.codex-tmp-pack/extract/package/types/masterteam-components-radio-cards.d.ts +0 -33
- package/.codex-tmp-pack/extract/package/types/masterteam-components-select-field.d.ts +0 -84
- package/.codex-tmp-pack/extract/package/types/masterteam-components-sidebar.d.ts +0 -28
- package/.codex-tmp-pack/extract/package/types/masterteam-components-slider-field.d.ts +0 -45
- package/.codex-tmp-pack/extract/package/types/masterteam-components-statistic-card.d.ts +0 -17
- package/.codex-tmp-pack/extract/package/types/masterteam-components-table.d.ts +0 -207
- package/.codex-tmp-pack/extract/package/types/masterteam-components-tabs.d.ts +0 -23
- package/.codex-tmp-pack/extract/package/types/masterteam-components-text-field.d.ts +0 -44
- package/.codex-tmp-pack/extract/package/types/masterteam-components-textarea-field.d.ts +0 -38
- package/.codex-tmp-pack/extract/package/types/masterteam-components-toast.d.ts +0 -26
- package/.codex-tmp-pack/extract/package/types/masterteam-components-toggle-field.d.ts +0 -41
- package/.codex-tmp-pack/extract/package/types/masterteam-components-tooltip.d.ts +0 -9
- package/.codex-tmp-pack/extract/package/types/masterteam-components-topbar.d.ts +0 -17
- package/.codex-tmp-pack/extract/package/types/masterteam-components-tree.d.ts +0 -98
- package/.codex-tmp-pack/extract/package/types/masterteam-components-upload-field.d.ts +0 -77
- package/.codex-tmp-pack/extract/package/types/masterteam-components-user-search-field.d.ts +0 -61
- package/.codex-tmp-pack/extract/package/types/masterteam-components.d.ts +0 -780
- package/.codex-tmp-pack/masterteam-components-0.0.108.tgz +0 -0
|
@@ -1,780 +0,0 @@
|
|
|
1
|
-
import { EnvironmentProviders, Signal } from '@angular/core';
|
|
2
|
-
import { MessageService, ConfirmationService } from 'primeng/api';
|
|
3
|
-
import { HttpContext, HttpContextToken } from '@angular/common/http';
|
|
4
|
-
import { ValidatorFn, AbstractControl } from '@angular/forms';
|
|
5
|
-
import * as _masterteam_components from '@masterteam/components';
|
|
6
|
-
import { StateContext } from '@ngxs/store';
|
|
7
|
-
import { Observable } from 'rxjs';
|
|
8
|
-
|
|
9
|
-
interface MTThemeOptions {
|
|
10
|
-
primaryColor?: string;
|
|
11
|
-
textColor?: string;
|
|
12
|
-
backgroundColor?: string;
|
|
13
|
-
}
|
|
14
|
-
declare function changePrimaryColor(color: string): void;
|
|
15
|
-
declare function changeBackgroundColor(color?: string): void;
|
|
16
|
-
declare function changeTextColor(color: string): void;
|
|
17
|
-
declare function provideMTComponents(themeOptions?: MTThemeOptions): EnvironmentProviders;
|
|
18
|
-
|
|
19
|
-
declare function provideMTMessages(): typeof MessageService;
|
|
20
|
-
|
|
21
|
-
declare function provideMTConfirmation(): typeof ConfirmationService;
|
|
22
|
-
|
|
23
|
-
type FieldType = 'text' | 'textarea' | 'select' | 'date' | 'number' | 'slider' | 'multi-select' | 'pick-list' | 'checkbox' | 'icon-field' | 'color-picker' | 'spacer' | string;
|
|
24
|
-
type ValidatorType = 'required' | 'email' | 'minLength' | 'maxLength' | 'min' | 'max' | 'pattern' | 'custom';
|
|
25
|
-
type FieldRelationAction = 'enable' | 'disable' | 'show' | 'hide';
|
|
26
|
-
interface FieldRelationConfig {
|
|
27
|
-
key: string;
|
|
28
|
-
value: any;
|
|
29
|
-
action: FieldRelationAction;
|
|
30
|
-
}
|
|
31
|
-
type FormulaConditionMode = 'auto' | 'show' | 'hide' | 'enable' | 'disable';
|
|
32
|
-
interface FormulaConditionConfig {
|
|
33
|
-
formulaTokens: string;
|
|
34
|
-
formulaText?: string;
|
|
35
|
-
mode?: FormulaConditionMode;
|
|
36
|
-
}
|
|
37
|
-
type FormulaValidationSeverity = 'error' | 'warning';
|
|
38
|
-
interface FormulaValidationRuleConfig {
|
|
39
|
-
id: string | number;
|
|
40
|
-
formulaTokens: string;
|
|
41
|
-
formulaText?: string;
|
|
42
|
-
message: string;
|
|
43
|
-
severity: FormulaValidationSeverity;
|
|
44
|
-
enabled: boolean;
|
|
45
|
-
}
|
|
46
|
-
type FormulaRuntimeMessageCode = 'FORMULA_PARSE_ERROR' | 'FORMULA_EVALUATION_ERROR' | 'FORMULA_FALSE';
|
|
47
|
-
interface FormulaRuntimeMessage {
|
|
48
|
-
code: FormulaRuntimeMessageCode;
|
|
49
|
-
severity: FormulaValidationSeverity;
|
|
50
|
-
message: string;
|
|
51
|
-
formulaText?: string;
|
|
52
|
-
ruleId?: string | number;
|
|
53
|
-
fieldKey?: string;
|
|
54
|
-
}
|
|
55
|
-
interface ResponsiveColSpan {
|
|
56
|
-
xs?: number;
|
|
57
|
-
sm?: number;
|
|
58
|
-
md?: number;
|
|
59
|
-
lg?: number;
|
|
60
|
-
xl?: number;
|
|
61
|
-
}
|
|
62
|
-
declare class ValidatorConfig {
|
|
63
|
-
type: ValidatorType;
|
|
64
|
-
value?: any;
|
|
65
|
-
message?: string;
|
|
66
|
-
customValidator?: (value: any) => boolean | Promise<boolean>;
|
|
67
|
-
constructor(config: {
|
|
68
|
-
type: ValidatorType;
|
|
69
|
-
value?: any;
|
|
70
|
-
message?: string;
|
|
71
|
-
customValidator?: (value: any) => boolean | Promise<boolean>;
|
|
72
|
-
});
|
|
73
|
-
static required(message?: string): ValidatorConfig;
|
|
74
|
-
static email(message?: string): ValidatorConfig;
|
|
75
|
-
static minLength(length: number, message?: string): ValidatorConfig;
|
|
76
|
-
static maxLength(length: number, message?: string): ValidatorConfig;
|
|
77
|
-
static min(value: number, message?: string): ValidatorConfig;
|
|
78
|
-
static max(value: number, message?: string): ValidatorConfig;
|
|
79
|
-
static pattern(pattern: string, message?: string): ValidatorConfig;
|
|
80
|
-
static custom(validator: (value: any) => boolean | Promise<boolean>, message?: string): ValidatorConfig;
|
|
81
|
-
}
|
|
82
|
-
type BaseFieldConstructorConfig = ConstructorParameters<typeof BaseFieldConfig>[0];
|
|
83
|
-
declare abstract class BaseFieldConfig {
|
|
84
|
-
key: string;
|
|
85
|
-
label: string;
|
|
86
|
-
type: FieldType;
|
|
87
|
-
required: boolean;
|
|
88
|
-
disabled: boolean;
|
|
89
|
-
readonly: boolean;
|
|
90
|
-
hidden: boolean;
|
|
91
|
-
placeholder: string;
|
|
92
|
-
hint: string;
|
|
93
|
-
cssClass: string;
|
|
94
|
-
validators: ValidatorConfig[];
|
|
95
|
-
order: number;
|
|
96
|
-
colSpan: number | ResponsiveColSpan;
|
|
97
|
-
defaultValue?: any;
|
|
98
|
-
customTemplate: string;
|
|
99
|
-
relations: FieldRelationConfig[];
|
|
100
|
-
formulaCondition?: FormulaConditionConfig;
|
|
101
|
-
constructor(config: {
|
|
102
|
-
key?: string;
|
|
103
|
-
label?: string;
|
|
104
|
-
type: FieldType;
|
|
105
|
-
required?: boolean;
|
|
106
|
-
disabled?: boolean;
|
|
107
|
-
readonly?: boolean;
|
|
108
|
-
hidden?: boolean;
|
|
109
|
-
placeholder?: string;
|
|
110
|
-
hint?: string;
|
|
111
|
-
cssClass?: string;
|
|
112
|
-
validators?: ValidatorConfig[];
|
|
113
|
-
order?: number;
|
|
114
|
-
relations?: FieldRelationConfig[];
|
|
115
|
-
formulaCondition?: FormulaConditionConfig;
|
|
116
|
-
colSpan?: number | ResponsiveColSpan;
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
declare class TextFieldConfig extends BaseFieldConfig {
|
|
120
|
-
inputType: string;
|
|
121
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
122
|
-
inputType?: string;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
declare class TextareaFieldConfig extends BaseFieldConfig {
|
|
126
|
-
rows: number;
|
|
127
|
-
autoResize: boolean;
|
|
128
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
129
|
-
rows?: number;
|
|
130
|
-
autoResize?: boolean;
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
declare class SelectFieldConfig extends BaseFieldConfig {
|
|
134
|
-
options: any[];
|
|
135
|
-
optionLabel: string;
|
|
136
|
-
optionValue: string;
|
|
137
|
-
group: boolean;
|
|
138
|
-
optionGroupLabel: string;
|
|
139
|
-
optionGroupChildren: string;
|
|
140
|
-
multiple: boolean;
|
|
141
|
-
filter: boolean;
|
|
142
|
-
filterBy: string;
|
|
143
|
-
filterPlaceholder: string;
|
|
144
|
-
showClear: boolean;
|
|
145
|
-
emptyMessage: string;
|
|
146
|
-
size: string;
|
|
147
|
-
hasPlaceholderPrefix: boolean;
|
|
148
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
149
|
-
options: any[];
|
|
150
|
-
optionLabel?: string;
|
|
151
|
-
optionValue?: string;
|
|
152
|
-
group?: boolean;
|
|
153
|
-
optionGroupLabel?: string;
|
|
154
|
-
optionGroupChildren?: string;
|
|
155
|
-
multiple?: boolean;
|
|
156
|
-
filter?: boolean;
|
|
157
|
-
filterBy?: string;
|
|
158
|
-
filterPlaceholder?: string;
|
|
159
|
-
showClear?: boolean;
|
|
160
|
-
emptyMessage?: string;
|
|
161
|
-
size?: string;
|
|
162
|
-
hasPlaceholderPrefix?: boolean;
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
declare class RadioButtonFieldConfig extends BaseFieldConfig {
|
|
166
|
-
options: any[];
|
|
167
|
-
optionLabel: string;
|
|
168
|
-
optionValue: string;
|
|
169
|
-
orientation: 'vertical' | 'horizontal';
|
|
170
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
171
|
-
options: any[];
|
|
172
|
-
optionLabel?: string;
|
|
173
|
-
optionValue?: string;
|
|
174
|
-
orientation?: 'vertical' | 'horizontal';
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
declare class RadioCardsFieldConfig extends BaseFieldConfig {
|
|
178
|
-
options: any[];
|
|
179
|
-
optionLabel: string;
|
|
180
|
-
optionValue: string;
|
|
181
|
-
size: string;
|
|
182
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
183
|
-
options: any[];
|
|
184
|
-
optionLabel?: string;
|
|
185
|
-
optionValue?: string;
|
|
186
|
-
size?: string;
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
declare class UserSearchFieldConfig extends BaseFieldConfig {
|
|
190
|
-
optionLabel: string;
|
|
191
|
-
optionValue: string;
|
|
192
|
-
size: string;
|
|
193
|
-
apiUrl: string;
|
|
194
|
-
context: HttpContext | undefined;
|
|
195
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
196
|
-
optionLabel?: string;
|
|
197
|
-
optionValue?: string;
|
|
198
|
-
size?: string;
|
|
199
|
-
hint?: string;
|
|
200
|
-
apiUrl?: string;
|
|
201
|
-
context?: HttpContext | undefined;
|
|
202
|
-
placeholder?: string;
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
declare class UploadFileFieldConfig extends BaseFieldConfig {
|
|
206
|
-
size: string;
|
|
207
|
-
endPoint?: string;
|
|
208
|
-
userImgClass?: string;
|
|
209
|
-
shape?: string;
|
|
210
|
-
multiple?: boolean;
|
|
211
|
-
accept?: string;
|
|
212
|
-
fileSizeLimit?: number | undefined;
|
|
213
|
-
context: HttpContext | undefined;
|
|
214
|
-
title: string;
|
|
215
|
-
description: string;
|
|
216
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
217
|
-
size?: string;
|
|
218
|
-
endPoint?: string;
|
|
219
|
-
userImgClass?: string;
|
|
220
|
-
shape?: string;
|
|
221
|
-
multiple?: boolean;
|
|
222
|
-
accept?: string;
|
|
223
|
-
fileSizeLimit?: number | undefined;
|
|
224
|
-
context?: HttpContext | undefined;
|
|
225
|
-
title?: string;
|
|
226
|
-
description?: string;
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
declare class DateFieldConfig extends BaseFieldConfig {
|
|
230
|
-
dateFormat: string;
|
|
231
|
-
showTime: boolean;
|
|
232
|
-
showSeconds: boolean;
|
|
233
|
-
hourFormat: '12' | '24';
|
|
234
|
-
minDate?: Date;
|
|
235
|
-
maxDate?: Date;
|
|
236
|
-
disabledDates: Date[];
|
|
237
|
-
disabledDays: number[];
|
|
238
|
-
yearRange: string;
|
|
239
|
-
showIcon: boolean;
|
|
240
|
-
icon: string;
|
|
241
|
-
showButtonBar: boolean;
|
|
242
|
-
showClear: boolean;
|
|
243
|
-
inline: boolean;
|
|
244
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
245
|
-
dateFormat?: string;
|
|
246
|
-
showTime?: boolean;
|
|
247
|
-
showSeconds?: boolean;
|
|
248
|
-
hourFormat?: '12' | '24';
|
|
249
|
-
minDate?: Date;
|
|
250
|
-
maxDate?: Date;
|
|
251
|
-
disabledDates?: Date[];
|
|
252
|
-
disabledDays?: number[];
|
|
253
|
-
yearRange?: string;
|
|
254
|
-
showIcon?: boolean;
|
|
255
|
-
icon?: string;
|
|
256
|
-
showButtonBar?: boolean;
|
|
257
|
-
showClear?: boolean;
|
|
258
|
-
inline?: boolean;
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
declare class NumberFieldConfig extends BaseFieldConfig {
|
|
262
|
-
min?: number;
|
|
263
|
-
max?: number;
|
|
264
|
-
step?: number;
|
|
265
|
-
prefix?: string;
|
|
266
|
-
suffix?: string;
|
|
267
|
-
currency?: string;
|
|
268
|
-
locale?: string;
|
|
269
|
-
minFractionDigits?: number;
|
|
270
|
-
maxFractionDigits?: number;
|
|
271
|
-
useGrouping?: boolean;
|
|
272
|
-
showButtons?: boolean;
|
|
273
|
-
buttonLayout?: 'stacked' | 'horizontal';
|
|
274
|
-
incrementButtonClass?: string;
|
|
275
|
-
decrementButtonClass?: string;
|
|
276
|
-
incrementButtonIcon?: string;
|
|
277
|
-
decrementButtonIcon?: string;
|
|
278
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
279
|
-
min?: number;
|
|
280
|
-
max?: number;
|
|
281
|
-
step?: number;
|
|
282
|
-
prefix?: string;
|
|
283
|
-
suffix?: string;
|
|
284
|
-
currency?: string;
|
|
285
|
-
locale?: string;
|
|
286
|
-
minFractionDigits?: number;
|
|
287
|
-
maxFractionDigits?: number;
|
|
288
|
-
useGrouping?: boolean;
|
|
289
|
-
showButtons?: boolean;
|
|
290
|
-
buttonLayout?: 'stacked' | 'horizontal';
|
|
291
|
-
incrementButtonClass?: string;
|
|
292
|
-
decrementButtonClass?: string;
|
|
293
|
-
incrementButtonIcon?: string;
|
|
294
|
-
decrementButtonIcon?: string;
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
declare class SliderFieldConfig extends BaseFieldConfig {
|
|
298
|
-
min?: number;
|
|
299
|
-
max?: number;
|
|
300
|
-
step?: number;
|
|
301
|
-
orientation?: 'horizontal' | 'vertical';
|
|
302
|
-
range?: boolean;
|
|
303
|
-
animate?: boolean;
|
|
304
|
-
unit?: string;
|
|
305
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
306
|
-
min?: number;
|
|
307
|
-
max?: number;
|
|
308
|
-
step?: number;
|
|
309
|
-
orientation?: 'horizontal' | 'vertical';
|
|
310
|
-
range?: boolean;
|
|
311
|
-
animate?: boolean;
|
|
312
|
-
unit?: string;
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
|
-
declare class MultiSelectFieldConfig extends BaseFieldConfig {
|
|
316
|
-
options: any[];
|
|
317
|
-
optionLabel: string;
|
|
318
|
-
optionValue: string;
|
|
319
|
-
filter: boolean;
|
|
320
|
-
filterBy: string;
|
|
321
|
-
filterPlaceholder: string;
|
|
322
|
-
showClear: boolean;
|
|
323
|
-
emptyMessage: string;
|
|
324
|
-
display?: 'comma' | 'chip';
|
|
325
|
-
maxSelectedLabels?: number;
|
|
326
|
-
selectedItemsLabel?: string;
|
|
327
|
-
showToggleAll?: boolean;
|
|
328
|
-
resetFilterOnHide?: boolean;
|
|
329
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
330
|
-
options: any[];
|
|
331
|
-
optionLabel?: string;
|
|
332
|
-
optionValue?: string;
|
|
333
|
-
filter?: boolean;
|
|
334
|
-
filterBy?: string;
|
|
335
|
-
filterPlaceholder?: string;
|
|
336
|
-
showClear?: boolean;
|
|
337
|
-
emptyMessage?: string;
|
|
338
|
-
display?: 'comma' | 'chip';
|
|
339
|
-
maxSelectedLabels?: number;
|
|
340
|
-
selectedItemsLabel?: string;
|
|
341
|
-
showToggleAll?: boolean;
|
|
342
|
-
resetFilterOnHide?: boolean;
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
declare class PickListFieldConfig extends BaseFieldConfig {
|
|
346
|
-
options: any[];
|
|
347
|
-
optionLabel: string;
|
|
348
|
-
optionValue: string;
|
|
349
|
-
sourceHeader: string;
|
|
350
|
-
targetHeader: string;
|
|
351
|
-
showSourceControls: boolean;
|
|
352
|
-
showTargetControls: boolean;
|
|
353
|
-
showSourceFilter: boolean;
|
|
354
|
-
showTargetFilter: boolean;
|
|
355
|
-
filterBy: string;
|
|
356
|
-
dataKey?: string;
|
|
357
|
-
dragdrop: boolean;
|
|
358
|
-
responsive: boolean;
|
|
359
|
-
breakpoint: string;
|
|
360
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
361
|
-
options: any[];
|
|
362
|
-
optionLabel?: string;
|
|
363
|
-
optionValue?: string;
|
|
364
|
-
sourceHeader?: string;
|
|
365
|
-
targetHeader?: string;
|
|
366
|
-
showSourceControls?: boolean;
|
|
367
|
-
showTargetControls?: boolean;
|
|
368
|
-
showSourceFilter?: boolean;
|
|
369
|
-
showTargetFilter?: boolean;
|
|
370
|
-
filterBy?: string;
|
|
371
|
-
dataKey?: string;
|
|
372
|
-
dragdrop?: boolean;
|
|
373
|
-
responsive?: boolean;
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
declare class CheckboxFieldConfig extends BaseFieldConfig {
|
|
377
|
-
binary?: boolean;
|
|
378
|
-
trueValue?: any;
|
|
379
|
-
falseValue?: any;
|
|
380
|
-
checkboxIcon?: string;
|
|
381
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
382
|
-
binary?: boolean;
|
|
383
|
-
trueValue?: any;
|
|
384
|
-
falseValue?: any;
|
|
385
|
-
checkboxIcon?: string;
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
declare class ToggleFieldConfig extends BaseFieldConfig {
|
|
389
|
-
toggleShape?: 'toggle' | 'card';
|
|
390
|
-
icon?: string;
|
|
391
|
-
descriptionCard?: string;
|
|
392
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
393
|
-
toggleShape?: 'toggle' | 'card';
|
|
394
|
-
icon?: string;
|
|
395
|
-
descriptionCard?: string;
|
|
396
|
-
});
|
|
397
|
-
}
|
|
398
|
-
declare class EditorFieldConfig extends BaseFieldConfig {
|
|
399
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'>);
|
|
400
|
-
}
|
|
401
|
-
declare class ColorPickerFieldConfig extends BaseFieldConfig {
|
|
402
|
-
format?: 'hex' | 'rgb' | 'hsb';
|
|
403
|
-
inline?: boolean;
|
|
404
|
-
appendTo?: any;
|
|
405
|
-
variant?: 'outlined' | 'filled';
|
|
406
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
407
|
-
format?: 'hex' | 'rgb' | 'hsb';
|
|
408
|
-
inline?: boolean;
|
|
409
|
-
appendTo?: any;
|
|
410
|
-
variant?: 'outlined' | 'filled';
|
|
411
|
-
});
|
|
412
|
-
}
|
|
413
|
-
declare class IconFieldConfig extends BaseFieldConfig {
|
|
414
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {});
|
|
415
|
-
}
|
|
416
|
-
declare class SpacerFieldConfig extends BaseFieldConfig {
|
|
417
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type' | 'key' | 'label'> & {
|
|
418
|
-
key?: string;
|
|
419
|
-
label?: string;
|
|
420
|
-
});
|
|
421
|
-
}
|
|
422
|
-
declare class SchemaConnectionFieldConfig extends BaseFieldConfig {
|
|
423
|
-
configuration: any;
|
|
424
|
-
context: HttpContext | undefined;
|
|
425
|
-
filter: boolean;
|
|
426
|
-
constructor(config: Omit<BaseFieldConstructorConfig, 'type'> & {
|
|
427
|
-
configuration: any;
|
|
428
|
-
context?: HttpContext | undefined;
|
|
429
|
-
filter?: boolean;
|
|
430
|
-
});
|
|
431
|
-
}
|
|
432
|
-
type DynamicFieldConfig = {
|
|
433
|
-
[K in keyof (TextFieldConfig & TextareaFieldConfig & SelectFieldConfig & DateFieldConfig & NumberFieldConfig & SliderFieldConfig & MultiSelectFieldConfig & PickListFieldConfig & CheckboxFieldConfig & ToggleFieldConfig & ColorPickerFieldConfig & IconFieldConfig & SpacerFieldConfig & SchemaConnectionFieldConfig & BaseFieldConfig)]?: (TextFieldConfig & TextareaFieldConfig & SelectFieldConfig & DateFieldConfig & NumberFieldConfig & SliderFieldConfig & MultiSelectFieldConfig & PickListFieldConfig & CheckboxFieldConfig & ToggleFieldConfig & ColorPickerFieldConfig & IconFieldConfig & SpacerFieldConfig & SchemaConnectionFieldConfig & BaseFieldConfig)[K];
|
|
434
|
-
};
|
|
435
|
-
interface LayoutConfig {
|
|
436
|
-
containerClass?: string;
|
|
437
|
-
sectionClass?: string;
|
|
438
|
-
fieldClass?: string;
|
|
439
|
-
}
|
|
440
|
-
interface DynamicFormConfig {
|
|
441
|
-
sections: SectionConfig[];
|
|
442
|
-
layout?: LayoutConfig;
|
|
443
|
-
validationRules?: FormulaValidationRuleConfig[];
|
|
444
|
-
}
|
|
445
|
-
interface SectionConfig {
|
|
446
|
-
key?: string;
|
|
447
|
-
label?: string;
|
|
448
|
-
type: 'none' | 'header';
|
|
449
|
-
cssClass?: string;
|
|
450
|
-
bodyClass?: string;
|
|
451
|
-
headerClass?: string;
|
|
452
|
-
columns?: number;
|
|
453
|
-
order?: number;
|
|
454
|
-
fields: DynamicFieldConfig[];
|
|
455
|
-
}
|
|
456
|
-
interface FieldState {
|
|
457
|
-
hidden: boolean;
|
|
458
|
-
disabled: boolean;
|
|
459
|
-
}
|
|
460
|
-
declare function createCustomValidator(customValidator: (value: any) => boolean | Promise<boolean>, message?: string): ValidatorFn;
|
|
461
|
-
declare function wrapValidatorWithMessage(validator: ValidatorFn, errorKey: string, message: string): ValidatorFn;
|
|
462
|
-
|
|
463
|
-
/**
|
|
464
|
-
* Query result with separate signals for each property
|
|
465
|
-
*/
|
|
466
|
-
interface QueryResult<T> {
|
|
467
|
-
data: Signal<T | null>;
|
|
468
|
-
isPending: Signal<boolean>;
|
|
469
|
-
isSuccess: Signal<boolean>;
|
|
470
|
-
isError: Signal<boolean>;
|
|
471
|
-
error: Signal<string | null>;
|
|
472
|
-
}
|
|
473
|
-
/**
|
|
474
|
-
* @deprecated Use direct `select()` + `computed()` pattern instead for better performance.
|
|
475
|
-
*
|
|
476
|
-
* **Problem with BaseFacade:**
|
|
477
|
-
* - All computed signals depend on the full state, causing unnecessary recomputations
|
|
478
|
-
* - Bypasses NGXS selector memoization
|
|
479
|
-
* - Uses `as any` casting, losing type safety
|
|
480
|
-
*
|
|
481
|
-
* **New Pattern - Use slice-based selectors:**
|
|
482
|
-
*
|
|
483
|
-
* ```typescript
|
|
484
|
-
* // In your State class - add slice selectors:
|
|
485
|
-
* @Selector()
|
|
486
|
-
* static getLoadingActive(state: MyStateModel): string[] {
|
|
487
|
-
* return state.loadingActive;
|
|
488
|
-
* }
|
|
489
|
-
*
|
|
490
|
-
* @Selector()
|
|
491
|
-
* static getErrors(state: MyStateModel): Record<string, string | null> {
|
|
492
|
-
* return state.errors;
|
|
493
|
-
* }
|
|
494
|
-
*
|
|
495
|
-
* // In your Facade - don't extend BaseFacade:
|
|
496
|
-
* @Injectable({ providedIn: 'root' })
|
|
497
|
-
* export class MyFacade {
|
|
498
|
-
* private readonly store = inject(Store);
|
|
499
|
-
*
|
|
500
|
-
* // Data selectors - memoized by NGXS
|
|
501
|
-
* readonly items = select(MyState.getItems);
|
|
502
|
-
*
|
|
503
|
-
* // Loading/Error slices - memoized by NGXS
|
|
504
|
-
* private readonly loadingActive = select(MyState.getLoadingActive);
|
|
505
|
-
* private readonly errors = select(MyState.getErrors);
|
|
506
|
-
*
|
|
507
|
-
* // Loading signals - computed from slice (minimal reactivity)
|
|
508
|
-
* readonly isLoadingItems = computed(() =>
|
|
509
|
-
* this.loadingActive().includes(MyActionKey.GetItems)
|
|
510
|
-
* );
|
|
511
|
-
*
|
|
512
|
-
* // Error signals - computed from slice (minimal reactivity)
|
|
513
|
-
* readonly itemsError = computed(() =>
|
|
514
|
-
* this.errors()[MyActionKey.GetItems] ?? null
|
|
515
|
-
* );
|
|
516
|
-
*
|
|
517
|
-
* // Dispatchers
|
|
518
|
-
* loadItems() {
|
|
519
|
-
* return this.store.dispatch(new GetItems());
|
|
520
|
-
* }
|
|
521
|
-
* }
|
|
522
|
-
* ```
|
|
523
|
-
*
|
|
524
|
-
* **Template Usage:**
|
|
525
|
-
* ```html
|
|
526
|
-
* @if (facade.isLoadingItems()) {
|
|
527
|
-
* <loading-spinner />
|
|
528
|
-
* } @else if (facade.itemsError(); as error) {
|
|
529
|
-
* <error-alert>{{ error }}</error-alert>
|
|
530
|
-
* } @else {
|
|
531
|
-
* @for (item of facade.items(); track item.id) {
|
|
532
|
-
* <item-card [item]="item" />
|
|
533
|
-
* }
|
|
534
|
-
* }
|
|
535
|
-
* ```
|
|
536
|
-
*/
|
|
537
|
-
declare abstract class BaseFacade<TState, TLoadingName extends string> {
|
|
538
|
-
/**
|
|
539
|
-
* Override in child facade to provide the state selector
|
|
540
|
-
*/
|
|
541
|
-
protected abstract state(): Signal<TState>;
|
|
542
|
-
/**
|
|
543
|
-
* Creates a query object with separate signals for data, loading, and error states
|
|
544
|
-
* Each property is its own signal for granular reactivity
|
|
545
|
-
*
|
|
546
|
-
* @example
|
|
547
|
-
* readonly modulesQuery = this.query(
|
|
548
|
-
* 'getModulesLoading',
|
|
549
|
-
* (state) => state.allModules
|
|
550
|
-
* );
|
|
551
|
-
*
|
|
552
|
-
* // In template - each is a separate signal:
|
|
553
|
-
* @if (modulesQuery.isPending()) { Loading... }
|
|
554
|
-
* @if (modulesQuery.error(); as error) { Error: {{ error }} }
|
|
555
|
-
* @if (modulesQuery.data(); as modules) {
|
|
556
|
-
* <div *ngFor="let m of modules">{{ m.title }}</div>
|
|
557
|
-
* }
|
|
558
|
-
*/
|
|
559
|
-
protected query<T>(loadingKey: TLoadingName, dataSelector: (state: TState) => T): QueryResult<T>;
|
|
560
|
-
/**
|
|
561
|
-
* Creates a loading signal for a specific operation
|
|
562
|
-
*/
|
|
563
|
-
protected loading(loadingKey: TLoadingName): Signal<boolean>;
|
|
564
|
-
/**
|
|
565
|
-
* Creates an error signal for a specific operation
|
|
566
|
-
*/
|
|
567
|
-
protected errorSignal(loadingKey: TLoadingName): Signal<string | null>;
|
|
568
|
-
}
|
|
569
|
-
|
|
570
|
-
interface LoadingStateShape<L extends string = string> {
|
|
571
|
-
loadingActive: L[];
|
|
572
|
-
errors: Partial<Record<L, string>>;
|
|
573
|
-
}
|
|
574
|
-
type LoadingName<T extends LoadingStateShape<string>> = T['loadingActive'][number];
|
|
575
|
-
declare function startLoading<T extends LoadingStateShape<string>>(ctx: StateContext<T>, loadingName: LoadingName<T>): void;
|
|
576
|
-
declare function endLoading<T extends LoadingStateShape<string>>(ctx: StateContext<T>, loadingName: LoadingName<T>): void;
|
|
577
|
-
declare function setLoadingError<T extends LoadingStateShape<string>>(ctx: StateContext<T>, loadingName: LoadingName<T>, message: string): void;
|
|
578
|
-
|
|
579
|
-
interface Response<T> {
|
|
580
|
-
endpoint: string;
|
|
581
|
-
status: number;
|
|
582
|
-
code: number;
|
|
583
|
-
locale: string;
|
|
584
|
-
message?: string | null;
|
|
585
|
-
errors?: unknown | null;
|
|
586
|
-
data: T;
|
|
587
|
-
cacheSession?: string;
|
|
588
|
-
}
|
|
589
|
-
interface CrudLoadConfig<T, TState, TData = T[]> {
|
|
590
|
-
key: string;
|
|
591
|
-
request$: Observable<Response<TData>>;
|
|
592
|
-
stateProperty?: (state: TState) => T[];
|
|
593
|
-
/**
|
|
594
|
-
* @deprecated Use `handleApiRequest` with `onSuccess` for complex state updates.
|
|
595
|
-
* CRUD methods should only be used for simple array operations with `stateProperty`.
|
|
596
|
-
*/
|
|
597
|
-
updateState?: (state: TState, data: TData) => Partial<TState>;
|
|
598
|
-
/**
|
|
599
|
-
* @deprecated Use `handleApiRequest` with `onSuccess` for data transformation.
|
|
600
|
-
* CRUD methods should only be used for simple array operations.
|
|
601
|
-
*/
|
|
602
|
-
transform?: (data: TData) => TData;
|
|
603
|
-
onError?: (error: any, state: TState) => Partial<TState> | void;
|
|
604
|
-
errorMessage?: string;
|
|
605
|
-
}
|
|
606
|
-
interface CrudCreateConfig<T, TState> {
|
|
607
|
-
key: string;
|
|
608
|
-
request$: Observable<Response<T>>;
|
|
609
|
-
stateProperty: (state: TState) => T[];
|
|
610
|
-
/**
|
|
611
|
-
* @deprecated Use `handleApiRequest` with `onSuccess` for complex state updates.
|
|
612
|
-
* CRUD methods should only be used for simple array operations with `stateProperty`.
|
|
613
|
-
*/
|
|
614
|
-
updateState?: (state: TState, items: T[]) => Partial<TState>;
|
|
615
|
-
/**
|
|
616
|
-
* @deprecated Use `handleApiRequest` with `onSuccess` for data transformation.
|
|
617
|
-
* CRUD methods should only be used for simple array operations.
|
|
618
|
-
*/
|
|
619
|
-
transform?: (data: T) => T;
|
|
620
|
-
onError?: (error: any, state: TState) => Partial<TState> | void;
|
|
621
|
-
errorMessage?: string;
|
|
622
|
-
}
|
|
623
|
-
interface CrudUpdateConfig<T, TState> {
|
|
624
|
-
key: string;
|
|
625
|
-
request$: Observable<Response<T>>;
|
|
626
|
-
uniqueKey: keyof T;
|
|
627
|
-
id: string | number;
|
|
628
|
-
stateProperty: (state: TState) => T[];
|
|
629
|
-
/**
|
|
630
|
-
* @deprecated Use `handleApiRequest` with `onSuccess` for complex state updates.
|
|
631
|
-
* CRUD methods should only be used for simple array operations with `stateProperty`.
|
|
632
|
-
*/
|
|
633
|
-
updateState?: (state: TState, items: T[]) => Partial<TState>;
|
|
634
|
-
/**
|
|
635
|
-
* @deprecated Use `handleApiRequest` with `onSuccess` for data transformation.
|
|
636
|
-
* CRUD methods should only be used for simple array operations.
|
|
637
|
-
*/
|
|
638
|
-
transform?: (data: T) => T;
|
|
639
|
-
onError?: (error: any, state: TState) => Partial<TState> | void;
|
|
640
|
-
errorMessage?: string;
|
|
641
|
-
}
|
|
642
|
-
interface CrudDeleteConfig<T, TState> {
|
|
643
|
-
key: string;
|
|
644
|
-
request$: Observable<Response<void>>;
|
|
645
|
-
uniqueKey: keyof T;
|
|
646
|
-
id: string | number;
|
|
647
|
-
stateProperty: (state: TState) => T[];
|
|
648
|
-
/**
|
|
649
|
-
* @deprecated Use `handleApiRequest` with `onSuccess` for complex state updates.
|
|
650
|
-
* CRUD methods should only be used for simple array operations with `stateProperty`.
|
|
651
|
-
*/
|
|
652
|
-
updateState?: (state: TState, items: T[]) => Partial<TState>;
|
|
653
|
-
onError?: (error: any, state: TState) => Partial<TState> | void;
|
|
654
|
-
errorMessage?: string;
|
|
655
|
-
}
|
|
656
|
-
/**
|
|
657
|
-
* T = entity type (Module, User, ...)
|
|
658
|
-
* TState = full state model (must include LoadingStateShape)
|
|
659
|
-
* TLoad = union type of loading keys for this feature
|
|
660
|
-
*/
|
|
661
|
-
declare abstract class CrudStateBase<T, TState extends LoadingStateShape<TLoad>, TLoad extends string> {
|
|
662
|
-
protected adapter: _masterteam_components.EntityAdapter<T>;
|
|
663
|
-
/**
|
|
664
|
-
* Helper to create default updateState function
|
|
665
|
-
*/
|
|
666
|
-
private getDefaultUpdateState;
|
|
667
|
-
/**
|
|
668
|
-
* @deprecated Use `handleApiRequest` directly with `onSuccess` callback.
|
|
669
|
-
* The `load()` method provides no significant benefit over `handleApiRequest`.
|
|
670
|
-
*
|
|
671
|
-
* @example
|
|
672
|
-
* // Instead of this.load(), use:
|
|
673
|
-
* return handleApiRequest({
|
|
674
|
-
* ctx,
|
|
675
|
-
* key: ActionKey.GetItems,
|
|
676
|
-
* request$: req$,
|
|
677
|
-
* onSuccess: (response) => ({
|
|
678
|
-
* items: response.data ?? [],
|
|
679
|
-
* }),
|
|
680
|
-
* });
|
|
681
|
-
*/
|
|
682
|
-
protected load<TData = T[]>(ctx: StateContext<TState>, config: CrudLoadConfig<T, TState, TData>): Observable<Response<TData>>;
|
|
683
|
-
/**
|
|
684
|
-
* Create one entity with config object
|
|
685
|
-
*/
|
|
686
|
-
protected create(ctx: StateContext<TState>, config: CrudCreateConfig<T, TState>): Observable<Response<T>>;
|
|
687
|
-
/**
|
|
688
|
-
* Update one entity with config object
|
|
689
|
-
*/
|
|
690
|
-
protected update(ctx: StateContext<TState>, config: CrudUpdateConfig<T, TState>): Observable<Response<T>>;
|
|
691
|
-
/**
|
|
692
|
-
* Delete one entity with config object
|
|
693
|
-
*/
|
|
694
|
-
protected delete(ctx: StateContext<TState>, config: CrudDeleteConfig<T, TState>): Observable<Response<void>>;
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
type TailwindColorPalette = {
|
|
698
|
-
[key: string]: string;
|
|
699
|
-
};
|
|
700
|
-
/**
|
|
701
|
-
* Generates a Tailwind-like color palette (50-950) from a primary color (assumed to be 500).
|
|
702
|
-
*
|
|
703
|
-
* @param primaryColor500 - The hex string of the primary color (e.g., "#0284c7").
|
|
704
|
-
* @returns An object representing the color palette, where keys are color numbers (e.g., "50", "100")
|
|
705
|
-
* and values are hex color strings.
|
|
706
|
-
*/
|
|
707
|
-
type PaletteShade = '0' | '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | '950';
|
|
708
|
-
/**
|
|
709
|
-
* Generates a Tailwind-like color palette (50-950) from any given base color.
|
|
710
|
-
*
|
|
711
|
-
* @param baseColorHex - The hex string of the base color (e.g., "#0284c7").
|
|
712
|
-
* @param baseColorShade - The shade of the base color (e.g., "500", "700").
|
|
713
|
-
* @returns An object representing the full color palette.
|
|
714
|
-
*/
|
|
715
|
-
declare function generateTailwindPalette(baseColorHex: string, baseColorShade?: PaletteShade): TailwindColorPalette;
|
|
716
|
-
|
|
717
|
-
declare function isInvalid(control: AbstractControl | null): boolean;
|
|
718
|
-
|
|
719
|
-
interface ApiRequestConfig<TState, TResponse> {
|
|
720
|
-
ctx: StateContext<TState>;
|
|
721
|
-
key: string;
|
|
722
|
-
request$: Observable<TResponse>;
|
|
723
|
-
onSuccess: (response: TResponse, state: TState) => Partial<TState> | void;
|
|
724
|
-
onError?: (error: any, state: TState) => Partial<TState> | void;
|
|
725
|
-
errorMessage?: string;
|
|
726
|
-
}
|
|
727
|
-
declare function handleApiRequest<TState extends LoadingStateShape<string>, TResponse>(config: ApiRequestConfig<TState, TResponse>): Observable<TResponse>;
|
|
728
|
-
|
|
729
|
-
interface EntityAdapter<T> {
|
|
730
|
-
addOne(state: T[], entity: T): T[];
|
|
731
|
-
upsertOne(state: T[], entity: T, uniqueKey?: keyof T): T[];
|
|
732
|
-
updateOne(state: T[], id: string | number, changes: Partial<T>, uniqueKey?: keyof T): T[];
|
|
733
|
-
removeOne(state: T[], id: string | number, uniqueKey?: keyof T): T[];
|
|
734
|
-
setAll(state: T[], entities: T[]): T[];
|
|
735
|
-
}
|
|
736
|
-
declare function createEntityAdapter<T>(): EntityAdapter<T>;
|
|
737
|
-
|
|
738
|
-
/**
|
|
739
|
-
* HTTP context configuration for request handling
|
|
740
|
-
*/
|
|
741
|
-
interface RequestContextConfig {
|
|
742
|
-
/** Use base URL instead of gateway URL */
|
|
743
|
-
useBaseUrl?: boolean;
|
|
744
|
-
}
|
|
745
|
-
/**
|
|
746
|
-
* Shared HTTP context token for request configuration.
|
|
747
|
-
* Used by interceptors to determine base URL routing.
|
|
748
|
-
*
|
|
749
|
-
* @example
|
|
750
|
-
* ```typescript
|
|
751
|
-
* import { REQUEST_CONTEXT } from '@masterteam/components';
|
|
752
|
-
*
|
|
753
|
-
* // In a service
|
|
754
|
-
* private context = new HttpContext().set(REQUEST_CONTEXT, { useBaseUrl: true });
|
|
755
|
-
*
|
|
756
|
-
* getMetadata(): Observable<any> {
|
|
757
|
-
* return this.http.get('metadata', { context: this.context });
|
|
758
|
-
* }
|
|
759
|
-
*
|
|
760
|
-
* // In interceptor
|
|
761
|
-
* const config = req.context.get(REQUEST_CONTEXT);
|
|
762
|
-
* if (config?.useBaseUrl) {
|
|
763
|
-
* // Use base URL
|
|
764
|
-
* }
|
|
765
|
-
* ```
|
|
766
|
-
*/
|
|
767
|
-
declare const REQUEST_CONTEXT: HttpContextToken<RequestContextConfig>;
|
|
768
|
-
|
|
769
|
-
/**
|
|
770
|
-
* Color utility functions for brand display.
|
|
771
|
-
*/
|
|
772
|
-
/**
|
|
773
|
-
* Converts a hex color to a light shade (equivalent to primary-100 in Tailwind).
|
|
774
|
-
* This creates a color with ~10% opacity or a very light tint by mixing with white.
|
|
775
|
-
*/
|
|
776
|
-
declare function getLightColor(hexColor: string): string;
|
|
777
|
-
declare function getContrastColor(bgColor: string): string;
|
|
778
|
-
|
|
779
|
-
export { BaseFacade, BaseFieldConfig, CheckboxFieldConfig, ColorPickerFieldConfig, CrudStateBase, DateFieldConfig, EditorFieldConfig, IconFieldConfig, MultiSelectFieldConfig, NumberFieldConfig, PickListFieldConfig, REQUEST_CONTEXT, RadioButtonFieldConfig, RadioCardsFieldConfig, SchemaConnectionFieldConfig, SelectFieldConfig, SliderFieldConfig, SpacerFieldConfig, TextFieldConfig, TextareaFieldConfig, ToggleFieldConfig, UploadFileFieldConfig, UserSearchFieldConfig, ValidatorConfig, changeBackgroundColor, changePrimaryColor, changeTextColor, createCustomValidator, createEntityAdapter, endLoading, generateTailwindPalette, getContrastColor, getLightColor, handleApiRequest, isInvalid, provideMTComponents, provideMTConfirmation, provideMTMessages, setLoadingError, startLoading, wrapValidatorWithMessage };
|
|
780
|
-
export type { ApiRequestConfig, BaseFieldConstructorConfig, CrudCreateConfig, CrudDeleteConfig, CrudLoadConfig, CrudUpdateConfig, DynamicFieldConfig, DynamicFormConfig, EntityAdapter, FieldRelationAction, FieldRelationConfig, FieldState, FieldType, FormulaConditionConfig, FormulaConditionMode, FormulaRuntimeMessage, FormulaRuntimeMessageCode, FormulaValidationRuleConfig, FormulaValidationSeverity, LayoutConfig, LoadingStateShape, MTThemeOptions, PaletteShade, QueryResult, RequestContextConfig, Response, ResponsiveColSpan, SectionConfig, ValidatorType };
|