cloud-ide-element 1.0.2 → 1.0.5
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 +63 -271
- package/fesm2022/cloud-ide-element.mjs +614 -618
- package/fesm2022/cloud-ide-element.mjs.map +1 -1
- package/index.d.ts +1362 -3
- package/package.json +4 -31
- package/esm2022/cloud-ide-element.mjs +0 -5
- package/esm2022/lib/components/confirmation-modal/confirmation-modal.component.mjs +0 -182
- package/esm2022/lib/components/data-grid/data-grid.component.mjs +0 -1363
- package/esm2022/lib/components/data-grid/data-grid.types.mjs +0 -37
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -396
- package/esm2022/lib/components/global-notifications/global-notifications.component.mjs +0 -30
- package/esm2022/lib/components/json-editor/json-editor.component.mjs +0 -521
- package/esm2022/lib/components/skeleton-loader/skeleton-loader.component.mjs +0 -33
- package/esm2022/lib/components/toast-notification/toast-notification.component.mjs +0 -152
- package/esm2022/lib/elements/button/cide-ele-button.component.mjs +0 -249
- package/esm2022/lib/elements/file-input/file-input.component.mjs +0 -83
- package/esm2022/lib/elements/icon/icon.component.mjs +0 -26
- package/esm2022/lib/elements/input/input.component.mjs +0 -467
- package/esm2022/lib/elements/select/select.component.mjs +0 -471
- package/esm2022/lib/elements/spinner/spinner.component.mjs +0 -32
- package/esm2022/lib/elements/tab/cide-ele-tab.component.mjs +0 -74
- package/esm2022/lib/elements/textarea/textarea.component.mjs +0 -157
- package/esm2022/lib/services/confirmation.service.mjs +0 -151
- package/esm2022/lib/services/dropdown-manager.service.mjs +0 -93
- package/esm2022/lib/services/notification.service.mjs +0 -196
- package/esm2022/lib/utils/directives/resizer/resizer.directive.mjs +0 -231
- package/esm2022/lib/utils/directives/tooltip/tooltip.directive.mjs +0 -294
- package/esm2022/lib/utils/pipes/capitalize/capitalize.pipe.mjs +0 -38
- package/esm2022/lib/utils/services/elements/elements.service.mjs +0 -39
- package/esm2022/public-api.mjs +0 -31
- package/lib/components/confirmation-modal/confirmation-modal.component.d.ts +0 -16
- package/lib/components/data-grid/data-grid.component.d.ts +0 -244
- package/lib/components/data-grid/data-grid.types.d.ts +0 -146
- package/lib/components/dropdown/dropdown.component.d.ts +0 -75
- package/lib/components/global-notifications/global-notifications.component.d.ts +0 -5
- package/lib/components/json-editor/json-editor.component.d.ts +0 -116
- package/lib/components/skeleton-loader/skeleton-loader.component.d.ts +0 -11
- package/lib/components/toast-notification/toast-notification.component.d.ts +0 -13
- package/lib/elements/button/cide-ele-button.component.d.ts +0 -85
- package/lib/elements/file-input/file-input.component.d.ts +0 -25
- package/lib/elements/icon/icon.component.d.ts +0 -9
- package/lib/elements/input/input.component.d.ts +0 -182
- package/lib/elements/select/select.component.d.ts +0 -91
- package/lib/elements/spinner/spinner.component.d.ts +0 -19
- package/lib/elements/tab/cide-ele-tab.component.d.ts +0 -26
- package/lib/elements/textarea/textarea.component.d.ts +0 -47
- package/lib/services/confirmation.service.d.ts +0 -65
- package/lib/services/dropdown-manager.service.d.ts +0 -22
- package/lib/services/notification.service.d.ts +0 -81
- package/lib/utils/directives/resizer/resizer.directive.d.ts +0 -44
- package/lib/utils/directives/tooltip/tooltip.directive.d.ts +0 -43
- package/lib/utils/pipes/capitalize/capitalize.pipe.d.ts +0 -7
- package/lib/utils/services/elements/elements.service.d.ts +0 -12
- package/public-api.d.ts +0 -22
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// Data Grid Configuration Types for CideEleDataGrid Component
|
|
2
|
-
// Default configurations
|
|
3
|
-
export const DEFAULT_GRID_CONFIG = {
|
|
4
|
-
pagination: {
|
|
5
|
-
enabled: true,
|
|
6
|
-
pageSize: 10,
|
|
7
|
-
pageSizeOptions: [10, 25, 50, 100],
|
|
8
|
-
showQuickJump: true,
|
|
9
|
-
showPageInfo: true,
|
|
10
|
-
showRefresh: true
|
|
11
|
-
},
|
|
12
|
-
search: {
|
|
13
|
-
enabled: true,
|
|
14
|
-
placeholder: 'Search...',
|
|
15
|
-
searchableColumns: [],
|
|
16
|
-
debounceMs: 300
|
|
17
|
-
},
|
|
18
|
-
loading: {
|
|
19
|
-
useDefer: true,
|
|
20
|
-
skeletonRows: 5,
|
|
21
|
-
showOverlay: false
|
|
22
|
-
},
|
|
23
|
-
scroll: {
|
|
24
|
-
enabled: false,
|
|
25
|
-
maxHeight: '400px',
|
|
26
|
-
minHeight: '200px',
|
|
27
|
-
stickyHeader: true,
|
|
28
|
-
virtualScroll: false,
|
|
29
|
-
rowHeight: 40
|
|
30
|
-
},
|
|
31
|
-
responsive: true,
|
|
32
|
-
striped: false,
|
|
33
|
-
bordered: true,
|
|
34
|
-
compact: true,
|
|
35
|
-
fullHeight: true
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xvdWQtaWRlLWVsZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtZ3JpZC9kYXRhLWdyaWQudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBMEs5RCx5QkFBeUI7QUFDekIsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQStCO0lBQzdELFVBQVUsRUFBRTtRQUNWLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLEVBQUU7UUFDWixlQUFlLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUM7UUFDbEMsYUFBYSxFQUFFLElBQUk7UUFDbkIsWUFBWSxFQUFFLElBQUk7UUFDbEIsV0FBVyxFQUFFLElBQUk7S0FDbEI7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLGlCQUFpQixFQUFFLEVBQUU7UUFDckIsVUFBVSxFQUFFLEdBQUc7S0FDaEI7SUFDRCxPQUFPLEVBQUU7UUFDUCxRQUFRLEVBQUUsSUFBSTtRQUNkLFlBQVksRUFBRSxDQUFDO1FBQ2YsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLFNBQVMsRUFBRSxFQUFFO0tBQ2Q7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxJQUFJO0lBQ2QsT0FBTyxFQUFFLElBQUk7SUFDYixVQUFVLEVBQUUsSUFBSTtDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGF0YSBHcmlkIENvbmZpZ3VyYXRpb24gVHlwZXMgZm9yIENpZGVFbGVEYXRhR3JpZCBDb21wb25lbnRcblxuZXhwb3J0IHR5cGUgQ29sdW1uVHlwZSA9ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2RhdGUnIHwgJ2Jvb2xlYW4nIHwgJ3N0YXR1cycgfCAnYWN0aW9ucycgfCAnY3VzdG9tJyB8ICdvcmRlcic7XG5leHBvcnQgdHlwZSBDb2x1bW5XaWR0aCA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ2F1dG8nIHwgc3RyaW5nO1xuZXhwb3J0IHR5cGUgVGV4dEFsaWduID0gJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRDb2x1bW4ge1xuICBrZXk6IHN0cmluZztcbiAgaGVhZGVyOiBzdHJpbmc7XG4gIHR5cGU6IENvbHVtblR5cGU7XG4gIHdpZHRoPzogQ29sdW1uV2lkdGg7XG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgc2VhcmNoYWJsZT86IGJvb2xlYW47XG4gIHRydW5jYXRlPzogYm9vbGVhbjtcbiAgYWxpZ24/OiBUZXh0QWxpZ247XG4gIHJlbmRlcmVyPzogc3RyaW5nOyAvLyBGb3IgY3VzdG9tIHJlbmRlcmluZ1xuICB2YWx1ZUdldHRlcj86IHN0cmluZzsgLy8gUGF0aCB0byBuZXN0ZWQgcHJvcGVydHkgKGUuZy4sICdjb250YWN0LmVtYWlsJylcbiAgZm9ybWF0dGVyPzogR3JpZEZvcm1hdHRlcjtcbiAgYWN0aW9ucz86IEdyaWRBY3Rpb25bXTtcbiAgc3RhdHVzQ29uZmlnPzogU3RhdHVzQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRGb3JtYXR0ZXIge1xuICB0eXBlOiAnZGF0ZScgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnRhZ2UnIHwgJ2N1c3RvbSc7XG4gIGZvcm1hdD86IHN0cmluZzsgLy8gRGF0ZSBmb3JtYXQsIGN1cnJlbmN5IGNvZGUsIGV0Yy5cbiAgY3VzdG9tRnVuY3Rpb24/OiBzdHJpbmc7IC8vIE5hbWUgb2YgY3VzdG9tIGZvcm1hdHRlciBmdW5jdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1c0NvbmZpZyB7XG4gIGFjdGl2ZVZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xuICBhY3RpdmVMYWJlbDogc3RyaW5nO1xuICBpbmFjdGl2ZUxhYmVsOiBzdHJpbmc7XG4gIGFjdGl2ZUNsYXNzOiBzdHJpbmc7XG4gIGluYWN0aXZlQ2xhc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkQWN0aW9uIHtcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgdmFyaWFudDogJ2dob3N0JyB8ICdwcmltYXJ5JyB8ICdvdXRsaW5lJyB8ICdkYW5nZXInO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBjb25kaXRpb24/OiBzdHJpbmc7IC8vIENvbmRpdGlvbiB0byBzaG93IGFjdGlvbiAoZS5nLiwgJ2VudGl0eS5pc0FjdGl2ZScpXG4gIG9uQ2xpY2s6IHN0cmluZzsgLy8gRnVuY3Rpb24gbmFtZSB0byBjYWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFBhZ2luYXRpb25Db25maWcge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdO1xuICBzaG93UXVpY2tKdW1wOiBib29sZWFuO1xuICBzaG93UGFnZUluZm86IGJvb2xlYW47XG4gIHNob3dSZWZyZXNoOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRTZWFyY2hDb25maWcge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBzZWFyY2hhYmxlQ29sdW1uczogc3RyaW5nW107IC8vIENvbHVtbiBrZXlzIHRvIHNlYXJjaCBpblxuICBkZWJvdW5jZU1zPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRFeHBvcnRDb25maWcge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBmb3JtYXRzOiAoJ2NzdicgfCAnZXhjZWwnIHwgJ3BkZicpW107XG4gIGZpbGVuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMb2FkaW5nQ29uZmlnIHtcbiAgdXNlRGVmZXI6IGJvb2xlYW47XG4gIHNrZWxldG9uUm93czogbnVtYmVyO1xuICBzaG93T3ZlcmxheTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkU2Nyb2xsQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nOyAvLyBlLmcuLCAnNDAwcHgnLCAnNTB2aCcsICdjYWxjKDEwMHZoIC0gMjAwcHgpJ1xuICBtaW5IZWlnaHQ/OiBzdHJpbmc7IC8vIGUuZy4sICcyMDBweCdcbiAgc3RpY2t5SGVhZGVyPzogYm9vbGVhbjsgLy8gS2VlcCBoZWFkZXIgdmlzaWJsZSB3aGVuIHNjcm9sbGluZ1xuICB2aXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjsgLy8gRW5hYmxlIHZpcnR1YWwgc2Nyb2xsaW5nIGZvciBsYXJnZSBkYXRhc2V0c1xuICByb3dIZWlnaHQ/OiBudW1iZXI7IC8vIEhlaWdodCBvZiBlYWNoIHJvdyBpbiBwaXhlbHMgKGZvciB2aXJ0dWFsIHNjcm9sbClcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkVHJlZUNvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIHByaW1hcnlLZXk6IHN0cmluZzsgLy8gUHJpbWFyeSBrZXkgZmllbGQgbmFtZSAoZS5nLiwgJ19pZCcpXG4gIGZvcmVpZ25LZXk6IHN0cmluZzsgLy8gRm9yZWlnbiBrZXkgZmllbGQgbmFtZSAoZS5nLiwgJ3N5bWVfaWRfc3ltZScpXG4gIGNoaWxkcmVuS2V5Pzogc3RyaW5nOyAvLyBDaGlsZHJlbiBhcnJheSBmaWVsZCBuYW1lIChkZWZhdWx0OiAnY2hpbGRyZW4nKVxuICBsZXZlbEtleT86IHN0cmluZzsgLy8gTGV2ZWwgZmllbGQgbmFtZSAoZGVmYXVsdDogJ2xldmVsJylcbiAgZXhwYW5kZWRLZXk/OiBzdHJpbmc7IC8vIEV4cGFuZGVkIHN0YXRlIGZpZWxkIG5hbWUgKGRlZmF1bHQ6ICdpc0V4cGFuZGVkJylcbiAgaGFzQ2hpbGRyZW5LZXk/OiBzdHJpbmc7IC8vIEhhcyBjaGlsZHJlbiBmaWVsZCBuYW1lIChkZWZhdWx0OiAnaGFzQ2hpbGRyZW4nKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWREcmFnRHJvcENvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGRyYWdIYW5kbGU/OiBzdHJpbmc7IC8vIENTUyBzZWxlY3RvciBmb3IgZHJhZyBoYW5kbGUgKGRlZmF1bHQ6ICd0cicpXG4gIG9yZGVyRmllbGQ/OiBzdHJpbmc7IC8vIEZpZWxkIG5hbWUgZm9yIHN0b3Jpbmcgb3JkZXIgKGRlZmF1bHQ6ICdvcmRlcicpXG4gIGRyYWdDbGFzcz86IHN0cmluZzsgLy8gQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIGRyYWdnZWQgZWxlbWVudFxuICBkcm9wQ2xhc3M/OiBzdHJpbmc7IC8vIENTUyBjbGFzcyB0byBhcHBseSB0byBkcm9wIHRhcmdldFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRDb25maWd1cmF0aW9uPFQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAvLyBCYXNpYyBDb25maWd1cmF0aW9uXG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgY29sdW1uczogR3JpZENvbHVtbltdO1xuICBcbiAgLy8gRGF0YSBDb25maWd1cmF0aW9uXG4gIGRhdGE6IFRbXTtcbiAgdHJhY2tCeT86IHN0cmluZzsgLy8gUHJvcGVydHkgdG8gdHJhY2sgaXRlbXMgYnkgKGRlZmF1bHQ6ICdpZCcgb3IgJ19pZCcpXG4gIFxuICAvLyBGZWF0dXJlIENvbmZpZ3VyYXRpb25cbiAgcGFnaW5hdGlvbjogR3JpZFBhZ2luYXRpb25Db25maWc7XG4gIHNlYXJjaDogR3JpZFNlYXJjaENvbmZpZztcbiAgZXhwb3J0PzogR3JpZEV4cG9ydENvbmZpZztcbiAgbG9hZGluZzogR3JpZExvYWRpbmdDb25maWc7XG4gIHNjcm9sbD86IEdyaWRTY3JvbGxDb25maWc7XG4gIHRyZWU/OiBHcmlkVHJlZUNvbmZpZzsgLy8gVHJlZSBzdHJ1Y3R1cmUgY29uZmlndXJhdGlvblxuICBkcmFnRHJvcD86IEdyaWREcmFnRHJvcENvbmZpZzsgLy8gRHJhZyBhbmQgZHJvcCBjb25maWd1cmF0aW9uXG4gIFxuICAvLyBTdHlsaW5nIENvbmZpZ3VyYXRpb25cbiAgcmVzcG9uc2l2ZTogYm9vbGVhbjtcbiAgc3RyaXBlZD86IGJvb2xlYW47XG4gIGJvcmRlcmVkPzogYm9vbGVhbjtcbiAgY29tcGFjdD86IGJvb2xlYW47XG4gIGZ1bGxIZWlnaHQ/OiBib29sZWFuOyAvLyBFbmFibGUgZnVsbCBoZWlnaHQgbW9kZSBmb3IgZW1wdHkgdGFibGVzXG4gIFxuICAvLyBFdmVudCBIYW5kbGVycyAoZnVuY3Rpb24gbmFtZXMpXG4gIG9uUm93Q2xpY2s/OiBzdHJpbmc7XG4gIG9uU29ydD86IHN0cmluZztcbiAgb25QYWdlQ2hhbmdlPzogc3RyaW5nO1xuICBvblNlYXJjaD86IHN0cmluZztcbiAgb25SZWZyZXNoPzogc3RyaW5nO1xuICBvbkV4cG9ydD86IHN0cmluZztcbiAgb25Sb3dSZW9yZGVyPzogc3RyaW5nOyAvLyBSb3cgcmVvcmRlciBldmVudCBoYW5kbGVyXG4gIFxuICAvLyBDdXN0b20gQ2xhc3Nlc1xuICB0YWJsZUNsYXNzPzogc3RyaW5nO1xuICBoZWFkZXJDbGFzcz86IHN0cmluZztcbiAgcm93Q2xhc3M/OiBzdHJpbmc7XG4gIGNlbGxDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmlkU3RhdGU8VCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XG4gIHBhZ2VTaXplOiBudW1iZXI7XG4gIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBzZWFyY2hRdWVyeTogc3RyaW5nO1xuICBzb3J0Q29sdW1uPzogc3RyaW5nO1xuICBzb3J0RGlyZWN0aW9uPzogJ2FzYycgfCAnZGVzYyc7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGlzUmVmcmVzaGluZzogYm9vbGVhbjtcbiAgc2VsZWN0ZWRSb3dzOiBUW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZEV2ZW50PFQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICB0eXBlOiAncm93Q2xpY2snIHwgJ3NvcnQnIHwgJ3BhZ2VDaGFuZ2UnIHwgJ3NlYXJjaCcgfCAncmVmcmVzaCcgfCAnZXhwb3J0JyB8ICdhY3Rpb24nIHwgJ3Jvd1Jlb3JkZXInO1xuICBkYXRhOiBUIHwgVFtdIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCB8IHtcbiAgICBzb3VyY2VJdGVtOiBUO1xuICAgIHNvdXJjZUluZGV4OiBudW1iZXI7XG4gICAgdGFyZ2V0SXRlbTogVDtcbiAgICB0YXJnZXRJbmRleDogbnVtYmVyO1xuICAgIG5ld09yZGVyOiBUW107XG4gIH07XG4gIGNvbHVtbj86IEdyaWRDb2x1bW47XG4gIGFjdGlvbj86IEdyaWRBY3Rpb247XG59XG5cbi8vIERlZmF1bHQgY29uZmlndXJhdGlvbnNcbmV4cG9ydCBjb25zdCBERUZBVUxUX0dSSURfQ09ORklHOiBQYXJ0aWFsPEdyaWRDb25maWd1cmF0aW9uPiA9IHtcbiAgcGFnaW5hdGlvbjoge1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgcGFnZVNpemU6IDEwLFxuICAgIHBhZ2VTaXplT3B0aW9uczogWzEwLCAyNSwgNTAsIDEwMF0sXG4gICAgc2hvd1F1aWNrSnVtcDogdHJ1ZSxcbiAgICBzaG93UGFnZUluZm86IHRydWUsXG4gICAgc2hvd1JlZnJlc2g6IHRydWVcbiAgfSxcbiAgc2VhcmNoOiB7XG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBwbGFjZWhvbGRlcjogJ1NlYXJjaC4uLicsXG4gICAgc2VhcmNoYWJsZUNvbHVtbnM6IFtdLFxuICAgIGRlYm91bmNlTXM6IDMwMFxuICB9LFxuICBsb2FkaW5nOiB7XG4gICAgdXNlRGVmZXI6IHRydWUsXG4gICAgc2tlbGV0b25Sb3dzOiA1LFxuICAgIHNob3dPdmVybGF5OiBmYWxzZVxuICB9LFxuICBzY3JvbGw6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBtYXhIZWlnaHQ6ICc0MDBweCcsXG4gICAgbWluSGVpZ2h0OiAnMjAwcHgnLFxuICAgIHN0aWNreUhlYWRlcjogdHJ1ZSxcbiAgICB2aXJ0dWFsU2Nyb2xsOiBmYWxzZSxcbiAgICByb3dIZWlnaHQ6IDQwXG4gIH0sXG4gIHJlc3BvbnNpdmU6IHRydWUsXG4gIHN0cmlwZWQ6IGZhbHNlLFxuICBib3JkZXJlZDogdHJ1ZSxcbiAgY29tcGFjdDogdHJ1ZSxcbiAgZnVsbEhlaWdodDogdHJ1ZVxufTtcblxuLy8gVXRpbGl0eSB0eXBlcyBmb3IgdHlwZSBzYWZldHlcbmV4cG9ydCB0eXBlIEdyaWRFdmVudEhhbmRsZXI8VCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IChldmVudDogR3JpZEV2ZW50PFQ+KSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgR3JpZEN1c3RvbVJlbmRlcmVyPFQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gPSAodmFsdWU6IHVua25vd24sIHJvdzogVCwgY29sdW1uOiBHcmlkQ29sdW1uKSA9PiBzdHJpbmc7XG5leHBvcnQgdHlwZSBHcmlkQ3VzdG9tRm9ybWF0dGVyID0gKHZhbHVlOiB1bmtub3duLCBmb3JtYXQ/OiBzdHJpbmcpID0+IHN0cmluZzsgIl19
|
|
@@ -1,396 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, signal, viewChild, HostListener, DestroyRef, inject } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { CideIconComponent } from '../../elements/icon/icon.component';
|
|
4
|
-
import { DropdownManagerService } from '../../services/dropdown-manager.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
export class CideEleDropdownComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.destroyRef = inject(DestroyRef);
|
|
10
|
-
this.dropdownManager = inject(DropdownManagerService);
|
|
11
|
-
this.dropdownId = `dropdown-${Math.random().toString(36).substr(2, 9)}`;
|
|
12
|
-
// ViewChild for container reference
|
|
13
|
-
this.dropdownContainer = viewChild.required('dropdownContainer');
|
|
14
|
-
this.dropdownMenu = viewChild('dropdownMenu');
|
|
15
|
-
this._items = [];
|
|
16
|
-
this.config = {};
|
|
17
|
-
// Outputs
|
|
18
|
-
this.itemClick = new EventEmitter();
|
|
19
|
-
this.dropdownToggle = new EventEmitter();
|
|
20
|
-
// Signals
|
|
21
|
-
this.isOpen = signal(false);
|
|
22
|
-
this.currentPosition = signal({
|
|
23
|
-
vertical: 'bottom',
|
|
24
|
-
horizontal: 'right',
|
|
25
|
-
spaceAvailable: { top: 0, bottom: 0, left: 0, right: 0 }
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
// Inputs
|
|
29
|
-
set items(value) {
|
|
30
|
-
this._items = value;
|
|
31
|
-
}
|
|
32
|
-
get items() {
|
|
33
|
-
return this._items;
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
// Setup cleanup on destroy
|
|
37
|
-
this.destroyRef.onDestroy(() => {
|
|
38
|
-
this.dropdownManager.unregisterDropdown(this.dropdownId);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
this.dropdownManager.unregisterDropdown(this.dropdownId);
|
|
43
|
-
}
|
|
44
|
-
// Methods
|
|
45
|
-
getTriggerClasses() {
|
|
46
|
-
const baseClasses = 'tw-inline-flex tw-items-center tw-justify-center tw-w-6 tw-h-6 tw-rounded-full tw-transition-all tw-duration-150 focus:tw-outline-none focus:tw-ring-2 focus:tw-ring-offset-2 focus:tw-ring-blue-500';
|
|
47
|
-
const colorClasses = this.config?.triggerColor || 'tw-text-gray-400';
|
|
48
|
-
const hoverColorClasses = this.config?.triggerHoverColor || 'hover:tw-text-gray-600';
|
|
49
|
-
const hoverBgClasses = this.config?.triggerHoverBgColor || 'hover:tw-bg-gray-100';
|
|
50
|
-
return `${baseClasses} ${colorClasses} ${hoverColorClasses} ${hoverBgClasses}`;
|
|
51
|
-
}
|
|
52
|
-
getTriggerIconClasses() {
|
|
53
|
-
return this.config?.triggerColor || 'tw-text-gray-400';
|
|
54
|
-
}
|
|
55
|
-
getMenuClasses() {
|
|
56
|
-
const baseClasses = 'tw-absolute tw-z-50 tw-rounded-md tw-bg-white tw-shadow-lg tw-ring-1 tw-ring-black tw-ring-opacity-5 focus:tw-outline-none tw-transition-all tw-duration-150';
|
|
57
|
-
const widthClass = this.config?.menuWidth || 'tw-w-44';
|
|
58
|
-
return `${baseClasses} ${widthClass}`;
|
|
59
|
-
}
|
|
60
|
-
getMenuStyles() {
|
|
61
|
-
const position = this.currentPosition();
|
|
62
|
-
const offsetX = this.config?.offsetX || 0;
|
|
63
|
-
const offsetY = this.config?.offsetY || 4;
|
|
64
|
-
let styles = 'position: absolute; z-index: 9999;';
|
|
65
|
-
// Vertical positioning
|
|
66
|
-
if (position.vertical === 'bottom') {
|
|
67
|
-
styles += `top: calc(100% + ${offsetY}px);`;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
styles += `bottom: calc(100% + ${offsetY}px);`;
|
|
71
|
-
}
|
|
72
|
-
// Horizontal positioning
|
|
73
|
-
if (position.horizontal === 'right') {
|
|
74
|
-
styles += `right: ${offsetX}px;`;
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
styles += `left: ${offsetX}px;`;
|
|
78
|
-
}
|
|
79
|
-
return styles;
|
|
80
|
-
}
|
|
81
|
-
calculatePosition() {
|
|
82
|
-
const container = this.dropdownContainer();
|
|
83
|
-
if (!container) {
|
|
84
|
-
return {
|
|
85
|
-
vertical: 'bottom',
|
|
86
|
-
horizontal: 'right',
|
|
87
|
-
spaceAvailable: { top: 0, bottom: 0, left: 0, right: 0 }
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
const rect = container.nativeElement.getBoundingClientRect();
|
|
91
|
-
const viewport = {
|
|
92
|
-
width: window.innerWidth,
|
|
93
|
-
height: window.innerHeight
|
|
94
|
-
};
|
|
95
|
-
// Calculate available space in each direction
|
|
96
|
-
const spaceAvailable = {
|
|
97
|
-
top: rect.top,
|
|
98
|
-
bottom: viewport.height - rect.bottom,
|
|
99
|
-
left: rect.left,
|
|
100
|
-
right: viewport.width - rect.right
|
|
101
|
-
};
|
|
102
|
-
// Estimated dropdown menu dimensions (adjust based on your needs)
|
|
103
|
-
const menuWidth = this.getMenuWidth();
|
|
104
|
-
const menuHeight = this.getEstimatedMenuHeight();
|
|
105
|
-
// Determine vertical position
|
|
106
|
-
let vertical = 'bottom';
|
|
107
|
-
if (this.config?.forcePosition === 'top' || this.config?.forcePosition === 'bottom') {
|
|
108
|
-
vertical = this.config.forcePosition;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// Check if there's enough space below
|
|
112
|
-
if (spaceAvailable.bottom < menuHeight && spaceAvailable.top > menuHeight) {
|
|
113
|
-
vertical = 'top';
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
// Determine horizontal position
|
|
117
|
-
let horizontal = 'right';
|
|
118
|
-
if (this.config?.forcePosition === 'left' || this.config?.forcePosition === 'right') {
|
|
119
|
-
horizontal = this.config.forcePosition;
|
|
120
|
-
}
|
|
121
|
-
else if (this.config?.menuPosition === 'left') {
|
|
122
|
-
horizontal = 'left';
|
|
123
|
-
}
|
|
124
|
-
else if (this.config?.menuPosition === 'auto') {
|
|
125
|
-
// Auto-detect best horizontal position
|
|
126
|
-
if (spaceAvailable.right < menuWidth && spaceAvailable.left > menuWidth) {
|
|
127
|
-
horizontal = 'left';
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return {
|
|
131
|
-
vertical,
|
|
132
|
-
horizontal,
|
|
133
|
-
spaceAvailable
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
getMenuWidth() {
|
|
137
|
-
// Parse width from config or use default
|
|
138
|
-
const configWidth = this.config?.menuWidth || 'tw-w-44';
|
|
139
|
-
if (configWidth.includes('tw-w-')) {
|
|
140
|
-
const widthMap = {
|
|
141
|
-
'tw-w-32': 128, 'tw-w-36': 144, 'tw-w-40': 160,
|
|
142
|
-
'tw-w-44': 176, 'tw-w-48': 192, 'tw-w-52': 208,
|
|
143
|
-
'tw-w-56': 224, 'tw-w-60': 240, 'tw-w-64': 256
|
|
144
|
-
};
|
|
145
|
-
return widthMap[configWidth] || 176;
|
|
146
|
-
}
|
|
147
|
-
return 176; // Default width
|
|
148
|
-
}
|
|
149
|
-
getEstimatedMenuHeight() {
|
|
150
|
-
// Estimate height based on number of items
|
|
151
|
-
const itemHeight = 40; // Approximate height per item
|
|
152
|
-
const padding = 8; // Top and bottom padding
|
|
153
|
-
return (this.items.length * itemHeight) + padding;
|
|
154
|
-
}
|
|
155
|
-
toggleDropdown(event) {
|
|
156
|
-
console.log('🔵 toggleDropdown called');
|
|
157
|
-
event.stopPropagation();
|
|
158
|
-
if (!this.isOpen()) {
|
|
159
|
-
this.openDropdown();
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
this.closeDropdown();
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
openDropdown() {
|
|
166
|
-
// Calculate position before opening
|
|
167
|
-
const newPosition = this.calculatePosition();
|
|
168
|
-
this.currentPosition.set(newPosition);
|
|
169
|
-
this.isOpen.set(true);
|
|
170
|
-
// Register with dropdown manager
|
|
171
|
-
const dropdownInstance = {
|
|
172
|
-
id: this.dropdownId,
|
|
173
|
-
close: () => this.closeDropdown(),
|
|
174
|
-
element: this.dropdownContainer().nativeElement
|
|
175
|
-
};
|
|
176
|
-
this.dropdownManager.registerDropdown(dropdownInstance);
|
|
177
|
-
console.log('🔵 Dropdown opened:', this.dropdownId);
|
|
178
|
-
console.log('🔵 Position:', this.currentPosition());
|
|
179
|
-
this.dropdownToggle.emit(true);
|
|
180
|
-
}
|
|
181
|
-
testMouseDown(item) {
|
|
182
|
-
console.log('🔵 Mouse down detected: ' + item.label);
|
|
183
|
-
// Don't close dropdown on mousedown
|
|
184
|
-
}
|
|
185
|
-
onItemClick(item, event) {
|
|
186
|
-
console.log('🔵 Dropdown onItemClick called with:', item);
|
|
187
|
-
// Simple event handling
|
|
188
|
-
event.stopPropagation();
|
|
189
|
-
if (item.disabled || item.divider) {
|
|
190
|
-
console.log('🔵 Item is disabled or divider, returning');
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
console.log('🔵 Emitting itemClick event');
|
|
194
|
-
this.itemClick.emit(item);
|
|
195
|
-
// Close dropdown after a small delay to ensure click is processed
|
|
196
|
-
setTimeout(() => {
|
|
197
|
-
this.closeDropdown();
|
|
198
|
-
}, 50);
|
|
199
|
-
}
|
|
200
|
-
closeDropdown() {
|
|
201
|
-
console.log('🔵 closeDropdown called, setting isOpen to false');
|
|
202
|
-
this.isOpen.set(false);
|
|
203
|
-
this.dropdownManager.unregisterDropdown(this.dropdownId);
|
|
204
|
-
this.dropdownToggle.emit(false);
|
|
205
|
-
}
|
|
206
|
-
getItemClasses(item) {
|
|
207
|
-
if (item.divider) {
|
|
208
|
-
return 'tw-border-t tw-border-gray-200 tw-my-1';
|
|
209
|
-
}
|
|
210
|
-
const baseClasses = 'tw-flex tw-items-center tw-w-full tw-px-3 tw-py-2 tw-text-sm tw-transition-colors tw-duration-150';
|
|
211
|
-
if (item.disabled) {
|
|
212
|
-
return `${baseClasses} tw-text-gray-400 tw-cursor-not-allowed`;
|
|
213
|
-
}
|
|
214
|
-
const textColor = item.textColor || 'tw-text-gray-700';
|
|
215
|
-
const hoverBg = item.hoverBgColor || 'hover:tw-bg-gray-100';
|
|
216
|
-
const hoverText = item.textColor || 'hover:tw-text-gray-900';
|
|
217
|
-
return `${baseClasses} ${textColor} ${hoverBg} ${hoverText}`;
|
|
218
|
-
}
|
|
219
|
-
// Host listeners for window events (position recalculation only)
|
|
220
|
-
// Note: Click outside and escape key handling is now managed by DropdownManagerService
|
|
221
|
-
onWindowResize() {
|
|
222
|
-
if (this.isOpen()) {
|
|
223
|
-
// Recalculate position on window resize
|
|
224
|
-
const newPosition = this.calculatePosition();
|
|
225
|
-
this.currentPosition.set(newPosition);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
onWindowScroll() {
|
|
229
|
-
if (this.isOpen()) {
|
|
230
|
-
// Recalculate position on scroll
|
|
231
|
-
const newPosition = this.calculatePosition();
|
|
232
|
-
this.currentPosition.set(newPosition);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideEleDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
236
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CideEleDropdownComponent, isStandalone: true, selector: "cide-ele-dropdown", inputs: { items: "items", config: "config", triggerTemplate: "triggerTemplate", menuTemplate: "menuTemplate" }, outputs: { itemClick: "itemClick", dropdownToggle: "dropdownToggle" }, host: { listeners: { "window:resize": "onWindowResize()", "window:scroll": "onWindowScroll($event)" } }, viewQueries: [{ propertyName: "dropdownContainer", first: true, predicate: ["dropdownContainer"], descendants: true, isSignal: true }, { propertyName: "dropdownMenu", first: true, predicate: ["dropdownMenu"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
237
|
-
<div class="tw-relative" #dropdownContainer>
|
|
238
|
-
<!-- Trigger Button -->
|
|
239
|
-
<button
|
|
240
|
-
type="button"
|
|
241
|
-
class="dropdown-trigger tw-inline-flex tw-items-center tw-justify-center tw-w-6 tw-h-6 tw-rounded-full tw-text-gray-400 hover:tw-text-gray-600 hover:tw-bg-gray-100 focus:tw-outline-none focus:tw-ring-2 focus:tw-ring-offset-2 focus:tw-ring-blue-500 tw-transition-all tw-duration-150"
|
|
242
|
-
[class]="getTriggerClasses()"
|
|
243
|
-
(click)="toggleDropdown($event)"
|
|
244
|
-
[title]="config.triggerIcon === 'more_vert' ? 'More actions' : 'Options'">
|
|
245
|
-
|
|
246
|
-
<!-- Custom Trigger Template -->
|
|
247
|
-
@if (triggerTemplate) {
|
|
248
|
-
<ng-container *ngTemplateOutlet="triggerTemplate; context: { $implicit: isOpen() }">
|
|
249
|
-
</ng-container>
|
|
250
|
-
} @else {
|
|
251
|
-
<!-- Default Trigger -->
|
|
252
|
-
<cide-ele-icon
|
|
253
|
-
[class]="getTriggerIconClasses()"
|
|
254
|
-
[size]="config.triggerSize || 'sm'">
|
|
255
|
-
{{ config.triggerIcon || 'more_vert' }}
|
|
256
|
-
</cide-ele-icon>
|
|
257
|
-
}
|
|
258
|
-
</button>
|
|
259
|
-
|
|
260
|
-
<!-- Dropdown Menu -->
|
|
261
|
-
@if (isOpen()) {
|
|
262
|
-
<div
|
|
263
|
-
#dropdownMenu
|
|
264
|
-
class="dropdown-menu tw-absolute tw-z-50 tw-bg-white tw-shadow-lg tw-border tw-border-gray-200 tw-rounded-md tw-text-black"
|
|
265
|
-
[class]="getMenuClasses()"
|
|
266
|
-
[style]="getMenuStyles()"
|
|
267
|
-
role="menu">
|
|
268
|
-
|
|
269
|
-
<!-- Custom Menu Template -->
|
|
270
|
-
@if (menuTemplate) {
|
|
271
|
-
<ng-container *ngTemplateOutlet="menuTemplate; context: { $implicit: items }">
|
|
272
|
-
</ng-container>
|
|
273
|
-
} @else {
|
|
274
|
-
<!-- Default Menu -->
|
|
275
|
-
<div class="tw-py-1" role="none">
|
|
276
|
-
@for (item of items; track item.id) {
|
|
277
|
-
<button
|
|
278
|
-
type="button"
|
|
279
|
-
class="tw-flex tw-items-center tw-w-full tw-px-3 tw-py-2 tw-text-sm tw-text-gray-700 hover:tw-bg-gray-100 hover:tw-text-gray-900 tw-transition-colors tw-duration-150"
|
|
280
|
-
[disabled]="item.disabled"
|
|
281
|
-
(click)="onItemClick(item, $event)"
|
|
282
|
-
[attr.data-item-id]="item.id">
|
|
283
|
-
|
|
284
|
-
<!-- Item Icon -->
|
|
285
|
-
@if (item.icon) {
|
|
286
|
-
<cide-ele-icon
|
|
287
|
-
class="tw-w-4 tw-h-4 tw-mr-2"
|
|
288
|
-
[class]="item.iconColor || 'tw-text-gray-400'"
|
|
289
|
-
size="xs">
|
|
290
|
-
{{ item.icon }}
|
|
291
|
-
</cide-ele-icon>
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
<!-- Item Label -->
|
|
295
|
-
<span [class]="item.textColor || 'tw-text-gray-700'">
|
|
296
|
-
{{ item.label }}
|
|
297
|
-
</span>
|
|
298
|
-
</button>
|
|
299
|
-
}
|
|
300
|
-
</div>
|
|
301
|
-
}
|
|
302
|
-
</div>
|
|
303
|
-
}
|
|
304
|
-
`, isInline: true, styles: [".dropdown-menu{transform-origin:top right}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CideIconComponent, selector: "cide-ele-icon", inputs: ["size", "type", "toolTip"] }] }); }
|
|
305
|
-
}
|
|
306
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideEleDropdownComponent, decorators: [{
|
|
307
|
-
type: Component,
|
|
308
|
-
args: [{ selector: 'cide-ele-dropdown', standalone: true, imports: [CommonModule, CideIconComponent], template: `
|
|
309
|
-
<div class="tw-relative" #dropdownContainer>
|
|
310
|
-
<!-- Trigger Button -->
|
|
311
|
-
<button
|
|
312
|
-
type="button"
|
|
313
|
-
class="dropdown-trigger tw-inline-flex tw-items-center tw-justify-center tw-w-6 tw-h-6 tw-rounded-full tw-text-gray-400 hover:tw-text-gray-600 hover:tw-bg-gray-100 focus:tw-outline-none focus:tw-ring-2 focus:tw-ring-offset-2 focus:tw-ring-blue-500 tw-transition-all tw-duration-150"
|
|
314
|
-
[class]="getTriggerClasses()"
|
|
315
|
-
(click)="toggleDropdown($event)"
|
|
316
|
-
[title]="config.triggerIcon === 'more_vert' ? 'More actions' : 'Options'">
|
|
317
|
-
|
|
318
|
-
<!-- Custom Trigger Template -->
|
|
319
|
-
@if (triggerTemplate) {
|
|
320
|
-
<ng-container *ngTemplateOutlet="triggerTemplate; context: { $implicit: isOpen() }">
|
|
321
|
-
</ng-container>
|
|
322
|
-
} @else {
|
|
323
|
-
<!-- Default Trigger -->
|
|
324
|
-
<cide-ele-icon
|
|
325
|
-
[class]="getTriggerIconClasses()"
|
|
326
|
-
[size]="config.triggerSize || 'sm'">
|
|
327
|
-
{{ config.triggerIcon || 'more_vert' }}
|
|
328
|
-
</cide-ele-icon>
|
|
329
|
-
}
|
|
330
|
-
</button>
|
|
331
|
-
|
|
332
|
-
<!-- Dropdown Menu -->
|
|
333
|
-
@if (isOpen()) {
|
|
334
|
-
<div
|
|
335
|
-
#dropdownMenu
|
|
336
|
-
class="dropdown-menu tw-absolute tw-z-50 tw-bg-white tw-shadow-lg tw-border tw-border-gray-200 tw-rounded-md tw-text-black"
|
|
337
|
-
[class]="getMenuClasses()"
|
|
338
|
-
[style]="getMenuStyles()"
|
|
339
|
-
role="menu">
|
|
340
|
-
|
|
341
|
-
<!-- Custom Menu Template -->
|
|
342
|
-
@if (menuTemplate) {
|
|
343
|
-
<ng-container *ngTemplateOutlet="menuTemplate; context: { $implicit: items }">
|
|
344
|
-
</ng-container>
|
|
345
|
-
} @else {
|
|
346
|
-
<!-- Default Menu -->
|
|
347
|
-
<div class="tw-py-1" role="none">
|
|
348
|
-
@for (item of items; track item.id) {
|
|
349
|
-
<button
|
|
350
|
-
type="button"
|
|
351
|
-
class="tw-flex tw-items-center tw-w-full tw-px-3 tw-py-2 tw-text-sm tw-text-gray-700 hover:tw-bg-gray-100 hover:tw-text-gray-900 tw-transition-colors tw-duration-150"
|
|
352
|
-
[disabled]="item.disabled"
|
|
353
|
-
(click)="onItemClick(item, $event)"
|
|
354
|
-
[attr.data-item-id]="item.id">
|
|
355
|
-
|
|
356
|
-
<!-- Item Icon -->
|
|
357
|
-
@if (item.icon) {
|
|
358
|
-
<cide-ele-icon
|
|
359
|
-
class="tw-w-4 tw-h-4 tw-mr-2"
|
|
360
|
-
[class]="item.iconColor || 'tw-text-gray-400'"
|
|
361
|
-
size="xs">
|
|
362
|
-
{{ item.icon }}
|
|
363
|
-
</cide-ele-icon>
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
<!-- Item Label -->
|
|
367
|
-
<span [class]="item.textColor || 'tw-text-gray-700'">
|
|
368
|
-
{{ item.label }}
|
|
369
|
-
</span>
|
|
370
|
-
</button>
|
|
371
|
-
}
|
|
372
|
-
</div>
|
|
373
|
-
}
|
|
374
|
-
</div>
|
|
375
|
-
}
|
|
376
|
-
`, styles: [".dropdown-menu{transform-origin:top right}\n"] }]
|
|
377
|
-
}], propDecorators: { items: [{
|
|
378
|
-
type: Input
|
|
379
|
-
}], config: [{
|
|
380
|
-
type: Input
|
|
381
|
-
}], triggerTemplate: [{
|
|
382
|
-
type: Input
|
|
383
|
-
}], menuTemplate: [{
|
|
384
|
-
type: Input
|
|
385
|
-
}], itemClick: [{
|
|
386
|
-
type: Output
|
|
387
|
-
}], dropdownToggle: [{
|
|
388
|
-
type: Output
|
|
389
|
-
}], onWindowResize: [{
|
|
390
|
-
type: HostListener,
|
|
391
|
-
args: ['window:resize']
|
|
392
|
-
}], onWindowScroll: [{
|
|
393
|
-
type: HostListener,
|
|
394
|
-
args: ['window:scroll', ['$event']]
|
|
395
|
-
}] } });
|
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xvdWQtaWRlLWVsZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQTJCLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN4SyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFvQixNQUFNLHlDQUF5QyxDQUFDOzs7QUFxSG5HLE1BQU0sT0FBTyx3QkFBd0I7SUEvRXJDO1FBZ0ZZLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNqRCxlQUFVLEdBQUcsWUFBWSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUUzRSxvQ0FBb0M7UUFDcEMsc0JBQWlCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBYSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hFLGlCQUFZLEdBQUcsU0FBUyxDQUFhLGNBQWMsQ0FBQyxDQUFDO1FBUzdDLFdBQU0sR0FBbUIsRUFBRSxDQUFDO1FBRTNCLFdBQU0sR0FBbUIsRUFBRSxDQUFDO1FBSXJDLFVBQVU7UUFDQSxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDN0MsbUJBQWMs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QUFDO0lBR0QsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDaEIsaUNBQWlDO1lBQ2pDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDOzhHQWhSUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixvbUJBM0V2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFvRVYscUhBckVVLFlBQVksc01BQUUsaUJBQWlCOzsyRkE0RWhDLHdCQUF3QjtrQkEvRXBDLFNBQVM7K0JBQ0ksbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxZQUNoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFvRVY7OEJBaUJXLEtBQUs7c0JBQWpCLEtBQUs7Z0JBUUssTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBeU9QLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlO2dCQVU3QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIHNpZ25hbCwgdmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBEZXN0cm95UmVmLCBpbmplY3QsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2lkZUljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9lbGVtZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duTWFuYWdlclNlcnZpY2UsIERyb3Bkb3duSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kcm9wZG93bi1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duSXRlbSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgaWNvbkNvbG9yPzogc3RyaW5nO1xuICAgIHRleHRDb2xvcj86IHN0cmluZztcbiAgICBob3ZlckJnQ29sb3I/OiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGRpdmlkZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duQ29uZmlnIHtcbiAgICB0cmlnZ2VySWNvbj86IHN0cmluZztcbiAgICB0cmlnZ2VyU2l6ZT86ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZyc7XG4gICAgdHJpZ2dlckNvbG9yPzogc3RyaW5nO1xuICAgIHRyaWdnZXJIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIHRyaWdnZXJIb3ZlckJnQ29sb3I/OiBzdHJpbmc7XG4gICAgbWVudVdpZHRoPzogc3RyaW5nO1xuICAgIG1lbnVQb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAnYXV0byc7XG4gICAgc2hvd0Fycm93PzogYm9vbGVhbjtcbiAgICBmb3JjZVBvc2l0aW9uPzogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duUG9zaXRpb24ge1xuICAgIHZlcnRpY2FsOiAndG9wJyB8ICdib3R0b20nO1xuICAgIGhvcml6b250YWw6ICdsZWZ0JyB8ICdyaWdodCc7XG4gICAgc3BhY2VBdmFpbGFibGU6IHtcbiAgICAgICAgdG9wOiBudW1iZXI7XG4gICAgICAgIGJvdHRvbTogbnVtYmVyO1xuICAgICAgICBsZWZ0OiBudW1iZXI7XG4gICAgICAgIHJpZ2h0OiBudW1iZXI7XG4gICAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjaWRlLWVsZS1kcm9wZG93bicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDaWRlSWNvbkNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidHctcmVsYXRpdmVcIiAjZHJvcGRvd25Db250YWluZXI+XG4gICAgICA8IS0tIFRyaWdnZXIgQnV0dG9uIC0tPlxuICAgICAgPGJ1dHRvbiBcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiIFxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLXRyaWdnZXIgdHctaW5saW5lLWZsZXggdHctaXRlbXMtY2VudGVyIHR3LWp1c3RpZnktY2VudGVyIHR3LXctNiB0dy1oLTYgdHctcm91bmRlZC1mdWxsIHR3LXRleHQtZ3JheS00MDAgaG92ZXI6dHctdGV4dC1ncmF5LTYwMCBob3Zlcjp0dy1iZy1ncmF5LTEwMCBmb2N1czp0dy1vdXRsaW5lLW5vbmUgZm9jdXM6dHctcmluZy0yIGZvY3VzOnR3LXJpbmctb2Zmc2V0LTIgZm9jdXM6dHctcmluZy1ibHVlLTUwMCB0dy10cmFuc2l0aW9uLWFsbCB0dy1kdXJhdGlvbi0xNTBcIlxuICAgICAgICBbY2xhc3NdPVwiZ2V0VHJpZ2dlckNsYXNzZXMoKVwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigkZXZlbnQpXCJcbiAgICAgICAgW3RpdGxlXT1cImNvbmZpZy50cmlnZ2VySWNvbiA9PT0gJ21vcmVfdmVydCcgPyAnTW9yZSBhY3Rpb25zJyA6ICdPcHRpb25zJ1wiPlxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgPCEtLSBDdXN0b20gVHJpZ2dlciBUZW1wbGF0ZSAtLT5cbiAgICAgICAgIEBpZiAodHJpZ2dlclRlbXBsYXRlKSB7XG4gICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpc09wZW4oKSB9XCI+XG4gICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgIDwhLS0gRGVmYXVsdCBUcmlnZ2VyIC0tPlxuICAgICAgICAgICA8Y2lkZS1lbGUtaWNvbiBcbiAgICAgICAgICAgICBbY2xhc3NdPVwiZ2V0VHJpZ2dlckljb25DbGFzc2VzKClcIlxuICAgICAgICAgICAgIFtzaXplXT1cImNvbmZpZy50cmlnZ2VyU2l6ZSB8fCAnc20nXCI+XG4gICAgICAgICAgICAge3sgY29uZmlnLnRyaWdnZXJJY29uIHx8ICdtb3JlX3ZlcnQnIH19XG4gICAgICAgICAgIDwvY2lkZS1lbGUtaWNvbj5cbiAgICAgICAgIH1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgXG4gICAgICAgICAgICAgPCEtLSBEcm9wZG93biBNZW51IC0tPlxuICAgICAgIEBpZiAoaXNPcGVuKCkpIHtcbiAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICNkcm9wZG93bk1lbnVcbiAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IHR3LWFic29sdXRlIHR3LXotNTAgdHctYmctd2hpdGUgdHctc2hhZG93LWxnIHR3LWJvcmRlciB0dy1ib3JkZXItZ3JheS0yMDAgdHctcm91bmRlZC1tZCB0dy10ZXh0LWJsYWNrXCJcbiAgICAgICAgICAgW2NsYXNzXT1cImdldE1lbnVDbGFzc2VzKClcIlxuICAgICAgICAgICBbc3R5bGVdPVwiZ2V0TWVudVN0eWxlcygpXCJcbiAgICAgICAgICAgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgIDwhLS0gQ3VzdG9tIE1lbnUgVGVtcGxhdGUgLS0+XG4gICAgICAgICBAaWYgKG1lbnVUZW1wbGF0ZSkge1xuICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWVudVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbXMgfVwiPlxuICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICA8IS0tIERlZmF1bHQgTWVudSAtLT5cbiAgICAgICAgICAgPGRpdiBjbGFzcz1cInR3LXB5LTFcIiByb2xlPVwibm9uZVwiPlxuICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cInR3LWZsZXggdHctaXRlbXMtY2VudGVyIHR3LXctZnVsbCB0dy1weC0zIHR3LXB5LTIgdHctdGV4dC1zbSB0dy10ZXh0LWdyYXktNzAwIGhvdmVyOnR3LWJnLWdyYXktMTAwIGhvdmVyOnR3LXRleHQtZ3JheS05MDAgdHctdHJhbnNpdGlvbi1jb2xvcnMgdHctZHVyYXRpb24tMTUwXCJcbiAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtaXRlbS1pZF09XCJpdGVtLmlkXCI+XG4gICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICA8IS0tIEl0ZW0gSWNvbiAtLT5cbiAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICA8Y2lkZS1lbGUtaWNvbiBcbiAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHctdy00IHR3LWgtNCB0dy1tci0yXCJcbiAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpdGVtLmljb25Db2xvciB8fCAndHctdGV4dC1ncmF5LTQwMCdcIlxuICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmljb24gfX1cbiAgICAgICAgICAgICAgICAgICA8L2NpZGUtZWxlLWljb24+XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgIDwhLS0gSXRlbSBMYWJlbCAtLT5cbiAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIml0ZW0udGV4dENvbG9yIHx8ICd0dy10ZXh0LWdyYXktNzAwJ1wiPlxuICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgfVxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICA8L2Rpdj5cbiAgICAgfVxuICAgYCxcbiAgICBzdHlsZXM6IFtgXG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgQ2lkZUVsZURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIGRyb3Bkb3duTWFuYWdlciA9IGluamVjdChEcm9wZG93bk1hbmFnZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGRyb3Bkb3duSWQgPSBgZHJvcGRvd24tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiwgOSl9YDtcblxuICAgIC8vIFZpZXdDaGlsZCBmb3IgY29udGFpbmVyIHJlZmVyZW5jZVxuICAgIGRyb3Bkb3duQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KCdkcm9wZG93bkNvbnRhaW5lcicpO1xuICAgIGRyb3Bkb3duTWVudSA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignZHJvcGRvd25NZW51Jyk7XG5cbiAgICAgIC8vIElucHV0c1xuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IERyb3Bkb3duSXRlbVtdKSB7XG4gICAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICB9XG4gICAgZ2V0IGl0ZW1zKCk6IERyb3Bkb3duSXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICAgIH1cbiAgICBwcml2YXRlIF9pdGVtczogRHJvcGRvd25JdGVtW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGNvbmZpZzogRHJvcGRvd25Db25maWcgPSB7fTtcbiAgICBASW5wdXQoKSB0cmlnZ2VyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYm9vbGVhbiB9PjtcbiAgICBASW5wdXQoKSBtZW51VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogRHJvcGRvd25JdGVtW10gfT47XG5cbiAgICAvLyBPdXRwdXRzXG4gICAgQE91dHB1dCgpIGl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RHJvcGRvd25JdGVtPigpO1xuICAgIEBPdXRwdXQoKSBkcm9wZG93blRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8vIFNpZ25hbHNcbiAgICBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIGN1cnJlbnRQb3NpdGlvbiA9IHNpZ25hbDxEcm9wZG93blBvc2l0aW9uPih7XG4gICAgICAgIHZlcnRpY2FsOiAnYm90dG9tJyxcbiAgICAgICAgaG9yaXpvbnRhbDogJ3JpZ2h0JyxcbiAgICAgICAgc3BhY2VBdmFpbGFibGU6IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1cbiAgICB9KTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBTZXR1cCBjbGVhbnVwIG9uIGRlc3Ryb3lcbiAgICAgICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duTWFuYWdlci51bnJlZ2lzdGVyRHJvcGRvd24odGhpcy5kcm9wZG93bklkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25NYW5hZ2VyLnVucmVnaXN0ZXJEcm9wZG93bih0aGlzLmRyb3Bkb3duSWQpO1xuICAgIH1cblxuICAgIC8vIE1ldGhvZHNcbiAgICBnZXRUcmlnZ2VyQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBiYXNlQ2xhc3NlcyA9ICd0dy1pbmxpbmUtZmxleCB0dy1pdGVtcy1jZW50ZXIgdHctanVzdGlmeS1jZW50ZXIgdHctdy02IHR3LWgtNiB0dy1yb3VuZGVkLWZ1bGwgdHctdHJhbnNpdGlvbi1hbGwgdHctZHVyYXRpb24tMTUwIGZvY3VzOnR3LW91dGxpbmUtbm9uZSBmb2N1czp0dy1yaW5nLTIgZm9jdXM6dHctcmluZy1vZmZzZXQtMiBmb2N1czp0dy1yaW5nLWJsdWUtNTAwJztcblxuICAgICAgICBjb25zdCBjb2xvckNsYXNzZXMgPSB0aGlzLmNvbmZpZz8udHJpZ2dlckNvbG9yIHx8ICd0dy10ZXh0LWdyYXktNDAwJztcbiAgICAgICAgY29uc3QgaG92ZXJDb2xvckNsYXNzZXMgPSB0aGlzLmNvbmZpZz8udHJpZ2dlckhvdmVyQ29sb3IgfHwgJ2hvdmVyOnR3LXRleHQtZ3JheS02MDAnO1xuICAgICAgICBjb25zdCBob3ZlckJnQ2xhc3NlcyA9IHRoaXMuY29uZmlnPy50cmlnZ2VySG92ZXJCZ0NvbG9yIHx8ICdob3Zlcjp0dy1iZy1ncmF5LTEwMCc7XG5cbiAgICAgICAgcmV0dXJuIGAke2Jhc2VDbGFzc2VzfSAke2NvbG9yQ2xhc3Nlc30gJHtob3ZlckNvbG9yQ2xhc3Nlc30gJHtob3ZlckJnQ2xhc3Nlc31gO1xuICAgIH1cblxuICAgIGdldFRyaWdnZXJJY29uQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWc/LnRyaWdnZXJDb2xvciB8fCAndHctdGV4dC1ncmF5LTQwMCc7XG4gICAgfVxuXG4gICAgZ2V0TWVudUNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYmFzZUNsYXNzZXMgPSAndHctYWJzb2x1dGUgdHctei01MCB0dy1yb3VuZGVkLW1kIHR3LWJnLXdoaXRlIHR3LXNoYWRvdy1sZyB0dy1yaW5nLTEgdHctcmluZy1ibGFjayB0dy1yaW5nLW9wYWNpdHktNSBmb2N1czp0dy1vdXRsaW5lLW5vbmUgdHctdHJhbnNpdGlvbi1hbGwgdHctZHVyYXRpb24tMTUwJztcbiAgICAgICAgY29uc3Qgd2lkdGhDbGFzcyA9IHRoaXMuY29uZmlnPy5tZW51V2lkdGggfHwgJ3R3LXctNDQnO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIGAke2Jhc2VDbGFzc2VzfSAke3dpZHRoQ2xhc3N9YDtcbiAgICB9XG5cbiAgICBnZXRNZW51U3R5bGVzKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5jdXJyZW50UG9zaXRpb24oKTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IHRoaXMuY29uZmlnPy5vZmZzZXRYIHx8IDA7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSB0aGlzLmNvbmZpZz8ub2Zmc2V0WSB8fCA0O1xuICAgICAgICBcbiAgICAgICAgbGV0IHN0eWxlcyA9ICdwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDk5OTk7JztcbiAgICAgICAgXG4gICAgICAgIC8vIFZlcnRpY2FsIHBvc2l0aW9uaW5nXG4gICAgICAgIGlmIChwb3NpdGlvbi52ZXJ0aWNhbCA9PT0gJ2JvdHRvbScpIHtcbiAgICAgICAgICAgIHN0eWxlcyArPSBgdG9wOiBjYWxjKDEwMCUgKyAke29mZnNldFl9cHgpO2A7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHlsZXMgKz0gYGJvdHRvbTogY2FsYygxMDAlICsgJHtvZmZzZXRZfXB4KTtgO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBIb3Jpem9udGFsIHBvc2l0aW9uaW5nXG4gICAgICAgIGlmIChwb3NpdGlvbi5ob3Jpem9udGFsID09PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBzdHlsZXMgKz0gYHJpZ2h0OiAke29mZnNldFh9cHg7YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0eWxlcyArPSBgbGVmdDogJHtvZmZzZXRYfXB4O2A7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUG9zaXRpb24oKTogRHJvcGRvd25Qb3NpdGlvbiB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZHJvcGRvd25Db250YWluZXIoKTtcbiAgICAgICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmVydGljYWw6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIGhvcml6b250YWw6ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgc3BhY2VBdmFpbGFibGU6IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWN0ID0gY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0ge1xuICAgICAgICAgICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHRcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgYXZhaWxhYmxlIHNwYWNlIGluIGVhY2ggZGlyZWN0aW9uXG4gICAgICAgIGNvbnN0IHNwYWNlQXZhaWxhYmxlID0ge1xuICAgICAgICAgICAgdG9wOiByZWN0LnRvcCxcbiAgICAgICAgICAgIGJvdHRvbTogdmlld3BvcnQuaGVpZ2h0IC0gcmVjdC5ib3R0b20sXG4gICAgICAgICAgICBsZWZ0OiByZWN0LmxlZnQsXG4gICAgICAgICAgICByaWdodDogdmlld3BvcnQud2lkdGggLSByZWN0LnJpZ2h0XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gRXN0aW1hdGVkIGRyb3Bkb3duIG1lbnUgZGltZW5zaW9ucyAoYWRqdXN0IGJhc2VkIG9uIHlvdXIgbmVlZHMpXG4gICAgICAgIGNvbnN0IG1lbnVXaWR0aCA9IHRoaXMuZ2V0TWVudVdpZHRoKCk7XG4gICAgICAgIGNvbnN0IG1lbnVIZWlnaHQgPSB0aGlzLmdldEVzdGltYXRlZE1lbnVIZWlnaHQoKTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgdmVydGljYWwgcG9zaXRpb25cbiAgICAgICAgbGV0IHZlcnRpY2FsOiAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZz8uZm9yY2VQb3NpdGlvbiA9PT0gJ3RvcCcgfHwgdGhpcy5jb25maWc/LmZvcmNlUG9zaXRpb24gPT09ICdib3R0b20nKSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbCA9IHRoaXMuY29uZmlnLmZvcmNlUG9zaXRpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGVub3VnaCBzcGFjZSBiZWxvd1xuICAgICAgICAgICAgaWYgKHNwYWNlQXZhaWxhYmxlLmJvdHRvbSA8IG1lbnVIZWlnaHQgJiYgc3BhY2VBdmFpbGFibGUudG9wID4gbWVudUhlaWdodCkge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsID0gJ3RvcCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXRlcm1pbmUgaG9yaXpvbnRhbCBwb3NpdGlvbiAgXG4gICAgICAgIGxldCBob3Jpem9udGFsOiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0JztcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5mb3JjZVBvc2l0aW9uID09PSAnbGVmdCcgfHwgdGhpcy5jb25maWc/LmZvcmNlUG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgICAgICAgIGhvcml6b250YWwgPSB0aGlzLmNvbmZpZy5mb3JjZVBvc2l0aW9uO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnPy5tZW51UG9zaXRpb24gPT09ICdsZWZ0Jykge1xuICAgICAgICAgICAgaG9yaXpvbnRhbCA9ICdsZWZ0JztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZz8ubWVudVBvc2l0aW9uID09PSAnYXV0bycpIHtcbiAgICAgICAgICAgIC8vIEF1dG8tZGV0ZWN0IGJlc3QgaG9yaXpvbnRhbCBwb3NpdGlvblxuICAgICAgICAgICAgaWYgKHNwYWNlQXZhaWxhYmxlLnJpZ2h0IDwgbWVudVdpZHRoICYmIHNwYWNlQXZhaWxhYmxlLmxlZnQgPiBtZW51V2lkdGgpIHtcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsID0gJ2xlZnQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLFxuICAgICAgICAgICAgaG9yaXpvbnRhbCxcbiAgICAgICAgICAgIHNwYWNlQXZhaWxhYmxlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNZW51V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gUGFyc2Ugd2lkdGggZnJvbSBjb25maWcgb3IgdXNlIGRlZmF1bHRcbiAgICAgICAgY29uc3QgY29uZmlnV2lkdGggPSB0aGlzLmNvbmZpZz8ubWVudVdpZHRoIHx8ICd0dy13LTQ0JztcbiAgICAgICAgaWYgKGNvbmZpZ1dpZHRoLmluY2x1ZGVzKCd0dy13LScpKSB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aE1hcDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHtcbiAgICAgICAgICAgICAgICAndHctdy0zMic6IDEyOCwgJ3R3LXctMzYnOiAxNDQsICd0dy13LTQwJzogMTYwLFxuICAgICAgICAgICAgICAgICd0dy13LTQ0JzogMTc2LCAndHctdy00OCc6IDE5MiwgJ3R3LXctNTInOiAyMDgsXG4gICAgICAgICAgICAgICAgJ3R3LXctNTYnOiAyMjQsICd0dy13LTYwJzogMjQwLCAndHctdy02NCc6IDI1NlxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiB3aWR0aE1hcFtjb25maWdXaWR0aF0gfHwgMTc2O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAxNzY7IC8vIERlZmF1bHQgd2lkdGhcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVzdGltYXRlZE1lbnVIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gRXN0aW1hdGUgaGVpZ2h0IGJhc2VkIG9uIG51bWJlciBvZiBpdGVtc1xuICAgICAgICBjb25zdCBpdGVtSGVpZ2h0ID0gNDA7IC8vIEFwcHJveGltYXRlIGhlaWdodCBwZXIgaXRlbVxuICAgICAgICBjb25zdCBwYWRkaW5nID0gODsgLy8gVG9wIGFuZCBib3R0b20gcGFkZGluZ1xuICAgICAgICByZXR1cm4gKHRoaXMuaXRlbXMubGVuZ3RoICogaXRlbUhlaWdodCkgKyBwYWRkaW5nO1xuICAgIH1cblxuICAgIHRvZ2dsZURyb3Bkb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmxvZygn8J+UtSB0b2dnbGVEcm9wZG93biBjYWxsZWQnKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIFxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICAvLyBDYWxjdWxhdGUgcG9zaXRpb24gYmVmb3JlIG9wZW5pbmdcbiAgICAgICAgY29uc3QgbmV3UG9zaXRpb24gPSB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuY3VycmVudFBvc2l0aW9uLnNldChuZXdQb3NpdGlvbik7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmlzT3Blbi5zZXQodHJ1ZSk7XG4gICAgICAgIFxuICAgICAgICAvLyBSZWdpc3RlciB3aXRoIGRyb3Bkb3duIG1hbmFnZXJcbiAgICAgICAgY29uc3QgZHJvcGRvd25JbnN0YW5jZTogRHJvcGRvd25JbnN0YW5jZSA9IHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmRyb3Bkb3duSWQsXG4gICAgICAgICAgICBjbG9zZTogKCkgPT4gdGhpcy5jbG9zZURyb3Bkb3duKCksXG4gICAgICAgICAgICBlbGVtZW50OiB0aGlzLmRyb3Bkb3duQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudFxuICAgICAgICB9O1xuICAgICAgICBcbiAgICAgICAgdGhpcy5kcm9wZG93bk1hbmFnZXIucmVnaXN0ZXJEcm9wZG93bihkcm9wZG93bkluc3RhbmNlKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnNvbGUubG9nKCfwn5S1IERyb3Bkb3duIG9wZW5lZDonLCB0aGlzLmRyb3Bkb3duSWQpO1xuICAgICAgICBjb25zb2xlLmxvZygn8J+UtSBQb3NpdGlvbjonLCB0aGlzLmN1cnJlbnRQb3NpdGlvbigpKTtcbiAgICAgICAgdGhpcy5kcm9wZG93blRvZ2dsZS5lbWl0KHRydWUpO1xuICAgIH1cblxuICB0ZXN0TW91c2VEb3duKGl0ZW06IERyb3Bkb3duSXRlbSk6IHZvaWQge1xuICAgICAgY29uc29sZS5sb2coJ/CflLUgTW91c2UgZG93biBkZXRlY3RlZDogJyArIGl0ZW0ubGFiZWwpO1xuICAgICAgLy8gRG9uJ3QgY2xvc2UgZHJvcGRvd24gb24gbW91c2Vkb3duXG4gIH1cblxuICBvbkl0ZW1DbGljayhpdGVtOiBEcm9wZG93bkl0ZW0sIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgY29uc29sZS5sb2coJ/CflLUgRHJvcGRvd24gb25JdGVtQ2xpY2sgY2FsbGVkIHdpdGg6JywgaXRlbSk7XG5cbiAgICAgIC8vIFNpbXBsZSBldmVudCBoYW5kbGluZ1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGlmIChpdGVtLmRpc2FibGVkIHx8IGl0ZW0uZGl2aWRlcikge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCfwn5S1IEl0ZW0gaXMgZGlzYWJsZWQgb3IgZGl2aWRlciwgcmV0dXJuaW5nJyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zb2xlLmxvZygn8J+UtSBFbWl0dGluZyBpdGVtQ2xpY2sgZXZlbnQnKTtcbiAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG5cbiAgICAgIC8vIENsb3NlIGRyb3Bkb3duIGFmdGVyIGEgc21hbGwgZGVsYXkgdG8gZW5zdXJlIGNsaWNrIGlzIHByb2Nlc3NlZFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9LCA1MCk7XG4gIH1cblxuICAgIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCfwn5S1IGNsb3NlRHJvcGRvd24gY2FsbGVkLCBzZXR0aW5nIGlzT3BlbiB0byBmYWxzZScpO1xuICAgICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duTWFuYWdlci51bnJlZ2lzdGVyRHJvcGRvd24odGhpcy5kcm9wZG93bklkKTtcbiAgICAgICAgdGhpcy5kcm9wZG93blRvZ2dsZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXRJdGVtQ2xhc3NlcyhpdGVtOiBEcm9wZG93bkl0ZW0pOiBzdHJpbmcge1xuICAgICAgICBpZiAoaXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3R3LWJvcmRlci10IHR3LWJvcmRlci1ncmF5LTIwMCB0dy1teS0xJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VDbGFzc2VzID0gJ3R3LWZsZXggdHctaXRlbXMtY2VudGVyIHR3LXctZnVsbCB0dy1weC0zIHR3LXB5LTIgdHctdGV4dC1zbSB0dy10cmFuc2l0aW9uLWNvbG9ycyB0dy1kdXJhdGlvbi0xNTAnO1xuXG4gICAgICAgIGlmIChpdGVtLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7YmFzZUNsYXNzZXN9IHR3LXRleHQtZ3JheS00MDAgdHctY3Vyc29yLW5vdC1hbGxvd2VkYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRleHRDb2xvciA9IGl0ZW0udGV4dENvbG9yIHx8ICd0dy10ZXh0LWdyYXktNzAwJztcbiAgICAgICAgY29uc3QgaG92ZXJCZyA9IGl0ZW0uaG92ZXJCZ0NvbG9yIHx8ICdob3Zlcjp0dy1iZy1ncmF5LTEwMCc7XG4gICAgICAgIGNvbnN0IGhvdmVyVGV4dCA9IGl0ZW0udGV4dENvbG9yIHx8ICdob3Zlcjp0dy10ZXh0LWdyYXktOTAwJztcblxuICAgICAgICByZXR1cm4gYCR7YmFzZUNsYXNzZXN9ICR7dGV4dENvbG9yfSAke2hvdmVyQmd9ICR7aG92ZXJUZXh0fWA7XG4gICAgfVxuXG4gICAgLy8gSG9zdCBsaXN0ZW5lcnMgZm9yIHdpbmRvdyBldmVudHMgKHBvc2l0aW9uIHJlY2FsY3VsYXRpb24gb25seSlcbiAgICAvLyBOb3RlOiBDbGljayBvdXRzaWRlIGFuZCBlc2NhcGUga2V5IGhhbmRsaW5nIGlzIG5vdyBtYW5hZ2VkIGJ5IERyb3Bkb3duTWFuYWdlclNlcnZpY2VcblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgcG9zaXRpb24gb24gd2luZG93IHJlc2l6ZVxuICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb24gPSB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRQb3NpdGlvbi5zZXQobmV3UG9zaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgb25XaW5kb3dTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgICAvLyBSZWNhbGN1bGF0ZSBwb3NpdGlvbiBvbiBzY3JvbGxcbiAgICAgICAgICAgIGNvbnN0IG5ld1Bvc2l0aW9uID0gdGhpcy5jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UG9zaXRpb24uc2V0KG5ld1Bvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbn0gIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { CideEleConfirmationModalComponent } from '../confirmation-modal/confirmation-modal.component';
|
|
4
|
-
import { CideEleToastNotificationComponent } from '../toast-notification/toast-notification.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class CideEleGlobalNotificationsComponent {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideEleGlobalNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CideEleGlobalNotificationsComponent, isStandalone: true, selector: "cide-ele-global-notifications", ngImport: i0, template: `
|
|
9
|
-
<!-- Global Confirmation Modal -->
|
|
10
|
-
<cide-ele-confirmation-modal></cide-ele-confirmation-modal>
|
|
11
|
-
|
|
12
|
-
<!-- Global Toast Notifications -->
|
|
13
|
-
<cide-ele-toast-notification></cide-ele-toast-notification>
|
|
14
|
-
`, isInline: true, styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CideEleConfirmationModalComponent, selector: "cide-ele-confirmation-modal" }, { kind: "component", type: CideEleToastNotificationComponent, selector: "cide-ele-toast-notification" }] }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideEleGlobalNotificationsComponent, decorators: [{
|
|
17
|
-
type: Component,
|
|
18
|
-
args: [{ selector: 'cide-ele-global-notifications', standalone: true, imports: [
|
|
19
|
-
CommonModule,
|
|
20
|
-
CideEleConfirmationModalComponent,
|
|
21
|
-
CideEleToastNotificationComponent
|
|
22
|
-
], template: `
|
|
23
|
-
<!-- Global Confirmation Modal -->
|
|
24
|
-
<cide-ele-confirmation-modal></cide-ele-confirmation-modal>
|
|
25
|
-
|
|
26
|
-
<!-- Global Toast Notifications -->
|
|
27
|
-
<cide-ele-toast-notification></cide-ele-toast-notification>
|
|
28
|
-
`, styles: [":host{display:contents}\n"] }]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xvdWQtaWRlLWVsZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2dsb2JhbC1ub3RpZmljYXRpb25zL2dsb2JhbC1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7QUF3QnZHLE1BQU0sT0FBTyxtQ0FBbUM7OEdBQW5DLG1DQUFtQztrR0FBbkMsbUNBQW1DLHlGQWRwQzs7Ozs7O0dBTVQsa0dBVkMsWUFBWSwrQkFDWixpQ0FBaUMsd0VBQ2pDLGlDQUFpQzs7MkZBZ0J4QixtQ0FBbUM7a0JBdEIvQyxTQUFTOytCQUNFLCtCQUErQixjQUM3QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixpQ0FBaUM7d0JBQ2pDLGlDQUFpQztxQkFDbEMsWUFDUzs7Ozs7O0dBTVQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2lkZUVsZUNvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vY29uZmlybWF0aW9uLW1vZGFsL2NvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaWRlRWxlVG9hc3ROb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi90b2FzdC1ub3RpZmljYXRpb24vdG9hc3Qtbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NpZGUtZWxlLWdsb2JhbC1ub3RpZmljYXRpb25zJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENpZGVFbGVDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCxcclxuICAgIENpZGVFbGVUb2FzdE5vdGlmaWNhdGlvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDwhLS0gR2xvYmFsIENvbmZpcm1hdGlvbiBNb2RhbCAtLT5cclxuICAgIDxjaWRlLWVsZS1jb25maXJtYXRpb24tbW9kYWw+PC9jaWRlLWVsZS1jb25maXJtYXRpb24tbW9kYWw+XHJcbiAgICBcclxuICAgIDwhLS0gR2xvYmFsIFRvYXN0IE5vdGlmaWNhdGlvbnMgLS0+XHJcbiAgICA8Y2lkZS1lbGUtdG9hc3Qtbm90aWZpY2F0aW9uPjwvY2lkZS1lbGUtdG9hc3Qtbm90aWZpY2F0aW9uPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gICAgLyogR2xvYmFsIHN0eWxlcyBmb3Igbm90aWZpY2F0aW9ucyAqL1xyXG4gICAgOmhvc3Qge1xyXG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgIH1cclxuICBgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2lkZUVsZUdsb2JhbE5vdGlmaWNhdGlvbnNDb21wb25lbnQge1xyXG4gIC8vIFRoaXMgY29tcG9uZW50IHNlcnZlcyBhcyBhIGNvbnRhaW5lciBmb3IgZ2xvYmFsIG5vdGlmaWNhdGlvbnNcclxuICAvLyBJdCBkb2Vzbid0IG5lZWQgYW55IGxvZ2ljIGFzIHRoZSBzZXJ2aWNlcyBoYW5kbGUgZXZlcnl0aGluZ1xyXG59XHJcblxyXG4iXX0=
|