@sdcorejs/angular 21.1.2 → 21.1.4
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 +127 -807
- package/fesm2022/sdcorejs-angular-components-anchor.mjs +14 -14
- package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-audit-diff.mjs +332 -0
- package/fesm2022/sdcorejs-angular-components-audit-diff.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-badge.mjs +1 -0
- package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs +121 -0
- package/fesm2022/sdcorejs-angular-components-breadcrumb.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-data-state.mjs +68 -0
- package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs +18 -23
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-editor.mjs +6 -4
- package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs +633 -886
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs +26 -41
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-job-progress.mjs +97 -0
- package/fesm2022/sdcorejs-angular-components-job-progress.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-components-mini-editor.mjs +10 -20
- package/fesm2022/sdcorejs-angular-components-mini-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal.mjs +61 -4
- package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-preview.mjs +1438 -218
- package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs +9 -17
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs +1 -1
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +39 -2
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs +76 -52
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab.mjs +48 -4
- package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-table.mjs +123 -89
- package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tree.mjs +188 -18
- package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs +17 -23
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components.mjs +4 -0
- package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-directives.mjs +29 -41
- package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +9 -8
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +20 -71
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +8 -4
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip.mjs +8 -4
- package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs +18 -14
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date.mjs +48 -70
- package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs +62 -528
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +384 -0
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs +5 -3
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs +16 -11
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input.mjs +297 -59
- package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-models.mjs +155 -2
- package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-radio.mjs +44 -66
- package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-select.mjs +8 -21
- package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-switch.mjs +19 -64
- package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs +8 -6
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs +277 -0
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms-time.mjs +307 -0
- package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +210 -0
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-forms.mjs +73 -4
- package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-i18n.mjs +355 -10
- package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-interceptors.mjs +12 -17
- package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-icon.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-layout.mjs +861 -80
- package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules.mjs +0 -1
- package/fesm2022/sdcorejs-angular-modules.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-pipes.mjs +5 -7
- package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-api.mjs +407 -137
- package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-cache.mjs +515 -105
- package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-confirm.mjs +5 -7
- package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-docx.mjs +7 -10
- package/fesm2022/sdcorejs-angular-services-docx.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-loading.mjs +340 -66
- package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-notify.mjs +7 -10
- package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-persistence.mjs +899 -0
- package/fesm2022/sdcorejs-angular-services-persistence.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services-storage.mjs +324 -122
- package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-task.mjs +389 -0
- package/fesm2022/sdcorejs-angular-services-task.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs +255 -0
- package/fesm2022/sdcorejs-angular-services-unsaved-changes.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services-viewport.mjs +76 -0
- package/fesm2022/sdcorejs-angular-services-viewport.mjs.map +1 -0
- package/fesm2022/sdcorejs-angular-services.mjs +4 -0
- package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
- package/package.json +50 -5
- package/types/sdcorejs-angular-components-audit-diff.d.ts +74 -0
- package/types/sdcorejs-angular-components-badge.d.ts +1 -1
- package/types/sdcorejs-angular-components-breadcrumb.d.ts +53 -0
- package/types/sdcorejs-angular-components-data-state.d.ts +44 -0
- package/types/sdcorejs-angular-components-document-builder.d.ts +5 -5
- package/types/sdcorejs-angular-components-form-generic.d.ts +89 -103
- package/types/sdcorejs-angular-components-import-excel.d.ts +4 -14
- package/types/sdcorejs-angular-components-job-progress.d.ts +38 -0
- package/types/sdcorejs-angular-components-mini-editor.d.ts +9 -9
- package/types/sdcorejs-angular-components-modal.d.ts +7 -1
- package/types/sdcorejs-angular-components-preview.d.ts +181 -28
- package/types/sdcorejs-angular-components-side-drawer.d.ts +7 -1
- package/types/sdcorejs-angular-components-tab.d.ts +9 -2
- package/types/sdcorejs-angular-components-table.d.ts +8 -7
- package/types/sdcorejs-angular-components-tree.d.ts +24 -2
- package/types/sdcorejs-angular-components-upload-file.d.ts +5 -4
- package/types/sdcorejs-angular-components.d.ts +4 -0
- package/types/sdcorejs-angular-directives.d.ts +10 -8
- package/types/sdcorejs-angular-forms-autocomplete.d.ts +3 -4
- package/types/sdcorejs-angular-forms-checkbox.d.ts +4 -8
- package/types/sdcorejs-angular-forms-date-range.d.ts +6 -7
- package/types/sdcorejs-angular-forms-date.d.ts +3 -3
- package/types/sdcorejs-angular-forms-datetime.d.ts +3 -3
- package/types/sdcorejs-angular-forms-entity-picker.d.ts +128 -0
- package/types/sdcorejs-angular-forms-input-color.d.ts +3 -1
- package/types/sdcorejs-angular-forms-input-number.d.ts +4 -2
- package/types/sdcorejs-angular-forms-input.d.ts +76 -11
- package/types/sdcorejs-angular-forms-models.d.ts +86 -3
- package/types/sdcorejs-angular-forms-radio.d.ts +12 -8
- package/types/sdcorejs-angular-forms-switch.d.ts +4 -7
- package/types/sdcorejs-angular-forms-time-range.d.ts +98 -0
- package/types/sdcorejs-angular-forms-time.d.ts +117 -0
- package/types/sdcorejs-angular-forms-tree-select.d.ts +76 -0
- package/types/sdcorejs-angular-forms.d.ts +15 -5
- package/types/sdcorejs-angular-i18n.d.ts +68 -2
- package/types/sdcorejs-angular-interceptors.d.ts +5 -6
- package/types/sdcorejs-angular-modules-icon.d.ts +2 -3
- package/types/sdcorejs-angular-modules-layout.d.ts +288 -15
- package/types/sdcorejs-angular-modules.d.ts +0 -1
- package/types/sdcorejs-angular-pipes.d.ts +2 -2
- package/types/sdcorejs-angular-services-api.d.ts +68 -24
- package/types/sdcorejs-angular-services-cache.d.ts +52 -16
- package/types/sdcorejs-angular-services-confirm.d.ts +3 -2
- package/types/sdcorejs-angular-services-docx.d.ts +2 -3
- package/types/sdcorejs-angular-services-loading.d.ts +16 -8
- package/types/sdcorejs-angular-services-persistence.d.ts +159 -0
- package/types/sdcorejs-angular-services-storage.d.ts +26 -8
- package/types/sdcorejs-angular-services-task.d.ts +104 -0
- package/types/sdcorejs-angular-services-unsaved-changes.d.ts +83 -0
- package/types/sdcorejs-angular-services-viewport.d.ts +42 -0
- package/types/sdcorejs-angular-services.d.ts +4 -0
- package/fesm2022/sdcorejs-angular-modules-authom.mjs +0 -360
- package/fesm2022/sdcorejs-angular-modules-authom.mjs.map +0 -1
- package/types/sdcorejs-angular-modules-authom.d.ts +0 -70
|
@@ -104,6 +104,8 @@ declare const EN_MESSAGES: {
|
|
|
104
104
|
readonly 'core.form.input.maxlength': "Maximum characters: {max}";
|
|
105
105
|
readonly 'core.form.input.invalid-pattern': "Invalid format";
|
|
106
106
|
readonly 'core.form.input.exceeded': "Exceeded maximum characters";
|
|
107
|
+
readonly 'core.form.input.mask-incomplete': "The value is incomplete";
|
|
108
|
+
readonly 'core.form.input.mask-invalid': "The value contains invalid characters";
|
|
107
109
|
readonly 'core.form.autocomplete.required': "Please enter information";
|
|
108
110
|
readonly 'core.form.chip.required': "Please enter information";
|
|
109
111
|
readonly 'core.form.chip.minlength': "Please enter at least {min} values";
|
|
@@ -127,6 +129,62 @@ declare const EN_MESSAGES: {
|
|
|
127
129
|
readonly 'core.form.datetime.invalid-format': "Invalid format";
|
|
128
130
|
readonly 'core.form.datetime.now': "Now";
|
|
129
131
|
readonly 'core.form.datetime.confirm': "Confirm";
|
|
132
|
+
readonly 'core.form.entity-picker.placeholder': "Select an entity";
|
|
133
|
+
readonly 'core.form.entity-picker.modal-title': "Select entity";
|
|
134
|
+
readonly 'core.form.entity-picker.value': "Value";
|
|
135
|
+
readonly 'core.form.entity-picker.clear': "Clear selection";
|
|
136
|
+
readonly 'core.form.entity-picker.add': "Add";
|
|
137
|
+
readonly 'core.form.entity-picker.cancel': "Cancel";
|
|
138
|
+
readonly 'core.form.entity-picker.apply': "Apply";
|
|
139
|
+
readonly 'core.form.tree-select.placeholder': "Select a tree item";
|
|
140
|
+
readonly 'core.form.tree-select.modal-title': "Select tree item";
|
|
141
|
+
readonly 'core.form.tree-select.clear': "Clear selection";
|
|
142
|
+
readonly 'core.form.tree-select.search': "Search tree";
|
|
143
|
+
readonly 'core.form.tree-select.cancel': "Cancel";
|
|
144
|
+
readonly 'core.form.tree-select.apply': "Apply";
|
|
145
|
+
readonly 'core.component.tree.retry': "Retry";
|
|
146
|
+
readonly 'core.service.unsaved-changes.message': "You have unsaved changes. Discard them and continue?";
|
|
147
|
+
readonly 'core.component.job-progress.status.idle': "Ready";
|
|
148
|
+
readonly 'core.component.job-progress.status.queued': "Queued";
|
|
149
|
+
readonly 'core.component.job-progress.status.running': "In progress";
|
|
150
|
+
readonly 'core.component.job-progress.status.succeeded': "Completed";
|
|
151
|
+
readonly 'core.component.job-progress.status.failed': "Failed";
|
|
152
|
+
readonly 'core.component.job-progress.status.cancelled': "Cancelled";
|
|
153
|
+
readonly 'core.component.job-progress.cancel': "Cancel";
|
|
154
|
+
readonly 'core.component.job-progress.retry': "Retry";
|
|
155
|
+
readonly 'core.component.audit-diff.label': "Audit changes";
|
|
156
|
+
readonly 'core.component.audit-diff.field': "Field";
|
|
157
|
+
readonly 'core.component.audit-diff.before': "Before";
|
|
158
|
+
readonly 'core.component.audit-diff.after': "After";
|
|
159
|
+
readonly 'core.component.audit-diff.empty': "No changes";
|
|
160
|
+
readonly 'core.component.audit-diff.kind.added': "Added";
|
|
161
|
+
readonly 'core.component.audit-diff.kind.removed': "Removed";
|
|
162
|
+
readonly 'core.component.audit-diff.kind.changed': "Changed";
|
|
163
|
+
readonly 'core.component.audit-diff.kind.unchanged': "Unchanged";
|
|
164
|
+
readonly 'core.component.audit-diff.value.label': "Value";
|
|
165
|
+
readonly 'core.component.audit-diff.value.not-set': "Not set";
|
|
166
|
+
readonly 'core.component.audit-diff.value.undefined': "Undefined";
|
|
167
|
+
readonly 'core.component.audit-diff.value.null': "Null";
|
|
168
|
+
readonly 'core.component.audit-diff.value.true': "Yes";
|
|
169
|
+
readonly 'core.component.audit-diff.value.false': "No";
|
|
170
|
+
readonly 'core.form.time.required': "Please enter a time";
|
|
171
|
+
readonly 'core.form.time.invalid': "Enter a valid time in HH:mm format";
|
|
172
|
+
readonly 'core.form.time.min': "Time must not be earlier than {min}";
|
|
173
|
+
readonly 'core.form.time.max': "Time must not be later than {max}";
|
|
174
|
+
readonly 'core.form.time.step': "Time must align to a {step}-minute interval";
|
|
175
|
+
readonly 'core.form.time.open-picker': "Open time picker";
|
|
176
|
+
readonly 'core.form.time.confirm': "Confirm";
|
|
177
|
+
readonly 'core.form.time.clear': "Clear time";
|
|
178
|
+
readonly 'core.form.time-range.required': "Please enter both start and end times";
|
|
179
|
+
readonly 'core.form.time-range.incomplete': "Enter both times or enable an open-ended range";
|
|
180
|
+
readonly 'core.form.time-range.range': "Start time must not be later than end time";
|
|
181
|
+
readonly 'core.form.time-range.invalid': "Enter valid times in HH:mm format";
|
|
182
|
+
readonly 'core.form.time-range.min': "Times must not be earlier than {min}";
|
|
183
|
+
readonly 'core.form.time-range.max': "Times must not be later than {max}";
|
|
184
|
+
readonly 'core.form.time-range.step': "Times must align to a {step}-minute interval";
|
|
185
|
+
readonly 'core.form.time-range.from': "From";
|
|
186
|
+
readonly 'core.form.time-range.to': "To";
|
|
187
|
+
readonly 'core.form.time-range.clear': "Clear time range";
|
|
130
188
|
readonly 'core.form.time-spinner.hour': "Hour";
|
|
131
189
|
readonly 'core.form.time-spinner.minute': "Minute";
|
|
132
190
|
readonly 'core.form.time-spinner.second': "Second";
|
|
@@ -256,6 +314,15 @@ declare const EN_MESSAGES: {
|
|
|
256
314
|
readonly 'core.component.form-builder.show-less': "Show less";
|
|
257
315
|
readonly 'core.component.inform.show-more': "Show more";
|
|
258
316
|
readonly 'core.component.inform.show-less': "Show less";
|
|
317
|
+
readonly 'core.component.data-state.loading.title': "Loading";
|
|
318
|
+
readonly 'core.component.data-state.loading.message': "Please wait while the data is being loaded.";
|
|
319
|
+
readonly 'core.component.data-state.empty.title': "No data";
|
|
320
|
+
readonly 'core.component.data-state.empty.message': "There is no data to display yet.";
|
|
321
|
+
readonly 'core.component.data-state.error.title': "Unable to load data";
|
|
322
|
+
readonly 'core.component.data-state.error.message': "An error occurred. Please try again.";
|
|
323
|
+
readonly 'core.component.data-state.forbidden.title': "Access denied";
|
|
324
|
+
readonly 'core.component.data-state.forbidden.message': "You do not have permission to view this content.";
|
|
325
|
+
readonly 'core.component.data-state.retry': "Try again";
|
|
259
326
|
readonly 'core.component.form-builder.row-overflow': "Cannot move to this row because the total size exceeds 12 columns";
|
|
260
327
|
readonly 'core.component.form-builder.upload-source.all': "All";
|
|
261
328
|
readonly 'core.component.form-builder.upload-source.photo-library': "Pick from library";
|
|
@@ -370,14 +437,13 @@ declare const EN_MESSAGES: {
|
|
|
370
437
|
readonly 'core.component.preview-pdf.error.unknown.body': "Please retry or download the original file to view it.";
|
|
371
438
|
readonly 'core.component.preview-pdf.error.retry': "Retry";
|
|
372
439
|
readonly 'core.component.preview-pdf.error.download-raw': "Download original";
|
|
373
|
-
readonly 'core.component.preview-pdf.deferred.outline': "Outline will be added in a future version.";
|
|
374
|
-
readonly 'core.component.preview-pdf.deferred.search': "Search will be added in a future version.";
|
|
375
440
|
readonly 'core.component.preview-pdf.search': "Search";
|
|
376
441
|
readonly 'core.component.preview-pdf.search-placeholder': "Search in document...";
|
|
377
442
|
readonly 'core.component.preview-pdf.search-case': "Match case";
|
|
378
443
|
readonly 'core.component.preview-pdf.search-whole': "Whole word";
|
|
379
444
|
readonly 'core.component.preview-pdf.search-no-results': "No results";
|
|
380
445
|
readonly 'core.component.preview-pdf.search-results-count': "{count} results for \"{term}\"";
|
|
446
|
+
readonly 'core.component.preview-pdf.search-truncated': "Showing the first {count} matches. Refine your search to see fewer results.";
|
|
381
447
|
readonly 'core.component.preview-pdf.search-prev': "Previous match";
|
|
382
448
|
readonly 'core.component.preview-pdf.search-next': "Next match";
|
|
383
449
|
readonly 'core.component.preview-pdf.search-close': "Close search";
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
|
|
2
|
-
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injector } from '@angular/core';
|
|
4
|
-
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
5
2
|
import { Observable } from 'rxjs';
|
|
6
|
-
import
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
7
4
|
|
|
8
5
|
declare class SdNoInternetInterceptor implements HttpInterceptor {
|
|
9
6
|
#private;
|
|
10
7
|
private snackBar;
|
|
11
8
|
private injector;
|
|
12
|
-
|
|
9
|
+
/** Inserted by Angular inject() migration for backwards compatibility */
|
|
10
|
+
constructor(...args: unknown[]);
|
|
13
11
|
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
14
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdNoInternetInterceptor, never>;
|
|
15
13
|
static ɵprov: i0.ɵɵInjectableDeclaration<SdNoInternetInterceptor>;
|
|
@@ -18,7 +16,8 @@ declare class SdNoInternetInterceptor implements HttpInterceptor {
|
|
|
18
16
|
declare class SdUnauthorizedInterceptor implements HttpInterceptor {
|
|
19
17
|
#private;
|
|
20
18
|
private authService;
|
|
21
|
-
|
|
19
|
+
/** Inserted by Angular inject() migration for backwards compatibility */
|
|
20
|
+
constructor(...args: unknown[]);
|
|
22
21
|
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
23
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdUnauthorizedInterceptor, never>;
|
|
24
23
|
static ɵprov: i0.ɵɵInjectableDeclaration<SdUnauthorizedInterceptor>;
|
|
@@ -35,8 +35,7 @@ interface ISdIconConfiguration {
|
|
|
35
35
|
/**
|
|
36
36
|
* Cấu hình đã resolve đầy đủ để component không phải tự xử lý fallback nhiều lần.
|
|
37
37
|
*/
|
|
38
|
-
|
|
39
|
-
}
|
|
38
|
+
type ISdIconResolvedConfiguration = Required<Omit<ISdIconConfiguration, 'lucideIcons'>>;
|
|
40
39
|
/**
|
|
41
40
|
* Quy đổi token `Size` chung của SDCoreJS sang pixel cho icon.
|
|
42
41
|
*/
|
|
@@ -160,7 +159,7 @@ declare class SdIcon {
|
|
|
160
159
|
*
|
|
161
160
|
* Token có factory mặc định để `SdIcon` vẫn chạy khi app chưa gọi `provideSdIcon`.
|
|
162
161
|
*/
|
|
163
|
-
declare const SD_ICON_CONFIGURATION: InjectionToken<
|
|
162
|
+
declare const SD_ICON_CONFIGURATION: InjectionToken<Required<Omit<ISdIconConfiguration, "lucideIcons">>>;
|
|
164
163
|
/**
|
|
165
164
|
* Đăng ký cấu hình icon Core UI ở app-level.
|
|
166
165
|
*
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { InjectionToken, PipeTransform } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/common';
|
|
4
4
|
import * as i1 from '@angular/router';
|
|
5
5
|
import { Params } from '@angular/router';
|
|
6
|
-
import { SdStorage
|
|
6
|
+
import { SdStorage } from '@sdcorejs/angular/services';
|
|
7
|
+
import { SdViewport } from '@sdcorejs/angular/services/viewport';
|
|
7
8
|
import * as _sdcorejs_angular_modules_layout from '@sdcorejs/angular/modules/layout';
|
|
8
9
|
import { MaybeAsync } from '@sdcorejs/utils/models';
|
|
9
10
|
|
|
@@ -56,18 +57,43 @@ interface SdLayoutChildrenMenu {
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
declare class SdLayoutStorageService {
|
|
59
|
-
private
|
|
60
|
-
isShowSidebar: SdStorage<boolean>;
|
|
61
|
-
menuLockStatus: SdStorage<boolean>;
|
|
62
|
-
lastActiveMenuGroupId: SdStorage<string>;
|
|
63
|
-
pinnedMenuGroup: SdStorage<SdLayoutChildrenMenu>;
|
|
64
|
-
|
|
60
|
+
#private;
|
|
61
|
+
readonly isShowSidebar: SdStorage<boolean>;
|
|
62
|
+
readonly menuLockStatus: SdStorage<boolean>;
|
|
63
|
+
readonly lastActiveMenuGroupId: SdStorage<string>;
|
|
64
|
+
readonly pinnedMenuGroup: SdStorage<SdLayoutChildrenMenu>;
|
|
65
|
+
readonly pinnedMenuKeys: SdStorage<string[]>;
|
|
66
|
+
readonly recentMenuKeys: SdStorage<string[]>;
|
|
67
|
+
readonly versionStates: SdStorage<Record<string, SdLayoutVersionState>>;
|
|
68
|
+
readPinnedMenuKeys(menus: SdLayoutMenu[]): string[];
|
|
69
|
+
writePinnedMenuKeys(keys: string[]): void;
|
|
70
|
+
readRecentMenuKeys(menus: SdLayoutMenu[], maximum?: number): string[];
|
|
71
|
+
writeRecentMenuKeys(keys: string[]): void;
|
|
72
|
+
readVersionState(version: 1 | 2 | 3): SdLayoutVersionState;
|
|
73
|
+
patchVersionState(version: 1 | 2 | 3, patch: SdLayoutVersionState): SdLayoutVersionState;
|
|
65
74
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutStorageService, never>;
|
|
66
75
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdLayoutStorageService>;
|
|
67
76
|
}
|
|
77
|
+
interface SdLayoutVersionState {
|
|
78
|
+
activeGroupKey?: string;
|
|
79
|
+
locked?: boolean;
|
|
80
|
+
collapsed?: boolean;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
type SdLayoutViewport = SdViewport;
|
|
84
|
+
declare const SD_LAYOUT_VIEWPORT: _angular_core.InjectionToken<SdViewport | null>;
|
|
85
|
+
/** @deprecated Prefer `SdViewportService` from `@sdcorejs/angular/services/viewport`. */
|
|
86
|
+
declare class SdLayoutResponsiveService {
|
|
87
|
+
#private;
|
|
88
|
+
readonly viewportWidth: _angular_core.Signal<number>;
|
|
89
|
+
isMobile(breakpoint: number): boolean;
|
|
90
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutResponsiveService, never>;
|
|
91
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdLayoutResponsiveService>;
|
|
92
|
+
}
|
|
68
93
|
|
|
69
94
|
interface ISdLayoutConfiguration {
|
|
70
95
|
homeUrl?: string;
|
|
96
|
+
mobileBreakpoint?: number;
|
|
71
97
|
sidebar: ISdSidebarConfiguration | (() => MaybeAsync<ISdSidebarConfiguration>);
|
|
72
98
|
userInfo: SdLayoutUserInfo | (() => MaybeAsync<SdLayoutUserInfo>);
|
|
73
99
|
signout: () => void | Promise<void>;
|
|
@@ -96,8 +122,18 @@ interface SdLayoutUserInfo {
|
|
|
96
122
|
*/
|
|
97
123
|
avatar?: string;
|
|
98
124
|
}
|
|
99
|
-
|
|
100
|
-
interface
|
|
125
|
+
declare const DEFAULT_LAYOUT_MOBILE_BREAKPOINT = 1024;
|
|
126
|
+
interface SidebarConfigurationBase {
|
|
127
|
+
brandColor?: string;
|
|
128
|
+
brandLightColor?: string;
|
|
129
|
+
logoUrl?: string;
|
|
130
|
+
defaultTitle?: string;
|
|
131
|
+
pin?: {
|
|
132
|
+
enabled?: boolean;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
type ISdSidebarConfiguration = SidebarConfigurationV1 | SidebarConfigurationV2 | SidebarConfigurationV3;
|
|
136
|
+
interface SidebarConfigurationV1 extends SidebarConfigurationBase {
|
|
101
137
|
version: 1;
|
|
102
138
|
/**
|
|
103
139
|
* Màu brand chính.
|
|
@@ -130,12 +166,56 @@ interface SidebarConfigurationV1 {
|
|
|
130
166
|
enabled?: boolean;
|
|
131
167
|
};
|
|
132
168
|
}
|
|
169
|
+
interface SidebarConfigurationV2 extends SidebarConfigurationBase {
|
|
170
|
+
version: 2;
|
|
171
|
+
interaction?: 'click' | 'hover-lock';
|
|
172
|
+
primaryMenuIds?: string[];
|
|
173
|
+
}
|
|
174
|
+
interface SidebarConfigurationV3 extends SidebarConfigurationBase {
|
|
175
|
+
version: 3;
|
|
176
|
+
defaultCollapsed?: boolean;
|
|
177
|
+
recent?: {
|
|
178
|
+
enabled?: boolean;
|
|
179
|
+
maxItems?: number;
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
interface ResolvedSidebarRecentConfiguration {
|
|
183
|
+
enabled: boolean;
|
|
184
|
+
maxItems: number;
|
|
185
|
+
}
|
|
186
|
+
declare function normalizeLayoutMobileBreakpoint(value: number | undefined): number;
|
|
187
|
+
declare function resolveSidebarV2Interaction(sidebar: SidebarConfigurationV2): 'click' | 'hover-lock';
|
|
188
|
+
declare function resolveSidebarV3Recent(sidebar: SidebarConfigurationV3): ResolvedSidebarRecentConfiguration;
|
|
189
|
+
declare function normalizeSidebarConfiguration(_sidebar: SidebarConfigurationV1): SidebarConfigurationV1;
|
|
190
|
+
declare function normalizeSidebarConfiguration(_sidebar: SidebarConfigurationV2): SidebarConfigurationV2;
|
|
191
|
+
declare function normalizeSidebarConfiguration(_sidebar: SidebarConfigurationV3): SidebarConfigurationV3;
|
|
133
192
|
declare const SD_LAYOUT_CONFIGURATION: InjectionToken<ISdLayoutConfiguration>;
|
|
134
193
|
|
|
194
|
+
declare class SdLayoutNavigationStateService {
|
|
195
|
+
#private;
|
|
196
|
+
readonly pinnedKeys: _angular_core.WritableSignal<string[]>;
|
|
197
|
+
readonly recentKeys: _angular_core.WritableSignal<string[]>;
|
|
198
|
+
readonly pinnedMenus: _angular_core.Signal<(_sdcorejs_angular_modules_layout.SdLayoutRootMenu | _sdcorejs_angular_modules_layout.SdLayoutChildrenMenu)[]>;
|
|
199
|
+
readonly recentMenus: _angular_core.Signal<(_sdcorejs_angular_modules_layout.SdLayoutRootMenu | _sdcorejs_angular_modules_layout.SdLayoutChildrenMenu)[]>;
|
|
200
|
+
hydrate(menus: SdLayoutMenu[], recentMaximum?: number): void;
|
|
201
|
+
togglePinned(menu: SdLayoutMenu): void;
|
|
202
|
+
recordRecent(menu: SdLayoutMenu, configuration: ResolvedSidebarRecentConfiguration): void;
|
|
203
|
+
patchVersionState(version: 1 | 2 | 3, patch: SdLayoutVersionState): void;
|
|
204
|
+
versionState(version: 1 | 2 | 3): SdLayoutVersionState;
|
|
205
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutNavigationStateService, never>;
|
|
206
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdLayoutNavigationStateService>;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
declare function getMenuStableKey(menu: SdLayoutMenu | null | undefined, ancestors?: string[]): string;
|
|
210
|
+
declare function searchMenuLeaves(menus: SdLayoutMenu[], query: string): SdLayoutRootMenu[];
|
|
211
|
+
declare function selectPrimaryMenuGroups(menus: SdLayoutMenu[], requestedIds: string[] | undefined, maximum?: number): SdLayoutMenu[];
|
|
212
|
+
declare function resolveMenuKeys(menus: SdLayoutMenu[], keys: string[]): (SdLayoutRootMenu | SdLayoutChildrenMenu)[];
|
|
213
|
+
declare function flattenMenuLeaves(menus: SdLayoutMenu[]): SdLayoutRootMenu[];
|
|
214
|
+
|
|
135
215
|
declare class SdLayoutService {
|
|
136
216
|
#private;
|
|
137
217
|
userInfo: _angular_core.WritableSignal<SdLayoutUserInfo | undefined>;
|
|
138
|
-
sidebar: _angular_core.WritableSignal<
|
|
218
|
+
sidebar: _angular_core.WritableSignal<ISdSidebarConfiguration | undefined>;
|
|
139
219
|
constructor();
|
|
140
220
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutService, never>;
|
|
141
221
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SdLayoutService>;
|
|
@@ -156,8 +236,12 @@ declare class SdLayoutComponent {
|
|
|
156
236
|
menusInput: _angular_core.InputSignal<SdLayoutMenu[]>;
|
|
157
237
|
menus: _angular_core.Signal<SdLayoutMenu[]>;
|
|
158
238
|
userInfo: _angular_core.WritableSignal<_sdcorejs_angular_modules_layout.SdLayoutUserInfo | undefined>;
|
|
159
|
-
sidebar: _angular_core.WritableSignal<_sdcorejs_angular_modules_layout.
|
|
160
|
-
|
|
239
|
+
sidebar: _angular_core.WritableSignal<_sdcorejs_angular_modules_layout.ISdSidebarConfiguration | undefined>;
|
|
240
|
+
sidebarV1: _angular_core.Signal<SidebarConfigurationV1 | undefined>;
|
|
241
|
+
sidebarV2: _angular_core.Signal<SidebarConfigurationV2 | undefined>;
|
|
242
|
+
sidebarV3: _angular_core.Signal<SidebarConfigurationV3 | undefined>;
|
|
243
|
+
mobileBreakpoint: number;
|
|
244
|
+
isMobile: _angular_core.Signal<boolean>;
|
|
161
245
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutComponent, never>;
|
|
162
246
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdLayoutComponent, "sd-layout", never, { "menusInput": { "alias": "menus"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
163
247
|
}
|
|
@@ -213,11 +297,200 @@ declare class SidebarMobileOverlayComponent {
|
|
|
213
297
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarMobileOverlayComponent, "sd-sidebar-mobile-overlay", never, { "isShowSidebar": { "alias": "isShowSidebar"; "required": false; "isSignal": true; }; "menus": { "alias": "menus"; "required": true; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, { "showSideBar": "showSideBar"; "expandSideBar": "expandSideBar"; "popupUserMenuOpened": "popupUserMenuOpened"; "popupUserMenuClosed": "popupUserMenuClosed"; "titleMenuGroupChanged": "titleMenuGroupChanged"; }, never, never, true, never>;
|
|
214
298
|
}
|
|
215
299
|
|
|
300
|
+
interface SdLayoutMenuTreeNode {
|
|
301
|
+
menu: SdLayoutMenu;
|
|
302
|
+
key: string;
|
|
303
|
+
title: string;
|
|
304
|
+
depth: number;
|
|
305
|
+
paddingLeft: number;
|
|
306
|
+
isGroup: boolean;
|
|
307
|
+
isActive: boolean;
|
|
308
|
+
isPinned: boolean;
|
|
309
|
+
}
|
|
310
|
+
declare class SdLayoutMenuTreeComponent {
|
|
311
|
+
#private;
|
|
312
|
+
menus: _angular_core.InputSignal<SdLayoutMenu[]>;
|
|
313
|
+
query: _angular_core.InputSignal<string>;
|
|
314
|
+
activePath: _angular_core.InputSignal<string>;
|
|
315
|
+
pinnedKeys: _angular_core.InputSignal<string[]>;
|
|
316
|
+
showPin: _angular_core.InputSignal<boolean>;
|
|
317
|
+
navigate: _angular_core.OutputEmitterRef<SdLayoutRootMenu>;
|
|
318
|
+
togglePinned: _angular_core.OutputEmitterRef<SdLayoutMenu>;
|
|
319
|
+
nodes: _angular_core.Signal<SdLayoutMenuTreeNode[]>;
|
|
320
|
+
onNavigate(menu: SdLayoutMenu): void;
|
|
321
|
+
onTogglePinned(event: MouseEvent, menu: SdLayoutMenu): void;
|
|
322
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutMenuTreeComponent, never>;
|
|
323
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdLayoutMenuTreeComponent, "sd-layout-menu-tree", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "query": { "alias": "query"; "required": false; "isSignal": true; }; "activePath": { "alias": "activePath"; "required": false; "isSignal": true; }; "pinnedKeys": { "alias": "pinnedKeys"; "required": false; "isSignal": true; }; "showPin": { "alias": "showPin"; "required": false; "isSignal": true; }; }, { "navigate": "navigate"; "togglePinned": "togglePinned"; }, never, never, true, never>;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
declare class SdLayoutUserMenuComponent {
|
|
327
|
+
#private;
|
|
328
|
+
private readonly trigger;
|
|
329
|
+
private readonly menu;
|
|
330
|
+
userInfo: _angular_core.InputSignal<SdLayoutUserInfo>;
|
|
331
|
+
signout: _angular_core.InputSignal<(() => void | Promise<void>) | undefined>;
|
|
332
|
+
changePassword: _angular_core.InputSignal<(() => void | Promise<void>) | undefined>;
|
|
333
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
334
|
+
isOpen: _angular_core.WritableSignal<boolean>;
|
|
335
|
+
avatar: _angular_core.Signal<string | undefined>;
|
|
336
|
+
displayName: _angular_core.Signal<string>;
|
|
337
|
+
signoutAction: _angular_core.Signal<(() => void | Promise<void>) | undefined>;
|
|
338
|
+
changePasswordAction: _angular_core.Signal<(() => void | Promise<void>) | undefined>;
|
|
339
|
+
constructor();
|
|
340
|
+
open(): void;
|
|
341
|
+
toggle(): void;
|
|
342
|
+
close(restoreFocus?: boolean): void;
|
|
343
|
+
onMenuKeydown(event: KeyboardEvent): void;
|
|
344
|
+
runChangePassword(): void;
|
|
345
|
+
runSignout(): void;
|
|
346
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutUserMenuComponent, never>;
|
|
347
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdLayoutUserMenuComponent, "sd-layout-user-menu", never, { "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "signout": { "alias": "signout"; "required": false; "isSignal": true; }; "changePassword": { "alias": "changePassword"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
interface SidebarV2RailItem {
|
|
351
|
+
menu: SdLayoutMenu;
|
|
352
|
+
key: string;
|
|
353
|
+
title: string;
|
|
354
|
+
}
|
|
355
|
+
declare class SidebarV2Component {
|
|
356
|
+
#private;
|
|
357
|
+
menus: _angular_core.InputSignal<SdLayoutMenu[]>;
|
|
358
|
+
userInfo: _angular_core.InputSignal<SdLayoutUserInfo>;
|
|
359
|
+
sidebar: _angular_core.InputSignal<SidebarConfigurationV2>;
|
|
360
|
+
activeGroupKey: _angular_core.WritableSignal<string>;
|
|
361
|
+
isFlyoutOpen: _angular_core.WritableSignal<boolean>;
|
|
362
|
+
isFlyoutLocked: _angular_core.WritableSignal<boolean>;
|
|
363
|
+
searchText: _angular_core.WritableSignal<string>;
|
|
364
|
+
activePath: _angular_core.WritableSignal<string>;
|
|
365
|
+
interaction: _angular_core.Signal<"click" | "hover-lock">;
|
|
366
|
+
railItems: _angular_core.Signal<SidebarV2RailItem[]>;
|
|
367
|
+
activeGroup: _angular_core.Signal<SdLayoutMenu | undefined>;
|
|
368
|
+
contextMenus: _angular_core.Signal<SdLayoutMenu[]>;
|
|
369
|
+
pinnedKeys: _angular_core.WritableSignal<string[]>;
|
|
370
|
+
constructor();
|
|
371
|
+
selectGroup(menu: SdLayoutMenu): void;
|
|
372
|
+
previewGroup(menu: SdLayoutMenu): void;
|
|
373
|
+
leaveFlyout(): void;
|
|
374
|
+
closeFromBackdrop(): void;
|
|
375
|
+
closeFromEscape(): void;
|
|
376
|
+
closeFromNavigation(): void;
|
|
377
|
+
onNavigate(menu: SdLayoutMenu): void;
|
|
378
|
+
onTogglePinned(menu: SdLayoutMenu): void;
|
|
379
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarV2Component, never>;
|
|
380
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarV2Component, "sidebar-v2", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
declare class SidebarMobileV2Component {
|
|
384
|
+
#private;
|
|
385
|
+
menus: _angular_core.InputSignal<SdLayoutMenu[]>;
|
|
386
|
+
userInfo: _angular_core.InputSignal<SdLayoutUserInfo>;
|
|
387
|
+
sidebar: _angular_core.InputSignal<SidebarConfigurationV2>;
|
|
388
|
+
primaryMenus: _angular_core.Signal<SdLayoutMenu[]>;
|
|
389
|
+
overflowMenus: _angular_core.Signal<SdLayoutMenu[]>;
|
|
390
|
+
isSheetOpen: _angular_core.WritableSignal<boolean>;
|
|
391
|
+
sheetGroupKey: _angular_core.WritableSignal<string>;
|
|
392
|
+
sheetTitle: _angular_core.WritableSignal<string>;
|
|
393
|
+
sheetMenus: _angular_core.WritableSignal<SdLayoutMenu[]>;
|
|
394
|
+
searchText: _angular_core.WritableSignal<string>;
|
|
395
|
+
activePath: _angular_core.WritableSignal<string>;
|
|
396
|
+
pinnedKeys: _angular_core.WritableSignal<string[]>;
|
|
397
|
+
constructor();
|
|
398
|
+
openMore(trigger?: EventTarget | null): void;
|
|
399
|
+
activateMenu(menu: SdLayoutMenu, trigger?: EventTarget | null): void;
|
|
400
|
+
closeSheet(restoreFocus?: boolean): void;
|
|
401
|
+
onSheetKeydown(event: KeyboardEvent): void;
|
|
402
|
+
onNavigate(menu: SdLayoutMenu): void;
|
|
403
|
+
onTogglePinned(menu: SdLayoutMenu): void;
|
|
404
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarMobileV2Component, never>;
|
|
405
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarMobileV2Component, "sidebar-mobile-v2", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
declare class SidebarV3Component {
|
|
409
|
+
#private;
|
|
410
|
+
menus: _angular_core.InputSignal<SdLayoutMenu[]>;
|
|
411
|
+
userInfo: _angular_core.InputSignal<SdLayoutUserInfo>;
|
|
412
|
+
sidebar: _angular_core.InputSignal<SidebarConfigurationV3>;
|
|
413
|
+
isCollapsed: _angular_core.WritableSignal<boolean>;
|
|
414
|
+
searchText: _angular_core.WritableSignal<string>;
|
|
415
|
+
activePath: _angular_core.WritableSignal<string>;
|
|
416
|
+
searchResults: _angular_core.Signal<SdLayoutRootMenu[]>;
|
|
417
|
+
recentConfiguration: _angular_core.Signal<_sdcorejs_angular_modules_layout.ResolvedSidebarRecentConfiguration>;
|
|
418
|
+
pinnedKeys: _angular_core.WritableSignal<string[]>;
|
|
419
|
+
pinnedMenus: _angular_core.Signal<(SdLayoutRootMenu | _sdcorejs_angular_modules_layout.SdLayoutChildrenMenu)[]>;
|
|
420
|
+
recentMenus: _angular_core.Signal<(SdLayoutRootMenu | _sdcorejs_angular_modules_layout.SdLayoutChildrenMenu)[]>;
|
|
421
|
+
collapsedItems: _angular_core.Signal<{
|
|
422
|
+
menu: SdLayoutMenu;
|
|
423
|
+
key: string;
|
|
424
|
+
title: string;
|
|
425
|
+
}[]>;
|
|
426
|
+
constructor();
|
|
427
|
+
toggleCollapsed(): void;
|
|
428
|
+
activateCollapsedMenu(menu: SdLayoutMenu): void;
|
|
429
|
+
navigateMenu(menu: SdLayoutMenu): void;
|
|
430
|
+
onTogglePinned(menu: SdLayoutMenu): void;
|
|
431
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarV3Component, never>;
|
|
432
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarV3Component, "sidebar-v3", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
declare class SidebarMobileV3Component {
|
|
436
|
+
#private;
|
|
437
|
+
private readonly trigger;
|
|
438
|
+
menus: _angular_core.InputSignal<SdLayoutMenu[]>;
|
|
439
|
+
userInfo: _angular_core.InputSignal<SdLayoutUserInfo>;
|
|
440
|
+
sidebar: _angular_core.InputSignal<SidebarConfigurationV3>;
|
|
441
|
+
isDrawerOpen: _angular_core.WritableSignal<boolean>;
|
|
442
|
+
searchText: _angular_core.WritableSignal<string>;
|
|
443
|
+
activePath: _angular_core.WritableSignal<string>;
|
|
444
|
+
searchResults: _angular_core.Signal<SdLayoutRootMenu[]>;
|
|
445
|
+
recentConfiguration: _angular_core.Signal<_sdcorejs_angular_modules_layout.ResolvedSidebarRecentConfiguration>;
|
|
446
|
+
pinnedKeys: _angular_core.WritableSignal<string[]>;
|
|
447
|
+
pinnedMenus: _angular_core.Signal<(SdLayoutRootMenu | _sdcorejs_angular_modules_layout.SdLayoutChildrenMenu)[]>;
|
|
448
|
+
recentMenus: _angular_core.Signal<(SdLayoutRootMenu | _sdcorejs_angular_modules_layout.SdLayoutChildrenMenu)[]>;
|
|
449
|
+
constructor();
|
|
450
|
+
openDrawer(trigger?: EventTarget | null): void;
|
|
451
|
+
closeFromBackdrop(): void;
|
|
452
|
+
closeFromEscape(): void;
|
|
453
|
+
closeFromNavigation(): void;
|
|
454
|
+
onDrawerKeydown(event: KeyboardEvent): void;
|
|
455
|
+
navigateMenu(menu: SdLayoutMenu): void;
|
|
456
|
+
onTogglePinned(menu: SdLayoutMenu): void;
|
|
457
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarMobileV3Component, never>;
|
|
458
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarMobileV3Component, "sidebar-mobile-v3", never, { "menus": { "alias": "menus"; "required": false; "isSignal": true; }; "userInfo": { "alias": "userInfo"; "required": true; "isSignal": true; }; "sidebar": { "alias": "sidebar"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
declare class MenuPipe implements PipeTransform {
|
|
462
|
+
#private;
|
|
463
|
+
private permissionService;
|
|
464
|
+
/** Inserted by Angular inject() migration for backwards compatibility */
|
|
465
|
+
constructor(...args: unknown[]);
|
|
466
|
+
transform(menus: SdLayoutMenu[]): SdLayoutMenu[];
|
|
467
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuPipe, never>;
|
|
468
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<MenuPipe, "menu", true>;
|
|
469
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MenuPipe>;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
declare class MenuFocusPipe implements PipeTransform {
|
|
473
|
+
#private;
|
|
474
|
+
transform(routePath: string, menuItem: SdLayoutMenu): boolean;
|
|
475
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuFocusPipe, never>;
|
|
476
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<MenuFocusPipe, "menuFocus", true>;
|
|
477
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MenuFocusPipe>;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
declare class HighlightSearchPipe implements PipeTransform {
|
|
481
|
+
#private;
|
|
482
|
+
transform(value: string, keyword: string, args?: {
|
|
483
|
+
color?: string;
|
|
484
|
+
}): string;
|
|
485
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HighlightSearchPipe, never>;
|
|
486
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<HighlightSearchPipe, "highLightSearch", true>;
|
|
487
|
+
}
|
|
488
|
+
|
|
216
489
|
declare class SdLayoutModule {
|
|
217
490
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdLayoutModule, never>;
|
|
218
491
|
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<SdLayoutModule, never, [typeof i1.RouterModule], never>;
|
|
219
492
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<SdLayoutModule>;
|
|
220
493
|
}
|
|
221
494
|
|
|
222
|
-
export { ForbiddenModule, HomeModule, NotFoundModule, SD_LAYOUT_CONFIGURATION, SdLayoutComponent, SdLayoutModule, SdLayoutService, SdLayoutStorageService, SdPageComponent, SidebarMobileOverlayComponent, SidebarMobileV1Component };
|
|
223
|
-
export type { ISdLayoutConfiguration, ISdSidebarConfiguration, Menus, SdLayoutChildrenMenu, SdLayoutMenu, SdLayoutRootMenu, SdLayoutUserInfo, SidebarConfigurationV1 };
|
|
495
|
+
export { DEFAULT_LAYOUT_MOBILE_BREAKPOINT, ForbiddenModule, HighlightSearchPipe, HomeModule, MenuFocusPipe, MenuPipe, NotFoundModule, SD_LAYOUT_CONFIGURATION, SD_LAYOUT_VIEWPORT, SdLayoutComponent, SdLayoutMenuTreeComponent, SdLayoutModule, SdLayoutNavigationStateService, SdLayoutResponsiveService, SdLayoutService, SdLayoutStorageService, SdLayoutUserMenuComponent, SdPageComponent, SidebarMobileOverlayComponent, SidebarMobileV1Component, SidebarMobileV2Component, SidebarMobileV3Component, SidebarV2Component, SidebarV3Component, flattenMenuLeaves, getMenuStableKey, normalizeLayoutMobileBreakpoint, normalizeSidebarConfiguration, resolveMenuKeys, resolveSidebarV2Interaction, resolveSidebarV3Recent, searchMenuLeaves, selectPrimaryMenuGroups };
|
|
496
|
+
export type { ISdLayoutConfiguration, ISdSidebarConfiguration, Menus, ResolvedSidebarRecentConfiguration, SdLayoutChildrenMenu, SdLayoutMenu, SdLayoutRootMenu, SdLayoutUserInfo, SdLayoutVersionState, SdLayoutViewport, SidebarConfigurationBase, SidebarConfigurationV1, SidebarConfigurationV2, SidebarConfigurationV3 };
|
|
@@ -2,5 +2,4 @@ export * from '@sdcorejs/angular/modules/keycloak';
|
|
|
2
2
|
export * from '@sdcorejs/angular/modules/permission';
|
|
3
3
|
export * from '@sdcorejs/angular/modules/auth';
|
|
4
4
|
export * from '@sdcorejs/angular/modules/layout';
|
|
5
|
-
export * from '@sdcorejs/angular/modules/authom';
|
|
6
5
|
export * from '@sdcorejs/angular/modules/icon';
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { PipeTransform } from '@angular/core';
|
|
3
3
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
4
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
5
4
|
import { Observable } from 'rxjs';
|
|
6
5
|
|
|
7
6
|
declare class SdFormatDatePipe implements PipeTransform {
|
|
@@ -28,7 +27,8 @@ declare class SdFormatNumberPipe implements PipeTransform {
|
|
|
28
27
|
|
|
29
28
|
declare class SdSafeHtmlPipe implements PipeTransform {
|
|
30
29
|
private sanitizer;
|
|
31
|
-
|
|
30
|
+
/** Inserted by Angular inject() migration for backwards compatibility */
|
|
31
|
+
constructor(...args: unknown[]);
|
|
32
32
|
transform(html: string | number | undefined | null): _angular_platform_browser.SafeHtml | undefined;
|
|
33
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdSafeHtmlPipe, never>;
|
|
34
34
|
static ɵpipe: i0.ɵɵPipeDeclaration<SdSafeHtmlPipe, "sdSafeHtml", true>;
|