raise-common-lib-new 0.0.37 → 0.0.38

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 (122) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/actions/toolbar/constants.mjs +2 -0
  3. package/esm2022/lib/{layout → actions}/toolbar/index.component.mjs +3 -3
  4. package/esm2022/lib/actions/toolbar-item/index.component.mjs +82 -0
  5. package/esm2022/lib/commentary/index.component.mjs +19 -10
  6. package/esm2022/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.mjs +42 -3
  7. package/esm2022/lib/common-grid/grid-action/grid-action.component.mjs +2 -2
  8. package/esm2022/lib/common-grid/index.component.mjs +30 -3
  9. package/esm2022/lib/dialog/common-delete-dialog/index.component.mjs +11 -7
  10. package/esm2022/lib/dialog/common-dialog/index.component.mjs +45 -12
  11. package/esm2022/lib/float-box/index.component.mjs +3 -1
  12. package/esm2022/lib/form/confirm-select/index.component.mjs +78 -0
  13. package/esm2022/lib/form/drawer-form/constants.mjs +1 -1
  14. package/esm2022/lib/form/drawer-form/drawer-form.component.mjs +52 -24
  15. package/esm2022/lib/form/richtexteditor/ai-config.mjs +35 -0
  16. package/esm2022/lib/form/richtexteditor/data-config.mjs +222 -0
  17. package/esm2022/lib/form/richtexteditor/index.component.mjs +425 -0
  18. package/esm2022/lib/form/richtexteditor/openapi.mjs +121 -0
  19. package/esm2022/lib/form/search-input/index.component.mjs +45 -0
  20. package/esm2022/lib/form/tag-input/index.component.mjs +1 -1
  21. package/esm2022/lib/layout/drawer/index.component.mjs +28 -18
  22. package/esm2022/lib/layout/grid-box/index.component.mjs +28 -19
  23. package/esm2022/lib/layout/main-container/index.component.mjs +3 -3
  24. package/esm2022/lib/layout/multi-tab/index.component.mjs +72 -54
  25. package/esm2022/lib/layout/page-list/index.component.mjs +28 -19
  26. package/esm2022/lib/layout/rs-aside/index.component.mjs +12 -9
  27. package/esm2022/lib/layout/rs-footer/index.component.mjs +2 -2
  28. package/esm2022/lib/layout/rs-header/index.component.mjs +6 -3
  29. package/esm2022/lib/raise-common-lib.module.mjs +43 -15
  30. package/esm2022/lib/service/dialog.service.mjs +9 -6
  31. package/esm2022/lib/service/drawer.service.mjs +8 -6
  32. package/esm2022/lib/truncated-text-toggle/index.component.mjs +41 -0
  33. package/esm2022/public-api.mjs +7 -4
  34. package/fesm2022/raise-common-lib-new.mjs +1425 -233
  35. package/fesm2022/raise-common-lib-new.mjs.map +1 -1
  36. package/lib/{form → actions}/toolbar-item/index.component.d.ts +2 -1
  37. package/lib/commentary/index.component.d.ts +2 -2
  38. package/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.d.ts +6 -1
  39. package/lib/common-grid/index.component.d.ts +10 -1
  40. package/lib/dialog/common-delete-dialog/index.component.d.ts +8 -2
  41. package/lib/dialog/common-dialog/index.component.d.ts +10 -2
  42. package/lib/float-box/index.component.d.ts +2 -2
  43. package/lib/form/confirm-select/index.component.d.ts +28 -0
  44. package/lib/form/drawer-form/constants.d.ts +2 -0
  45. package/lib/form/drawer-form/drawer-form.component.d.ts +8 -5
  46. package/lib/form/richtexteditor/ai-config.d.ts +10 -0
  47. package/lib/form/richtexteditor/data-config.d.ts +14 -0
  48. package/lib/form/richtexteditor/index.component.d.ts +83 -0
  49. package/lib/form/richtexteditor/openapi.d.ts +3 -0
  50. package/lib/form/search-input/index.component.d.ts +17 -0
  51. package/lib/layout/drawer/index.component.d.ts +8 -7
  52. package/lib/layout/grid-box/index.component.d.ts +9 -6
  53. package/lib/layout/multi-tab/index.component.d.ts +7 -3
  54. package/lib/layout/page-list/index.component.d.ts +9 -6
  55. package/lib/layout/rs-aside/index.component.d.ts +3 -1
  56. package/lib/layout/rs-header/index.component.d.ts +2 -1
  57. package/lib/raise-common-lib.module.d.ts +37 -32
  58. package/lib/service/dialog.service.d.ts +3 -1
  59. package/lib/service/drawer.service.d.ts +1 -1
  60. package/lib/truncated-text-toggle/index.component.d.ts +15 -0
  61. package/package.json +2 -2
  62. package/public-api.d.ts +6 -3
  63. package/src/assets/img/arrow_right.svg +4 -4
  64. package/src/assets/img/calendar-disabled.svg +6 -6
  65. package/src/assets/img/calendar.svg +6 -6
  66. package/src/assets/img/calendar_arrow_left.svg +3 -3
  67. package/src/assets/img/calendar_arrow_right.svg +3 -3
  68. package/src/assets/img/checked-vector.svg +3 -3
  69. package/src/assets/img/click_show_more_icon.svg +3 -0
  70. package/src/assets/img/dialog-close.svg +4 -0
  71. package/src/assets/img/dialog-grow.svg +6 -0
  72. package/src/assets/img/dialog-shrink.svg +6 -0
  73. package/src/assets/img/editor-copy.svg +5 -0
  74. package/src/assets/img/grid-action-detail.svg +4 -5
  75. package/src/assets/img/grid-action-duplicate.svg +6 -0
  76. package/src/assets/img/grid-action-export.svg +4 -11
  77. package/src/assets/img/grid-action-preview.svg +7 -0
  78. package/src/assets/img/grid-action-refresh.svg +4 -0
  79. package/src/assets/img/grid-action-verify.svg +7 -0
  80. package/src/assets/img/grid-action-viewStatus.svg +3 -0
  81. package/src/assets/img/grid-menu-arrow-up.svg +4 -0
  82. package/src/assets/img/grid-menu-filter.svg +6 -0
  83. package/src/assets/img/info.svg +5 -0
  84. package/src/assets/img/plus.svg +4 -4
  85. package/src/assets/img/search.svg +4 -4
  86. package/src/assets/img/shrink-icon.svg +6 -0
  87. package/src/assets/img/time-disabled.svg +4 -4
  88. package/src/assets/img/time.svg +4 -4
  89. package/src/assets/img/toolbar-action-addFolder.svg +17 -0
  90. package/src/assets/img/toolbar-action-calculator.svg +11 -0
  91. package/src/assets/img/toolbar-action-collapse.svg +7 -0
  92. package/src/assets/img/toolbar-action-combine.svg +4 -0
  93. package/src/assets/img/toolbar-action-edit.svg +4 -0
  94. package/src/assets/img/toolbar-action-expand.svg +7 -0
  95. package/src/assets/img/toolbar-action-fetchData.svg +3 -0
  96. package/src/assets/img/toolbar-action-folderMove.svg +8 -0
  97. package/src/assets/img/toolbar-action-lock.svg +6 -0
  98. package/src/assets/img/toolbar-action-preview.svg +7 -0
  99. package/src/assets/img/toolbar-action-publish.svg +5 -0
  100. package/src/assets/img/toolbar-action-refresh.svg +3 -13
  101. package/src/assets/img/toolbar-action-reminders.svg +10 -0
  102. package/src/assets/img/toolbar-action-rename.svg +7 -0
  103. package/src/assets/img/toolbar-action-saveSequence.svg +5 -0
  104. package/src/assets/img/toolbar-action-send-file.svg +5 -0
  105. package/src/assets/img/toolbar-action-settle.svg +7 -0
  106. package/src/assets/img/toolbar-action-share.svg +5 -0
  107. package/src/assets/img/toolbar-action-submitForApproval.svg +4 -0
  108. package/src/assets/img/toolbar-action-sync.svg +4 -0
  109. package/src/assets/img/toolbar-action-template.svg +6 -0
  110. package/src/assets/img/toolbar-action-update.svg +11 -0
  111. package/src/assets/img/toolbar-action-workflow.svg +9 -0
  112. package/src/assets/style/reset/button.scss +3 -3
  113. package/src/assets/style/reset/checkbox.scss +15 -9
  114. package/src/assets/style/reset/dropdown.scss +56 -14
  115. package/src/assets/style/reset/grid.scss +134 -2
  116. package/src/assets/style/reset/mat-dialog.scss +1 -2
  117. package/src/assets/style/reset/radio.scss +33 -35
  118. package/src/assets/style/style.scss +0 -1
  119. package/esm2022/lib/form/toolbar-item/index.component.mjs +0 -56
  120. package/esm2022/lib/layout/toolbar/constants.mjs +0 -2
  121. /package/lib/{layout → actions}/toolbar/constants.d.ts +0 -0
  122. /package/lib/{layout → actions}/toolbar/index.component.d.ts +0 -0
@@ -1,52 +1,56 @@
1
1
  // 组件类
2
- import { Component, ContentChild, Input, } from "@angular/core";
2
+ import { Component, ContentChild, EventEmitter, Input, Output, ViewChild, } from "@angular/core";
3
3
  import { CommonGridComponent } from "../../common-grid/index.component";
4
- import { debounce } from "lodash";
5
4
  import { GridComponent } from "@syncfusion/ej2-angular-grids";
6
5
  import { TreeGridComponent } from "@syncfusion/ej2-angular-treegrid";
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/forms";
10
- import * as i3 from "@syncfusion/ej2-angular-inputs";
8
+ import * as i2 from "../../form/search-input/index.component";
11
9
  export class GridBoxComponent {
12
10
  gridContent;
13
11
  orignGrid;
14
12
  treeGrid;
15
13
  wholeToolbarSlot;
14
+ searchInput;
16
15
  hideSearch = false;
17
16
  isInner = false;
18
- debouncedInput;
17
+ onGridSearch = new EventEmitter();
19
18
  hasWholeToolbarSlot = false;
19
+ translation;
20
20
  ngOnInit() {
21
- this.debouncedInput = debounce(() => {
22
- this.onSeach();
23
- }, 300);
21
+ this.getInfo();
22
+ }
23
+ getInfo() {
24
+ this.translation = JSON.parse(localStorage.getItem("translation"));
24
25
  }
25
26
  ngAfterContentInit() {
26
27
  // 检测是否传入了 wholeToolbarSlot
27
28
  this.hasWholeToolbarSlot = !!this.wholeToolbarSlot;
28
29
  }
29
- searchValue;
30
- onSeach() {
30
+ setSearchValue(value) {
31
+ this.searchInput.searchValue = value;
32
+ this.onSeach(value);
33
+ }
34
+ onSeach(value) {
31
35
  if (this.gridContent) {
32
- this.gridContent.grid.search(this.searchValue);
36
+ this.gridContent.grid.search(value);
33
37
  }
34
38
  else if (this.orignGrid) {
35
- this.orignGrid.search(this.searchValue);
39
+ this.orignGrid.search(value);
36
40
  }
37
41
  else if (this.treeGrid) {
38
- this.treeGrid.search(this.searchValue);
42
+ this.treeGrid.search(value);
43
+ }
44
+ else {
45
+ this.onGridSearch.emit(value);
39
46
  }
40
- }
41
- onInput() {
42
- this.debouncedInput();
43
47
  }
44
48
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridBoxComponent, selector: "rs-grid-box", inputs: { hideSearch: "hideSearch", isInner: "isInner" }, queries: [{ propertyName: "gridContent", first: true, predicate: CommonGridComponent, descendants: true }, { propertyName: "orignGrid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "treeGrid", first: true, predicate: TreeGridComponent, descendants: true }, { propertyName: "wholeToolbarSlot", first: true, predicate: ["wholeToolbarSlot"], descendants: true }], ngImport: i0, template: "<div class=\"rs-grid-box\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <div class=\"rs-content-tab\">\r\n <ng-content select=\"[contentTabSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-whole-bar\" *ngIf=\"hasWholeToolbarSlot\">\r\n <ng-content select=\"[wholeToolbarSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-left-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <div class=\"rs-search-input\" *ngIf=\"!hideSearch\">\r\n <ejs-textbox\r\n type=\"text\"\r\n class=\"e-input\"\r\n [(ngModel)]=\"searchValue\"\r\n (input)=\"onInput()\"\r\n placeholder=\"Search all fields\"\r\n [showClearButton]=\"true\"\r\n autocomplete=\"off\"\r\n ></ejs-textbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{height:100%}.rs-grid-box{display:flex;flex-direction:column;height:100%}.rs-grid-box.is-not-inner{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px #0000001a}.rs-grid-box .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid #eaedf0}.rs-grid-box .rs-toolbar-wrap .rs-whole-bar{width:100%}.rs-grid-box .rs-toolbar-wrap .rs-left-col,.rs-grid-box .rs-toolbar-wrap .rs-right-col{display:flex;align-items:center}.rs-grid-box .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-grid-box .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:24px!important;min-width:auto!important}.rs-grid-box .rs-toolbar-wrap .rs-left-col{flex:1;width:0;gap:4px}.rs-grid-box .rs-toolbar-wrap .rs-right-col{gap:12px}.rs-grid-box .rs-grid-wrap{flex:1;height:0}.rs-grid-box .rs-search-input{width:240px}.rs-grid-box .rs-search-input ::ng-deep .e-input-group{border-radius:14px!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group.e-input-focus,.rs-grid-box .rs-search-input ::ng-deep .e-input-group:hover{box-shadow:0 0 3px #1f7bff66!important;border-color:var(--rs-input-hover-border-color)!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group.e-input-focus input.e-input,.rs-grid-box .rs-search-input ::ng-deep .e-input-group:hover input.e-input{box-shadow:none!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group input.e-input{width:calc(100% - 50px);height:26px}.rs-grid-box .rs-search-input ::ng-deep .e-input-group input.e-input:hover{box-shadow:none!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group:before{content:\"\"!important;margin:6px 0 0 8px;display:block;width:16px;height:16px;background-image:url(/assets/img/search.svg);background-size:cover;background-position:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TextBoxComponent, selector: "ejs-textbox", inputs: ["autocomplete", "cssClass", "enablePersistence", "enableRtl", "enabled", "floatLabelType", "htmlAttributes", "locale", "multiline", "placeholder", "readonly", "showClearButton", "type", "value", "width"], outputs: ["blur", "change", "created", "destroyed", "focus", "input", "valueChange"] }] });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridBoxComponent, selector: "rs-grid-box", inputs: { hideSearch: "hideSearch", isInner: "isInner" }, outputs: { onGridSearch: "onGridSearch" }, queries: [{ propertyName: "gridContent", first: true, predicate: CommonGridComponent, descendants: true }, { propertyName: "orignGrid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "treeGrid", first: true, predicate: TreeGridComponent, descendants: true }, { propertyName: "wholeToolbarSlot", first: true, predicate: ["wholeToolbarSlot"], descendants: true }], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div class=\"rs-grid-box\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <div class=\"rs-content-tab\">\r\n <ng-content select=\"[contentTabSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-whole-bar\" *ngIf=\"hasWholeToolbarSlot\">\r\n <ng-content select=\"[wholeToolbarSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-left-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <rs-search-input\r\n #searchInput\r\n *ngIf=\"!hideSearch\"\r\n [placeholder]=\"translation.SEARCH_ALL_FIELD\"\r\n (hanleSearch)=\"onSeach($event)\"\r\n ></rs-search-input>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{height:100%}.rs-grid-box{display:flex;flex-direction:column;height:100%}.rs-grid-box.is-not-inner{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px #0000001a}.rs-grid-box .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid #eaedf0}.rs-grid-box .rs-toolbar-wrap .rs-whole-bar{width:100%}.rs-grid-box .rs-toolbar-wrap .rs-left-col,.rs-grid-box .rs-toolbar-wrap .rs-right-col{display:flex;align-items:center}.rs-grid-box .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-grid-box .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:24px!important;min-width:auto!important}.rs-grid-box .rs-toolbar-wrap .rs-left-col{flex:1;width:0;gap:4px}.rs-grid-box .rs-toolbar-wrap .rs-right-col{gap:12px}.rs-grid-box .rs-grid-wrap{flex:1;height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SearchInputComponent, selector: "rs-search-input", inputs: ["placeholder"], outputs: ["hanleSearch", "handleInput"] }] });
46
50
  }
47
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridBoxComponent, decorators: [{
48
52
  type: Component,
49
- args: [{ selector: "rs-grid-box", template: "<div class=\"rs-grid-box\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <div class=\"rs-content-tab\">\r\n <ng-content select=\"[contentTabSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-whole-bar\" *ngIf=\"hasWholeToolbarSlot\">\r\n <ng-content select=\"[wholeToolbarSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-left-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <div class=\"rs-search-input\" *ngIf=\"!hideSearch\">\r\n <ejs-textbox\r\n type=\"text\"\r\n class=\"e-input\"\r\n [(ngModel)]=\"searchValue\"\r\n (input)=\"onInput()\"\r\n placeholder=\"Search all fields\"\r\n [showClearButton]=\"true\"\r\n autocomplete=\"off\"\r\n ></ejs-textbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{height:100%}.rs-grid-box{display:flex;flex-direction:column;height:100%}.rs-grid-box.is-not-inner{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px #0000001a}.rs-grid-box .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid #eaedf0}.rs-grid-box .rs-toolbar-wrap .rs-whole-bar{width:100%}.rs-grid-box .rs-toolbar-wrap .rs-left-col,.rs-grid-box .rs-toolbar-wrap .rs-right-col{display:flex;align-items:center}.rs-grid-box .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-grid-box .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:24px!important;min-width:auto!important}.rs-grid-box .rs-toolbar-wrap .rs-left-col{flex:1;width:0;gap:4px}.rs-grid-box .rs-toolbar-wrap .rs-right-col{gap:12px}.rs-grid-box .rs-grid-wrap{flex:1;height:0}.rs-grid-box .rs-search-input{width:240px}.rs-grid-box .rs-search-input ::ng-deep .e-input-group{border-radius:14px!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group.e-input-focus,.rs-grid-box .rs-search-input ::ng-deep .e-input-group:hover{box-shadow:0 0 3px #1f7bff66!important;border-color:var(--rs-input-hover-border-color)!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group.e-input-focus input.e-input,.rs-grid-box .rs-search-input ::ng-deep .e-input-group:hover input.e-input{box-shadow:none!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group input.e-input{width:calc(100% - 50px);height:26px}.rs-grid-box .rs-search-input ::ng-deep .e-input-group input.e-input:hover{box-shadow:none!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group:before{content:\"\"!important;margin:6px 0 0 8px;display:block;width:16px;height:16px;background-image:url(/assets/img/search.svg);background-size:cover;background-position:center}\n"] }]
53
+ args: [{ selector: "rs-grid-box", template: "<div class=\"rs-grid-box\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <div class=\"rs-content-tab\">\r\n <ng-content select=\"[contentTabSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-whole-bar\" *ngIf=\"hasWholeToolbarSlot\">\r\n <ng-content select=\"[wholeToolbarSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-left-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\" *ngIf=\"!hasWholeToolbarSlot\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <rs-search-input\r\n #searchInput\r\n *ngIf=\"!hideSearch\"\r\n [placeholder]=\"translation.SEARCH_ALL_FIELD\"\r\n (hanleSearch)=\"onSeach($event)\"\r\n ></rs-search-input>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{height:100%}.rs-grid-box{display:flex;flex-direction:column;height:100%}.rs-grid-box.is-not-inner{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px #0000001a}.rs-grid-box .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid #eaedf0}.rs-grid-box .rs-toolbar-wrap .rs-whole-bar{width:100%}.rs-grid-box .rs-toolbar-wrap .rs-left-col,.rs-grid-box .rs-toolbar-wrap .rs-right-col{display:flex;align-items:center}.rs-grid-box .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-grid-box .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:24px!important;min-width:auto!important}.rs-grid-box .rs-toolbar-wrap .rs-left-col{flex:1;width:0;gap:4px}.rs-grid-box .rs-toolbar-wrap .rs-right-col{gap:12px}.rs-grid-box .rs-grid-wrap{flex:1;height:0}\n"] }]
50
54
  }], propDecorators: { gridContent: [{
51
55
  type: ContentChild,
52
56
  args: [CommonGridComponent, { static: false }]
@@ -59,9 +63,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
63
  }], wholeToolbarSlot: [{
60
64
  type: ContentChild,
61
65
  args: ["wholeToolbarSlot", { static: false }]
66
+ }], searchInput: [{
67
+ type: ViewChild,
68
+ args: ["searchInput", { static: false }]
62
69
  }], hideSearch: [{
63
70
  type: Input
64
71
  }], isInner: [{
65
72
  type: Input
73
+ }], onGridSearch: [{
74
+ type: Output
66
75
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2xheW91dC9ncmlkLWJveC9pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvbGF5b3V0L2dyaWQtYm94L2luZGV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBT3JFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDMkIsV0FBVyxDQUFDO0lBQ2xCLFNBQVMsQ0FBQztJQUNOLFFBQVEsQ0FBQztJQUNSLGdCQUFnQixDQUFNO0lBRWxFLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVqQixjQUFjLENBQVc7SUFDakMsbUJBQW1CLEdBQVksS0FBSyxDQUFDO0lBQ3JDLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXLENBQUM7SUFDWixPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDaEQ7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3pDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7d0dBbkNVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHNKQUNiLG1CQUFtQiw0RUFDbkIsYUFBYSwyRUFDYixpQkFBaUIsdUpDckJqQyxtcENBOEJBOzs0RkRaYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTs4QkFLK0IsV0FBVztzQkFBaEUsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ0osU0FBUztzQkFBeEQsWUFBWTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNNLFFBQVE7c0JBQTNELFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNHLGdCQUFnQjtzQkFBcEUsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRTFDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25HcmlkQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi1ncmlkL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgR3JpZENvbXBvbmVudCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1ncmlkc1wiO1xyXG5pbXBvcnQgeyBUcmVlR3JpZENvbXBvbmVudCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci10cmVlZ3JpZFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZ3JpZC1ib3hcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JpZEJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgQENvbnRlbnRDaGlsZChDb21tb25HcmlkQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZ3JpZENvbnRlbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChHcmlkQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgb3JpZ25HcmlkO1xyXG4gIEBDb250ZW50Q2hpbGQoVHJlZUdyaWRDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSB0cmVlR3JpZDtcclxuICBAQ29udGVudENoaWxkKFwid2hvbGVUb29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgd2hvbGVUb29sYmFyU2xvdDogYW55O1xyXG5cclxuICBASW5wdXQoKSBoaWRlU2VhcmNoID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNJbm5lciA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIGRlYm91bmNlZElucHV0OiBGdW5jdGlvbjtcclxuICBoYXNXaG9sZVRvb2xiYXJTbG90OiBib29sZWFuID0gZmFsc2U7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmRlYm91bmNlZElucHV0ID0gZGVib3VuY2UoKCkgPT4ge1xyXG4gICAgICB0aGlzLm9uU2VhY2goKTtcclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICAvLyDmo4DmtYvmmK/lkKbkvKDlhaXkuoYgd2hvbGVUb29sYmFyU2xvdFxyXG4gICAgdGhpcy5oYXNXaG9sZVRvb2xiYXJTbG90ID0gISF0aGlzLndob2xlVG9vbGJhclNsb3Q7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hWYWx1ZTtcclxuICBvblNlYWNoKCkge1xyXG4gICAgaWYgKHRoaXMuZ3JpZENvbnRlbnQpIHtcclxuICAgICAgdGhpcy5ncmlkQ29udGVudC5ncmlkLnNlYXJjaCh0aGlzLnNlYXJjaFZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vcmlnbkdyaWQpIHtcclxuICAgICAgdGhpcy5vcmlnbkdyaWQuc2VhcmNoKHRoaXMuc2VhcmNoVmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRyZWVHcmlkKSB7XHJcbiAgICAgIHRoaXMudHJlZUdyaWQuc2VhcmNoKHRoaXMuc2VhcmNoVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dCgpIHtcclxuICAgIHRoaXMuZGVib3VuY2VkSW5wdXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJzLWdyaWQtYm94XCIgW25nQ2xhc3NdPVwieyAnaXMtbm90LWlubmVyJzogIWlzSW5uZXIgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJycy1jb250ZW50LXRhYlwiPlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NvbnRlbnRUYWJTbG90XVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicnMtdG9vbGJhci13cmFwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicnMtd2hvbGUtYmFyXCIgKm5nSWY9XCJoYXNXaG9sZVRvb2xiYXJTbG90XCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt3aG9sZVRvb2xiYXJTbG90XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJzLWxlZnQtY29sXCIgKm5nSWY9XCIhaGFzV2hvbGVUb29sYmFyU2xvdFwiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGVmdFRvb2xiYXJCdG5TbG90XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJzLXJpZ2h0LWNvbFwiICpuZ0lmPVwiIWhhc1dob2xlVG9vbGJhclNsb3RcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JpZ2h0VG9vbGJhckJ0blNsb3RdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicnMtc2VhcmNoLWlucHV0XCIgKm5nSWY9XCIhaGlkZVNlYXJjaFwiPlxyXG4gICAgICAgIDxlanMtdGV4dGJveFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJlLWlucHV0XCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBhbGwgZmllbGRzXCJcclxuICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgID48L2Vqcy10ZXh0Ym94PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJycy1ncmlkLXdyYXBcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltncmlkU2xvdF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2xheW91dC9ncmlkLWJveC9pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvbGF5b3V0L2dyaWQtYm94L2luZGV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBUXJFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDMkIsV0FBVyxDQUFDO0lBQ2xCLFNBQVMsQ0FBQztJQUNOLFFBQVEsQ0FBQztJQUNSLGdCQUFnQixDQUFNO0lBRTNFLFdBQVcsQ0FBdUI7SUFFekIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2YsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFNUMsbUJBQW1CLEdBQVksS0FBSyxDQUFDO0lBQ3JDLFdBQVcsQ0FBQztJQUVaLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBSztRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUs7UUFDWCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7d0dBMUNVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGlNQUNiLG1CQUFtQiw0RUFDbkIsYUFBYSwyRUFDYixpQkFBaUIsbVFDeEJqQyxtL0JBeUJBOzs0RkRKYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTs4QkFLK0IsV0FBVztzQkFBaEUsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ0osU0FBUztzQkFBeEQsWUFBWTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNNLFFBQVE7c0JBQTNELFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUNHLGdCQUFnQjtzQkFBcEUsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRW5ELFdBQVc7c0JBRFYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUdsQyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25HcmlkQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbW1vbi1ncmlkL2luZGV4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdyaWRzXCI7XHJcbmltcG9ydCB7IFRyZWVHcmlkQ29tcG9uZW50IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXRyZWVncmlkXCI7XHJcbmltcG9ydCB7IFNlYXJjaElucHV0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2Zvcm0vc2VhcmNoLWlucHV0L2luZGV4LmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZ3JpZC1ib3hcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JpZEJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgQENvbnRlbnRDaGlsZChDb21tb25HcmlkQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZ3JpZENvbnRlbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChHcmlkQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgb3JpZ25HcmlkO1xyXG4gIEBDb250ZW50Q2hpbGQoVHJlZUdyaWRDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSB0cmVlR3JpZDtcclxuICBAQ29udGVudENoaWxkKFwid2hvbGVUb29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgd2hvbGVUb29sYmFyU2xvdDogYW55O1xyXG4gIEBWaWV3Q2hpbGQoXCJzZWFyY2hJbnB1dFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBzZWFyY2hJbnB1dDogU2VhcmNoSW5wdXRDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIGhpZGVTZWFyY2ggPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0lubmVyID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIG9uR3JpZFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgaGFzV2hvbGVUb29sYmFyU2xvdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHRyYW5zbGF0aW9uO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0SW5mbygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5mbygpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidHJhbnNsYXRpb25cIikpO1xyXG4gIH1cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICAvLyDmo4DmtYvmmK/lkKbkvKDlhaXkuoYgd2hvbGVUb29sYmFyU2xvdFxyXG4gICAgdGhpcy5oYXNXaG9sZVRvb2xiYXJTbG90ID0gISF0aGlzLndob2xlVG9vbGJhclNsb3Q7XHJcbiAgfVxyXG5cclxuICBzZXRTZWFyY2hWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dC5zZWFyY2hWYWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5vblNlYWNoKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uU2VhY2godmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmdyaWRDb250ZW50KSB7XHJcbiAgICAgIHRoaXMuZ3JpZENvbnRlbnQuZ3JpZC5zZWFyY2godmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9yaWduR3JpZCkge1xyXG4gICAgICB0aGlzLm9yaWduR3JpZC5zZWFyY2godmFsdWUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnRyZWVHcmlkKSB7XHJcbiAgICAgIHRoaXMudHJlZUdyaWQuc2VhcmNoKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25HcmlkU2VhcmNoLmVtaXQodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicnMtZ3JpZC1ib3hcIiBbbmdDbGFzc109XCJ7ICdpcy1ub3QtaW5uZXInOiAhaXNJbm5lciB9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInJzLWNvbnRlbnQtdGFiXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbY29udGVudFRhYlNsb3RdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJycy10b29sYmFyLXdyYXBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJycy13aG9sZS1iYXJcIiAqbmdJZj1cImhhc1dob2xlVG9vbGJhclNsb3RcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3dob2xlVG9vbGJhclNsb3RdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicnMtbGVmdC1jb2xcIiAqbmdJZj1cIiFoYXNXaG9sZVRvb2xiYXJTbG90XCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsZWZ0VG9vbGJhckJ0blNsb3RdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicnMtcmlnaHQtY29sXCIgKm5nSWY9XCIhaGFzV2hvbGVUb29sYmFyU2xvdFwiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmlnaHRUb29sYmFyQnRuU2xvdF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDxycy1zZWFyY2gtaW5wdXRcclxuICAgICAgICAgICNzZWFyY2hJbnB1dFxyXG4gICAgICAgICAgKm5nSWY9XCIhaGlkZVNlYXJjaFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRpb24uU0VBUkNIX0FMTF9GSUVMRFwiXHJcbiAgICAgICAgICAoaGFubGVTZWFyY2gpPVwib25TZWFjaCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9ycy1zZWFyY2gtaW5wdXQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwicnMtZ3JpZC13cmFwXCI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZ3JpZFNsb3RdXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -67,11 +67,11 @@ export class MainContainerComponent {
67
67
  }
68
68
  }
69
69
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainContainerComponent, deps: [{ token: i1.DrawerService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
70
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MainContainerComponent, selector: "rs-main-container", inputs: { isCollapsed: "isCollapsed", singleReuseUrls: "singleReuseUrls" }, outputs: { onWidthChange: "onWidthChange" }, host: { listeners: { "window:resize": "onResize($event)" } }, queries: [{ propertyName: "headerRef", first: true, predicate: RSHeaderComponent, descendants: true, static: true }, { propertyName: "multiTabRef", first: true, predicate: MultiTabComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<div class=\"app-main-container\">\r\n <ng-content select=\"[headerSlot]\"></ng-content>\r\n <div class=\"main-page\">\r\n <div class=\"left-aside\">\r\n <ng-content select=\"[leftAsideSlot]\"></ng-content>\r\n </div>\r\n <div\r\n class=\"right-aside\"\r\n [ngClass]=\"{ isCollapsed: isCollapsed }\"\r\n (click)=\"onRightAsideClick()\"\r\n >\r\n <ng-content select=\"[multiTabSlot]\"></ng-content>\r\n <!-- <rs-multi-tab [singleReuseUrls]=\"singleReuseUrls\"></rs-multi-tab> -->\r\n <div class=\"router-content\">\r\n <rs-drawer #drawer>\r\n <ng-content select=\"[routerSlot]\"></ng-content>\r\n </rs-drawer>\r\n </div>\r\n <rs-footer></rs-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-main-container{display:flex;flex-direction:column;height:100vh}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{height:100%}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .router-content{flex:1;overflow:auto;max-width:1886px;width:100%;margin:0 auto}@media (max-width: 992px){.app-main-container .right-aside.isCollapsed{position:relative}.app-main-container .right-aside.isCollapsed:after{content:\" \";position:absolute;z-index:5;inset:0;background-color:#0003}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.RSFooterComponent, selector: "rs-footer" }, { kind: "component", type: i4.DrawerComponent, selector: "rs-drawer" }] });
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MainContainerComponent, selector: "rs-main-container", inputs: { isCollapsed: "isCollapsed", singleReuseUrls: "singleReuseUrls" }, outputs: { onWidthChange: "onWidthChange" }, host: { listeners: { "window:resize": "onResize($event)" } }, queries: [{ propertyName: "headerRef", first: true, predicate: RSHeaderComponent, descendants: true, static: true }, { propertyName: "multiTabRef", first: true, predicate: MultiTabComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "drawer", first: true, predicate: ["drawer"], descendants: true }], ngImport: i0, template: "<div class=\"app-main-container-wrap\">\r\n <div class=\"app-main-container\">\r\n <ng-content select=\"[headerSlot]\"></ng-content>\r\n <div class=\"main-page\">\r\n <div class=\"left-aside\">\r\n <ng-content select=\"[leftAsideSlot]\"></ng-content>\r\n </div>\r\n <div\r\n class=\"right-aside\"\r\n [ngClass]=\"{ isCollapsed: isCollapsed }\"\r\n (click)=\"onRightAsideClick()\"\r\n >\r\n <ng-content select=\"[multiTabSlot]\"></ng-content>\r\n <!-- <rs-multi-tab [singleReuseUrls]=\"singleReuseUrls\"></rs-multi-tab> -->\r\n <div class=\"router-content\">\r\n <rs-drawer #drawer>\r\n <ng-content select=\"[routerSlot]\"></ng-content>\r\n </rs-drawer>\r\n </div>\r\n <rs-footer></rs-footer>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-main-container-wrap{width:100%;overflow:auto;height:100vh}@media (max-width: 768px){.app-main-container-wrap{height:calc(100vh - 40px)}}.app-main-container{display:flex;flex-direction:column;height:100%;min-width:768px}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{height:100%}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .router-content{flex:1;overflow:auto;max-width:1886px;width:100%;margin:0 auto}@media (max-width: 992px){.app-main-container .right-aside{padding-left:12px}.app-main-container .right-aside.isCollapsed{position:relative}.app-main-container .right-aside.isCollapsed:after{content:\" \";position:absolute;z-index:5;inset:0;background-color:#0003}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.RSFooterComponent, selector: "rs-footer" }, { kind: "component", type: i4.DrawerComponent, selector: "rs-drawer" }] });
71
71
  }
72
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainContainerComponent, decorators: [{
73
73
  type: Component,
74
- args: [{ selector: "rs-main-container", template: "<div class=\"app-main-container\">\r\n <ng-content select=\"[headerSlot]\"></ng-content>\r\n <div class=\"main-page\">\r\n <div class=\"left-aside\">\r\n <ng-content select=\"[leftAsideSlot]\"></ng-content>\r\n </div>\r\n <div\r\n class=\"right-aside\"\r\n [ngClass]=\"{ isCollapsed: isCollapsed }\"\r\n (click)=\"onRightAsideClick()\"\r\n >\r\n <ng-content select=\"[multiTabSlot]\"></ng-content>\r\n <!-- <rs-multi-tab [singleReuseUrls]=\"singleReuseUrls\"></rs-multi-tab> -->\r\n <div class=\"router-content\">\r\n <rs-drawer #drawer>\r\n <ng-content select=\"[routerSlot]\"></ng-content>\r\n </rs-drawer>\r\n </div>\r\n <rs-footer></rs-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-main-container{display:flex;flex-direction:column;height:100vh}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{height:100%}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .router-content{flex:1;overflow:auto;max-width:1886px;width:100%;margin:0 auto}@media (max-width: 992px){.app-main-container .right-aside.isCollapsed{position:relative}.app-main-container .right-aside.isCollapsed:after{content:\" \";position:absolute;z-index:5;inset:0;background-color:#0003}}\n"] }]
74
+ args: [{ selector: "rs-main-container", template: "<div class=\"app-main-container-wrap\">\r\n <div class=\"app-main-container\">\r\n <ng-content select=\"[headerSlot]\"></ng-content>\r\n <div class=\"main-page\">\r\n <div class=\"left-aside\">\r\n <ng-content select=\"[leftAsideSlot]\"></ng-content>\r\n </div>\r\n <div\r\n class=\"right-aside\"\r\n [ngClass]=\"{ isCollapsed: isCollapsed }\"\r\n (click)=\"onRightAsideClick()\"\r\n >\r\n <ng-content select=\"[multiTabSlot]\"></ng-content>\r\n <!-- <rs-multi-tab [singleReuseUrls]=\"singleReuseUrls\"></rs-multi-tab> -->\r\n <div class=\"router-content\">\r\n <rs-drawer #drawer>\r\n <ng-content select=\"[routerSlot]\"></ng-content>\r\n </rs-drawer>\r\n </div>\r\n <rs-footer></rs-footer>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-main-container-wrap{width:100%;overflow:auto;height:100vh}@media (max-width: 768px){.app-main-container-wrap{height:calc(100vh - 40px)}}.app-main-container{display:flex;flex-direction:column;height:100%;min-width:768px}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{height:100%}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .router-content{flex:1;overflow:auto;max-width:1886px;width:100%;margin:0 auto}@media (max-width: 992px){.app-main-container .right-aside{padding-left:12px}.app-main-container .right-aside.isCollapsed{position:relative}.app-main-container .right-aside.isCollapsed:after{content:\" \";position:absolute;z-index:5;inset:0;background-color:#0003}}\n"] }]
75
75
  }], ctorParameters: function () { return [{ type: i1.DrawerService }, { type: i0.ElementRef }]; }, propDecorators: { headerRef: [{
76
76
  type: ContentChild,
77
77
  args: [RSHeaderComponent, { static: true }]
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
91
91
  type: HostListener,
92
92
  args: ["window:resize", ["$event"]]
93
93
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2xheW91dC9tYWluLWNvbnRhaW5lci9pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvbGF5b3V0L21haW4tY29udGFpbmVyL2luZGV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQU9sQyxNQUFNLE9BQU8sc0JBQXNCO0lBYXZCO0lBQ0E7SUFieUMsU0FBUyxDQUFDO0lBQ1YsV0FBVyxDQUFDO0lBRXZCLE1BQU0sQ0FBa0I7SUFFdkQsV0FBVyxHQUFZLEtBQUssQ0FBQyxDQUFDLFNBQVM7SUFDdkMsZUFBZSxHQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVk7SUFDM0MsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFckMsY0FBYyxDQUFpQjtJQUMvQixxQkFBcUIsQ0FBMEI7SUFDdkQsWUFDVSxZQUEyQixFQUMzQixVQUFzQjtRQUR0QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUMzQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTlCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUN0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bmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJTSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JzLWhlYWRlci9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRHJhd2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RyYXdlci9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRHJhd2VyU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE11bHRpVGFiQ29tcG9uZW50IH0gZnJvbSBcIi4uL211bHRpLXRhYi9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tIFwibG9kYXNoXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1tYWluLWNvbnRhaW5lclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWluQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAQ29udGVudENoaWxkKFJTSGVhZGVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJSZWY7XHJcbiAgQENvbnRlbnRDaGlsZChNdWx0aVRhYkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgbXVsdGlUYWJSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRHJhd2VyQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKSBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyDmjqXmlLbovpPlhaXlsZ7mgKdcclxuICBASW5wdXQoKSBzaW5nbGVSZXVzZVVybHM6IHN0cmluZ1tdID0gW107IC8v5Y+q6IO95Y2V5Liq57yT5a2Y55qEdXJsXHJcbiAgQE91dHB1dCgpIG9uV2lkdGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xyXG4gIHByaXZhdGUgZGVib3VuY2VkSGFuZGxlUmVzaXplOiAod2lkdGg6IG51bWJlcikgPT4gdm9pZDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZ2xvYmFsRHJhd2VyOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRlYm91bmNlZEhhbmRsZVJlc2l6ZSA9IGRlYm91bmNlKCh3aWR0aDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwiRGVib3VuY2VkIHdpZHRoIGNoYW5nZTpcIiwgd2lkdGgpO1xyXG4gICAgICAvLyDlnKjov5nph4zlpITnkIbpmLLmipblkI7nmoTlrr3luqblj5jljJbpgLvovpFcclxuICAgICAgaWYgKHdpZHRoKSB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVRhYlJlZiAmJiB0aGlzLm11bHRpVGFiUmVmLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgICAgICB0aGlzLm9uV2lkdGhDaGFuZ2UuZW1pdCh3aWR0aCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIsIFtcIiRldmVudFwiXSlcclxuICBvblJlc2l6ZShldmVudCkge1xyXG4gICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsgLy8g5pu05paw5bGP5bmV5a695bqmXHJcbiAgICBpZiAoc2NyZWVuV2lkdGggPD0gOTkyKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyUmVmICYmIHRoaXMuaGVhZGVyUmVmLm9uVG9nZ2xlTWVudShmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHNjcmVlbldpZHRoIDwgMTIwMCkge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZiAmJiB0aGlzLmhlYWRlclJlZi5vblRvZ2dsZU1lbnUodHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZiAmJiB0aGlzLmhlYWRlclJlZi5vblRvZ2dsZU1lbnUoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5nbG9iYWxEcmF3ZXIuc2V0RHJhd2VyKHRoaXMuZHJhd2VyKTsgLy8g6K6+572u5oq95bGJ57uE5Lu2XHJcbiAgICBjb25zdCByaWdodEFzaWRlID1cclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5yaWdodC1hc2lkZVwiKTtcclxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XHJcbiAgICAgICAgY29uc3Qgd2lkdGggPSBlbnRyeS5jb250ZW50UmVjdC53aWR0aDtcclxuICAgICAgICB0aGlzLmRlYm91bmNlZEhhbmRsZVJlc2l6ZSh3aWR0aCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHJpZ2h0QXNpZGUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xyXG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUmlnaHRBc2lkZUNsaWNrKCkge1xyXG4gICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIGlmIChzY3JlZW5XaWR0aCA8PSA5OTIgJiYgdGhpcy5pc0NvbGxhcHNlZCkge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZiAmJiB0aGlzLmhlYWRlclJlZi5vblRvZ2dsZU1lbnUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1tYWluLWNvbnRhaW5lclwiPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltoZWFkZXJTbG90XVwiPjwvbmctY29udGVudD5cclxuICA8ZGl2IGNsYXNzPVwibWFpbi1wYWdlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGVmdC1hc2lkZVwiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbGVmdEFzaWRlU2xvdF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJyaWdodC1hc2lkZVwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgaXNDb2xsYXBzZWQ6IGlzQ29sbGFwc2VkIH1cIlxyXG4gICAgICAoY2xpY2spPVwib25SaWdodEFzaWRlQ2xpY2soKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttdWx0aVRhYlNsb3RdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICA8IS0tIDxycy1tdWx0aS10YWIgW3NpbmdsZVJldXNlVXJsc109XCJzaW5nbGVSZXVzZVVybHNcIj48L3JzLW11bHRpLXRhYj4gLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3V0ZXItY29udGVudFwiPlxyXG4gICAgICAgIDxycy1kcmF3ZXIgI2RyYXdlcj5cclxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyb3V0ZXJTbG90XVwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8L3JzLWRyYXdlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxycy1mb290ZXI+PC9ycy1mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmFpc2UtY29tbW9uLWxpYi9zcmMvbGliL2xheW91dC9tYWluLWNvbnRhaW5lci9pbmRleC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvbGF5b3V0L21haW4tY29udGFpbmVyL2luZGV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU07QUFDTixPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7OztBQU9sQyxNQUFNLE9BQU8sc0JBQXNCO0lBYXZCO0lBQ0E7SUFieUMsU0FBUyxDQUFDO0lBQ1YsV0FBVyxDQUFDO0lBRXZCLE1BQU0sQ0FBa0I7SUFFdkQsV0FBVyxHQUFZLEtBQUssQ0FBQyxDQUFDLFNBQVM7SUFDdkMsZUFBZSxHQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVk7SUFDM0MsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFckMsY0FBYyxDQUFpQjtJQUMvQixxQkFBcUIsQ0FBMEI7SUFDdkQsWUFDVSxZQUEyQixFQUMzQixVQUFzQjtRQUR0QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUMzQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTlCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRTtZQUN0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bmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJTSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JzLWhlYWRlci9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRHJhd2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RyYXdlci9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRHJhd2VyU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE11bHRpVGFiQ29tcG9uZW50IH0gZnJvbSBcIi4uL211bHRpLXRhYi9pbmRleC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tIFwibG9kYXNoXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1tYWluLWNvbnRhaW5lclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYWluQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAQ29udGVudENoaWxkKFJTSGVhZGVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJSZWY7XHJcbiAgQENvbnRlbnRDaGlsZChNdWx0aVRhYkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgbXVsdGlUYWJSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRHJhd2VyQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKSBpc0NvbGxhcHNlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyDmjqXmlLbovpPlhaXlsZ7mgKdcclxuICBASW5wdXQoKSBzaW5nbGVSZXVzZVVybHM6IHN0cmluZ1tdID0gW107IC8v5Y+q6IO95Y2V5Liq57yT5a2Y55qEdXJsXHJcbiAgQE91dHB1dCgpIG9uV2lkdGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xyXG4gIHByaXZhdGUgZGVib3VuY2VkSGFuZGxlUmVzaXplOiAod2lkdGg6IG51bWJlcikgPT4gdm9pZDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZ2xvYmFsRHJhd2VyOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXHJcbiAgKSB7XHJcbiAgICB0aGlzLmRlYm91bmNlZEhhbmRsZVJlc2l6ZSA9IGRlYm91bmNlKCh3aWR0aDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwiRGVib3VuY2VkIHdpZHRoIGNoYW5nZTpcIiwgd2lkdGgpO1xyXG4gICAgICAvLyDlnKjov5nph4zlpITnkIbpmLLmipblkI7nmoTlrr3luqblj5jljJbpgLvovpFcclxuICAgICAgaWYgKHdpZHRoKSB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVRhYlJlZiAmJiB0aGlzLm11bHRpVGFiUmVmLnNldEVsbGlwc2lzVGl0bGUoKTtcclxuICAgICAgICB0aGlzLm9uV2lkdGhDaGFuZ2UuZW1pdCh3aWR0aCk7XHJcbiAgICAgIH1cclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIsIFtcIiRldmVudFwiXSlcclxuICBvblJlc2l6ZShldmVudCkge1xyXG4gICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsgLy8g5pu05paw5bGP5bmV5a695bqmXHJcbiAgICBpZiAoc2NyZWVuV2lkdGggPD0gOTkyKSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyUmVmICYmIHRoaXMuaGVhZGVyUmVmLm9uVG9nZ2xlTWVudShmYWxzZSk7XHJcbiAgICB9IGVsc2UgaWYgKHNjcmVlbldpZHRoIDwgMTIwMCkge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZiAmJiB0aGlzLmhlYWRlclJlZi5vblRvZ2dsZU1lbnUodHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZiAmJiB0aGlzLmhlYWRlclJlZi5vblRvZ2dsZU1lbnUoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5nbG9iYWxEcmF3ZXIuc2V0RHJhd2VyKHRoaXMuZHJhd2VyKTsgLy8g6K6+572u5oq95bGJ57uE5Lu2XHJcbiAgICBjb25zdCByaWdodEFzaWRlID1cclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcIi5yaWdodC1hc2lkZVwiKTtcclxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XHJcbiAgICAgICAgY29uc3Qgd2lkdGggPSBlbnRyeS5jb250ZW50UmVjdC53aWR0aDtcclxuICAgICAgICB0aGlzLmRlYm91bmNlZEhhbmRsZVJlc2l6ZSh3aWR0aCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHJpZ2h0QXNpZGUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xyXG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uUmlnaHRBc2lkZUNsaWNrKCkge1xyXG4gICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIGlmIChzY3JlZW5XaWR0aCA8PSA5OTIgJiYgdGhpcy5pc0NvbGxhcHNlZCkge1xyXG4gICAgICB0aGlzLmhlYWRlclJlZiAmJiB0aGlzLmhlYWRlclJlZi5vblRvZ2dsZU1lbnUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1tYWluLWNvbnRhaW5lci13cmFwXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1tYWluLWNvbnRhaW5lclwiPlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlclNsb3RdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tcGFnZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdC1hc2lkZVwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsZWZ0QXNpZGVTbG90XVwiPjwvbmctY29udGVudD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInJpZ2h0LWFzaWRlXCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7IGlzQ29sbGFwc2VkOiBpc0NvbGxhcHNlZCB9XCJcclxuICAgICAgICAoY2xpY2spPVwib25SaWdodEFzaWRlQ2xpY2soKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbXVsdGlUYWJTbG90XVwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8IS0tIDxycy1tdWx0aS10YWIgW3NpbmdsZVJldXNlVXJsc109XCJzaW5nbGVSZXVzZVVybHNcIj48L3JzLW11bHRpLXRhYj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdXRlci1jb250ZW50XCI+XHJcbiAgICAgICAgICA8cnMtZHJhd2VyICNkcmF3ZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyb3V0ZXJTbG90XVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgIDwvcnMtZHJhd2VyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxycy1mb290ZXI+PC9ycy1mb290ZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=