@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.12 → 0.0.1-alpha.13

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.
Files changed (60) hide show
  1. package/assets/images/overview-banner.svg +1 -0
  2. package/components/deleting-tag/component.d.ts +7 -0
  3. package/components/index.d.ts +6 -1
  4. package/components/list-display/component.d.ts +15 -0
  5. package/components/multi-search/action-input/component.d.ts +122 -0
  6. package/components/multi-search/form/component.d.ts +66 -0
  7. package/components/multi-search/index.d.ts +4 -0
  8. package/components/multi-search/multi-search-tags/component.d.ts +27 -0
  9. package/components/multi-search/types.d.ts +33 -0
  10. package/components/multi-search/utils.d.ts +24 -0
  11. package/components/mutable/directive.d.ts +83 -0
  12. package/components/mutable/element.d.ts +10 -0
  13. package/components/mutable/index.d.ts +8 -0
  14. package/components/mutable/mosaic/component.d.ts +32 -0
  15. package/components/mutable/mosaic/directive.d.ts +9 -0
  16. package/components/mutable/util.d.ts +18 -0
  17. package/components/overview-banner/component.d.ts +11 -0
  18. package/components/table/component.d.ts +88 -0
  19. package/components/table/constants.d.ts +3 -0
  20. package/components/table/helper.d.ts +2 -0
  21. package/components/table/helpers.directive.d.ts +21 -0
  22. package/components/table/index.d.ts +5 -0
  23. package/components/table/types.d.ts +71 -0
  24. package/components/table/util.service.d.ts +13 -0
  25. package/esm2022/components/deleting-tag/component.mjs +16 -0
  26. package/esm2022/components/index.mjs +7 -2
  27. package/esm2022/components/list-display/component.mjs +46 -0
  28. package/esm2022/components/multi-search/action-input/component.mjs +675 -0
  29. package/esm2022/components/multi-search/form/component.mjs +322 -0
  30. package/esm2022/components/multi-search/index.mjs +5 -0
  31. package/esm2022/components/multi-search/multi-search-tags/component.mjs +67 -0
  32. package/esm2022/components/multi-search/types.mjs +2 -0
  33. package/esm2022/components/multi-search/utils.mjs +46 -0
  34. package/esm2022/components/mutable/directive.mjs +351 -0
  35. package/esm2022/components/mutable/element.mjs +23 -0
  36. package/esm2022/components/mutable/index.mjs +15 -0
  37. package/esm2022/components/mutable/mosaic/component.mjs +76 -0
  38. package/esm2022/components/mutable/mosaic/directive.mjs +24 -0
  39. package/esm2022/components/mutable/util.mjs +16 -0
  40. package/esm2022/components/overview-banner/component.mjs +17 -0
  41. package/esm2022/components/table/component.mjs +321 -0
  42. package/esm2022/components/table/constants.mjs +4 -0
  43. package/esm2022/components/table/helper.mjs +16 -0
  44. package/esm2022/components/table/helpers.directive.mjs +19 -0
  45. package/esm2022/components/table/index.mjs +6 -0
  46. package/esm2022/components/table/types.mjs +2 -0
  47. package/esm2022/components/table/util.service.mjs +81 -0
  48. package/esm2022/form/base-form-container.mjs +2 -2
  49. package/esm2022/k8s-resource-list/footer/component.mjs +3 -3
  50. package/esm2022/page-deactivate/deactivate.directive.mjs +2 -2
  51. package/esm2022/page-deactivate/deactivate.guard.mjs +2 -3
  52. package/esm2022/page-deactivate/deactivate.service.mjs +4 -14
  53. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +2228 -222
  54. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -1
  55. package/package.json +1 -1
  56. package/page-deactivate/deactivate.guard.d.ts +0 -2
  57. package/page-deactivate/deactivate.service.d.ts +1 -1
  58. package/styles/lib.scss +1 -1
  59. package/components/terminating-tag/component.d.ts +0 -7
  60. package/esm2022/components/terminating-tag/component.mjs +0 -16
@@ -0,0 +1,5 @@
1
+ export * from './component';
2
+ export * from './helper';
3
+ export * from './helpers.directive';
4
+ export * from './types';
5
+ export * from './util.service';
@@ -0,0 +1,71 @@
1
+ import { Sort, SortDirection } from '@alauda/ui';
2
+ import { TableUtilService } from './util.service';
3
+ import { Translation, TranslationValue } from '@alauda-fe/dynamic-plugin-sdk';
4
+ import { KubernetesResource, LiteralUnion } from '../../types';
5
+ export type TableColumnSortDirection = Exclude<SortDirection, ''>;
6
+ export type TableColumnSortHandler<Item extends object, Context = TableUtilService<Item>, Value = string | number> = (this: Context, a: Value, b: Value) => number;
7
+ export interface TableColumnSort<Item extends object, Context = TableUtilService<Item>, Value = string | number> {
8
+ direction?: TableColumnSortDirection;
9
+ active?: true;
10
+ handler?: TableColumnSortHandler<Item, Context, Value>;
11
+ }
12
+ export type TableColumnDefPath<Item extends object, Context = TableUtilService<Item>> = string | number | ReadonlyArray<string | number> | ((this: Context, item: Item) => string | number);
13
+ export type TableColumnTranslateHandler<Item extends object, Context = TableUtilService<Item>, Value = string | number> = (value: Value, context: Context) => TranslationValue;
14
+ export interface TableColumnDef<Item extends object, Context = TableUtilService<Item>, Extra extends object = object, Name extends string = string, Value = string | number> {
15
+ label?: string;
16
+ name: Name;
17
+ path?: TableColumnDefPath<Item, Context>;
18
+ direction?: 'column' | 'row';
19
+ translate?: string | Translation | TableColumnTranslateHandler<Item, Context, Value> | true;
20
+ sort?: TableColumnSortDirection | TableColumnSortHandler<Item, Context> | TableColumnSort<Item, Context> | true;
21
+ filter?(this: Context, value: Value, filterValue: Value, item: Item, name: string, params: Record<string, unknown>): boolean;
22
+ ellipsis?: boolean;
23
+ class?: string | Record<string, boolean>;
24
+ style?: string | Record<string, string | number>;
25
+ sticky?: boolean;
26
+ stickyEnd?: boolean;
27
+ extra?: Extra;
28
+ }
29
+ export interface TableColumnNameExtra {
30
+ link: boolean;
31
+ }
32
+ export type TableColumnActionDisabledHandler<Item extends object, Context = TableUtilService<Item>> = (item: Item, util: Context) => boolean;
33
+ export type TableColumnActionTooltipHandler<Item extends object, Context = TableUtilService<Item>> = (item: Item, util: Context) => string;
34
+ export interface TableColumnActionConfig<Item extends object, Context = TableUtilService<Item>> {
35
+ handler: TableColumnActionDisabledHandler<Item, Context>;
36
+ tooltip?: string | TableColumnActionTooltipHandler<Item, Context>;
37
+ }
38
+ export interface TableColumnActionExtraItem<Item extends object, Context = TableUtilService<Item>> {
39
+ disabled?: TableColumnActionDisabledHandler<Item, Context> | TableColumnActionConfig<Item, Context>;
40
+ }
41
+ export interface NormalizedTableColumnActionExtraItem<Item extends object, Context = TableUtilService<Item>> {
42
+ disabled: TableColumnActionConfig<Item, Context>;
43
+ }
44
+ export interface TableColumnActionExtra<Item extends object, Context = TableUtilService<Item>> {
45
+ update?: (TableColumnActionExtraItem<Item, Context> & {
46
+ link?: boolean;
47
+ }) | false;
48
+ delete?: TableColumnActionExtraItem<Item, Context> | false;
49
+ }
50
+ export interface NormalizedTableColumnActionExtra<Item extends object, Context = TableUtilService<Item>> {
51
+ update?: (NormalizedTableColumnActionExtraItem<Item, Context> & {
52
+ link?: boolean;
53
+ }) | false;
54
+ delete?: NormalizedTableColumnActionExtraItem<Item, Context> | false;
55
+ }
56
+ export interface DefaultExtraMapper<Item extends object, Context = TableUtilService<Item>> {
57
+ name: TableColumnNameExtra;
58
+ action: TableColumnActionExtra<Item, Context>;
59
+ }
60
+ export interface NormalizedDefaultExtraMapper<Item extends object, Context = TableUtilService<Item>> {
61
+ name: TableColumnNameExtra;
62
+ action: NormalizedTableColumnActionExtra<Item, Context>;
63
+ }
64
+ export type NormalizedTableColumnDef<Item extends object, Context = TableUtilService<Item>, Extra extends object = object, Name extends string = string> = TableColumnDef<Item, Context, Extra, Name> & {
65
+ sort?: TableColumnSort<Item>;
66
+ translate?: TableColumnTranslateHandler<Item, Context>;
67
+ };
68
+ export type TableColumn<Item extends object = KubernetesResource, Context = TableUtilService<Item>, Extra extends object = object, Name extends string = string> = string | TableColumnDef<Item, Context, Extra, Name>;
69
+ export type TableColumns<Item extends object = KubernetesResource, Context = TableUtilService<Item>, ExtendExtraMapper extends object = object, ExtraMapper extends object = DefaultExtraMapper<Item, Context> & ExtendExtraMapper, Name extends keyof ExtraMapper & string = keyof ExtraMapper & string> = ReadonlyArray<LiteralUnion<Name, string> | TableColumnDef<Item, Context, ExtraMapper[Name] & object, LiteralUnion<Name, string>>>;
70
+ export type TableColumnDefs<Item extends object = KubernetesResource, Context = TableUtilService<Item>, ExtendExtraMapper extends object = object, ExtraMapper extends object = NormalizedDefaultExtraMapper<Item, Context> & ExtendExtraMapper, Name extends keyof ExtraMapper & string = keyof ExtraMapper & string> = Array<NormalizedTableColumnDef<Item, Context, ExtraMapper[Name] & object, LiteralUnion<Name, string>>>;
71
+ export type TableFilterFn<Item extends object, Context = TableUtilService<Item>> = (this: Context, items: Item[], columnDefs: Array<TableColumnDef<Item, Context>>, activeSort?: Sort, filterParams?: Record<string, unknown>, context?: Context) => Item[];
@@ -0,0 +1,13 @@
1
+ import { Sort } from '@alauda/ui';
2
+ import { TableColumnDef, TableColumnDefPath } from './types';
3
+ import { K8sUtilService } from '@alauda-fe/dynamic-plugin-sdk';
4
+ import * as i0 from "@angular/core";
5
+ export declare const KNOWN_COLUMNS: Set<string>;
6
+ export declare class TableUtilService<Item extends object, K8sUtil extends K8sUtilService = K8sUtilService> {
7
+ readonly k8sUtil: K8sUtil;
8
+ constructor(k8sUtil: K8sUtil);
9
+ getValueFromPath(item: Item, name?: string, path?: TableColumnDefPath<Item, unknown>, context?: unknown): string | number;
10
+ defaultFilterFn(items: Item[], columnDefs: Array<TableColumnDef<Item, unknown>>, activeSort?: Sort, filterParams?: Record<string, unknown>, context?: unknown): Item[];
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableUtilService<any, any>, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<TableUtilService<any, any>>;
13
+ }
@@ -0,0 +1,16 @@
1
+ import { TagComponent } from '@alauda/ui';
2
+ import { TranslatePipe } from '@alauda-fe/dynamic-plugin-sdk';
3
+ import { NgIf } from '@angular/common';
4
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ export class DeletingTagComponent {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DeletingTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: DeletingTagComponent, isStandalone: true, selector: "acl-deleting-tag", inputs: { resource: "resource" }, ngImport: i0, template: "<aui-tag\n *ngIf=\"resource?.metadata?.deletionTimestamp\"\n type=\"error\"\n size=\"mini\"\n [border]=\"true\"\n>\n {{ 'deleting' | translate }}\n</aui-tag>\n", styles: ["aui-tag{display:inline-block;margin-left:8px;vertical-align:2px}\n"], dependencies: [{ kind: "component", type: TagComponent, selector: "aui-tag", inputs: ["type", "size", "closeable", "border", "solid", "invalid", "round", "color", "allowClick"], outputs: ["close"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: DeletingTagComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'acl-deleting-tag', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [TagComponent, NgIf, TranslatePipe], template: "<aui-tag\n *ngIf=\"resource?.metadata?.deletionTimestamp\"\n type=\"error\"\n size=\"mini\"\n [border]=\"true\"\n>\n {{ 'deleting' | translate }}\n</aui-tag>\n", styles: ["aui-tag{display:inline-block;margin-left:8px;vertical-align:2px}\n"] }]
13
+ }], propDecorators: { resource: [{
14
+ type: Input
15
+ }] } });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvZGVsZXRpbmctdGFnL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9jb21wb25lbnRzL2RlbGV0aW5nLXRhZy90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUUsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9CO2tHQUFwQixvQkFBb0IsOEdDZmpDLHNLQVFBLDRIREtZLFlBQVksNktBQUUsSUFBSSx3RkFBRSxhQUFhOzsyRkFFaEMsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDOzhCQUk1QyxRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWdDb21wb25lbnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAYWxhdWRhLWZlL2R5bmFtaWMtcGx1Z2luLXNkayc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEt1YmVybmV0ZXNSZXNvdXJjZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWRlbGV0aW5nLXRhZycsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbVGFnQ29tcG9uZW50LCBOZ0lmLCBUcmFuc2xhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVsZXRpbmdUYWdDb21wb25lbnQge1xuICBASW5wdXQoKVxuICByZXNvdXJjZTogS3ViZXJuZXRlc1Jlc291cmNlO1xufVxuIiwiPGF1aS10YWdcbiAgKm5nSWY9XCJyZXNvdXJjZT8ubWV0YWRhdGE/LmRlbGV0aW9uVGltZXN0YW1wXCJcbiAgdHlwZT1cImVycm9yXCJcbiAgc2l6ZT1cIm1pbmlcIlxuICBbYm9yZGVyXT1cInRydWVcIlxuPlxuICB7eyAnZGVsZXRpbmcnIHwgdHJhbnNsYXRlIH19XG48L2F1aS10YWc+XG4iXX0=
@@ -7,7 +7,7 @@ export * from './zero-state/zero-state.component';
7
7
  export * from './relative-time/component';
8
8
  export * from './foldable-block/component';
9
9
  export * from './foldable-item-in-table/component';
10
- export * from './terminating-tag/component';
10
+ export * from './deleting-tag/component';
11
11
  export * from './text-with-url/component';
12
12
  export * from './card-section/card-section.component';
13
13
  export * from './current-time/component';
@@ -30,7 +30,12 @@ export * from './disabled-container';
30
30
  export * from './upload-file/component';
31
31
  export * from './help-document';
32
32
  export * from './page-guard';
33
+ export * from './list-display/component';
34
+ export * from './overview-banner/component';
35
+ export * from './multi-search';
36
+ export * from './mutable';
37
+ export * from './table';
33
38
  export * from './namespace-selector';
34
39
  export * from './namespace-badge/component';
35
40
  export * from './test-tag/component';
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tZGVsZXRlL2NvbmZpcm0tZGVsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tZGVsZXRlL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQtc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtcHJlZml4LWxhYmVsL2RpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3plcm8tc3RhdGUvemVyby1zdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWxhdGl2ZS10aW1lL2NvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZm9sZGFibGUtYmxvY2svY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZm9sZGFibGUtaXRlbS1pbi10YWJsZS9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXJtaW5hdGluZy10YWcvY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC13aXRoLXVybC9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLXNlY3Rpb24vY2FyZC1zZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1cnJlbnQtdGltZS9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LXRvb2x0aXAvZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi90YWdzLWxhYmVsL2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy1pY29uL3N0YXR1cy1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtZWxsaXBzaXMvY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9wYXNzd29yZC1pbnB1dC9jb21wb25lbnQnO1xuZXhwb3J0IHsgUmVzb3VyY2VMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vcmVzb3VyY2UtbGFiZWwvY29tcG9uZW50JztcblxuZXhwb3J0IHsgUmVzb3VyY2VNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vcmVzb3VyY2UtbXVsdGktc2VsZWN0L2NvbXBvbmVudCc7XG5leHBvcnQge1xuICBpc1NlbGVjdEFsbCxcbiAgQUxMX1ZBTFVFLFxuICBjaGVja1ZhbHVlRXhpdCxcbn0gZnJvbSAnLi9yZXNvdXJjZS1tdWx0aS1zZWxlY3QvdXRpbCc7XG5leHBvcnQgeyBTZWFyY2hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcGFuZWwvc2VhcmNoLWl0ZW0vY29tcG9uZW50JztcbmV4cG9ydCB7IFNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcGFuZWwvY29tcG9uZW50JztcbmV4cG9ydCB7IFNlYXJjaEl0ZW1MYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL2hlbHBlci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1jb2x1bW5zLXNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2Qtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2xvYWQtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzYWJsZWQtY29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkLWZpbGUvY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaGVscC1kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtZ3VhcmQnO1xuXG5leHBvcnQgKiBmcm9tICcuL25hbWVzcGFjZS1zZWxlY3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL25hbWVzcGFjZS1iYWRnZS9jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Rlc3QtdGFnL2NvbXBvbmVudCc7XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFFeEIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tZGVsZXRlL2NvbmZpcm0tZGVsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tZGVsZXRlL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQtc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy1tYXNrL2xvYWRpbmctbWFzay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtcHJlZml4LWxhYmVsL2RpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3plcm8tc3RhdGUvemVyby1zdGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWxhdGl2ZS10aW1lL2NvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZm9sZGFibGUtYmxvY2svY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZm9sZGFibGUtaXRlbS1pbi10YWJsZS9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWxldGluZy10YWcvY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC13aXRoLXVybC9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLXNlY3Rpb24vY2FyZC1zZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2N1cnJlbnQtdGltZS9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LXRvb2x0aXAvZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi90YWdzLWxhYmVsL2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy1pY29uL3N0YXR1cy1pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtZWxsaXBzaXMvY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9wYXNzd29yZC1pbnB1dC9jb21wb25lbnQnO1xuZXhwb3J0IHsgUmVzb3VyY2VMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vcmVzb3VyY2UtbGFiZWwvY29tcG9uZW50JztcblxuZXhwb3J0IHsgUmVzb3VyY2VNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vcmVzb3VyY2UtbXVsdGktc2VsZWN0L2NvbXBvbmVudCc7XG5leHBvcnQge1xuICBpc1NlbGVjdEFsbCxcbiAgQUxMX1ZBTFVFLFxuICBjaGVja1ZhbHVlRXhpdCxcbn0gZnJvbSAnLi9yZXNvdXJjZS1tdWx0aS1zZWxlY3QvdXRpbCc7XG5leHBvcnQgeyBTZWFyY2hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcGFuZWwvc2VhcmNoLWl0ZW0vY29tcG9uZW50JztcbmV4cG9ydCB7IFNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcGFuZWwvY29tcG9uZW50JztcbmV4cG9ydCB7IFNlYXJjaEl0ZW1MYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoLXBhbmVsL2hlbHBlci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1jb2x1bW5zLXNldHRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2Qtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2xvYWQtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzYWJsZWQtY29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXBsb2FkLWZpbGUvY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaGVscC1kb2N1bWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWRpc3BsYXkvY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3ZlcnZpZXctYmFubmVyL2NvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpLXNlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL211dGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbmFtZXNwYWNlLXNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbmFtZXNwYWNlLWJhZGdlL2NvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdGVzdC10YWcvY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { TOOLTIP_MODULE } from '@alauda/ui';
2
+ import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, } from '@angular/core';
4
+ import { PurePipe } from '../../pipes';
5
+ import { TranslatePipe } from '@alauda-fe/dynamic-plugin-sdk';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@alauda/ui";
8
+ export class ListDisplayComponent {
9
+ constructor() {
10
+ this.mode = 'total';
11
+ this.direction = 'column';
12
+ }
13
+ templateContext(item) {
14
+ return {
15
+ ...item,
16
+ $implicit: item,
17
+ };
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ListDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: ListDisplayComponent, isStandalone: true, selector: "acl-list-display", inputs: { data: "data", threshold: "threshold", mode: "mode", direction: "direction", template: "template" }, queries: [{ propertyName: "childTemplate", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<div\n class=\"tw-flex\"\n [class]=\"{ 'tw-flex-col': direction === 'column' }\"\n>\n <ul>\n <li *ngFor=\"let item of threshold ? data.slice(0, threshold) : data\">\n <ng-container\n *ngTemplateOutlet=\"\n childTemplate || template;\n context: item | pure: templateContext\n \"\n ></ng-container>\n </li>\n </ul>\n <div\n [class]=\"{ 'tw-ml-8': direction === 'row' }\"\n *ngIf=\"threshold && data.length > threshold\"\n >\n <ng-container *ngIf=\"mode === 'total'\">\n {{ 'in_total' | translate }}\n <a\n [auiTooltip]=\"total\"\n auiTooltipType=\"info\"\n auiTooltipPosition=\"bottom center\"\n >\n {{ data.length }}\n </a>\n {{ 'ge' | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"mode === 'more'\">\n {{ 'more' | translate }}\n <a\n [auiTooltip]=\"more\"\n [auiTooltipContext]=\"{ data: data.slice(threshold) }\"\n auiTooltipType=\"info\"\n auiTooltipPosition=\"bottom center\"\n >\n {{ data.slice(threshold).length }}\n </a>\n {{ 'tiao' | translate }}\n </ng-container>\n </div>\n</div>\n\n<ng-template #total>\n <acl-list-display\n [data]=\"data\"\n [template]=\"childTemplate || template\"\n ></acl-list-display>\n</ng-template>\n\n<ng-template\n #more\n let-data=\"data\"\n>\n <acl-list-display\n [data]=\"data\"\n [template]=\"childTemplate || template\"\n ></acl-list-display>\n</ng-template>\n", styles: ["li{line-height:20px}\n"], dependencies: [{ kind: "component", type: ListDisplayComponent, selector: "acl-list-display", inputs: ["data", "threshold", "mode", "direction", "template"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: PurePipe, name: "pure" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: i1.TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiTooltipAnimType"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ListDisplayComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ standalone: true, selector: 'acl-list-display', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
25
+ NgFor,
26
+ NgIf,
27
+ NgTemplateOutlet,
28
+ PurePipe,
29
+ TranslatePipe,
30
+ TOOLTIP_MODULE,
31
+ ], template: "<div\n class=\"tw-flex\"\n [class]=\"{ 'tw-flex-col': direction === 'column' }\"\n>\n <ul>\n <li *ngFor=\"let item of threshold ? data.slice(0, threshold) : data\">\n <ng-container\n *ngTemplateOutlet=\"\n childTemplate || template;\n context: item | pure: templateContext\n \"\n ></ng-container>\n </li>\n </ul>\n <div\n [class]=\"{ 'tw-ml-8': direction === 'row' }\"\n *ngIf=\"threshold && data.length > threshold\"\n >\n <ng-container *ngIf=\"mode === 'total'\">\n {{ 'in_total' | translate }}\n <a\n [auiTooltip]=\"total\"\n auiTooltipType=\"info\"\n auiTooltipPosition=\"bottom center\"\n >\n {{ data.length }}\n </a>\n {{ 'ge' | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"mode === 'more'\">\n {{ 'more' | translate }}\n <a\n [auiTooltip]=\"more\"\n [auiTooltipContext]=\"{ data: data.slice(threshold) }\"\n auiTooltipType=\"info\"\n auiTooltipPosition=\"bottom center\"\n >\n {{ data.slice(threshold).length }}\n </a>\n {{ 'tiao' | translate }}\n </ng-container>\n </div>\n</div>\n\n<ng-template #total>\n <acl-list-display\n [data]=\"data\"\n [template]=\"childTemplate || template\"\n ></acl-list-display>\n</ng-template>\n\n<ng-template\n #more\n let-data=\"data\"\n>\n <acl-list-display\n [data]=\"data\"\n [template]=\"childTemplate || template\"\n ></acl-list-display>\n</ng-template>\n", styles: ["li{line-height:20px}\n"] }]
32
+ }], propDecorators: { data: [{
33
+ type: Input
34
+ }], threshold: [{
35
+ type: Input
36
+ }], mode: [{
37
+ type: Input
38
+ }], direction: [{
39
+ type: Input
40
+ }], template: [{
41
+ type: Input
42
+ }], childTemplate: [{
43
+ type: ContentChild,
44
+ args: [TemplateRef]
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2NvbXBvbmVudHMvbGlzdC1kaXNwbGF5L2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9jb21wb25lbnRzL2xpc3QtZGlzcGxheS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBdUI5RCxNQUFNLE9BQU8sb0JBQW9CO0lBckJqQztRQTZCRSxTQUFJLEdBQXFCLE9BQU8sQ0FBQztRQUdqQyxjQUFTLEdBQXFCLFFBQVEsQ0FBQztLQWN4QztJQU5DLGVBQWUsQ0FBQyxJQUFPO1FBQ3JCLE9BQU87WUFDTCxHQUFHLElBQUk7WUFDUCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ0osQ0FBQzs4R0F4QlUsb0JBQW9CO2tHQUFwQixvQkFBb0IscU9BZ0JqQixXQUFXLGdEQ2pEM0IsOCtDQTZEQSxnRkQ1QmEsb0JBQW9CLDZIQVI3QixLQUFLLG1IQUNMLElBQUksNkZBQ0osZ0JBQWdCLCtJQUNoQixRQUFRLHdDQUNSLGFBQWE7OzJGQUlKLG9CQUFvQjtrQkFyQmhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGtCQUFrQixtQkFTWCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixnQkFBZ0I7d0JBQ2hCLFFBQVE7d0JBQ1IsYUFBYTt3QkFDYixjQUFjO3FCQUNmOzhCQUlELElBQUk7c0JBREgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUT09MVElQX01PRFVMRSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHVyZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGFsYXVkYS1mZS9keW5hbWljLXBsdWdpbi1zZGsnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdhY2wtbGlzdC1kaXNwbGF5JyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yLFxuICAgIE5nSWYsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBQdXJlUGlwZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIFRPT0xUSVBfTU9EVUxFLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0RGlzcGxheUNvbXBvbmVudDxUPiB7XG4gIEBJbnB1dCgpXG4gIGRhdGE6IFRbXTtcblxuICBASW5wdXQoKVxuICB0aHJlc2hvbGQ6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBtb2RlOiAndG90YWwnIHwgJ21vcmUnID0gJ3RvdGFsJztcblxuICBASW5wdXQoKVxuICBkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicgPSAnY29sdW1uJztcblxuICBASW5wdXQoKVxuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKVxuICBjaGlsZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHRlbXBsYXRlQ29udGV4dChpdGVtOiBUKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInR3LWZsZXhcIlxuICBbY2xhc3NdPVwieyAndHctZmxleC1jb2wnOiBkaXJlY3Rpb24gPT09ICdjb2x1bW4nIH1cIlxuPlxuICA8dWw+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRocmVzaG9sZCA/IGRhdGEuc2xpY2UoMCwgdGhyZXNob2xkKSA6IGRhdGFcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBjaGlsZFRlbXBsYXRlIHx8IHRlbXBsYXRlO1xuICAgICAgICAgIGNvbnRleHQ6IGl0ZW0gfCBwdXJlOiB0ZW1wbGF0ZUNvbnRleHRcbiAgICAgICAgXCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L2xpPlxuICA8L3VsPlxuICA8ZGl2XG4gICAgW2NsYXNzXT1cInsgJ3R3LW1sLTgnOiBkaXJlY3Rpb24gPT09ICdyb3cnIH1cIlxuICAgICpuZ0lmPVwidGhyZXNob2xkICYmIGRhdGEubGVuZ3RoID4gdGhyZXNob2xkXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAndG90YWwnXCI+XG4gICAgICB7eyAnaW5fdG90YWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8YVxuICAgICAgICBbYXVpVG9vbHRpcF09XCJ0b3RhbFwiXG4gICAgICAgIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICAgICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIlxuICAgICAgPlxuICAgICAgICB7eyBkYXRhLmxlbmd0aCB9fVxuICAgICAgPC9hPlxuICAgICAge3sgJ2dlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICdtb3JlJ1wiPlxuICAgICAge3sgJ21vcmUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8YVxuICAgICAgICBbYXVpVG9vbHRpcF09XCJtb3JlXCJcbiAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgZGF0YTogZGF0YS5zbGljZSh0aHJlc2hvbGQpIH1cIlxuICAgICAgICBhdWlUb29sdGlwVHlwZT1cImluZm9cIlxuICAgICAgICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gY2VudGVyXCJcbiAgICAgID5cbiAgICAgICAge3sgZGF0YS5zbGljZSh0aHJlc2hvbGQpLmxlbmd0aCB9fVxuICAgICAgPC9hPlxuICAgICAge3sgJ3RpYW8nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdG90YWw+XG4gIDxhY2wtbGlzdC1kaXNwbGF5XG4gICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgW3RlbXBsYXRlXT1cImNoaWxkVGVtcGxhdGUgfHwgdGVtcGxhdGVcIlxuICA+PC9hY2wtbGlzdC1kaXNwbGF5PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNtb3JlXG4gIGxldC1kYXRhPVwiZGF0YVwiXG4+XG4gIDxhY2wtbGlzdC1kaXNwbGF5XG4gICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgW3RlbXBsYXRlXT1cImNoaWxkVGVtcGxhdGUgfHwgdGVtcGxhdGVcIlxuICA+PC9hY2wtbGlzdC1kaXNwbGF5PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==