@solcre-org/core-ui 2.19.2 → 2.20.1
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 +10 -0
- package/assets/css/inc/components/area-code.css +3 -2
- package/fesm2022/solcre-org-core-ui.mjs +5 -5
- package/fesm2022/solcre-org-core-ui.mjs.map +1 -1
- package/llm/README.md +34 -0
- package/llm/components/active-filters.md +25 -0
- package/llm/components/ad-login-button.md +57 -0
- package/llm/components/alert-container.md +26 -0
- package/llm/components/alert.md +46 -0
- package/llm/components/base-field.md +39 -0
- package/llm/components/card.md +23 -0
- package/llm/components/carousel.md +68 -0
- package/llm/components/checkbox-field.md +61 -0
- package/llm/components/color-picker-field.md +55 -0
- package/llm/components/confirmation-dialog.md +46 -0
- package/llm/components/data-list-item.md +35 -0
- package/llm/components/data-list.md +27 -0
- package/llm/components/date-field.md +56 -0
- package/llm/components/daterange-field.md +59 -0
- package/llm/components/datetime-field.md +61 -0
- package/llm/components/document-field.md +60 -0
- package/llm/components/dropdown.md +73 -0
- package/llm/components/field-errors.md +33 -0
- package/llm/components/file-field.md +60 -0
- package/llm/components/file-preview.md +25 -0
- package/llm/components/filter-modal.md +25 -0
- package/llm/components/fixed-actions-mobile-modal.md +23 -0
- package/llm/components/gallery-modal.md +23 -0
- package/llm/components/generic-button.md +82 -0
- package/llm/components/generic-calendar.md +70 -0
- package/llm/components/generic-chat.md +81 -0
- package/llm/components/generic-documentation.md +32 -0
- package/llm/components/generic-fixed-actions.md +24 -0
- package/llm/components/generic-gallery.md +75 -0
- package/llm/components/generic-modal.md +95 -0
- package/llm/components/generic-pagination.md +29 -0
- package/llm/components/generic-rating.md +26 -0
- package/llm/components/generic-scheduler.md +92 -0
- package/llm/components/generic-sidebar.md +80 -0
- package/llm/components/generic-skeleton.md +80 -0
- package/llm/components/generic-steps.md +99 -0
- package/llm/components/generic-switch.md +140 -0
- package/llm/components/generic-table.md +157 -0
- package/llm/components/generic-timeline.md +70 -0
- package/llm/components/header.md +39 -0
- package/llm/components/image-modal.md +23 -0
- package/llm/components/image-preview.md +79 -0
- package/llm/components/index.md +66 -0
- package/llm/components/layout-auth.md +82 -0
- package/llm/components/layout.md +92 -0
- package/llm/components/loader.md +35 -0
- package/llm/components/main-nav.md +56 -0
- package/llm/components/manual-refresh.md +25 -0
- package/llm/components/mobile-header.md +25 -0
- package/llm/components/multi-entry-field.md +67 -0
- package/llm/components/nav[core-generic-tabs].md +28 -0
- package/llm/components/number-field.md +56 -0
- package/llm/components/password-field.md +56 -0
- package/llm/components/phone-field.md +60 -0
- package/llm/components/progress-bar.md +49 -0
- package/llm/components/select-field.md +61 -0
- package/llm/components/server-select-field.md +59 -0
- package/llm/components/sidebar-custom-modal.md +23 -0
- package/llm/components/smart-field.md +62 -0
- package/llm/components/switch-field.md +56 -0
- package/llm/components/text-area-field.md +56 -0
- package/llm/components/text-field.md +58 -0
- package/llm/components/time-field.md +62 -0
- package/llm/components.md +56 -0
- package/llm/demo-examples.md +186 -0
- package/llm/exports.md +286 -0
- package/llm/form-recipes.md +203 -0
- package/llm/llms.txt +47 -0
- package/llm/repo-map.md +30 -0
- package/llm/screen-blueprints.md +129 -0
- package/llm/screen-recipes.md +53 -0
- package/package.json +1 -1
package/llm/exports.md
ADDED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# Public exports (current)
|
|
2
|
+
|
|
3
|
+
Source of truth: `projects/core-ui-library/src/public-api.ts`.
|
|
4
|
+
|
|
5
|
+
## Components (from `projects/core-ui-library/src/lib/components/index.ts`)
|
|
6
|
+
- `./fields/field-errors/field-errors.component`
|
|
7
|
+
- `./active-filters/active-filters.component`
|
|
8
|
+
- `./fields/types/base/base-field.component`
|
|
9
|
+
- `./fields/types/checkbox-field/checkbox-field.component`
|
|
10
|
+
- `./fields/types/color-picker-field/color-picker-field.component`
|
|
11
|
+
- `./fields/types/date-field/date-field.component`
|
|
12
|
+
- `./fields/types/daterange-field/daterange-field.component`
|
|
13
|
+
- `./fields/types/datetime-field/datetime-field.component`
|
|
14
|
+
- `./fields/types/document-field/document-field.component`
|
|
15
|
+
- `./fields/types/file-field/file-field.component`
|
|
16
|
+
- `./fields/types/number-field/number-field.component`
|
|
17
|
+
- `./fields/types/password-field/password-field.component`
|
|
18
|
+
- `./fields/types/phone-field/phone-field.component`
|
|
19
|
+
- `./fields/types/select-field/select-field.component`
|
|
20
|
+
- `./fields/types/server-select-field/services/server-select.service`
|
|
21
|
+
- `./fields/types/server-select-field/server-select-field.component`
|
|
22
|
+
- `./fields/types/switch-field/switch-field.component`
|
|
23
|
+
- `./fields/types/text-area-field/text-area-field.component`
|
|
24
|
+
- `./fields/types/text-field/text-field.component`
|
|
25
|
+
- `./fields/types/time-field/time-field.component`
|
|
26
|
+
- `./fields/types/multi-entry-field/multi-entry-field.component`
|
|
27
|
+
- `./fields/types/smart-field/smart-field.component`
|
|
28
|
+
- `./loader/services/loader.service`
|
|
29
|
+
- `./loader/loader.component`
|
|
30
|
+
- `./data-list/data-list.component`
|
|
31
|
+
- `./data-list-item/data-list-item.component`
|
|
32
|
+
- `./generic-button/enums/ButtonContext.enum`
|
|
33
|
+
- `./generic-button/enums/ButtonSize.enum`
|
|
34
|
+
- `./generic-button/enums/ButtonType.enum`
|
|
35
|
+
- `./generic-button/interfaces/ButtonConfig.interface`
|
|
36
|
+
- `./generic-button/interfaces/ButtonActionEvent.interface`
|
|
37
|
+
- `./generic-button/generic-button.component`
|
|
38
|
+
- `./generic-modal/generic-modal.component`
|
|
39
|
+
- `./generic-pagination/services/pagination.service`
|
|
40
|
+
- `./generic-pagination/generic-pagination.component`
|
|
41
|
+
- `./generic-tabs/interfaces/tab-config.interface`
|
|
42
|
+
- `./generic-tabs/interfaces/tab-click.interface`
|
|
43
|
+
- `./generic-tabs/interfaces/tab.interface`
|
|
44
|
+
- `./generic-tabs/generic-tabs.component`
|
|
45
|
+
- `./confirmation-dialog/enums/DialogActions.enum`
|
|
46
|
+
- `./confirmation-dialog/interfaces/ConfirmDialogConfig.interface`
|
|
47
|
+
- `./confirmation-dialog/services/confirmation-dialog.service`
|
|
48
|
+
- `./confirmation-dialog/confirmation-dialog.component`
|
|
49
|
+
- `./generic-table/components/dropdown/enums/DropdownDirection.enum`
|
|
50
|
+
- `./generic-table/components/dropdown/enums/TableAction.enum`
|
|
51
|
+
- `./generic-table/components/dropdown/services/dropdown.service`
|
|
52
|
+
- `./generic-table/components/dropdown/dropdown.component`
|
|
53
|
+
- `./generic-table/components/filter-modal/enums/FilterType.enum`
|
|
54
|
+
- `./generic-table/components/filter-modal/interfaces/FilterConfig.interface`
|
|
55
|
+
- `./generic-table/components/filter-modal/services/filter.service`
|
|
56
|
+
- `./generic-table/components/filter-modal/filter-modal.component`
|
|
57
|
+
- `./generic-table/interfaces/ColumnConfig.interface`
|
|
58
|
+
- `./generic-table/interfaces/ColumnDisabledConfig.interface`
|
|
59
|
+
- `./generic-table/interfaces/RowVisibilityConfig.interface`
|
|
60
|
+
- `./generic-table/interfaces/InlineEditConfig.interface`
|
|
61
|
+
- `./generic-table/interfaces/CustomAction.interface`
|
|
62
|
+
- `./generic-table/interfaces/ExpansionConfig.interface`
|
|
63
|
+
- `./generic-table/interfaces/GlobalAction.interface`
|
|
64
|
+
- `./generic-table/interfaces/MoreDataConfig.interface`
|
|
65
|
+
- `./generic-table/interfaces/RowStyleConfig.interface`
|
|
66
|
+
- `./generic-table/interfaces/TableActionConfig.interface`
|
|
67
|
+
- `./generic-table/interfaces/SortConfig.interface`
|
|
68
|
+
- `./generic-table/interfaces/TableSortConfig.interface`
|
|
69
|
+
- `./generic-table/interfaces/TableFixedActionsConfig.interface`
|
|
70
|
+
- `./generic-table/enums/SortDirection.enum`
|
|
71
|
+
- `./generic-table/enums/SortMode.enum`
|
|
72
|
+
- `./generic-table/services/table-action.service`
|
|
73
|
+
- `./generic-table/services/table-data.service`
|
|
74
|
+
- `./generic-table/services/table-sort.service`
|
|
75
|
+
- `./generic-table/services/table-fixed-actions.service`
|
|
76
|
+
- `./generic-table/generic-table.component`
|
|
77
|
+
- `./alert/alert-container.component`
|
|
78
|
+
- `./alert/alert.component`
|
|
79
|
+
- `./generic-documentation/enums/DocumentAction.enum`
|
|
80
|
+
- `./generic-documentation/enums/DocumentDisplayMode.enum`
|
|
81
|
+
- `./generic-documentation/interfaces/DocumentActionEvent.interface`
|
|
82
|
+
- `./generic-documentation/interfaces/DocumentConfig.interface`
|
|
83
|
+
- `./generic-documentation/interfaces/DocumentItem.interface`
|
|
84
|
+
- `./generic-documentation/generic-documentation.component`
|
|
85
|
+
- `./generic-sidebar/services/sidebar.service`
|
|
86
|
+
- `./generic-sidebar/services/sidebar-mobile-modal.service`
|
|
87
|
+
- `./generic-sidebar/services/sidebar-custom-modal.service`
|
|
88
|
+
- `./generic-sidebar/generic-sidebar.component`
|
|
89
|
+
- `./generic-sidebar/components/sidebar-custom-modal.component`
|
|
90
|
+
- `./generic-sidebar/services/sidebar-template-registry.service`
|
|
91
|
+
- `./generic-timeline/enums/TimelineStatus.enum`
|
|
92
|
+
- `./generic-timeline/enums/TimelineType.enum`
|
|
93
|
+
- `./generic-timeline/interfaces/TimelineConfig.interface`
|
|
94
|
+
- `./generic-timeline/interfaces/TimelineItem.interface`
|
|
95
|
+
- `./generic-timeline/services/timeline.service`
|
|
96
|
+
- `./generic-timeline/generic-timeline.component`
|
|
97
|
+
- `./header/header.component`
|
|
98
|
+
- `./mobile-header`
|
|
99
|
+
- `./main-nav/enums/PermissionsActions.enum`
|
|
100
|
+
- `./main-nav/enums/PermissionsResources.enum`
|
|
101
|
+
- `./main-nav/enums/PermissionsCustomActions.enum`
|
|
102
|
+
- `./main-nav/enums/SidebarState.enum`
|
|
103
|
+
- `./main-nav/interfaces/NavConfig.interface`
|
|
104
|
+
- `./main-nav/interfaces/NavUserConfig.interface`
|
|
105
|
+
- `./main-nav/interfaces/NavItem.interface`
|
|
106
|
+
- `./main-nav/services/main-nav.service`
|
|
107
|
+
- `./main-nav/main-nav.component`
|
|
108
|
+
- `./layout/services/layout-state.service`
|
|
109
|
+
- `./layout/services/layout.service`
|
|
110
|
+
- `./layout/layout`
|
|
111
|
+
- `./layout-auth/layout-auth`
|
|
112
|
+
- `./generic-steps/enums/StepStatus.enum`
|
|
113
|
+
- `./generic-steps/enums/StepType.enum`
|
|
114
|
+
- `./generic-steps/enums/StepSize.enum`
|
|
115
|
+
- `./generic-steps/interfaces/StepsConfig.interface`
|
|
116
|
+
- `./generic-steps/interfaces/StepItemConfig.interface`
|
|
117
|
+
- `./generic-steps/interfaces/StepClickEvent.interface`
|
|
118
|
+
- `./generic-steps/services/steps.service`
|
|
119
|
+
- `./generic-steps/generic-steps.component`
|
|
120
|
+
- `./generic-rating/generic-rating.component`
|
|
121
|
+
- `./main-nav/interfaces/LogoImagesConfig.interface`
|
|
122
|
+
- `./main-nav/interfaces/BottomNavItem.interface`
|
|
123
|
+
- `./progress-bar/progress-bar-size.enum`
|
|
124
|
+
- `./progress-bar/progress-bar.component`
|
|
125
|
+
- `./card/card.component`
|
|
126
|
+
- `./image-modal/image-modal.component`
|
|
127
|
+
- `./image-preview`
|
|
128
|
+
- `./carousel`
|
|
129
|
+
- `./generic-skeleton`
|
|
130
|
+
- `./generic-chat/enums/chat-message-type.enum`
|
|
131
|
+
- `./generic-chat/enums/chat-message-position.enum`
|
|
132
|
+
- `./generic-chat/interfaces/chat-message.interface`
|
|
133
|
+
- `./generic-chat/interfaces/chat-config.interface`
|
|
134
|
+
- `./generic-chat/interfaces/file-preview.interface`
|
|
135
|
+
- `./generic-chat/services/generic-chat.service`
|
|
136
|
+
- `./generic-chat/generic-chat.component`
|
|
137
|
+
- `./manual-refresh`
|
|
138
|
+
- `./generic-gallery`
|
|
139
|
+
- `./gallery-modal`
|
|
140
|
+
- `./generic-switch`
|
|
141
|
+
- `./generic-fixed-actions`
|
|
142
|
+
- `./auth/ad-auth/enums/ad-interaction-type.enum`
|
|
143
|
+
- `./auth/ad-auth/interfaces/ad-auth-config.interface`
|
|
144
|
+
- `./auth/ad-auth/services/ad-auth.service`
|
|
145
|
+
- `./auth/ad-auth/guards/ad-auth.guard`
|
|
146
|
+
- `./auth/ad-auth/interceptors/ad-auth.interceptor`
|
|
147
|
+
- `./auth/ad-auth/providers/ad-auth.providers`
|
|
148
|
+
- `./auth/ad-auth/components/ad-login-button/ad-login-button.component`
|
|
149
|
+
- `./generic-calendar`
|
|
150
|
+
- `./generic-scheduler`
|
|
151
|
+
|
|
152
|
+
## Services (from `projects/core-ui-library/src/lib/services/index.ts`)
|
|
153
|
+
- `./alert.service`
|
|
154
|
+
- `./core-ui-translate.service`
|
|
155
|
+
- `./custom-class.service`
|
|
156
|
+
- `./data-store.service`
|
|
157
|
+
- `./file-upload.service`
|
|
158
|
+
- `./global-api-config.service`
|
|
159
|
+
- `./header-configuration.service`
|
|
160
|
+
- `./header.service`
|
|
161
|
+
- `./mobile-resolution.service`
|
|
162
|
+
- `./model-api.service`
|
|
163
|
+
- `./permission.service`
|
|
164
|
+
- `./permission-wrapper.service`
|
|
165
|
+
- `./permission-enums.service`
|
|
166
|
+
- `./rating.service`
|
|
167
|
+
- `./redirect-url.service`
|
|
168
|
+
- `./translation-merge.service`
|
|
169
|
+
|
|
170
|
+
## Interfaces (from `projects/core-ui-library/src/lib/interfaces/index.ts`)
|
|
171
|
+
- `./field-configs/checkbox-field-config.interface`
|
|
172
|
+
- `./field-configs/date-field-config.interface`
|
|
173
|
+
- `./field-configs/daterange-field-config.interface`
|
|
174
|
+
- `./field-configs/document-field-config.interface`
|
|
175
|
+
- `./field-configs/file-field-config.interface`
|
|
176
|
+
- `./field-configs/number-field-config.interface`
|
|
177
|
+
- `./field-configs/phone-field-config.interface`
|
|
178
|
+
- `./field-configs/select-server-side.config.interface`
|
|
179
|
+
- `./field-configs/switch-field-config.interface`
|
|
180
|
+
- `./field-configs/time-field.config.interface`
|
|
181
|
+
- `./field-configs/multi-entry-field.config.interface`
|
|
182
|
+
- `./global/Adress.interface`
|
|
183
|
+
- `./global/Alert.interface`
|
|
184
|
+
- `./global/ActiveFiltersConfig.interface`
|
|
185
|
+
- `./global/ApiConfig.interface`
|
|
186
|
+
- `./global/ApiResponse.interface`
|
|
187
|
+
- `./global/ConfirmUploadRequest.interface`
|
|
188
|
+
- `./global/DataListItem.interface`
|
|
189
|
+
- `./global/DynamicFieldsHelperConfig.interface`
|
|
190
|
+
- `./global/FileUploadConfig.interface`
|
|
191
|
+
- `./global/FilterParams.interface`
|
|
192
|
+
- `./global/HeaderActionConfig.interface`
|
|
193
|
+
- `./global/header-action.interface`
|
|
194
|
+
- `./global/ModalButtonConfig.interface`
|
|
195
|
+
- `./global/ModalFieldConfig.interface`
|
|
196
|
+
- `./global/ModalStepConfig.interface`
|
|
197
|
+
- `./global/ModalTabConfig.interface`
|
|
198
|
+
- `./global/ModalValidationResult.interface`
|
|
199
|
+
- `./global/PaginatedResponse.interface`
|
|
200
|
+
- `./global/PermissionProvider.interface`
|
|
201
|
+
- `./global/PermissionEnums.interface`
|
|
202
|
+
- `./global/PresignedDownloadUrlResponse.interface`
|
|
203
|
+
- `./global/PresignedUrlRequest.interface`
|
|
204
|
+
- `./global/PresignedUrlResponse.interface`
|
|
205
|
+
- `./layout/layout-config.interface`
|
|
206
|
+
- `./layout/layout-data-attributes.interface`
|
|
207
|
+
- `./layout/sidebar-back-button.interface`
|
|
208
|
+
- `./layout/sidebar-component-events.interface`
|
|
209
|
+
- `./layout/sidebar-component.interface`
|
|
210
|
+
- `./layout/sidebar-config.interface`
|
|
211
|
+
- `./layout/sidebar-item.interface`
|
|
212
|
+
- `./layout/sidebar-sub-item.interface`
|
|
213
|
+
- `./layout/sidebar-responsive-config.interface`
|
|
214
|
+
- `./layout/sidebar-custom-modal-config.interface`
|
|
215
|
+
- `./user/company-info.interface`
|
|
216
|
+
- `./global/HeaderOrderConfig.interface`
|
|
217
|
+
- `./global/ExtendedPermissionProvider.interface`
|
|
218
|
+
- `./global/RatingConfig.interface`
|
|
219
|
+
- `../enums/global/RatingSize.enum`
|
|
220
|
+
- `../enums/global/RatingType.enum`
|
|
221
|
+
- `./global/RatingStar.interface`
|
|
222
|
+
- `./global/RatingSubmitEvent.interface`
|
|
223
|
+
- `./calendar`
|
|
224
|
+
|
|
225
|
+
## Enums (from `projects/core-ui-library/src/lib/enums/index.ts`)
|
|
226
|
+
- `./global/AlertType.enum`
|
|
227
|
+
- `./global/FieldType.enum`
|
|
228
|
+
- `./global/FileType.enum`
|
|
229
|
+
- `./global/ModalMode.enum`
|
|
230
|
+
- `./global/NumberRange.enum`
|
|
231
|
+
- `./global/TimeInterval.enum`
|
|
232
|
+
- `./layout/layout-breakpoint.enum`
|
|
233
|
+
- `./layout/layout-visibility.enum`
|
|
234
|
+
- `./layout/layout.enums`
|
|
235
|
+
- `./layout/sidebar-height.enum`
|
|
236
|
+
- `./layout/sidebar-position.enum`
|
|
237
|
+
- `./layout/sidebar-width.enum`
|
|
238
|
+
- `./layout/sidebar-mobile-type.enum`
|
|
239
|
+
- `./global/HeaderElementType.enum`
|
|
240
|
+
- `./country-codes.enum`
|
|
241
|
+
- `./calendar`
|
|
242
|
+
|
|
243
|
+
## Directives
|
|
244
|
+
- `projects/core-ui-library/src/lib/directives/DynamicField.directive`
|
|
245
|
+
- `projects/core-ui-library/src/lib/directives/core-host.directive`
|
|
246
|
+
|
|
247
|
+
## Interceptors
|
|
248
|
+
- `projects/core-ui-library/src/lib/interceptors/cache-busting.interceptor`
|
|
249
|
+
- `projects/core-ui-library/src/lib/interceptors/permissions.interceptor`
|
|
250
|
+
|
|
251
|
+
## Loaders
|
|
252
|
+
- `projects/core-ui-library/src/lib/loaders/core-ui-translate.loader`
|
|
253
|
+
|
|
254
|
+
## Providers
|
|
255
|
+
- `projects/core-ui-library/src/lib/providers/translate.providers`
|
|
256
|
+
- `projects/core-ui-library/src/lib/providers/permission.provider`
|
|
257
|
+
- `projects/core-ui-library/src/lib/providers/permission-enums.provider`
|
|
258
|
+
- `projects/core-ui-library/src/lib/providers/permission-service.provider`
|
|
259
|
+
- `projects/core-ui-library/src/lib/providers/api-configuration.provider`
|
|
260
|
+
|
|
261
|
+
## Models
|
|
262
|
+
- `projects/core-ui-library/src/lib/models/global/configuration.model`
|
|
263
|
+
- `projects/core-ui-library/src/lib/models/global/file.model`
|
|
264
|
+
- `projects/core-ui-library/src/lib/models/global/file-template-type.model`
|
|
265
|
+
- `projects/core-ui-library/src/lib/models/global/file-template.model`
|
|
266
|
+
- `projects/core-ui-library/src/lib/models/global/file-type.model`
|
|
267
|
+
- `projects/core-ui-library/src/lib/models/security/permission.model`
|
|
268
|
+
- `projects/core-ui-library/src/lib/models/users/users.model`
|
|
269
|
+
- `projects/core-ui-library/src/lib/models/users/role.model`
|
|
270
|
+
- `projects/core-ui-library/src/lib/models/users/reset-password.model`
|
|
271
|
+
|
|
272
|
+
## Utilities
|
|
273
|
+
- `projects/core-ui-library/src/lib/utilities/date.utility`
|
|
274
|
+
- `projects/core-ui-library/src/lib/utilities/isSameDate.util`
|
|
275
|
+
- `projects/core-ui-library/src/lib/utilities/dynamic-fields.helper`
|
|
276
|
+
- `projects/core-ui-library/src/lib/utilities/uruguayan-document-validation.helper`
|
|
277
|
+
- `projects/core-ui-library/src/lib/utilities/age-validation.helper`
|
|
278
|
+
|
|
279
|
+
## Validators
|
|
280
|
+
- `projects/core-ui-library/src/lib/validators/password.validator`
|
|
281
|
+
- `projects/core-ui-library/src/lib/validators/document-field-validators`
|
|
282
|
+
|
|
283
|
+
## Constants
|
|
284
|
+
- `projects/core-ui-library/src/lib/constants/countries.constants`
|
|
285
|
+
- `projects/core-ui-library/src/lib/constants/version`
|
|
286
|
+
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Form recipes (ModalFieldConfig)
|
|
2
|
+
|
|
3
|
+
These recipes show how to assemble form fields for create/edit/filter flows.
|
|
4
|
+
|
|
5
|
+
## Common building blocks
|
|
6
|
+
- `ModalFieldConfig<T>` from `interfaces/global/ModalFieldConfig.interface.ts`
|
|
7
|
+
- `FieldType` enum from `enums/global/FieldType.enum.ts`
|
|
8
|
+
- `ModalMode` enum from `enums/global/ModalMode.enum.ts`
|
|
9
|
+
- Optional per-field configs: `SelectFieldConfig`, `SelectServerSideConfig`, `PhoneModalFieldConfig`, `FileFieldConfig`, `DocumentFieldConfig`, `NumberModalFieldConfig`, `DateRangeFieldConfig`
|
|
10
|
+
|
|
11
|
+
## Create/Edit form (generic modal)
|
|
12
|
+
|
|
13
|
+
### Field config
|
|
14
|
+
```ts
|
|
15
|
+
import { ModalFieldConfig } from 'projects/core-ui-library/src/lib/interfaces/global/ModalFieldConfig.interface';
|
|
16
|
+
import { FieldType, ModalMode } from 'projects/core-ui-library/src/lib/enums';
|
|
17
|
+
import { Validators } from '@angular/forms';
|
|
18
|
+
|
|
19
|
+
interface User {
|
|
20
|
+
id: number;
|
|
21
|
+
name: string;
|
|
22
|
+
email: string;
|
|
23
|
+
status: 'active' | 'inactive';
|
|
24
|
+
phone: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const userFields: ModalFieldConfig<User>[] = [
|
|
28
|
+
{
|
|
29
|
+
key: 'name',
|
|
30
|
+
label: 'Name',
|
|
31
|
+
type: FieldType.TEXT,
|
|
32
|
+
placeholder: 'Full name',
|
|
33
|
+
readonly: false,
|
|
34
|
+
validators: [Validators.required],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: 'email',
|
|
38
|
+
label: 'Email',
|
|
39
|
+
type: FieldType.TEXT,
|
|
40
|
+
placeholder: 'user@company.com',
|
|
41
|
+
readonly: false,
|
|
42
|
+
validators: [Validators.required],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
key: 'status',
|
|
46
|
+
label: 'Status',
|
|
47
|
+
type: FieldType.SELECT,
|
|
48
|
+
options: [
|
|
49
|
+
{ value: 'active', label: 'Active' },
|
|
50
|
+
{ value: 'inactive', label: 'Inactive' },
|
|
51
|
+
],
|
|
52
|
+
readonly: false,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
key: 'phone',
|
|
56
|
+
label: 'Phone',
|
|
57
|
+
type: FieldType.PHONE,
|
|
58
|
+
readonly: false,
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Modal usage
|
|
64
|
+
```html
|
|
65
|
+
<core-generic-modal
|
|
66
|
+
[isOpen]="isOpen"
|
|
67
|
+
[mode]="mode"
|
|
68
|
+
[title]="modalTitle"
|
|
69
|
+
[data]="formData"
|
|
70
|
+
(save)="save($event)"
|
|
71
|
+
(close)="close()"
|
|
72
|
+
></core-generic-modal>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Filter form (table filters)
|
|
76
|
+
|
|
77
|
+
Use `ModalMode.FILTER` to reuse the same field definitions but loosen validation and readonly behavior.
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
const filterFields: ModalFieldConfig<User>[] = userFields.map(field => ({
|
|
81
|
+
...field,
|
|
82
|
+
modes: {
|
|
83
|
+
[ModalMode.FILTER]: {
|
|
84
|
+
validators: [],
|
|
85
|
+
readonly: false,
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}));
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If you want different fields for filters, define a separate array and set `type` to match the field component.
|
|
92
|
+
|
|
93
|
+
## Form rendering with dynamic fields
|
|
94
|
+
|
|
95
|
+
Use `core-smart-field` to render a field by type dynamically.
|
|
96
|
+
|
|
97
|
+
```html
|
|
98
|
+
<div *ngFor="let field of userFields">
|
|
99
|
+
<core-smart-field
|
|
100
|
+
[field]="field"
|
|
101
|
+
[value]="formData[field.key]"
|
|
102
|
+
[mode]="mode"
|
|
103
|
+
[errors]="errors[field.key] || []"
|
|
104
|
+
[formValue]="formData"
|
|
105
|
+
(valueChange)="onFieldChange(field.key, $event)"
|
|
106
|
+
(selectionChange)="onSelectionChange($event)"
|
|
107
|
+
></core-smart-field>
|
|
108
|
+
</div>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Minimal wiring in TS
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
mode: ModalMode = ModalMode.CREATE;
|
|
115
|
+
formData: Partial<User> = {};
|
|
116
|
+
errors: Record<string, string[]> = {};
|
|
117
|
+
|
|
118
|
+
onFieldChange(key: keyof User, value: any) {
|
|
119
|
+
this.formData = { ...this.formData, [key]: value };
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
onSelectionChange(e: { selectedItem: any; newFormValue: any }) {
|
|
123
|
+
this.formData = { ...this.formData, ...e.newFormValue };
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Specialized field recipes
|
|
128
|
+
|
|
129
|
+
### Server-side select (remote options)
|
|
130
|
+
```ts
|
|
131
|
+
import { SelectServerSideConfig } from 'projects/core-ui-library/src/lib/interfaces/field-configs/select-server-side.config.interface';
|
|
132
|
+
|
|
133
|
+
const companyField: SelectServerSideConfig<User> = {
|
|
134
|
+
key: 'companyId',
|
|
135
|
+
label: 'Company',
|
|
136
|
+
type: FieldType.SERVER_SELECT,
|
|
137
|
+
endpoint: '/api/companies',
|
|
138
|
+
bindValue: 'id',
|
|
139
|
+
bindLabel: 'name',
|
|
140
|
+
searchParam: 'q',
|
|
141
|
+
minSearchLength: 2,
|
|
142
|
+
readonly: false,
|
|
143
|
+
};
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### File field (upload + preview)
|
|
147
|
+
```ts
|
|
148
|
+
import { FileFieldConfig } from 'projects/core-ui-library/src/lib/interfaces/field-configs/file-field-config.interface';
|
|
149
|
+
import { FileType } from 'projects/core-ui-library/src/lib/enums/global/FileType.enum';
|
|
150
|
+
|
|
151
|
+
const attachmentsField: FileFieldConfig<User> = {
|
|
152
|
+
key: 'attachments',
|
|
153
|
+
label: 'Attachments',
|
|
154
|
+
type: FieldType.FILE,
|
|
155
|
+
accept: '.pdf,.png,.jpg',
|
|
156
|
+
multiple: true,
|
|
157
|
+
maxFiles: 3,
|
|
158
|
+
maxSize: 5 * 1024 * 1024,
|
|
159
|
+
showPreview: true,
|
|
160
|
+
acceptString: 'pdf,png,jpg',
|
|
161
|
+
fileUploadConfig: {
|
|
162
|
+
fileType: FileType.DOCUMENT,
|
|
163
|
+
fileIdTarget: 'attachmentIds' as keyof User,
|
|
164
|
+
},
|
|
165
|
+
readonly: false,
|
|
166
|
+
};
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Document field (type + number)
|
|
170
|
+
```ts
|
|
171
|
+
import { DocumentFieldConfig, DocumentPayloadMode } from 'projects/core-ui-library/src/lib/interfaces/field-configs/document-field-config.interface';
|
|
172
|
+
|
|
173
|
+
const documentField: DocumentFieldConfig<User> = {
|
|
174
|
+
key: 'document',
|
|
175
|
+
label: 'Document',
|
|
176
|
+
type: FieldType.DOCUMENT,
|
|
177
|
+
documentTypeOptions: [
|
|
178
|
+
{ value: 'id', label: 'ID' },
|
|
179
|
+
{ value: 'passport', label: 'Passport' },
|
|
180
|
+
],
|
|
181
|
+
payloadMode: DocumentPayloadMode.OBJECT,
|
|
182
|
+
readonly: false,
|
|
183
|
+
};
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Phone field
|
|
187
|
+
```ts
|
|
188
|
+
import { PhoneModalFieldConfig } from 'projects/core-ui-library/src/lib/interfaces/field-configs/phone-field-config.interface';
|
|
189
|
+
import { CountryCode } from 'projects/core-ui-library/src/lib/enums';
|
|
190
|
+
|
|
191
|
+
const phoneField: PhoneModalFieldConfig<User> = {
|
|
192
|
+
key: 'phone',
|
|
193
|
+
label: 'Phone',
|
|
194
|
+
type: FieldType.PHONE,
|
|
195
|
+
phoneConfig: {
|
|
196
|
+
defaultCountry: CountryCode.UY,
|
|
197
|
+
showFlags: true,
|
|
198
|
+
showPhoneCode: true,
|
|
199
|
+
validatePhoneFormat: true,
|
|
200
|
+
},
|
|
201
|
+
readonly: false,
|
|
202
|
+
};
|
|
203
|
+
```
|
package/llm/llms.txt
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
Core UI Library (Angular) — LLM Entry
|
|
2
|
+
|
|
3
|
+
Purpose
|
|
4
|
+
- UI component library + services for building screens in Angular apps.
|
|
5
|
+
- Focus: tables, forms/fields, layout/navigation, modals, auth, utilities.
|
|
6
|
+
|
|
7
|
+
Library root
|
|
8
|
+
- projects/core-ui-library
|
|
9
|
+
- Public surface: projects/core-ui-library/src/public-api.ts
|
|
10
|
+
|
|
11
|
+
Key facts for agents
|
|
12
|
+
- Components are Angular standalone components.
|
|
13
|
+
- Many components depend on @ngx-translate/core (TranslateModule/TranslateService).
|
|
14
|
+
- Some data-driven components use @solcre-org/core types (e.g. DataBaseModelInterface).
|
|
15
|
+
|
|
16
|
+
Recommended read order
|
|
17
|
+
1) repo-map.md
|
|
18
|
+
2) exports.md
|
|
19
|
+
3) components.md
|
|
20
|
+
4) screen-recipes.md
|
|
21
|
+
5) form-recipes.md
|
|
22
|
+
6) screen-blueprints.md
|
|
23
|
+
7) demo-examples.md
|
|
24
|
+
|
|
25
|
+
Demo references (core-ui-demo)
|
|
26
|
+
- Layout shell: `projects/core-ui-demo/src/app/layout/dashboard/dashboard.component.html`
|
|
27
|
+
- Tables: `projects/core-ui-demo/src/app/admin/components/tables/tables.html`
|
|
28
|
+
- Forms/fields showcase: `projects/core-ui-demo/src/app/admin/components/forms/forms.html`
|
|
29
|
+
- Modals: `projects/core-ui-demo/src/app/admin/components/modals/modals.html`
|
|
30
|
+
- Buttons: `projects/core-ui-demo/src/app/admin/components/button/button.html`
|
|
31
|
+
- Alerts: `projects/core-ui-demo/src/app/admin/components/alerts/alerts.ts` and `projects/core-ui-demo/src/app/admin/components/alerts/alerts.html`
|
|
32
|
+
- Steps: `projects/core-ui-demo/src/app/admin/components/steps/steps.html`
|
|
33
|
+
- Calendar/Scheduler: `projects/core-ui-demo/src/app/admin/components/calendar/calendar-demo.component.html`
|
|
34
|
+
- Gallery: `projects/core-ui-demo/src/app/admin/components/gallery/gallery.html`
|
|
35
|
+
- Sidebar: `projects/core-ui-demo/src/app/admin/components/sidebar/sidebar.html`
|
|
36
|
+
|
|
37
|
+
Where to look
|
|
38
|
+
- Components: projects/core-ui-library/src/lib/components
|
|
39
|
+
- Services: projects/core-ui-library/src/lib/services
|
|
40
|
+
- Interfaces: projects/core-ui-library/src/lib/interfaces
|
|
41
|
+
- Enums: projects/core-ui-library/src/lib/enums
|
|
42
|
+
- Utilities/validators/providers/directives: projects/core-ui-library/src/lib
|
|
43
|
+
|
|
44
|
+
Agent usage rules (project-specific)
|
|
45
|
+
- Prefer using exported components from public-api.
|
|
46
|
+
- When building screens, compose with layout, header, main-nav, and form field types.
|
|
47
|
+
- For tables, see generic-table and related interfaces/services.
|
package/llm/repo-map.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Repo map (core-ui-library)
|
|
2
|
+
|
|
3
|
+
## Top-level structure
|
|
4
|
+
- `projects/core-ui-library` — Angular library source
|
|
5
|
+
- `projects/core-ui-demo` — Demo app (consumer of the library)
|
|
6
|
+
- `docs/` — Project docs (if present)
|
|
7
|
+
- `dist/` — Build outputs
|
|
8
|
+
|
|
9
|
+
## Library layout (projects/core-ui-library)
|
|
10
|
+
- `src/public-api.ts` — Single public export surface
|
|
11
|
+
- `src/lib/components` — Standalone UI components
|
|
12
|
+
- `src/lib/services` — UI + data services used by components
|
|
13
|
+
- `src/lib/interfaces` — TypeScript interfaces and configs
|
|
14
|
+
- `src/lib/enums` — Enums (global, layout, calendar, etc.)
|
|
15
|
+
- `src/lib/models` — Data models
|
|
16
|
+
- `src/lib/providers` — Angular providers
|
|
17
|
+
- `src/lib/directives` — Directives used by components
|
|
18
|
+
- `src/lib/interceptors` — HTTP interceptors
|
|
19
|
+
- `src/lib/loaders` — Translation loader
|
|
20
|
+
- `src/lib/utilities` — Helper utilities
|
|
21
|
+
- `src/lib/validators` — Validators
|
|
22
|
+
- `src/assets` — Library assets
|
|
23
|
+
|
|
24
|
+
## Build/test commands
|
|
25
|
+
- Build: `ng build core-ui-library`
|
|
26
|
+
- Test: `ng test`
|
|
27
|
+
|
|
28
|
+
## LLM docs location
|
|
29
|
+
- `projects/core-ui-library/src/llm`
|
|
30
|
+
|