@indigina/kendo 1.2.23 → 1.2.24

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 (147) hide show
  1. package/{esm2020 → esm2022}/lib/angular/forms/directives/debounce.directive.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/angular/forms/widgets/field/field-input/field-input.component.mjs +6 -6
  3. package/{esm2020 → esm2022}/lib/angular/forms/widgets/field/field-input/field-input.module.mjs +5 -5
  4. package/{esm2020 → esm2022}/lib/angular/forms/widgets/field/field-input/number-input.component.mjs +6 -6
  5. package/{esm2020 → esm2022}/lib/angular/forms/widgets/field/field.component.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +4 -4
  7. package/esm2022/lib/angular/indigina.module.mjs +193 -0
  8. package/{esm2020 → esm2022}/lib/angular/models/AppSettings.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/angular/models/IndiginaConfiguration.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/angular/services/http.service.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/angular/services/locale-settings.service.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/angular/services/settings.service.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/angular/services/toastr.service.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/angular/widgets/live-updates-control/live-updates-control.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/angular/widgets/side-menu/side-menu.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/tree-view.component.mjs +5 -5
  19. package/{esm2020 → esm2022}/lib/components/account-menu/account-menu.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/components/azure-login-callback/azure-login-callback.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/components/language-selector/language-selector.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/directives/requirePermission.directive.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/interceptors/auth-headers.interceptor.mjs +4 -4
  24. package/esm2022/lib/kendo.module.mjs +275 -0
  25. package/{esm2020 → esm2022}/lib/services/account.service.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/services/activity.filter.service.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/services/auth-provider.resolver.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/services/partner.service.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/services/permissions.service.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/services/signalr/signalr.service.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/widgets/activity-filter/activity-filter.component.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/widgets/confirm-dialog/confirm-dialog.component.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/widgets/current-timezone/current-timezone.component.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/widgets/entity-edit/entity-edit-form.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.mjs +6 -6
  37. package/{esm2020 → esm2022}/lib/widgets/entity-edit/field-dropdown/field-dropdown.module.mjs +11 -11
  38. package/esm2022/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +72 -0
  39. package/{esm2020 → esm2022}/lib/widgets/entity-list/entity-list.component.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/widgets/entity-list/user-list-admin.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/widgets/excel-export-button/excel-export-button.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/widgets/footer-bar/footer-bar.component.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/widgets/modal-window/modal-window.component.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/widgets/multicheck-filter/multicheck-filter.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/widgets/top-bar/top-bar.component.mjs +4 -4
  47. package/{fesm2020 → fesm2022}/indigina-kendo.mjs +327 -327
  48. package/fesm2022/indigina-kendo.mjs.map +1 -0
  49. package/lib/angular/forms/directives/debounce.directive.d.ts +1 -1
  50. package/lib/angular/forms/widgets/field/field-input/field-input.component.d.ts +1 -1
  51. package/lib/angular/forms/widgets/field/field-input/number-input.component.d.ts +1 -1
  52. package/lib/angular/forms/widgets/field/field.component.d.ts +1 -1
  53. package/lib/angular/forms/widgets/general-errors/general-errors.component.d.ts +1 -1
  54. package/lib/angular/widgets/live-updates-control/live-updates-control.component.d.ts +1 -1
  55. package/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  56. package/lib/angular/widgets/side-menu/side-menu.component.d.ts +1 -1
  57. package/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.d.ts +1 -1
  58. package/lib/angular/widgets/tree-view/tree-view.component.d.ts +1 -1
  59. package/lib/components/account-menu/account-menu.component.d.ts +1 -1
  60. package/lib/components/language-selector/language-selector.component.d.ts +1 -1
  61. package/lib/directives/requirePermission.directive.d.ts +1 -1
  62. package/lib/widgets/activity-filter/activity-filter.component.d.ts +1 -1
  63. package/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.d.ts +1 -1
  64. package/lib/widgets/entity-edit/entity-edit-form.component.d.ts +1 -1
  65. package/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.d.ts +1 -1
  66. package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +1 -1
  67. package/lib/widgets/entity-list/entity-list.component.d.ts +1 -1
  68. package/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.d.ts +1 -1
  69. package/lib/widgets/modal-window/modal-window.component.d.ts +1 -1
  70. package/lib/widgets/multicheck-filter/multicheck-filter.component.d.ts +1 -1
  71. package/lib/widgets/top-bar/top-bar.component.d.ts +1 -1
  72. package/package.json +34 -40
  73. package/esm2020/lib/angular/indigina.module.mjs +0 -193
  74. package/esm2020/lib/kendo.module.mjs +0 -275
  75. package/esm2020/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +0 -72
  76. package/fesm2015/indigina-kendo.mjs +0 -3344
  77. package/fesm2015/indigina-kendo.mjs.map +0 -1
  78. package/fesm2020/indigina-kendo.mjs.map +0 -1
  79. /package/{esm2020 → esm2022}/indigina-kendo.mjs +0 -0
  80. /package/{esm2020 → esm2022}/lib/angular/extensions/ISubscriptionControl.mjs +0 -0
  81. /package/{esm2020 → esm2022}/lib/angular/extensions/ReEntrySubscription.mjs +0 -0
  82. /package/{esm2020 → esm2022}/lib/angular/forms/extensions/FormGroupWithErrors.mjs +0 -0
  83. /package/{esm2020 → esm2022}/lib/angular/models/CustomHttpErrorResponse.mjs +0 -0
  84. /package/{esm2020 → esm2022}/lib/angular/models/HttpCodes.mjs +0 -0
  85. /package/{esm2020 → esm2022}/lib/angular/models/HttpMethods.mjs +0 -0
  86. /package/{esm2020 → esm2022}/lib/angular/models/IdentifiedModel.mjs +0 -0
  87. /package/{esm2020 → esm2022}/lib/angular/models/Language.mjs +0 -0
  88. /package/{esm2020 → esm2022}/lib/angular/models/NamedModel.mjs +0 -0
  89. /package/{esm2020 → esm2022}/lib/angular/models/removable.interface.mjs +0 -0
  90. /package/{esm2020 → esm2022}/lib/angular/widgets/side-menu/MenuItem.mjs +0 -0
  91. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/AbstractContentResolver.mjs +0 -0
  92. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/ContentResolver.mjs +0 -0
  93. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/Converters/EnumTypeGetter.mjs +0 -0
  94. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/Converters/JsonConverter.mjs +0 -0
  95. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/Converters/TextConverter.mjs +0 -0
  96. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/Converters/XmlConverter.mjs +0 -0
  97. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/IContentResolver.mjs +0 -0
  98. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/Resolvers/JsonResolver.mjs +0 -0
  99. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/Resolvers/TextResolver.mjs +0 -0
  100. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/ContentResolver/Resolvers/XmlResolver.mjs +0 -0
  101. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/Prettifiers/IPrettifier.mjs +0 -0
  102. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/Prettifiers/JsonPrettifier.mjs +0 -0
  103. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/Prettifiers/PrettifierFactory.mjs +0 -0
  104. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/Prettifiers/TextPrettifier.mjs +0 -0
  105. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/Prettifiers/XMLPrettifier.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/models/Brackets.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/models/ContentTypesFormat.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/models/ResolverResult.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/models/TreeViewNode.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/angular/widgets/tree-view/models/TreeViewNodeTypes.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/components/account-menu/AccountMenuItem.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/config/msal-instance.factory.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/models/ActivityFilter.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/models/AzureB2CSettings.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/models/CustomFilter.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/models/CustomFilterElement.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/models/FieldTypes.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/models/FilterTargets.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/models/Member.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/models/MemberBase.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/models/MemberTypes.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/models/Operators.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/models/Page.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/models/PermissionTypes.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/models/Permissions.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/models/SystemInfo.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/models/User.mjs +0 -0
  128. /package/{esm2020 → esm2022}/lib/services/IActivityEndpoints.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/services/IEntityEndpoints.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/services/IEntityService.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/services/activity.filter.service.config.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/services/auth.providers/AuthProvider.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/services/auth.providers/azureb2c.provider.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/services/base.account.service.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/services/endpoints.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/services/entity.service.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/services/get-page.service.interface.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/services/services.config.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/services/signalr/EventNames.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/services/url-params.model.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/widgets/activity-filter/FilterConverter.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/widgets/entity-edit/IFormAdapter.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/widgets/entity-edit/entity-edit.component.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/widgets/entity-list/Command.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/widgets/entity-list/Field.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/widgets/entity-list/UrlSerializer.mjs +0 -0
  147. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -10,5 +10,5 @@ export declare class DebounceDirective implements OnInit, OnDestroy {
10
10
  ngOnDestroy(): void;
11
11
  keyUpEvent(event: any): void;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<DebounceDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<DebounceDirective, "[appDebounce]", never, { "debounceTime": "debounceTime"; }, { "debounceKeyup": "debounceKeyup"; }, never, never, false, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DebounceDirective, "[appDebounce]", never, { "debounceTime": { "alias": "debounceTime"; "required": false; }; }, { "debounceKeyup": "debounceKeyup"; }, never, never, false, never>;
14
14
  }
@@ -11,5 +11,5 @@ export declare class FieldInputComponent extends FieldComponent<string> {
11
11
  constructor(parent: FormGroupDirective, eref: ElementRef);
12
12
  protected setAttribute(name: string, value: string): ValidatorFn;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldInputComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldInputComponent, "field-input", never, { "labelKey": "labelKey"; "fieldName": "fieldName"; }, {}, never, ["*"], false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldInputComponent, "field-input", never, { "labelKey": { "alias": "labelKey"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; }, {}, never, ["*"], false, never>;
15
15
  }
@@ -12,5 +12,5 @@ export declare class NumberInputComponent extends FieldInputComponent {
12
12
  private presetDefaultValue;
13
13
  private isNaNValidator;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberInputComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent, "number-input", never, { "isPositive": "isPositive"; }, {}, never, ["*"], false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent, "number-input", never, { "isPositive": { "alias": "isPositive"; "required": false; }; }, {}, never, ["*"], false, never>;
16
16
  }
@@ -16,5 +16,5 @@ export declare abstract class FieldComponent<T> implements OnInit, OnChanges {
16
16
  protected setAttribute(name: string, value: string): ValidatorFn;
17
17
  updateState(): void;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldComponent<any>, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<FieldComponent<any>, never, never, { "labelKey": "labelKey"; "fieldName": "fieldName"; "disabled": "disabled"; }, {}, never, never, false, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FieldComponent<any>, never, never, { "labelKey": { "alias": "labelKey"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
20
20
  }
@@ -6,5 +6,5 @@ export declare class GeneralErrorsComponent implements OnChanges {
6
6
  errors: string[];
7
7
  ngOnChanges(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<GeneralErrorsComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<GeneralErrorsComponent, "app-general-errors", never, { "form": "form"; "errors": "errors"; }, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<GeneralErrorsComponent, "app-general-errors", never, { "form": { "alias": "form"; "required": false; }; "errors": { "alias": "errors"; "required": false; }; }, {}, never, never, false, never>;
10
10
  }
@@ -6,5 +6,5 @@ export declare class LiveUpdatesControlComponent implements OnInit {
6
6
  ngOnInit(): void;
7
7
  toggle(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<LiveUpdatesControlComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<LiveUpdatesControlComponent, "live-updates-control", never, { "subscription": "subscription"; }, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<LiveUpdatesControlComponent, "live-updates-control", never, { "subscription": { "alias": "subscription"; "required": false; }; }, {}, never, never, false, never>;
10
10
  }
@@ -14,5 +14,5 @@ export declare class MenuItemGroupComponent implements OnChanges, OnInit {
14
14
  private setItemExpand;
15
15
  private setActualPath;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemGroupComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemGroupComponent, "[menu-item-group]", never, { "item": "item"; }, {}, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemGroupComponent, "[menu-item-group]", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, false, never>;
18
18
  }
@@ -8,5 +8,5 @@ export declare class SideMenuComponent {
8
8
  onLogoClick(): void;
9
9
  collapse(itemComponent: MenuItemGroupComponent, activeItem: MenuItem, event: MouseEvent): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<SideMenuComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<SideMenuComponent, "side-menu", never, { "items": "items"; }, { "logoClick": "logoClick"; }, never, never, false, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<SideMenuComponent, "side-menu", never, { "items": { "alias": "items"; "required": false; }; }, { "logoClick": "logoClick"; }, never, never, false, never>;
12
12
  }
@@ -11,5 +11,5 @@ export declare class TreeViewNodeComponent implements OnInit {
11
11
  expandAll(): void;
12
12
  collapseAll(): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewNodeComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewNodeComponent, "tree-view-node", never, { "node": "node"; "hasExpand": "hasExpand"; }, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewNodeComponent, "tree-view-node", never, { "node": { "alias": "node"; "required": false; }; "hasExpand": { "alias": "hasExpand"; "required": false; }; }, {}, never, never, false, never>;
15
15
  }
@@ -28,5 +28,5 @@ export declare class TreeViewComponent implements OnChanges {
28
28
  private hasTextCollapse;
29
29
  private hasNodeCollapse;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewComponent, "tree-view", never, { "data": "data"; "maxTextLength": "maxTextLength"; "maxRootItems": "maxRootItems"; }, {}, never, never, false, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewComponent, "tree-view", never, { "data": { "alias": "data"; "required": false; }; "maxTextLength": { "alias": "maxTextLength"; "required": false; }; "maxRootItems": { "alias": "maxRootItems"; "required": false; }; }, {}, never, never, false, never>;
32
32
  }
@@ -21,5 +21,5 @@ export declare class AccountMenuComponent {
21
21
  openLanguageSelector(event: MouseEvent): void;
22
22
  clickedOutside(event: any): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<AccountMenuComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<AccountMenuComponent, "account-menu", never, { "user": "user"; "menuItems": "menuItems"; }, {}, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<AccountMenuComponent, "account-menu", never, { "user": { "alias": "user"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; }, {}, never, never, false, never>;
25
25
  }
@@ -14,5 +14,5 @@ export declare class LanguageSelectorComponent {
14
14
  close(): void;
15
15
  clickedOutside(event: any): void;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorComponent, "language-selector", never, { "visible": "visible"; }, { "visibleChange": "visibleChange"; }, never, never, false, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorComponent, "language-selector", never, { "visible": { "alias": "visible"; "required": false; }; }, { "visibleChange": "visibleChange"; }, never, never, false, never>;
18
18
  }
@@ -17,5 +17,5 @@ export declare class RequirePermissionDirective implements OnInit {
17
17
  private hasType;
18
18
  private getRouteCategory;
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<RequirePermissionDirective, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<RequirePermissionDirective, "[requirePermission]", never, { "permissionType": "permissionType"; "permissionCategory": "permissionCategory"; }, {}, never, never, false, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RequirePermissionDirective, "[requirePermission]", never, { "permissionType": { "alias": "permissionType"; "required": false; }; "permissionCategory": { "alias": "permissionCategory"; "required": false; }; }, {}, never, never, false, never>;
21
21
  }
@@ -28,5 +28,5 @@ export declare class ActivityFilterComponent implements OnInit, OnChanges {
28
28
  private changeFilter;
29
29
  private emitChangeEvents;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<ActivityFilterComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<ActivityFilterComponent, "activity-filter", never, { "showArchiveSwitcher": "showArchiveSwitcher"; "showSearhText": "showSearhText"; "customFilterElements": "customFilterElements"; "filterService": "filterService"; }, {}, never, ["*"], false, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActivityFilterComponent, "activity-filter", never, { "showArchiveSwitcher": { "alias": "showArchiveSwitcher"; "required": false; }; "showSearhText": { "alias": "showSearhText"; "required": false; }; "customFilterElements": { "alias": "customFilterElements"; "required": false; }; "filterService": { "alias": "filterService"; "required": false; }; }, {}, never, ["*"], false, never>;
32
32
  }
@@ -4,5 +4,5 @@ export declare class EntityEditButtonsBarComponent {
4
4
  valid: boolean;
5
5
  save: EventEmitter<boolean>;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityEditButtonsBarComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<EntityEditButtonsBarComponent, "entity-edit-buttons-bar", never, { "valid": "valid"; }, { "save": "save"; }, never, never, false, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityEditButtonsBarComponent, "entity-edit-buttons-bar", never, { "valid": { "alias": "valid"; "required": false; }; }, { "save": "save"; }, never, never, false, never>;
8
8
  }
@@ -20,5 +20,5 @@ export declare class EntityEditFormComponent implements OnInit, OnDestroy, OnCha
20
20
  loadEntity(id?: string): void;
21
21
  save(): void;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityEditFormComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<EntityEditFormComponent, "entity-edit-form", never, { "title": "title"; "entityId": "entityId"; "adapter": "adapter"; }, {}, never, ["*"], false, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityEditFormComponent, "entity-edit-form", never, { "title": { "alias": "title"; "required": false; }; "entityId": { "alias": "entityId"; "required": false; }; "adapter": { "alias": "adapter"; "required": false; }; }, {}, never, ["*"], false, never>;
24
24
  }
@@ -19,5 +19,5 @@ export declare class FieldDropdownComponent extends FieldComponent<string> {
19
19
  ngOnChanges(): void;
20
20
  setData(): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldDropdownComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldDropdownComponent, "field-dropdown", never, { "service": "service"; "rebind": "rebind"; "filter": "filter"; }, {}, never, never, false, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldDropdownComponent, "field-dropdown", never, { "service": { "alias": "service"; "required": false; }; "rebind": { "alias": "rebind"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; }, {}, never, never, false, never>;
23
23
  }
@@ -25,5 +25,5 @@ export declare class FieldMultiSelectComponent<T> extends FieldComponent<string[
25
25
  onPopupOpen(event: PreventableEvent): void;
26
26
  private getData;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldMultiSelectComponent<any>, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldMultiSelectComponent<any>, "field-multiselect", never, { "service": "service"; "rebind": "rebind"; "filter": "filter"; "textField": "textField"; "valueField": "valueField"; "singleMode": "singleMode"; "autoClose": "autoClose"; }, { "changed": "changed"; }, never, never, false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldMultiSelectComponent<any>, "field-multiselect", never, { "service": { "alias": "service"; "required": false; }; "rebind": { "alias": "rebind"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "singleMode": { "alias": "singleMode"; "required": false; }; "autoClose": { "alias": "autoClose"; "required": false; }; }, { "changed": "changed"; }, never, never, false, never>;
29
29
  }
@@ -60,5 +60,5 @@ export declare class EntityListComponent implements OnInit, OnChanges {
60
60
  private onFilterChange;
61
61
  private restoreGridState;
62
62
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityListComponent, never>;
63
- static ɵcmp: i0.ɵɵComponentDeclaration<EntityListComponent, "entity-list", never, { "service": "service"; "filters": "filters"; "fields": "fields"; "commands": "commands"; "rowClass": "rowClass"; "defaultSort": "defaultSort"; "mapItemFn": "mapItemFn"; "pageButtonsCount": "pageButtonsCount"; }, { "filterChange": "filterChange"; }, never, ["*"], false, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntityListComponent, "entity-list", never, { "service": { "alias": "service"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "commands": { "alias": "commands"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "defaultSort": { "alias": "defaultSort"; "required": false; }; "mapItemFn": { "alias": "mapItemFn"; "required": false; }; "pageButtonsCount": { "alias": "pageButtonsCount"; "required": false; }; }, { "filterChange": "filterChange"; }, never, ["*"], false, never>;
64
64
  }
@@ -20,5 +20,5 @@ export declare class FieldDropdownlistComponent implements OnInit {
20
20
  onValueChange(event: NamedModel): void;
21
21
  initSelectedId(id: string): void;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<FieldDropdownlistComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<FieldDropdownlistComponent, "field-dropdownlist", never, { "service": "service"; "label": "label"; "sort": "sort"; }, { "valueChange": "valueChange"; }, never, never, false, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<FieldDropdownlistComponent, "field-dropdownlist", never, { "service": { "alias": "service"; "required": false; }; "label": { "alias": "label"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
24
24
  }
@@ -8,5 +8,5 @@ export declare class ModalWindowComponent {
8
8
  opened: boolean;
9
9
  close(): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalWindowComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<ModalWindowComponent, "modal-window", never, { "callbackPath": "callbackPath"; }, {}, never, ["*"], false, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<ModalWindowComponent, "modal-window", never, { "callbackPath": { "alias": "callbackPath"; "required": false; }; }, {}, never, ["*"], false, never>;
12
12
  }
@@ -21,5 +21,5 @@ export declare class MulticheckFilterComponent implements AfterViewInit {
21
21
  onSelectionChange(item: NamedModel): void;
22
22
  onInput(e: any): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<MulticheckFilterComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<MulticheckFilterComponent, "multicheck-filter", never, { "currentFilter": "currentFilter"; "data": "data"; "filterService": "filterService"; "field": "field"; "valueField": "valueField"; }, { "valueChange": "valueChange"; }, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<MulticheckFilterComponent, "multicheck-filter", never, { "currentFilter": { "alias": "currentFilter"; "required": false; }; "data": { "alias": "data"; "required": false; }; "filterService": { "alias": "filterService"; "required": false; }; "field": { "alias": "field"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
25
25
  }
@@ -6,5 +6,5 @@ export declare class TopMenuComponent {
6
6
  menuItems: AccountMenuItem[];
7
7
  toggleButtonClick(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TopMenuComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<TopMenuComponent, "top-bar", never, { "currentUser": "currentUser"; "menuItems": "menuItems"; }, {}, never, ["*"], false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<TopMenuComponent, "top-bar", never, { "currentUser": { "alias": "currentUser"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; }, {}, never, ["*"], false, never>;
10
10
  }
package/package.json CHANGED
@@ -1,51 +1,47 @@
1
1
  {
2
2
  "name": "@indigina/kendo",
3
- "version": "1.2.23",
3
+ "version": "1.2.24",
4
4
  "peerDependencies": {
5
- "@angular/compiler": "^15.2.3",
6
- "@angular/core": "^15.2.3"
5
+ "@angular/compiler": "^16.2.8",
6
+ "@angular/core": "^16.2.8"
7
7
  },
8
8
  "dependencies": {
9
- "@progress/kendo-angular-buttons": "^11.4.0",
10
- "@progress/kendo-angular-common": "^11.4.0",
11
- "@progress/kendo-angular-dateinputs": "^11.4.0",
12
- "@progress/kendo-angular-dialog": "^11.4.0",
13
- "@progress/kendo-angular-dropdowns": "^11.4.0",
14
- "@progress/kendo-angular-excel-export": "^11.4.0",
15
- "@progress/kendo-angular-grid": "^11.4.0",
16
- "@progress/kendo-angular-inputs": "^11.4.0",
17
- "@progress/kendo-angular-intl": "^11.4.0",
18
- "@progress/kendo-angular-l10n": "^11.4.0",
19
- "@progress/kendo-angular-label": "^11.4.0",
20
- "@progress/kendo-angular-pdf-export": "^11.4.0",
21
- "@progress/kendo-angular-popup": "^11.4.0",
22
- "@progress/kendo-angular-tooltip": "^11.4.0",
23
- "@progress/kendo-angular-treeview": "^11.4.0",
24
- "@progress/kendo-data-query": "^1.6.0",
25
- "@progress/kendo-drawing": "^1.17.4",
26
- "@progress/kendo-theme-default": "^6.2.0",
9
+ "@progress/kendo-angular-buttons": "^13.5.0",
10
+ "@progress/kendo-angular-common": "^13.5.0",
11
+ "@progress/kendo-angular-dateinputs": "^13.5.0",
12
+ "@progress/kendo-angular-dialog": "^13.5.0",
13
+ "@progress/kendo-angular-dropdowns": "^13.5.0",
14
+ "@progress/kendo-angular-excel-export": "^13.5.0",
15
+ "@progress/kendo-angular-grid": "^13.5.0",
16
+ "@progress/kendo-angular-inputs": "^13.5.0",
17
+ "@progress/kendo-angular-intl": "^13.5.0",
18
+ "@progress/kendo-angular-l10n": "^13.5.0",
19
+ "@progress/kendo-angular-label": "^13.5.0",
20
+ "@progress/kendo-angular-pdf-export": "^13.5.0",
21
+ "@progress/kendo-angular-popup": "^13.5.0",
22
+ "@progress/kendo-angular-tooltip": "^13.5.0",
23
+ "@progress/kendo-angular-treeview": "^13.5.0",
24
+ "@progress/kendo-data-query": "^1.7.0",
25
+ "@progress/kendo-drawing": "^1.18.0",
26
+ "@progress/kendo-theme-default": "^6.7.0",
27
27
  "@progress/kendo-licensing": ">1.1.2",
28
28
  "async-mutex": "^0.4.0",
29
- "@azure/msal-angular": "^2.5.4",
30
- "@azure/msal-browser": "^2.34.0",
31
- "@microsoft/signalr": "^7.0.4",
32
- "moment": "^2.29.3",
33
- "moment-timezone": "^0.5.41",
34
- "@ngx-translate/core": "^14.0.0",
35
- "ngx-clipboard": "^15.1.0",
36
- "bootstrap": "^3.3.6",
29
+ "@azure/msal-angular": "^3.0.5",
30
+ "@azure/msal-browser": "^3.2.0",
31
+ "@microsoft/signalr": "^7.0.11",
32
+ "moment": "^2.29.4",
33
+ "moment-timezone": "^0.5.43",
34
+ "@ngx-translate/core": "^15.0.0",
35
+ "ngx-clipboard": "^16.0.0",
36
+ "bootstrap": "^3.4.1",
37
37
  "font-awesome": "^4.7.0",
38
- "ngx-toastr": "^16.1.0",
38
+ "ngx-toastr": "^17.0.2",
39
39
  "@ngx-loading-bar/core": "^6.0.2",
40
40
  "@ngx-loading-bar/http-client": "^6.0.2",
41
41
  "xml-beautify": "^1.2.3",
42
42
  "tslib": "^2.3.0"
43
43
  },
44
- "module": "fesm2015/indigina-kendo.mjs",
45
- "es2020": "fesm2020/indigina-kendo.mjs",
46
- "esm2020": "esm2020/indigina-kendo.mjs",
47
- "fesm2020": "fesm2020/indigina-kendo.mjs",
48
- "fesm2015": "fesm2015/indigina-kendo.mjs",
44
+ "module": "fesm2022/indigina-kendo.mjs",
49
45
  "typings": "index.d.ts",
50
46
  "exports": {
51
47
  "./package.json": {
@@ -53,11 +49,9 @@
53
49
  },
54
50
  ".": {
55
51
  "types": "./index.d.ts",
56
- "esm2020": "./esm2020/indigina-kendo.mjs",
57
- "es2020": "./fesm2020/indigina-kendo.mjs",
58
- "es2015": "./fesm2015/indigina-kendo.mjs",
59
- "node": "./fesm2015/indigina-kendo.mjs",
60
- "default": "./fesm2020/indigina-kendo.mjs"
52
+ "esm2022": "./esm2022/indigina-kendo.mjs",
53
+ "esm": "./esm2022/indigina-kendo.mjs",
54
+ "default": "./fesm2022/indigina-kendo.mjs"
61
55
  }
62
56
  },
63
57
  "sideEffects": false
@@ -1,193 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { HttpClient, HttpClientModule } from '@angular/common/http';
3
- import { APP_INITIALIZER, NgModule } from '@angular/core';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { BrowserModule } from '@angular/platform-browser';
6
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
- import { RouterModule } from '@angular/router';
8
- import { LoadingBarHttpClientModule } from '@ngx-loading-bar/http-client';
9
- import { TranslateLoader, TranslateModule, TranslateStore, } from '@ngx-translate/core';
10
- import { ClipboardModule } from 'ngx-clipboard';
11
- import { ToastrModule } from 'ngx-toastr';
12
- import { of } from 'rxjs';
13
- import { DebounceDirective } from './forms/directives/debounce.directive';
14
- import { FieldInputModule } from './forms/widgets/field/field-input/field-input.module';
15
- import { GeneralErrorsComponent } from './forms/widgets/general-errors/general-errors.component';
16
- import { AppSettings } from './models/AppSettings';
17
- import { IndiginaConfiguration } from './models/IndiginaConfiguration';
18
- import { LocaleSettingsService } from './services/locale-settings.service';
19
- import { MenuItemGroupComponent } from './widgets/side-menu/menu-item-group/menu-item-group.component';
20
- import { SideMenuComponent } from './widgets/side-menu/side-menu.component';
21
- import { TreeViewNodeComponent } from './widgets/tree-view/tree-view-node/tree-view-node.component';
22
- import { TreeViewComponent } from './widgets/tree-view/tree-view.component';
23
- import * as i0 from "@angular/core";
24
- import * as i1 from "@ngx-translate/core";
25
- import * as i2 from "ngx-toastr";
26
- let defaultConfig = {
27
- langs: {
28
- getTranslation() {
29
- return of({});
30
- },
31
- },
32
- appSettings: {
33
- accountUrl: '',
34
- apiUrl: '',
35
- toastrTimeOut: 2500,
36
- azureB2C: {
37
- clientId: '',
38
- authority: '',
39
- knownAuthorities: [''],
40
- },
41
- },
42
- };
43
- export class IndiginaModule {
44
- static forRoot(configuration) {
45
- return {
46
- ngModule: IndiginaModule,
47
- providers: [
48
- {
49
- provide: APP_INITIALIZER,
50
- useFactory: LocaleServiceSettingsFactory,
51
- multi: true,
52
- deps: [LocaleSettingsService],
53
- },
54
- {
55
- provide: IndiginaConfiguration,
56
- useValue: configuration ? configuration : defaultConfig,
57
- },
58
- ],
59
- };
60
- }
61
- }
62
- IndiginaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: IndiginaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
63
- IndiginaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: IndiginaModule, declarations: [SideMenuComponent,
64
- MenuItemGroupComponent,
65
- TreeViewComponent,
66
- TreeViewNodeComponent,
67
- DebounceDirective,
68
- GeneralErrorsComponent], imports: [BrowserModule,
69
- HttpClientModule, i1.TranslateModule, LoadingBarHttpClientModule,
70
- CommonModule,
71
- RouterModule,
72
- ReactiveFormsModule, i2.ToastrModule, BrowserAnimationsModule,
73
- FieldInputModule], exports: [SideMenuComponent,
74
- TreeViewComponent,
75
- DebounceDirective,
76
- GeneralErrorsComponent,
77
- TranslateModule,
78
- ClipboardModule,
79
- LoadingBarHttpClientModule,
80
- ToastrModule,
81
- BrowserAnimationsModule,
82
- FieldInputModule] });
83
- IndiginaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: IndiginaModule, providers: [
84
- {
85
- provide: APP_INITIALIZER,
86
- useFactory: LocaleServiceSettingsFactory,
87
- multi: true,
88
- deps: [LocaleSettingsService],
89
- },
90
- {
91
- provide: IndiginaConfiguration,
92
- useValue: defaultConfig,
93
- },
94
- {
95
- provide: AppSettings,
96
- useFactory: AppSettingsFactory,
97
- deps: [IndiginaConfiguration],
98
- },
99
- TranslateStore,
100
- ], imports: [BrowserModule,
101
- HttpClientModule,
102
- TranslateModule.forChild({
103
- loader: {
104
- provide: TranslateLoader,
105
- useFactory: TranslateLoaderFactory,
106
- deps: [IndiginaConfiguration, HttpClient],
107
- },
108
- }),
109
- LoadingBarHttpClientModule,
110
- CommonModule,
111
- RouterModule,
112
- ReactiveFormsModule,
113
- ToastrModule.forRoot(),
114
- BrowserAnimationsModule,
115
- FieldInputModule, TranslateModule,
116
- ClipboardModule,
117
- LoadingBarHttpClientModule,
118
- ToastrModule,
119
- BrowserAnimationsModule,
120
- FieldInputModule] });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: IndiginaModule, decorators: [{
122
- type: NgModule,
123
- args: [{
124
- declarations: [
125
- SideMenuComponent,
126
- MenuItemGroupComponent,
127
- TreeViewComponent,
128
- TreeViewNodeComponent,
129
- DebounceDirective,
130
- GeneralErrorsComponent,
131
- ],
132
- imports: [
133
- BrowserModule,
134
- HttpClientModule,
135
- TranslateModule.forChild({
136
- loader: {
137
- provide: TranslateLoader,
138
- useFactory: TranslateLoaderFactory,
139
- deps: [IndiginaConfiguration, HttpClient],
140
- },
141
- }),
142
- LoadingBarHttpClientModule,
143
- CommonModule,
144
- RouterModule,
145
- ReactiveFormsModule,
146
- ToastrModule.forRoot(),
147
- BrowserAnimationsModule,
148
- FieldInputModule,
149
- ],
150
- providers: [
151
- {
152
- provide: APP_INITIALIZER,
153
- useFactory: LocaleServiceSettingsFactory,
154
- multi: true,
155
- deps: [LocaleSettingsService],
156
- },
157
- {
158
- provide: IndiginaConfiguration,
159
- useValue: defaultConfig,
160
- },
161
- {
162
- provide: AppSettings,
163
- useFactory: AppSettingsFactory,
164
- deps: [IndiginaConfiguration],
165
- },
166
- TranslateStore,
167
- ],
168
- exports: [
169
- SideMenuComponent,
170
- TreeViewComponent,
171
- DebounceDirective,
172
- GeneralErrorsComponent,
173
- TranslateModule,
174
- ClipboardModule,
175
- LoadingBarHttpClientModule,
176
- ToastrModule,
177
- BrowserAnimationsModule,
178
- FieldInputModule,
179
- ],
180
- }]
181
- }] });
182
- export function LocaleServiceSettingsFactory(localeService) {
183
- return function () {
184
- localeService.init();
185
- };
186
- }
187
- export function TranslateLoaderFactory(configuration) {
188
- return configuration.langs;
189
- }
190
- export function AppSettingsFactory(configuration) {
191
- return configuration.appSettings;
192
- }
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kaWdpbmEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9hbmd1bGFyL2luZGlnaW5hLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGNBQWMsR0FDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxP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QkFBZ0I7cUJBQ2pCO2lCQUNGOztBQXVCRCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLGFBQW9DO0lBRXBDLE9BQU87UUFDTCxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsYUFBb0M7SUFFcEMsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLGFBQW9DO0lBRXBDLE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvYWRpbmdCYXJIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQG5neC1sb2FkaW5nLWJhci9odHRwLWNsaWVudCc7XG5pbXBvcnQge1xuICBUcmFuc2xhdGVMb2FkZXIsXG4gIFRyYW5zbGF0ZU1vZHVsZSxcbiAgVHJhbnNsYXRlU3RvcmUsXG59IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkTW9kdWxlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XG5pbXBvcnQgeyBUb2FzdHJNb2R1bGUgfSBmcm9tICduZ3gtdG9hc3RyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybXMvZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRJbnB1dE1vZHVsZSB9IGZyb20gJy4vZm9ybXMvd2lkZ2V0cy9maWVsZC9maWVsZC1pbnB1dC9maWVsZC1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgR2VuZXJhbEVycm9yc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybXMvd2lkZ2V0cy9nZW5lcmFsLWVycm9ycy9nZW5lcmFsLWVycm9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwU2V0dGluZ3MgfSBmcm9tICcuL21vZGVscy9BcHBTZXR0aW5ncyc7XG5pbXBvcnQgeyBJbmRpZ2luYUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21vZGVscy9JbmRpZ2luYUNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgTG9jYWxlU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbGUtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBNZW51SXRlbUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzL3NpZGUtbWVudS9tZW51LWl0ZW0tZ3JvdXAvbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaWRlTWVudUNvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9zaWRlLW1lbnUvc2lkZS1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlVmlld05vZGVDb21wb25lbnQgfSBmcm9tICcuL3dpZGdldHMvdHJlZS12aWV3L3RyZWUtdmlldy1ub2RlL3RyZWUtdmlldy1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy90cmVlLXZpZXcvdHJlZS12aWV3LmNvbXBvbmVudCc7XG5cbmxldCBkZWZhdWx0Q29uZmlnOiBJbmRpZ2luYUNvbmZpZ3VyYXRpb24gPSB7XG4gIGxhbmdzOiB7XG4gICAgZ2V0VHJhbnNsYXRpb24oKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICAgIHJldHVybiBvZih7fSk7XG4gICAgfSxcbiAgfSxcbiAgYXBwU2V0dGluZ3M6IHtcbiAgICBhY2NvdW50VXJsOiAnJyxcbiAgICBhcGlVcmw6ICcnLFxuICAgIHRvYXN0clRpbWVPdXQ6IDI1MDAsXG4gICAgYXp1cmVCMkM6IHtcbiAgICAgIGNsaWVudElkOiAnJyxcbiAgICAgIGF1dGhvcml0eTogJycsXG4gICAgICBrbm93bkF1dGhvcml0aWVzOiBbJyddLFxuICAgIH0sXG4gIH0sXG59O1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTaWRlTWVudUNvbXBvbmVudCxcbiAgICBNZW51SXRlbUdyb3VwQ29tcG9uZW50LFxuICAgIFRyZWVWaWV3Q29tcG9uZW50LFxuICAgIFRyZWVWaWV3Tm9kZUNvbXBvbmVudCxcbiAgICBEZWJvdW5jZURpcmVjdGl2ZSxcbiAgICBHZW5lcmFsRXJyb3JzQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VGYWN0b3J5OiBUcmFuc2xhdGVMb2FkZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbSW5kaWdpbmFDb25maWd1cmF0aW9uLCBIdHRwQ2xpZW50XSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgTG9hZGluZ0Jhckh0dHBDbGllbnRNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRvYXN0ck1vZHVsZS5mb3JSb290KCksXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgRmllbGRJbnB1dE1vZHVsZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogTG9jYWxlU2VydmljZVNldHRpbmdzRmFjdG9yeSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgZGVwczogW0xvY2FsZVNldHRpbmdzU2VydmljZV0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBJbmRpZ2luYUNvbmZpZ3VyYXRpb24sXG4gICAgICB1c2VWYWx1ZTogZGVmYXVsdENvbmZpZyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFwcFNldHRpbmdzLFxuICAgICAgdXNlRmFjdG9yeTogQXBwU2V0dGluZ3NGYWN0b3J5LFxuICAgICAgZGVwczogW0luZGlnaW5hQ29uZmlndXJhdGlvbl0sXG4gICAgfSxcbiAgICBUcmFuc2xhdGVTdG9yZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNpZGVNZW51Q29tcG9uZW50LFxuICAgIFRyZWVWaWV3Q29tcG9uZW50LFxuICAgIERlYm91bmNlRGlyZWN0aXZlLFxuICAgIEdlbmVyYWxFcnJvcnNDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIENsaXBib2FyZE1vZHVsZSxcbiAgICBMb2FkaW5nQmFySHR0cENsaWVudE1vZHVsZSxcbiAgICBUb2FzdHJNb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgRmllbGRJbnB1dE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5kaWdpbmFNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoXG4gICAgY29uZmlndXJhdGlvbjogSW5kaWdpbmFDb25maWd1cmF0aW9uLFxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEluZGlnaW5hTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJbmRpZ2luYU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IExvY2FsZVNlcnZpY2VTZXR0aW5nc0ZhY3RvcnksXG4gICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgZGVwczogW0xvY2FsZVNldHRpbmdzU2VydmljZV0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBJbmRpZ2luYUNvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ3VyYXRpb24gPyBjb25maWd1cmF0aW9uIDogZGVmYXVsdENvbmZpZyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTG9jYWxlU2VydmljZVNldHRpbmdzRmFjdG9yeShcbiAgbG9jYWxlU2VydmljZTogTG9jYWxlU2V0dGluZ3NTZXJ2aWNlLFxuKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoKTogdm9pZCB7XG4gICAgbG9jYWxlU2VydmljZS5pbml0KCk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmFuc2xhdGVMb2FkZXJGYWN0b3J5KFxuICBjb25maWd1cmF0aW9uOiBJbmRpZ2luYUNvbmZpZ3VyYXRpb24sXG4pOiBUcmFuc2xhdGVMb2FkZXIge1xuICByZXR1cm4gY29uZmlndXJhdGlvbi5sYW5ncztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFwcFNldHRpbmdzRmFjdG9yeShcbiAgY29uZmlndXJhdGlvbjogSW5kaWdpbmFDb25maWd1cmF0aW9uLFxuKTogQXBwU2V0dGluZ3MgfCBudWxsIHtcbiAgcmV0dXJuIGNvbmZpZ3VyYXRpb24uYXBwU2V0dGluZ3M7XG59XG4iXX0=