otimus-library 0.2.88 → 0.2.91

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 (59) hide show
  1. package/README.md +26 -26
  2. package/esm2022/lib/components/oc-accordion/oc-accordion.component.mjs +3 -3
  3. package/esm2022/lib/components/oc-accordion-item/oc-accordion-item.component.mjs +3 -3
  4. package/esm2022/lib/components/oc-autocomplete/oc-autocomplete.component.mjs +39 -4
  5. package/esm2022/lib/components/oc-badge/oc-badge.component.mjs +3 -3
  6. package/esm2022/lib/components/oc-button-menu/oc-button-menu.component.mjs +3 -3
  7. package/esm2022/lib/components/oc-checkbox/oc-checkbox.component.mjs +3 -3
  8. package/esm2022/lib/components/oc-chip/oc-chip.component.mjs +3 -3
  9. package/esm2022/lib/components/oc-date-select/oc-date-select.component.mjs +3 -3
  10. package/esm2022/lib/components/oc-filter/oc-filter.component.mjs +3 -3
  11. package/esm2022/lib/components/oc-input/oc-input.component.mjs +3 -3
  12. package/esm2022/lib/components/oc-key-value/oc-key-value.component.mjs +3 -3
  13. package/esm2022/lib/components/oc-log/oc-log.component.mjs +3 -3
  14. package/esm2022/lib/components/oc-menu/oc-menu.component.mjs +3 -3
  15. package/esm2022/lib/components/oc-message/oc-message.component.mjs +3 -3
  16. package/esm2022/lib/components/oc-modal/oc-modal.component.mjs +3 -3
  17. package/esm2022/lib/components/oc-modal-footer/oc-modal-footer.component.mjs +3 -3
  18. package/esm2022/lib/components/oc-not-found/oc-not-found.component.mjs +3 -3
  19. package/esm2022/lib/components/oc-pagination/oc-pagination.component.mjs +3 -3
  20. package/esm2022/lib/components/oc-profile/oc-profile.component.mjs +3 -3
  21. package/esm2022/lib/components/oc-progress/oc-progress.component.mjs +3 -3
  22. package/esm2022/lib/components/oc-step/oc-step.component.mjs +3 -3
  23. package/esm2022/lib/components/oc-stepper/oc-stepper.component.mjs +3 -3
  24. package/esm2022/lib/components/oc-tab/oc-tab.component.mjs +3 -3
  25. package/esm2022/lib/components/oc-tabs/oc-tabs.component.mjs +3 -3
  26. package/esm2022/lib/components/oc-toast/oc-toast.component.mjs +3 -3
  27. package/esm2022/lib/components/oc-toggle/oc-toggle.component.mjs +3 -3
  28. package/esm2022/lib/directives/oc-tooltip/oc-tooltip.directive.mjs +1 -1
  29. package/esm2022/lib/interfaces/oc-autocomplete.mjs +1 -1
  30. package/esm2022/lib/interfaces/oc-menu.mjs +1 -1
  31. package/esm2022/lib/interfaces/oc-style-theme.mjs +1 -1
  32. package/esm2022/lib/interfaces/oc-toast.mjs +1 -1
  33. package/esm2022/lib/otimus-library.component.mjs +9 -9
  34. package/esm2022/lib/otimus-library.service.mjs +1 -1
  35. package/esm2022/lib/services/internationalization.service.mjs +1 -1
  36. package/esm2022/lib/services/oc-toast.service.mjs +1 -1
  37. package/esm2022/lib/services/style-theme.service.mjs +1 -1
  38. package/esm2022/public-api.mjs +1 -1
  39. package/fesm2022/otimus-library.mjs +96 -61
  40. package/fesm2022/otimus-library.mjs.map +1 -1
  41. package/lib/components/oc-autocomplete/oc-autocomplete.component.d.ts +7 -2
  42. package/package.json +1 -1
  43. package/styles/colors.scss +70 -70
  44. package/styles/components/buttons/buttons.scss +225 -225
  45. package/styles/components/buttons/buttons.shui.scss +61 -61
  46. package/styles/components/index.scss +2 -2
  47. package/styles/components/inputs/inputs.scss +248 -248
  48. package/styles/components/inputs/inputs.shui.scss +212 -212
  49. package/styles/components/table/table.scss +98 -98
  50. package/styles/components/table/table.shui.scss +50 -50
  51. package/styles/components/tooltip.scss +26 -26
  52. package/styles/grid.scss +1122 -1122
  53. package/styles/patterns/shui/colors.shui.scss +154 -154
  54. package/styles/patterns/shui/fonts.shui.scss +65 -65
  55. package/styles/patterns/shui/index.shui.scss +24 -24
  56. package/styles/patterns/shui/variables.shui.scss +23 -23
  57. package/styles/states.scss +5 -5
  58. package/styles/styles.scss +46 -46
  59. package/styles/variables.scss +47 -47
package/README.md CHANGED
@@ -1,26 +1,26 @@
1
- # OtimusLibrary
2
-
3
- Library utilizada pelo OTIMUS CLINIC, um produto da Innovo
4
-
5
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.0.
6
-
7
- ## Code scaffolding
8
-
9
- Run `ng generate component component-name --project otimus-library` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project otimus-library`.
10
- > Note: Don't forget to add `--project otimus-library` or else it will be added to the default project in your `angular.json` file.
11
-
12
- ## Build
13
-
14
- Run `ng build otimus-library` to build the project. The build artifacts will be stored in the `dist/` directory.
15
-
16
- ## Publishing
17
-
18
- After building your library with `ng build otimus-library`, go to the dist folder `cd dist/otimus-library` and run `npm publish`.
19
-
20
- ## Running unit tests
21
-
22
- Run `ng test otimus-library` to execute the unit tests via [Karma](https://karma-runner.github.io).
23
-
24
- ## Further help
25
-
26
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # OtimusLibrary
2
+
3
+ Library utilizada pelo OTIMUS CLINIC, um produto da Innovo
4
+
5
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.0.0.
6
+
7
+ ## Code scaffolding
8
+
9
+ Run `ng generate component component-name --project otimus-library` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project otimus-library`.
10
+ > Note: Don't forget to add `--project otimus-library` or else it will be added to the default project in your `angular.json` file.
11
+
12
+ ## Build
13
+
14
+ Run `ng build otimus-library` to build the project. The build artifacts will be stored in the `dist/` directory.
15
+
16
+ ## Publishing
17
+
18
+ After building your library with `ng build otimus-library`, go to the dist folder `cd dist/otimus-library` and run `npm publish`.
19
+
20
+ ## Running unit tests
21
+
22
+ Run `ng test otimus-library` to execute the unit tests via [Karma](https://karma-runner.github.io).
23
+
24
+ ## Further help
25
+
26
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -30,11 +30,11 @@ export class OcAccordionComponent {
30
30
  });
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcAccordionComponent, deps: [{ token: i1.StyleThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OcAccordionComponent, isStandalone: true, selector: "oc-accordion", inputs: { ocAlternate: "ocAlternate", ocCurrentIndex: "ocCurrentIndex", ocStyle: "ocStyle" }, queries: [{ propertyName: "items", predicate: OcAccordionItemComponent }], ngImport: i0, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".oc-accordion{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OcAccordionComponent, isStandalone: true, selector: "oc-accordion", inputs: { ocAlternate: "ocAlternate", ocCurrentIndex: "ocCurrentIndex", ocStyle: "ocStyle" }, queries: [{ propertyName: "items", predicate: OcAccordionItemComponent }], ngImport: i0, template: "<div>\r\n <ng-content></ng-content>\r\n</div>", styles: [".oc-accordion{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcAccordionComponent, decorators: [{
36
36
  type: Component,
37
- args: [{ selector: 'oc-accordion', standalone: true, imports: [CommonModule, OcAccordionItemComponent], template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".oc-accordion{display:flex;flex-direction:column}\n"] }]
37
+ args: [{ selector: 'oc-accordion', standalone: true, imports: [CommonModule, OcAccordionItemComponent], template: "<div>\r\n <ng-content></ng-content>\r\n</div>", styles: [".oc-accordion{display:flex;flex-direction:column}\n"] }]
38
38
  }], ctorParameters: () => [{ type: i1.StyleThemeService }], propDecorators: { items: [{
39
39
  type: ContentChildren,
40
40
  args: [OcAccordionItemComponent]
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
45
45
  }], ocStyle: [{
46
46
  type: Input
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24vb2MtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24vb2MtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUE7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7QUFXOUMsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUovQyxnQkFBVyxHQUFZLElBQUksQ0FBQTtRQUUzQixZQUFPLEdBQXFCLFFBQVEsQ0FBQTtJQUVjLENBQUM7SUFFNUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDckUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7UUFDMUQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO2dCQUNwQixPQUFNO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0E3QlUsb0JBQW9CO21HQUFwQixvQkFBb0IsNExBQ2Qsd0JBQXdCLDZCQ2QzQyw0Q0FFTSw0R0RPTSxZQUFZOzs0RkFJWCxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQztzRkFLTixLQUFLO3NCQUEvQyxlQUFlO3VCQUFDLHdCQUF3QjtnQkFDaEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9jQWNjb3JkaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL29jLWFjY29yZGlvbi1pdGVtL29jLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xuaW1wb3J0IHsgU3R5bGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdHlsZS10aGVtZS5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvYy1hY2NvcmRpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPY0FjY29yZGlvbkl0ZW1Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29jLWFjY29yZGlvbi5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIE9jQWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oT2NBY2NvcmRpb25JdGVtQ29tcG9uZW50KSBpdGVtcyE6IFF1ZXJ5TGlzdDxPY0FjY29yZGlvbkl0ZW1Db21wb25lbnQ+XG4gIEBJbnB1dCgpIG9jQWx0ZXJuYXRlOiBib29sZWFuID0gdHJ1ZVxuICBASW5wdXQoKSBvY0N1cnJlbnRJbmRleD86IG51bWJlclxuICBASW5wdXQoKSBvY1N0eWxlOiBPY1N0eWxlVGhlbWVUeXBlID0gJ290aW11cydcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0eWxlVGhlbWVTZXJ2aWNlOiBTdHlsZVRoZW1lU2VydmljZSkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICBpdGVtLm9jU3R5bGUgPSB0aGlzLnN0eWxlVGhlbWVTZXJ2aWNlLmdldFN0eWxlVGhlbWUoKSB8fCB0aGlzLm9jU3R5bGVcbiAgICAgIGl0ZW0uY2xvc2VBbGxJdGVtcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZUFsbEl0ZW1zKCkpXG4gICAgfSlcbiAgfVxuXG4gIGNsb3NlQWxsSXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NBbHRlcm5hdGUpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gKGl0ZW0ub2NJc09wZW4gPSBmYWxzZSkpXG4gICAgfVxuICB9XG5cbiAgYWx0ZXJuYXRlVG9JbmRleChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICBpZiAoaSA9PT0gaW5kZXgpIHtcbiAgICAgICAgaXRlbS5vY0lzT3BlbiA9IHRydWVcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBpdGVtLm9jSXNPcGVuID0gZmFsc2VcbiAgICB9KVxuICB9XG59XG4iLCI8ZGl2PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24vb2MtYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24vb2MtYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUE7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7QUFXOUMsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUovQyxnQkFBVyxHQUFZLElBQUksQ0FBQTtRQUUzQixZQUFPLEdBQXFCLFFBQVEsQ0FBQTtJQUVjLENBQUM7SUFFNUQsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDckUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUE7UUFDMUQsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO2dCQUNwQixPQUFNO1lBQ1IsQ0FBQztZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzsrR0E3QlUsb0JBQW9CO21HQUFwQixvQkFBb0IsNExBQ2Qsd0JBQXdCLDZCQ2QzQyxnREFFTSw0R0RPTSxZQUFZOzs0RkFJWCxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQztzRkFLTixLQUFLO3NCQUEvQyxlQUFlO3VCQUFDLHdCQUF3QjtnQkFDaEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2NBY2NvcmRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vb2MtYWNjb3JkaW9uLWl0ZW0vb2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50J1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xyXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWFjY29yZGlvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBPY0FjY29yZGlvbkl0ZW1Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1hY2NvcmRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1hY2NvcmRpb24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBAQ29udGVudENoaWxkcmVuKE9jQWNjb3JkaW9uSXRlbUNvbXBvbmVudCkgaXRlbXMhOiBRdWVyeUxpc3Q8T2NBY2NvcmRpb25JdGVtQ29tcG9uZW50PlxyXG4gIEBJbnB1dCgpIG9jQWx0ZXJuYXRlOiBib29sZWFuID0gdHJ1ZVxyXG4gIEBJbnB1dCgpIG9jQ3VycmVudEluZGV4PzogbnVtYmVyXHJcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3R5bGVUaGVtZVNlcnZpY2U6IFN0eWxlVGhlbWVTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcclxuICAgICAgaXRlbS5vY1N0eWxlID0gdGhpcy5zdHlsZVRoZW1lU2VydmljZS5nZXRTdHlsZVRoZW1lKCkgfHwgdGhpcy5vY1N0eWxlXHJcbiAgICAgIGl0ZW0uY2xvc2VBbGxJdGVtcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZUFsbEl0ZW1zKCkpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgY2xvc2VBbGxJdGVtcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jQWx0ZXJuYXRlKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gKGl0ZW0ub2NJc09wZW4gPSBmYWxzZSkpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhbHRlcm5hdGVUb0luZGV4KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICBpZiAoaSA9PT0gaW5kZXgpIHtcclxuICAgICAgICBpdGVtLm9jSXNPcGVuID0gdHJ1ZVxyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcbiAgICAgIGl0ZW0ub2NJc09wZW4gPSBmYWxzZVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PiJdfQ==
@@ -18,11 +18,11 @@ export class OcAccordionItemComponent {
18
18
  this.ocIsOpen = !this.ocIsOpen;
19
19
  }
20
20
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcAccordionItemComponent, isStandalone: true, selector: "oc-accordion-item", inputs: { ocIsOpen: "ocIsOpen", ocTitle: "ocTitle", ocStyle: "ocStyle" }, outputs: { closeAllItems: "closeAllItems" }, ngImport: i0, template: "<div class=\"oc-accordion-item\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n}\">\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\n keyboard_control_key\n </span>\n </div>\n @if (ocIsOpen) {\n <div class=\"oc-content\" [ngClass]=\"{\n open: ocIsOpen\n }\">\n <ng-content></ng-content>\n </div>\n }\n</div>", styles: [".oc-accordion-item{width:100%}.oc-accordion-item .item-header{cursor:pointer;transition:.1s ease;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-radius:1rem}.oc-accordion-item .item-header h3{color:#353535;padding:0;margin:0}.oc-accordion-item .item-header span{transition:.3s ease;color:#7e8485}.oc-accordion-item .item-header:hover{background-color:#f8f9ff}.oc-accordion-item .item-header:active{transform:scale(.99)}.oc-accordion-item .item-header.open{background-color:#f8f9ff;border-bottom-left-radius:0;border-bottom-right-radius:0}.oc-accordion-item .item-header.open h3{color:#5505a2}.oc-accordion-item .item-header.open span{color:#00dda3;transform:rotate(180deg)}.oc-accordion-item .closed,.oc-accordion-item closed *{display:none}.oc-accordion-item .oc-content{animation:show-up .15s ease;padding:2rem 1.5rem 2.5rem;border-radius:0 0 16px 16px}.oc-accordion-item .oc-content.open{background-color:#f8f9ff}@keyframes show-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.oc-accordion-item.shui{width:100%}.oc-accordion-item.shui .item-header{border-radius:0}.oc-accordion-item.shui .item-header h3{color:#000000bf}.oc-accordion-item.shui .item-header span{color:#7d7d7d}.oc-accordion-item.shui .item-header:hover,.oc-accordion-item.shui .item-header.open{background-color:#f5f5f5}.oc-accordion-item.shui .item-header.open h3{color:#0169b2}.oc-accordion-item.shui .item-header.open span{color:#099}.oc-accordion-item.shui .oc-content{border-radius:0}.oc-accordion-item.shui .oc-content.open{background-color:#f5f5f566}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcAccordionItemComponent, isStandalone: true, selector: "oc-accordion-item", inputs: { ocIsOpen: "ocIsOpen", ocTitle: "ocTitle", ocStyle: "ocStyle" }, outputs: { closeAllItems: "closeAllItems" }, ngImport: i0, template: "<div class=\"oc-accordion-item\" [ngClass]=\"{\r\n 'shui': ocStyle === 'shui'\r\n}\">\r\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\r\n @if (ocTitle) {\r\n <h3>{{ ocTitle }}</h3>\r\n } @else {\r\n <ng-content select=\"[ocHeader]\"></ng-content>\r\n }\r\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\r\n keyboard_control_key\r\n </span>\r\n </div>\r\n @if (ocIsOpen) {\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>", styles: [".oc-accordion-item{width:100%}.oc-accordion-item .item-header{cursor:pointer;transition:.1s ease;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-radius:1rem}.oc-accordion-item .item-header h3{color:#353535;padding:0;margin:0}.oc-accordion-item .item-header span{transition:.3s ease;color:#7e8485}.oc-accordion-item .item-header:hover{background-color:#f8f9ff}.oc-accordion-item .item-header:active{transform:scale(.99)}.oc-accordion-item .item-header.open{background-color:#f8f9ff;border-bottom-left-radius:0;border-bottom-right-radius:0}.oc-accordion-item .item-header.open h3{color:#5505a2}.oc-accordion-item .item-header.open span{color:#00dda3;transform:rotate(180deg)}.oc-accordion-item .closed,.oc-accordion-item closed *{display:none}.oc-accordion-item .oc-content{animation:show-up .15s ease;padding:2rem 1.5rem 2.5rem;border-radius:0 0 16px 16px}.oc-accordion-item .oc-content.open{background-color:#f8f9ff}@keyframes show-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.oc-accordion-item.shui{width:100%}.oc-accordion-item.shui .item-header{border-radius:0}.oc-accordion-item.shui .item-header h3{color:#000000bf}.oc-accordion-item.shui .item-header span{color:#7d7d7d}.oc-accordion-item.shui .item-header:hover,.oc-accordion-item.shui .item-header.open{background-color:#f5f5f5}.oc-accordion-item.shui .item-header.open h3{color:#0169b2}.oc-accordion-item.shui .item-header.open span{color:#099}.oc-accordion-item.shui .oc-content{border-radius:0}.oc-accordion-item.shui .oc-content.open{background-color:#f5f5f566}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcAccordionItemComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'oc-accordion-item', standalone: true, imports: [CommonModule], template: "<div class=\"oc-accordion-item\" [ngClass]=\"{\n 'shui': ocStyle === 'shui'\n}\">\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\n keyboard_control_key\n </span>\n </div>\n @if (ocIsOpen) {\n <div class=\"oc-content\" [ngClass]=\"{\n open: ocIsOpen\n }\">\n <ng-content></ng-content>\n </div>\n }\n</div>", styles: [".oc-accordion-item{width:100%}.oc-accordion-item .item-header{cursor:pointer;transition:.1s ease;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-radius:1rem}.oc-accordion-item .item-header h3{color:#353535;padding:0;margin:0}.oc-accordion-item .item-header span{transition:.3s ease;color:#7e8485}.oc-accordion-item .item-header:hover{background-color:#f8f9ff}.oc-accordion-item .item-header:active{transform:scale(.99)}.oc-accordion-item .item-header.open{background-color:#f8f9ff;border-bottom-left-radius:0;border-bottom-right-radius:0}.oc-accordion-item .item-header.open h3{color:#5505a2}.oc-accordion-item .item-header.open span{color:#00dda3;transform:rotate(180deg)}.oc-accordion-item .closed,.oc-accordion-item closed *{display:none}.oc-accordion-item .oc-content{animation:show-up .15s ease;padding:2rem 1.5rem 2.5rem;border-radius:0 0 16px 16px}.oc-accordion-item .oc-content.open{background-color:#f8f9ff}@keyframes show-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.oc-accordion-item.shui{width:100%}.oc-accordion-item.shui .item-header{border-radius:0}.oc-accordion-item.shui .item-header h3{color:#000000bf}.oc-accordion-item.shui .item-header span{color:#7d7d7d}.oc-accordion-item.shui .item-header:hover,.oc-accordion-item.shui .item-header.open{background-color:#f5f5f5}.oc-accordion-item.shui .item-header.open h3{color:#0169b2}.oc-accordion-item.shui .item-header.open span{color:#099}.oc-accordion-item.shui .oc-content{border-radius:0}.oc-accordion-item.shui .oc-content.open{background-color:#f5f5f566}\n"] }]
25
+ args: [{ selector: 'oc-accordion-item', standalone: true, imports: [CommonModule], template: "<div class=\"oc-accordion-item\" [ngClass]=\"{\r\n 'shui': ocStyle === 'shui'\r\n}\">\r\n <div class=\"item-header\" [ngClass]=\"{ open: ocIsOpen }\" (click)=\"toggle()\">\r\n @if (ocTitle) {\r\n <h3>{{ ocTitle }}</h3>\r\n } @else {\r\n <ng-content select=\"[ocHeader]\"></ng-content>\r\n }\r\n <span class=\"material-symbols-outlined\" style=\"user-select: none;\">\r\n keyboard_control_key\r\n </span>\r\n </div>\r\n @if (ocIsOpen) {\r\n <div class=\"oc-content\" [ngClass]=\"{\r\n open: ocIsOpen\r\n }\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>", styles: [".oc-accordion-item{width:100%}.oc-accordion-item .item-header{cursor:pointer;transition:.1s ease;display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-radius:1rem}.oc-accordion-item .item-header h3{color:#353535;padding:0;margin:0}.oc-accordion-item .item-header span{transition:.3s ease;color:#7e8485}.oc-accordion-item .item-header:hover{background-color:#f8f9ff}.oc-accordion-item .item-header:active{transform:scale(.99)}.oc-accordion-item .item-header.open{background-color:#f8f9ff;border-bottom-left-radius:0;border-bottom-right-radius:0}.oc-accordion-item .item-header.open h3{color:#5505a2}.oc-accordion-item .item-header.open span{color:#00dda3;transform:rotate(180deg)}.oc-accordion-item .closed,.oc-accordion-item closed *{display:none}.oc-accordion-item .oc-content{animation:show-up .15s ease;padding:2rem 1.5rem 2.5rem;border-radius:0 0 16px 16px}.oc-accordion-item .oc-content.open{background-color:#f8f9ff}@keyframes show-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.oc-accordion-item.shui{width:100%}.oc-accordion-item.shui .item-header{border-radius:0}.oc-accordion-item.shui .item-header h3{color:#000000bf}.oc-accordion-item.shui .item-header span{color:#7d7d7d}.oc-accordion-item.shui .item-header:hover,.oc-accordion-item.shui .item-header.open{background-color:#f5f5f5}.oc-accordion-item.shui .item-header.open h3{color:#0169b2}.oc-accordion-item.shui .item-header.open span{color:#099}.oc-accordion-item.shui .oc-content{border-radius:0}.oc-accordion-item.shui .oc-content.open{background-color:#f5f5f566}\n"] }]
26
26
  }], propDecorators: { ocIsOpen: [{
27
27
  type: Input
28
28
  }], ocTitle: [{
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32
32
  }], closeAllItems: [{
33
33
  type: Output
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWFjY29yZGlvbi1pdGVtL29jLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24taXRlbS9vYy1hY2NvcmRpb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBVXRFLE1BQU0sT0FBTyx3QkFBd0I7SUFQckM7UUFRVyxhQUFRLEdBQVksS0FBSyxDQUFBO1FBQ3pCLFlBQU8sR0FBVyxFQUFFLENBQUE7UUFDcEIsWUFBTyxHQUFxQixRQUFRLENBQUE7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0tBVzdDO0lBVFcsTUFBTTtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO1lBQzlCLE9BQU07UUFDUixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUNoQyxDQUFDOytHQWJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLG9NQ1hyQyxzakJBb0JNLDJtRERiTSxZQUFZOzs0RkFJWCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFLZCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvYy1hY2NvcmRpb24taXRlbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vb2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBPY0FjY29yZGlvbkl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBvY0lzT3BlbjogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jVGl0bGU6IHN0cmluZyA9ICcnXG4gIEBJbnB1dCgpIG9jU3R5bGU6IE9jU3R5bGVUaGVtZVR5cGUgPSAnb3RpbXVzJ1xuICBAT3V0cHV0KCkgY2xvc2VBbGxJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuXG4gIHByb3RlY3RlZCB0b2dnbGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub2NJc09wZW4pIHtcbiAgICAgIHRoaXMub2NJc09wZW4gPSAhdGhpcy5vY0lzT3BlblxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuY2xvc2VBbGxJdGVtcy5lbWl0KClcbiAgICB0aGlzLm9jSXNPcGVuID0gIXRoaXMub2NJc09wZW5cbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwib2MtYWNjb3JkaW9uLWl0ZW1cIiBbbmdDbGFzc109XCJ7XG4gICdzaHVpJzogb2NTdHlsZSA9PT0gJ3NodWknXG59XCI+XG4gIDxkaXYgY2xhc3M9XCJpdGVtLWhlYWRlclwiIFtuZ0NsYXNzXT1cInsgb3Blbjogb2NJc09wZW4gfVwiIChjbGljayk9XCJ0b2dnbGUoKVwiPlxuICAgIEBpZiAob2NUaXRsZSkge1xuICAgIDxoMz57eyBvY1RpdGxlIH19PC9oMz5cbiAgICB9IEBlbHNlIHtcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbb2NIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgIH1cbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIiBzdHlsZT1cInVzZXItc2VsZWN0OiBub25lO1wiPlxuICAgICAga2V5Ym9hcmRfY29udHJvbF9rZXlcbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICBAaWYgKG9jSXNPcGVuKSB7XG4gIDxkaXYgY2xhc3M9XCJvYy1jb250ZW50XCIgW25nQ2xhc3NdPVwie1xuICAgIG9wZW46IG9jSXNPcGVuXG4gIH1cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICB9XG48L2Rpdj4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWFjY29yZGlvbi1pdGVtL29jLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hY2NvcmRpb24taXRlbS9vYy1hY2NvcmRpb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBVXRFLE1BQU0sT0FBTyx3QkFBd0I7SUFQckM7UUFRVyxhQUFRLEdBQVksS0FBSyxDQUFBO1FBQ3pCLFlBQU8sR0FBVyxFQUFFLENBQUE7UUFDcEIsWUFBTyxHQUFxQixRQUFRLENBQUE7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0tBVzdDO0lBVFcsTUFBTTtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO1lBQzlCLE9BQU07UUFDUixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUNoQyxDQUFDOytHQWJVLHdCQUF3QjttR0FBeEIsd0JBQXdCLG9NQ1hyQyw4bEJBb0JNLDJtRERiTSxZQUFZOzs0RkFJWCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs4QkFLZCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBPY1N0eWxlVGhlbWVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1zdHlsZS10aGVtZSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnb2MtYWNjb3JkaW9uLWl0ZW0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2NBY2NvcmRpb25JdGVtQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBvY0lzT3BlbjogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NUaXRsZTogc3RyaW5nID0gJydcclxuICBASW5wdXQoKSBvY1N0eWxlOiBPY1N0eWxlVGhlbWVUeXBlID0gJ290aW11cydcclxuICBAT3V0cHV0KCkgY2xvc2VBbGxJdGVtcyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG5cclxuICBwcm90ZWN0ZWQgdG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NJc09wZW4pIHtcclxuICAgICAgdGhpcy5vY0lzT3BlbiA9ICF0aGlzLm9jSXNPcGVuXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5jbG9zZUFsbEl0ZW1zLmVtaXQoKVxyXG4gICAgdGhpcy5vY0lzT3BlbiA9ICF0aGlzLm9jSXNPcGVuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib2MtYWNjb3JkaW9uLWl0ZW1cIiBbbmdDbGFzc109XCJ7XHJcbiAgJ3NodWknOiBvY1N0eWxlID09PSAnc2h1aSdcclxufVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpdGVtLWhlYWRlclwiIFtuZ0NsYXNzXT1cInsgb3Blbjogb2NJc09wZW4gfVwiIChjbGljayk9XCJ0b2dnbGUoKVwiPlxyXG4gICAgQGlmIChvY1RpdGxlKSB7XHJcbiAgICA8aDM+e3sgb2NUaXRsZSB9fTwvaDM+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltvY0hlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICB9XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIiBzdHlsZT1cInVzZXItc2VsZWN0OiBub25lO1wiPlxyXG4gICAgICBrZXlib2FyZF9jb250cm9sX2tleVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIEBpZiAob2NJc09wZW4pIHtcclxuICA8ZGl2IGNsYXNzPVwib2MtY29udGVudFwiIFtuZ0NsYXNzXT1cIntcclxuICAgIG9wZW46IG9jSXNPcGVuXHJcbiAgfVwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+Il19
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, ViewChildren, } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { InternationalizationService } from '../../services/internationalization.service';
5
5
  import * as i0 from "@angular/core";
@@ -28,6 +28,7 @@ export class OcAutocompleteComponent {
28
28
  this.ocDisabled = false;
29
29
  this.ocType = 'default';
30
30
  this.ocHasDeleteButton = false;
31
+ this.ocEnableKeyboard = false;
31
32
  this.ocValueChange = new EventEmitter();
32
33
  this.ocChange = new EventEmitter();
33
34
  this.ocCounterSelectChange = new EventEmitter();
@@ -41,6 +42,7 @@ export class OcAutocompleteComponent {
41
42
  name: '',
42
43
  value: null,
43
44
  };
45
+ this.selectedIndex = -1;
44
46
  }
45
47
  set ocData(value) {
46
48
  this._ocData = value;
@@ -191,6 +193,7 @@ export class OcAutocompleteComponent {
191
193
  name: '',
192
194
  value: null,
193
195
  };
196
+ this.selectedIndex = -1;
194
197
  this.cdr.detectChanges();
195
198
  return;
196
199
  }
@@ -208,6 +211,7 @@ export class OcAutocompleteComponent {
208
211
  this.ocValue = foundValue.name;
209
212
  }
210
213
  this.isOptionsShown = false;
214
+ this.selectedIndex = this.filteredData.indexOf(foundValue);
211
215
  this.ocChange.emit(this.selectedValue.value);
212
216
  this.cdr.detectChanges();
213
217
  }
@@ -238,8 +242,34 @@ export class OcAutocompleteComponent {
238
242
  const hasMoreThanZero = this.ocData.filter((data) => !!data.counter);
239
243
  this.ocCounterSelectChange.emit(hasMoreThanZero);
240
244
  }
245
+ moveSelection(delta) {
246
+ this.selectedIndex = Math.max(0, Math.min(this.listOptionsElements.length - 1, this.selectedIndex + delta));
247
+ const element = this.listOptionsElements.get(this.selectedIndex)?.nativeElement;
248
+ if (element) {
249
+ element.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
250
+ }
251
+ }
252
+ onKeyDown(event) {
253
+ if (this.ocEnableKeyboard && this.isOptionsShown) {
254
+ const e = event;
255
+ if (e.key === 'ArrowUp') {
256
+ this.moveSelection(-1);
257
+ }
258
+ else if (e.key === 'ArrowDown') {
259
+ this.moveSelection(1);
260
+ }
261
+ else if (e.key === 'Enter') {
262
+ this.selectValue(this.filteredData[this.selectedIndex].value);
263
+ }
264
+ else {
265
+ return;
266
+ }
267
+ e.preventDefault();
268
+ e.stopPropagation();
269
+ }
270
+ }
241
271
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcAutocompleteComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.InternationalizationService }, { token: i2.StyleThemeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
242
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcAutocompleteComponent, isStandalone: true, selector: "oc-autocomplete", inputs: { ocData: "ocData", ocPlaceholder: "ocPlaceholder", ocError: "ocError", ocSize: "ocSize", ocValue: "ocValue", ocClearOnChange: "ocClearOnChange", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocOptionsMaxHeight: "ocOptionsMaxHeight", ocOptionsWidth: "ocOptionsWidth", ocRequired: "ocRequired", ocMaxResults: "ocMaxResults", ocAllowNotListedValue: "ocAllowNotListedValue", ocNoAvailableOptionsText: "ocNoAvailableOptionsText", ocTypeForMoreResultsText: "ocTypeForMoreResultsText", ocLoading: "ocLoading", ocSemanticLike: "ocSemanticLike", ocStyle: "ocStyle", ocTabIndex: "ocTabIndex", iconSize: "iconSize", ocSelectByTyping: "ocSelectByTyping", ocDisabled: "ocDisabled", ocType: "ocType", ocHasDeleteButton: "ocHasDeleteButton" }, outputs: { ocValueChange: "ocValueChange", ocChange: "ocChange", ocCounterSelectChange: "ocCounterSelectChange", ocOptionNotFound: "ocOptionNotFound", ocClick: "ocClick" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, providers: [InternationalizationService], queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "options", first: true, predicate: ["options"], descendants: true }, { propertyName: "outerDiv", first: true, predicate: ["outerDiv"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix || ocHasDeleteButton,\n shui: ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui',\n }\"\n>\n <ng-content></ng-content>\n <input\n [placeholder]=\"ocPlaceholder\"\n #input\n (click)=\"toggleOptions(); ocClick.emit()\"\n type=\"text\"\n (input)=\"filterData(ocValue)\"\n [(ngModel)]=\"ocValue\"\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\n [ngClass]=\"{\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\n }\"\n [tabindex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n />\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if (ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n }\n <small\n *ngIf=\"ocError\"\n class=\"error-msg\"\n >{{ ocError }}</small\n >\n <ng-content select=\"ocPrefix\"></ng-content>\n @if (ocHasDeleteButton && !ocDisabled) {\n <button\n class=\"oc-has-close-button oc suffix\"\n (click)=\"clearValue()\"\n [disabled]=\"ocDisabled\"\n >\n <span class=\"material-symbols-outlined\">backspace</span>\n </button>\n }\n <ng-content select=\"ocSuffix\"></ng-content>\n\n <div class=\"oc-options-div\">\n @if (isOptionsShown && !ocLoading && !ocDisabled) {\n <ul\n #options\n class=\"oc-options\"\n [ngStyle]=\"{\n 'max-height': ocOptionsMaxHeight,\n width: ocOptionsWidth,\n }\"\n >\n @if (!filteredData.length) {\n <li class=\"no-options\">\n {{ ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel' }}\n </li>\n } @else {\n @for (data of filteredData; track data.value; let i = $index) {\n @if (!ocMaxResults || i < ocMaxResults) {\n <li class=\"li-option\">\n <button\n type=\"button\"\n (click)=\"selectValue(data.value)\"\n [class.hover]=\"ocType !== 'counterSelect'\"\n >\n @if (data.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n 'font-size': data.iconSize || '1.2rem',\n }\"\n >\n {{ data.icon }}\n </span>\n }\n {{ data.name }}\n </button>\n @if (ocType === 'counterSelect') {\n <div class=\"oc-counter-select\">\n <button\n class=\"subtract\"\n (click)=\"decrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">remove</span>\n </button>\n <p class=\"counter\">{{ data.counter || 0 }}</p>\n <button\n class=\"add\"\n (click)=\"incrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">add</span>\n </button>\n </div>\n }\n </li>\n }\n }\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\n <li class=\"no-options\">\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\n </li>\n }\n }\n </ul>\n } @else if (isOptionsShown && ocLoading && !ocDisabled) {\n <div class=\"oc-options loader\">\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\n </div>\n }\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box label .oc.color.error{font-weight:700;margin-left:.2rem}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.shui-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box{position:relative;margin-top:.5rem}.shui-input-box select *{background-color:#ebebeb}.shui-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#000;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.shui-input-box.prefix{z-index:5}.shui-input-box.prefix .material-symbols-outlined,.shui-input-box.prefix .oc.suffix{padding:.5rem .7rem}.shui-input-box.prefix input{padding-left:1.75rem}.shui-input-box.prefix label{padding:.7rem 2.5rem}.shui-input-box.suffix{z-index:5}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{padding:.5rem .7rem}.shui-input-box.suffix input{padding-right:1.75rem}.shui-input-box.suffix label{padding:.7rem}.shui-input-box input,.shui-input-box textarea,.shui-input-box select{font-size:1rem;background-color:#ebebeb;border:none;outline:none;padding:1rem .9rem .2rem;width:100%;transition:.3s ease;color:#000;font-weight:400;height:41px;min-width:100%}.shui-input-box textarea{height:inherit;padding-top:20px}.shui-input-box input:not(:placeholder-shown)~label,.shui-input-box input:focus~label,.shui-input-box textarea:not(:placeholder-shown)~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{transform:translate(.45rem);background-color:#ebebeb;width:95%;padding:1px 7px 0;font-size:.7rem;font-weight:500}.shui-input-box input:focus~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{color:#0169b2}.shui-input-box:before{display:block;content:\"\";position:absolute;bottom:0;height:1px;width:100%;background-color:#7d7d7d;transition:.4s ease;width:0;background-color:#0169b2}.shui-input-box:focus-within:before{width:100%}.error input,.error textarea,.error select{border:1px solid #e7001d;box-shadow:0 4px 6.1px #a1000014}.error:before{width:0!important}.error small,.error label{color:#ed3a3a!important;font-weight:600}.shui-input-box.small input,.shui-input-box.small textarea,.shui-input-box.small select{max-height:36px;padding-top:1rem}.shui-input-box.small.prefix{z-index:5}.shui-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem;color:#0169b2}.shui-input-box.small.prefix label{padding:.45rem 2.5rem}.shui-input-box.small.suffix{z-index:5}.shui-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem;color:#0169b2}.shui-input-box.small.suffix label{padding:.45rem .7rem}.shui-input-box.large input,.shui-input-box.large textarea,.shui-input-box.large select{height:46px}.shui-input-box.large label{padding:1rem .7rem}.shui-input-box.large.prefix{z-index:5}.shui-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.shui-input-box.large.prefix input{padding-left:2.5rem}.shui-input-box.large.prefix label{padding:1.1rem 2.5rem}.shui-input-box.large.suffix{z-index:5}.shui-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.shui-input-box.large.suffix input{padding-right:2.5rem}.shui-input-box.large.suffix label{padding:1.1rem .7rem}.oc.suffix,.oc.prefix,.material-symbols-outlined{z-index:5!important}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-has-close-button-input{padding-right:60px}.oc-has-close-button{display:flex;justify-content:center;align-items:center;position:absolute;right:.5rem!important;top:8%;height:84%;width:2.2rem;border:2px solid transparent;border-radius:.5rem;background-color:transparent;padding:0!important;transition:border-color .2s ease,box-shadow .2s ease}.oc-has-close-button:hover{border:2px solid #8f9596;box-shadow:0 4px 8.7px #00000021;cursor:pointer}.oc-has-close-button span{padding:0!important;margin:.3rem}.oc-counter-select{display:flex;gap:.2rem;align-items:center;float:right;max-height:30px}.oc-counter-select .counter{font-size:.9rem;color:#5505a2;font-weight:600;margin:0;padding:0}.oc-counter-select button{display:flex;justify-content:center;align-items:center;text-align:center;max-width:20px}.oc-counter-select .subtract span,.oc-counter-select .add span{font-size:1rem;font-weight:600;text-align:center}.oc-counter-select span{transition:.2s ease}.oc-counter-select .subtract:hover span{color:#ed3a3a!important}.oc-counter-select .add:hover span{color:#00dda3!important}.shui-option-box .oc-counter-select .counter{color:#0169b2}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0;display:flex;justify-content:space-between}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer;display:flex;align-items:center}.oc-options>li button span.material-symbols-outlined{line-height:0;color:#8f9596;margin:0 8px 0 0;padding:0}.oc-options>li button.hover:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcAutocompleteComponent, isStandalone: true, selector: "oc-autocomplete", inputs: { ocData: "ocData", ocPlaceholder: "ocPlaceholder", ocError: "ocError", ocSize: "ocSize", ocValue: "ocValue", ocClearOnChange: "ocClearOnChange", ocWidth: "ocWidth", ocMinWidth: "ocMinWidth", ocMaxWidth: "ocMaxWidth", ocOptionsMaxHeight: "ocOptionsMaxHeight", ocOptionsWidth: "ocOptionsWidth", ocRequired: "ocRequired", ocMaxResults: "ocMaxResults", ocAllowNotListedValue: "ocAllowNotListedValue", ocNoAvailableOptionsText: "ocNoAvailableOptionsText", ocTypeForMoreResultsText: "ocTypeForMoreResultsText", ocLoading: "ocLoading", ocSemanticLike: "ocSemanticLike", ocStyle: "ocStyle", ocTabIndex: "ocTabIndex", iconSize: "iconSize", ocSelectByTyping: "ocSelectByTyping", ocDisabled: "ocDisabled", ocType: "ocType", ocHasDeleteButton: "ocHasDeleteButton", ocEnableKeyboard: "ocEnableKeyboard" }, outputs: { ocValueChange: "ocValueChange", ocChange: "ocChange", ocCounterSelectChange: "ocCounterSelectChange", ocOptionNotFound: "ocOptionNotFound", ocClick: "ocClick" }, host: { properties: { "style.width": "this.computedWidth", "style.min-width": "this.computedMinWidth", "style.max-width": "this.computedMaxWidth" } }, providers: [InternationalizationService], queries: [{ propertyName: "ocPrefix", first: true, predicate: ["ocPrefix"], descendants: true }, { propertyName: "ocSuffix", first: true, predicate: ["ocSuffix"], descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "options", first: true, predicate: ["options"], descendants: true }, { propertyName: "outerDiv", first: true, predicate: ["outerDiv"], descendants: true }, { propertyName: "listOptionsElements", predicate: ["listOptionsRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\r\n [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix || ocHasDeleteButton,\r\n shui: ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui',\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n <input\r\n [placeholder]=\"ocPlaceholder\"\r\n #input\r\n (click)=\"toggleOptions(); ocClick.emit()\"\r\n type=\"text\"\r\n (input)=\"filterData(ocValue)\"\r\n [(ngModel)]=\"ocValue\"\r\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\r\n [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\"\r\n [tabindex]=\"ocTabIndex\"\r\n [disabled]=\"ocDisabled\"\r\n (keydown)=\"onKeyDown($event)\"\r\n />\r\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if (ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ ocError }}</small\r\n >\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n @if (ocHasDeleteButton && !ocDisabled) {\r\n <button\r\n class=\"oc-has-close-button oc suffix\"\r\n (click)=\"clearValue()\"\r\n [disabled]=\"ocDisabled\"\r\n >\r\n <span class=\"material-symbols-outlined\">backspace</span>\r\n </button>\r\n }\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if (isOptionsShown && !ocLoading && !ocDisabled) {\r\n <ul\r\n #options\r\n class=\"oc-options\"\r\n [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n width: ocOptionsWidth,\r\n }\"\r\n >\r\n @if (!filteredData.length) {\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel' }}\r\n </li>\r\n } @else {\r\n @for (data of filteredData; track data.value; let i = $index) {\r\n @if (!ocMaxResults || i < ocMaxResults) {\r\n <li class=\"li-option\" #listOptionsRef>\r\n <button\r\n type=\"button\"\r\n (click)=\"selectValue(data.value)\"\r\n [class.hover]=\"ocType !== 'counterSelect'\"\r\n [class.highlight]=\"selectedIndex === i\"\r\n >\r\n @if (data.icon) {\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [ngStyle]=\"{\r\n 'font-size': data.iconSize || '1.2rem',\r\n }\"\r\n >\r\n {{ data.icon }}\r\n </span>\r\n }\r\n {{ data.name }}\r\n </button>\r\n @if (ocType === 'counterSelect') {\r\n <div class=\"oc-counter-select\">\r\n <button\r\n class=\"subtract\"\r\n (click)=\"decrementCounter(data)\"\r\n >\r\n <span class=\"material-symbols-outlined\">remove</span>\r\n </button>\r\n <p class=\"counter\">{{ data.counter || 0 }}</p>\r\n <button\r\n class=\"add\"\r\n (click)=\"incrementCounter(data)\"\r\n >\r\n <span class=\"material-symbols-outlined\">add</span>\r\n </button>\r\n </div>\r\n }\r\n </li>\r\n }\r\n }\r\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading && !ocDisabled) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box label .oc.color.error{font-weight:700;margin-left:.2rem}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.shui-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box{position:relative;margin-top:.5rem}.shui-input-box select *{background-color:#ebebeb}.shui-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#000;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.shui-input-box.prefix{z-index:5}.shui-input-box.prefix .material-symbols-outlined,.shui-input-box.prefix .oc.suffix{padding:.5rem .7rem}.shui-input-box.prefix input{padding-left:1.75rem}.shui-input-box.prefix label{padding:.7rem 2.5rem}.shui-input-box.suffix{z-index:5}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{padding:.5rem .7rem}.shui-input-box.suffix input{padding-right:1.75rem}.shui-input-box.suffix label{padding:.7rem}.shui-input-box input,.shui-input-box textarea,.shui-input-box select{font-size:1rem;background-color:#ebebeb;border:none;outline:none;padding:1rem .9rem .2rem;width:100%;transition:.3s ease;color:#000;font-weight:400;height:41px;min-width:100%}.shui-input-box textarea{height:inherit;padding-top:20px}.shui-input-box input:not(:placeholder-shown)~label,.shui-input-box input:focus~label,.shui-input-box textarea:not(:placeholder-shown)~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{transform:translate(.45rem);background-color:#ebebeb;width:95%;padding:1px 7px 0;font-size:.7rem;font-weight:500}.shui-input-box input:focus~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{color:#0169b2}.shui-input-box:before{display:block;content:\"\";position:absolute;bottom:0;height:1px;width:100%;background-color:#7d7d7d;transition:.4s ease;width:0;background-color:#0169b2}.shui-input-box:focus-within:before{width:100%}.error input,.error textarea,.error select{border:1px solid #e7001d;box-shadow:0 4px 6.1px #a1000014}.error:before{width:0!important}.error small,.error label{color:#ed3a3a!important;font-weight:600}.shui-input-box.small input,.shui-input-box.small textarea,.shui-input-box.small select{max-height:36px;padding-top:1rem}.shui-input-box.small.prefix{z-index:5}.shui-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem;color:#0169b2}.shui-input-box.small.prefix label{padding:.45rem 2.5rem}.shui-input-box.small.suffix{z-index:5}.shui-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem;color:#0169b2}.shui-input-box.small.suffix label{padding:.45rem .7rem}.shui-input-box.large input,.shui-input-box.large textarea,.shui-input-box.large select{height:46px}.shui-input-box.large label{padding:1rem .7rem}.shui-input-box.large.prefix{z-index:5}.shui-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.shui-input-box.large.prefix input{padding-left:2.5rem}.shui-input-box.large.prefix label{padding:1.1rem 2.5rem}.shui-input-box.large.suffix{z-index:5}.shui-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.shui-input-box.large.suffix input{padding-right:2.5rem}.shui-input-box.large.suffix label{padding:1.1rem .7rem}.oc.suffix,.oc.prefix,.material-symbols-outlined{z-index:5!important}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-has-close-button-input{padding-right:60px}.oc-has-close-button{display:flex;justify-content:center;align-items:center;position:absolute;right:.5rem!important;top:8%;height:84%;width:2.2rem;border:2px solid transparent;border-radius:.5rem;background-color:transparent;padding:0!important;transition:border-color .2s ease,box-shadow .2s ease}.oc-has-close-button:hover{border:2px solid #8f9596;box-shadow:0 4px 8.7px #00000021;cursor:pointer}.oc-has-close-button span{padding:0!important;margin:.3rem}.oc-counter-select{display:flex;gap:.2rem;align-items:center;float:right;max-height:30px}.oc-counter-select .counter{font-size:.9rem;color:#5505a2;font-weight:600;margin:0;padding:0}.oc-counter-select button{display:flex;justify-content:center;align-items:center;text-align:center;max-width:20px}.oc-counter-select .subtract span,.oc-counter-select .add span{font-size:1rem;font-weight:600;text-align:center}.oc-counter-select span{transition:.2s ease}.oc-counter-select .subtract:hover span{color:#ed3a3a!important}.oc-counter-select .add:hover span{color:#00dda3!important}.shui-option-box .oc-counter-select .counter{color:#0169b2}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0;display:flex;justify-content:space-between}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer;display:flex;align-items:center}.oc-options>li button span.material-symbols-outlined{line-height:0;color:#8f9596;margin:0 8px 0 0;padding:0}.oc-options>li button.hover:hover{filter:brightness(.9)}.oc-options>li button.highlight{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
243
273
  }
244
274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcAutocompleteComponent, decorators: [{
245
275
  type: Component,
@@ -247,7 +277,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
247
277
  '[style.width]': 'computedWidth',
248
278
  '[style.min-width]': 'computedMinWidth',
249
279
  '[style.max-width]': 'computedMaxWidth',
250
- }, changeDetection: ChangeDetectionStrategy.Default, template: "<div\n [ngClass]=\"{\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\n small: ocSize === 'small',\n large: ocSize === 'large',\n error: !!ocError,\n prefix: hasPrefix,\n suffix: hasSuffix || ocHasDeleteButton,\n shui: ocStyle === 'shui',\n 'shui-input-box': ocStyle === 'shui',\n }\"\n>\n <ng-content></ng-content>\n <input\n [placeholder]=\"ocPlaceholder\"\n #input\n (click)=\"toggleOptions(); ocClick.emit()\"\n type=\"text\"\n (input)=\"filterData(ocValue)\"\n [(ngModel)]=\"ocValue\"\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\n [ngClass]=\"{\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\n }\"\n [tabindex]=\"ocTabIndex\"\n [disabled]=\"ocDisabled\"\n />\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\n <label>\n <span [innerHTML]=\"ocPlaceholder\"></span>\n @if (ocRequired) {\n <span class=\"oc color error\">*</span>\n }\n </label>\n }\n <small\n *ngIf=\"ocError\"\n class=\"error-msg\"\n >{{ ocError }}</small\n >\n <ng-content select=\"ocPrefix\"></ng-content>\n @if (ocHasDeleteButton && !ocDisabled) {\n <button\n class=\"oc-has-close-button oc suffix\"\n (click)=\"clearValue()\"\n [disabled]=\"ocDisabled\"\n >\n <span class=\"material-symbols-outlined\">backspace</span>\n </button>\n }\n <ng-content select=\"ocSuffix\"></ng-content>\n\n <div class=\"oc-options-div\">\n @if (isOptionsShown && !ocLoading && !ocDisabled) {\n <ul\n #options\n class=\"oc-options\"\n [ngStyle]=\"{\n 'max-height': ocOptionsMaxHeight,\n width: ocOptionsWidth,\n }\"\n >\n @if (!filteredData.length) {\n <li class=\"no-options\">\n {{ ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel' }}\n </li>\n } @else {\n @for (data of filteredData; track data.value; let i = $index) {\n @if (!ocMaxResults || i < ocMaxResults) {\n <li class=\"li-option\">\n <button\n type=\"button\"\n (click)=\"selectValue(data.value)\"\n [class.hover]=\"ocType !== 'counterSelect'\"\n >\n @if (data.icon) {\n <span\n class=\"material-symbols-outlined\"\n [ngStyle]=\"{\n 'font-size': data.iconSize || '1.2rem',\n }\"\n >\n {{ data.icon }}\n </span>\n }\n {{ data.name }}\n </button>\n @if (ocType === 'counterSelect') {\n <div class=\"oc-counter-select\">\n <button\n class=\"subtract\"\n (click)=\"decrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">remove</span>\n </button>\n <p class=\"counter\">{{ data.counter || 0 }}</p>\n <button\n class=\"add\"\n (click)=\"incrementCounter(data)\"\n >\n <span class=\"material-symbols-outlined\">add</span>\n </button>\n </div>\n }\n </li>\n }\n }\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\n <li class=\"no-options\">\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\n </li>\n }\n }\n </ul>\n } @else if (isOptionsShown && ocLoading && !ocDisabled) {\n <div class=\"oc-options loader\">\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\n </div>\n }\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box label .oc.color.error{font-weight:700;margin-left:.2rem}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.shui-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box{position:relative;margin-top:.5rem}.shui-input-box select *{background-color:#ebebeb}.shui-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#000;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.shui-input-box.prefix{z-index:5}.shui-input-box.prefix .material-symbols-outlined,.shui-input-box.prefix .oc.suffix{padding:.5rem .7rem}.shui-input-box.prefix input{padding-left:1.75rem}.shui-input-box.prefix label{padding:.7rem 2.5rem}.shui-input-box.suffix{z-index:5}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{padding:.5rem .7rem}.shui-input-box.suffix input{padding-right:1.75rem}.shui-input-box.suffix label{padding:.7rem}.shui-input-box input,.shui-input-box textarea,.shui-input-box select{font-size:1rem;background-color:#ebebeb;border:none;outline:none;padding:1rem .9rem .2rem;width:100%;transition:.3s ease;color:#000;font-weight:400;height:41px;min-width:100%}.shui-input-box textarea{height:inherit;padding-top:20px}.shui-input-box input:not(:placeholder-shown)~label,.shui-input-box input:focus~label,.shui-input-box textarea:not(:placeholder-shown)~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{transform:translate(.45rem);background-color:#ebebeb;width:95%;padding:1px 7px 0;font-size:.7rem;font-weight:500}.shui-input-box input:focus~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{color:#0169b2}.shui-input-box:before{display:block;content:\"\";position:absolute;bottom:0;height:1px;width:100%;background-color:#7d7d7d;transition:.4s ease;width:0;background-color:#0169b2}.shui-input-box:focus-within:before{width:100%}.error input,.error textarea,.error select{border:1px solid #e7001d;box-shadow:0 4px 6.1px #a1000014}.error:before{width:0!important}.error small,.error label{color:#ed3a3a!important;font-weight:600}.shui-input-box.small input,.shui-input-box.small textarea,.shui-input-box.small select{max-height:36px;padding-top:1rem}.shui-input-box.small.prefix{z-index:5}.shui-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem;color:#0169b2}.shui-input-box.small.prefix label{padding:.45rem 2.5rem}.shui-input-box.small.suffix{z-index:5}.shui-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem;color:#0169b2}.shui-input-box.small.suffix label{padding:.45rem .7rem}.shui-input-box.large input,.shui-input-box.large textarea,.shui-input-box.large select{height:46px}.shui-input-box.large label{padding:1rem .7rem}.shui-input-box.large.prefix{z-index:5}.shui-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.shui-input-box.large.prefix input{padding-left:2.5rem}.shui-input-box.large.prefix label{padding:1.1rem 2.5rem}.shui-input-box.large.suffix{z-index:5}.shui-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.shui-input-box.large.suffix input{padding-right:2.5rem}.shui-input-box.large.suffix label{padding:1.1rem .7rem}.oc.suffix,.oc.prefix,.material-symbols-outlined{z-index:5!important}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-has-close-button-input{padding-right:60px}.oc-has-close-button{display:flex;justify-content:center;align-items:center;position:absolute;right:.5rem!important;top:8%;height:84%;width:2.2rem;border:2px solid transparent;border-radius:.5rem;background-color:transparent;padding:0!important;transition:border-color .2s ease,box-shadow .2s ease}.oc-has-close-button:hover{border:2px solid #8f9596;box-shadow:0 4px 8.7px #00000021;cursor:pointer}.oc-has-close-button span{padding:0!important;margin:.3rem}.oc-counter-select{display:flex;gap:.2rem;align-items:center;float:right;max-height:30px}.oc-counter-select .counter{font-size:.9rem;color:#5505a2;font-weight:600;margin:0;padding:0}.oc-counter-select button{display:flex;justify-content:center;align-items:center;text-align:center;max-width:20px}.oc-counter-select .subtract span,.oc-counter-select .add span{font-size:1rem;font-weight:600;text-align:center}.oc-counter-select span{transition:.2s ease}.oc-counter-select .subtract:hover span{color:#ed3a3a!important}.oc-counter-select .add:hover span{color:#00dda3!important}.shui-option-box .oc-counter-select .counter{color:#0169b2}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0;display:flex;justify-content:space-between}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer;display:flex;align-items:center}.oc-options>li button span.material-symbols-outlined{line-height:0;color:#8f9596;margin:0 8px 0 0;padding:0}.oc-options>li button.hover:hover{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
280
+ }, changeDetection: ChangeDetectionStrategy.Default, template: "<div\r\n [ngClass]=\"{\r\n 'oc-input-box': !ocSemanticLike && ocStyle === 'otimus',\r\n small: ocSize === 'small',\r\n large: ocSize === 'large',\r\n error: !!ocError,\r\n prefix: hasPrefix,\r\n suffix: hasSuffix || ocHasDeleteButton,\r\n shui: ocStyle === 'shui',\r\n 'shui-input-box': ocStyle === 'shui',\r\n }\"\r\n>\r\n <ng-content></ng-content>\r\n <input\r\n [placeholder]=\"ocPlaceholder\"\r\n #input\r\n (click)=\"toggleOptions(); ocClick.emit()\"\r\n type=\"text\"\r\n (input)=\"filterData(ocValue)\"\r\n [(ngModel)]=\"ocValue\"\r\n (ngModelChange)=\"ocValue = $event; ocValueChange.emit($event)\"\r\n [ngClass]=\"{\r\n 'semantic-input': ocSemanticLike || ocStyle === 'semantic',\r\n }\"\r\n [tabindex]=\"ocTabIndex\"\r\n [disabled]=\"ocDisabled\"\r\n (keydown)=\"onKeyDown($event)\"\r\n />\r\n @if (!ocSemanticLike && ocStyle !== 'semantic') {\r\n <label>\r\n <span [innerHTML]=\"ocPlaceholder\"></span>\r\n @if (ocRequired) {\r\n <span class=\"oc color error\">*</span>\r\n }\r\n </label>\r\n }\r\n <small\r\n *ngIf=\"ocError\"\r\n class=\"error-msg\"\r\n >{{ ocError }}</small\r\n >\r\n <ng-content select=\"ocPrefix\"></ng-content>\r\n @if (ocHasDeleteButton && !ocDisabled) {\r\n <button\r\n class=\"oc-has-close-button oc suffix\"\r\n (click)=\"clearValue()\"\r\n [disabled]=\"ocDisabled\"\r\n >\r\n <span class=\"material-symbols-outlined\">backspace</span>\r\n </button>\r\n }\r\n <ng-content select=\"ocSuffix\"></ng-content>\r\n\r\n <div class=\"oc-options-div\">\r\n @if (isOptionsShown && !ocLoading && !ocDisabled) {\r\n <ul\r\n #options\r\n class=\"oc-options\"\r\n [ngStyle]=\"{\r\n 'max-height': ocOptionsMaxHeight,\r\n width: ocOptionsWidth,\r\n }\"\r\n >\r\n @if (!filteredData.length) {\r\n <li class=\"no-options\">\r\n {{ ocNoAvailableOptionsText || 'Nenhum resultado dispon\u00EDvel' }}\r\n </li>\r\n } @else {\r\n @for (data of filteredData; track data.value; let i = $index) {\r\n @if (!ocMaxResults || i < ocMaxResults) {\r\n <li class=\"li-option\" #listOptionsRef>\r\n <button\r\n type=\"button\"\r\n (click)=\"selectValue(data.value)\"\r\n [class.hover]=\"ocType !== 'counterSelect'\"\r\n [class.highlight]=\"selectedIndex === i\"\r\n >\r\n @if (data.icon) {\r\n <span\r\n class=\"material-symbols-outlined\"\r\n [ngStyle]=\"{\r\n 'font-size': data.iconSize || '1.2rem',\r\n }\"\r\n >\r\n {{ data.icon }}\r\n </span>\r\n }\r\n {{ data.name }}\r\n </button>\r\n @if (ocType === 'counterSelect') {\r\n <div class=\"oc-counter-select\">\r\n <button\r\n class=\"subtract\"\r\n (click)=\"decrementCounter(data)\"\r\n >\r\n <span class=\"material-symbols-outlined\">remove</span>\r\n </button>\r\n <p class=\"counter\">{{ data.counter || 0 }}</p>\r\n <button\r\n class=\"add\"\r\n (click)=\"incrementCounter(data)\"\r\n >\r\n <span class=\"material-symbols-outlined\">add</span>\r\n </button>\r\n </div>\r\n }\r\n </li>\r\n }\r\n }\r\n @if (ocMaxResults && filteredData.length > ocMaxResults) {\r\n <li class=\"no-options\">\r\n {{ ocTypeForMoreResultsText || 'Digite para ver mais resultados' }}\r\n </li>\r\n }\r\n }\r\n </ul>\r\n } @else if (isOptionsShown && ocLoading && !ocDisabled) {\r\n <div class=\"oc-options loader\">\r\n <span class=\"material-symbols-outlined loading\"> progress_activity </span>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.oc-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.oc-input-box{position:relative;margin-top:.5rem}.oc-input-box select *{background-color:#f8f9ff}.oc-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#8f9596;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.oc-input-box label .oc.color.error{font-weight:700;margin-left:.2rem}.oc-input-box.prefix .material-symbols-outlined,.oc-input-box.prefix .oc.suffix{padding:.5rem .7rem}.oc-input-box.prefix input{padding-left:1.75rem}.oc-input-box.prefix label{padding:.7rem 2.5rem}.oc-input-box.suffix .material-symbols-outlined,.oc-input-box.suffix .oc.suffix{padding:.5rem .7rem}.oc-input-box.suffix input{padding-right:1.75rem}.oc-input-box.suffix label{padding:.7rem}.oc-input-box input,.oc-input-box textarea,.oc-input-box select{font-size:1rem;border-radius:.7rem;background-color:#f8f9ff;border:1px solid #d1d5db;outline:none;padding:.6rem .9rem;width:100%;transition:.3s ease;color:#7e8485;font-weight:500}.oc-input-box input:focus,.oc-input-box textarea:focus,.oc-input-box select:focus{border:1px solid #00dda3;box-shadow:0 4px 3.2px #00dda314}.oc-input-box input:not(:placeholder-shown)~label,.oc-input-box input:focus~label,.oc-input-box textarea:not(:placeholder-shown)~label,.oc-input-box textarea:focus~label,.oc-input-box select:valid~label,.oc-input-box select:focus~label{transform:translateY(-.855rem) translate(.6rem);color:#1e0832;background-color:#f8f9ff;padding:1px 7px;font-weight:500}.error input,.error textarea,.error select{border:1px solid #ed3a3a;box-shadow:0 4px 6.1px #a1000014}.oc-input-box.small input,.oc-input-box.small textarea,.oc-input-box.small select{padding:.3rem .7rem;border-radius:.5rem}.oc-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem}.oc-input-box.small.prefix label{padding:.45rem 2.5rem}.oc-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem}.oc-input-box.small.suffix label{padding:.45rem .7rem}.oc-input-box.small label{padding:.5rem .7rem}.oc-input-box.small input:focus~label,.oc-input-box.small input:not(:placeholder-shown)~label,.oc-input-box.small textarea:focus~label,.oc-input-box.small textarea:not(:placeholder-shown)~label,.oc-input-box.small select:focus~label,.oc-input-box.small select:valid~label{transform:translateY(-.99rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.oc-input-box.large input,.oc-input-box.large textarea,.oc-input-box.large select{padding:1rem;border-radius:1rem}.oc-input-box.large label,.oc-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.oc-input-box.large.prefix input{padding-left:2.5rem}.oc-input-box.large.prefix label{padding:1.1rem 2.5rem}.oc-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.oc-input-box.large.suffix input{padding-right:2.5rem}.oc-input-box.large.suffix label{padding:1.1rem .7rem}.oc-input-box.large input:focus~label,.oc-input-box.large input:not(:placeholder-shown)~label,.oc-input-box.large textarea:focus~label,.oc-input-box.large textarea:not(:placeholder-shown)~label,.oc-input-box.large select:focus~label,.oc-input-box.large select:valid~label{transform:translateY(-.77rem) translate(.6rem);color:#7e8485;background-color:#fff;padding:1px 7px;font-weight:500}.shui-input-box.prefix .material-symbols-outlined{position:absolute;left:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{position:absolute;right:0;font-size:1.5rem;-webkit-user-select:none;user-select:none}.shui-input-box{position:relative;margin-top:.5rem}.shui-input-box select *{background-color:#ebebeb}.shui-input-box label{position:absolute;left:0;top:0;padding:.5rem .7rem;font-size:.85rem;color:#000;pointer-events:none;transition:.3s ease;border-radius:.5rem;white-space:nowrap}.shui-input-box.prefix{z-index:5}.shui-input-box.prefix .material-symbols-outlined,.shui-input-box.prefix .oc.suffix{padding:.5rem .7rem}.shui-input-box.prefix input{padding-left:1.75rem}.shui-input-box.prefix label{padding:.7rem 2.5rem}.shui-input-box.suffix{z-index:5}.shui-input-box.suffix .material-symbols-outlined,.shui-input-box.suffix .oc.suffix{padding:.5rem .7rem}.shui-input-box.suffix input{padding-right:1.75rem}.shui-input-box.suffix label{padding:.7rem}.shui-input-box input,.shui-input-box textarea,.shui-input-box select{font-size:1rem;background-color:#ebebeb;border:none;outline:none;padding:1rem .9rem .2rem;width:100%;transition:.3s ease;color:#000;font-weight:400;height:41px;min-width:100%}.shui-input-box textarea{height:inherit;padding-top:20px}.shui-input-box input:not(:placeholder-shown)~label,.shui-input-box input:focus~label,.shui-input-box textarea:not(:placeholder-shown)~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{transform:translate(.45rem);background-color:#ebebeb;width:95%;padding:1px 7px 0;font-size:.7rem;font-weight:500}.shui-input-box input:focus~label,.shui-input-box textarea:focus~label,.shui-input-box select:valid~label,.shui-input-box select:focus~label{color:#0169b2}.shui-input-box:before{display:block;content:\"\";position:absolute;bottom:0;height:1px;width:100%;background-color:#7d7d7d;transition:.4s ease;width:0;background-color:#0169b2}.shui-input-box:focus-within:before{width:100%}.error input,.error textarea,.error select{border:1px solid #e7001d;box-shadow:0 4px 6.1px #a1000014}.error:before{width:0!important}.error small,.error label{color:#ed3a3a!important;font-weight:600}.shui-input-box.small input,.shui-input-box.small textarea,.shui-input-box.small select{max-height:36px;padding-top:1rem}.shui-input-box.small.prefix{z-index:5}.shui-input-box.small.prefix .material-symbols-outlined{padding:.35rem .7rem;font-size:1.25rem;color:#0169b2}.shui-input-box.small.prefix label{padding:.45rem 2.5rem}.shui-input-box.small.suffix{z-index:5}.shui-input-box.small.suffix .material-symbols-outlined{padding:.35rem .7rem;color:#0169b2}.shui-input-box.small.suffix label{padding:.45rem .7rem}.shui-input-box.large input,.shui-input-box.large textarea,.shui-input-box.large select{height:46px}.shui-input-box.large label{padding:1rem .7rem}.shui-input-box.large.prefix{z-index:5}.shui-input-box.large.prefix .material-symbols-outlined{padding:1rem .7rem}.shui-input-box.large.prefix input{padding-left:2.5rem}.shui-input-box.large.prefix label{padding:1.1rem 2.5rem}.shui-input-box.large.suffix{z-index:5}.shui-input-box.large.suffix .material-symbols-outlined{padding:.9rem .7rem}.shui-input-box.large.suffix input{padding-right:2.5rem}.shui-input-box.large.suffix label{padding:1.1rem .7rem}.oc.suffix,.oc.prefix,.material-symbols-outlined{z-index:5!important}.oc-input-box{position:relative}.oc-options-div{position:absolute;width:100%}.oc-has-close-button-input{padding-right:60px}.oc-has-close-button{display:flex;justify-content:center;align-items:center;position:absolute;right:.5rem!important;top:8%;height:84%;width:2.2rem;border:2px solid transparent;border-radius:.5rem;background-color:transparent;padding:0!important;transition:border-color .2s ease,box-shadow .2s ease}.oc-has-close-button:hover{border:2px solid #8f9596;box-shadow:0 4px 8.7px #00000021;cursor:pointer}.oc-has-close-button span{padding:0!important;margin:.3rem}.oc-counter-select{display:flex;gap:.2rem;align-items:center;float:right;max-height:30px}.oc-counter-select .counter{font-size:.9rem;color:#5505a2;font-weight:600;margin:0;padding:0}.oc-counter-select button{display:flex;justify-content:center;align-items:center;text-align:center;max-width:20px}.oc-counter-select .subtract span,.oc-counter-select .add span{font-size:1rem;font-weight:600;text-align:center}.oc-counter-select span{transition:.2s ease}.oc-counter-select .subtract:hover span{color:#ed3a3a!important}.oc-counter-select .add:hover span{color:#00dda3!important}.shui-option-box .oc-counter-select .counter{color:#0169b2}.oc-options{display:flex;flex-direction:column;list-style:none;max-height:40vh;background-color:#f8f9ff;border:2px solid #ffffff;box-shadow:0 4px 8.7px #00000021;padding:0;margin-block-start:0;border-radius:.5rem;overflow:hidden;width:100%;position:absolute;top:50%;overflow-y:auto;z-index:15}.oc-options>li{padding:0;margin:0;display:flex;justify-content:space-between}.oc-options>li button{width:100%;text-align:left;padding:.6rem;border:none;background-color:#f8f9ff;cursor:pointer;display:flex;align-items:center}.oc-options>li button span.material-symbols-outlined{line-height:0;color:#8f9596;margin:0 8px 0 0;padding:0}.oc-options>li button.hover:hover{filter:brightness(.9)}.oc-options>li button.highlight{filter:brightness(.9)}.no-options{padding:.6rem!important;color:#8f9596}.oc-options.loader{display:flex;align-items:center;justify-content:center}.oc-options.loader span{width:24px;margin:3rem;color:#5505a2}.loading{animation:spinLoad .5s linear infinite}.semantic-input{display:inline-block;width:100%;padding:10px 12px;font-size:14px;line-height:1.5;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 2px #22242626;transition:border-color .2s ease,box-shadow .2s ease}.semantic-input:hover{border-color:#b3b3b3}.semantic-input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px #22242626;outline:none}.semantic-input:disabled{background-color:#f9f9f9;color:#b3b3b3;border-color:#ddd;cursor:not-allowed}@keyframes spinLoad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
251
281
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.InternationalizationService }, { type: i2.StyleThemeService }, { type: i0.ChangeDetectorRef }], propDecorators: { input: [{
252
282
  type: ViewChild,
253
283
  args: ['input']
@@ -257,6 +287,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
257
287
  }], outerDiv: [{
258
288
  type: ViewChild,
259
289
  args: ['outerDiv']
290
+ }], listOptionsElements: [{
291
+ type: ViewChildren,
292
+ args: ['listOptionsRef']
260
293
  }], ocPrefix: [{
261
294
  type: ContentChild,
262
295
  args: ['ocPrefix']
@@ -313,6 +346,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
313
346
  type: Input
314
347
  }], ocHasDeleteButton: [{
315
348
  type: Input
349
+ }], ocEnableKeyboard: [{
350
+ type: Input
316
351
  }], ocValueChange: [{
317
352
  type: Output
318
353
  }], ocChange: [{
@@ -333,4 +368,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
333
368
  type: HostBinding,
334
369
  args: ['style.max-width']
335
370
  }] } });
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7Ozs7OztBQWtCekYsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxnQkFBNkMsRUFDN0MsaUJBQW9DLEVBQ3BDLEdBQXNCO1FBSnRCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBNkI7UUFDN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVV4QixZQUFPLEdBQXlCLEVBQUUsQ0FBQTtRQXVCakMsV0FBTSxHQUFpQyxRQUFRLENBQUE7UUFDL0MsWUFBTyxHQUFRLEVBQUUsQ0FBQTtRQUNqQixvQkFBZSxHQUFZLEtB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RyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBYUgsYUFBYTtzQkFEaEIsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU0xQixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2NBdXRvQ29tcGxldGVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1hdXRvY29tcGxldGUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW50ZXJuYXRpb25hbGl6YXRpb24uc2VydmljZSdcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xuaW1wb3J0IHsgU3R5bGVUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdHlsZS10aGVtZS5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvYy1hdXRvY29tcGxldGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHByb3ZpZGVyczogW0ludGVybmF0aW9uYWxpemF0aW9uU2VydmljZV0sXG4gIGhvc3Q6IHtcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdjb21wdXRlZFdpZHRoJyxcbiAgICAnW3N0eWxlLm1pbi13aWR0aF0nOiAnY29tcHV0ZWRNaW5XaWR0aCcsXG4gICAgJ1tzdHlsZS5tYXgtd2lkdGhdJzogJ2NvbXB1dGVkTWF4V2lkdGgnLFxuICB9LFxuICB0ZW1wbGF0ZVVybDogJy4vb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL29jLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbn0pXG5leHBvcnQgY2xhc3MgT2NBdXRvY29tcGxldGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uSW5pdFxue1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IEludGVybmF0aW9uYWxpemF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHN0eWxlVGhlbWVTZXJ2aWNlOiBTdHlsZVRoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQhOiBFbGVtZW50UmVmXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbnMnKSBvcHRpb25zITogRWxlbWVudFJlZlxuICBAVmlld0NoaWxkKCdvdXRlckRpdicpIG91dGVyRGl2ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cblxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcbiAgQENvbnRlbnRDaGlsZCgnb2NTdWZmaXgnKSBvY1N1ZmZpeDogYW55XG5cbiAgcHJpdmF0ZSBfb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXG4gIEBJbnB1dCgpXG4gIHNldCBvY0RhdGEodmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZVtdKSB7XG4gICAgdGhpcy5fb2NEYXRhID0gdmFsdWVcblxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdmFsdWVcblxuICAgIGlmICh0aGlzLm9jU2VsZWN0QnlUeXBpbmcgJiYgdGhpcy5vY1ZhbHVlKSB7XG4gICAgICBjb25zdCBmb3VuZCA9IHZhbHVlLmZpbmQoKGVsKSA9PiBlbC52YWx1ZSA9PSB0aGlzLm9jVmFsdWUpXG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRcbiAgICAgICAgdGhpcy5vY1ZhbHVlID0gZm91bmQubmFtZVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSAvLyBGb3LDp2EgYSBhdHVhbGl6YcOnw6NvXG4gIH1cblxuICBnZXQgb2NEYXRhKCk6IE9jQXV0b0NvbXBsZXRlVHlwZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fb2NEYXRhXG4gIH1cbiAgQElucHV0KCkgb2NQbGFjZWhvbGRlcj86IHN0cmluZ1xuICBASW5wdXQoKSBvY0Vycm9yPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdtZWRpdW0nXG4gIEBJbnB1dCgpIG9jVmFsdWU6IGFueSA9ICcnXG4gIEBJbnB1dCgpIG9jQ2xlYXJPbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jV2lkdGg/OiBzdHJpbmdcbiAgQElucHV0KCkgb2NNaW5XaWR0aD86IHN0cmluZ1xuICBASW5wdXQoKSBvY01heFdpZHRoPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9jT3B0aW9uc01heEhlaWdodD86IHN0cmluZ1xuICBASW5wdXQoKSBvY09wdGlvbnNXaWR0aD86IHN0cmluZ1xuICBASW5wdXQoKSBvY1JlcXVpcmVkOiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgb2NNYXhSZXN1bHRzPzogbnVtYmVyXG4gIEBJbnB1dCgpIG9jQWxsb3dOb3RMaXN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jTm9BdmFpbGFibGVPcHRpb25zVGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSBvY1R5cGVGb3JNb3JlUmVzdWx0c1RleHQ/OiBzdHJpbmdcbiAgQElucHV0KCkgb2NMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgb2NTZW1hbnRpY0xpa2U6IGJvb2xlYW4gPSBmYWxzZSAvLyBkZXByZWNhdGVkLiBQcmVmZXIgdXNpbmcgb2NTdHlsZVRoZW1lIGluc3RlYWRcbiAgQElucHV0KCkgb2NTdHlsZTogT2NTdHlsZVRoZW1lVHlwZSA9ICdvdGltdXMnXG4gIEBJbnB1dCgpIG9jVGFiSW5kZXg/OiBudW1iZXJcbiAgQElucHV0KCkgaWNvblNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJ1xuICBASW5wdXQoKSBvY1NlbGVjdEJ5VHlwaW5nOiBib29sZWFuID0gdHJ1ZVxuICBASW5wdXQoKSBvY0Rpc2FibGVkID0gZmFsc2VcbiAgQElucHV0KCkgb2NUeXBlOiAnY291bnRlclNlbGVjdCcgfCAnZGVmYXVsdCcgPSAnZGVmYXVsdCdcblxuICBASW5wdXQoKSBvY0hhc0RlbGV0ZUJ1dHRvbj86IGJvb2xlYW4gPSBmYWxzZVxuXG4gIEBPdXRwdXQoKSBvY1ZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KClcbiAgQE91dHB1dCgpIG9jQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpXG4gIEBPdXRwdXQoKSBvY0NvdW50ZXJTZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE9jQXV0b0NvbXBsZXRlVHlwZVtdPigpXG4gIEBPdXRwdXQoKSBvY09wdGlvbk5vdEZvdW5kID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBvY0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbiAgaGFzU3VmZml4OiBib29sZWFuID0gZmFsc2VcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcblxuICBpc09wdGlvbnNTaG93bjogYm9vbGVhbiA9IGZhbHNlXG4gIGZpbHRlcmVkRGF0YTogT2NBdXRvQ29tcGxldGVUeXBlW10gPSBbXVxuICBzZWxlY3RlZFZhbHVlOiBPY0F1dG9Db21wbGV0ZVR5cGUgPSB7XG4gICAgbmFtZTogJycsXG4gICAgdmFsdWU6IG51bGwsXG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgZ2V0IGNvbXB1dGVkV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NXaWR0aCA/IHRoaXMub2NXaWR0aCA6IG51bGxcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NNaW5XaWR0aCB8fCAnMCdcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcbiAgZ2V0IGNvbXB1dGVkTWF4V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMub2NNYXhXaWR0aCB8fCAnMTAwJSdcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXG4gICAgfVxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcbiAgICB9XG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9jVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5vY1ZhbHVlID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9jU3R5bGUgPSB0aGlzLnN0eWxlVGhlbWVTZXJ2aWNlLmdldFN0eWxlVGhlbWUoKSB8fCB0aGlzLm9jU3R5bGVcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXG4gICAgfVxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcbiAgICB9XG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXG4gICAgdGhpcy5sb2FkT3B0aW9ucygpXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uc0J5TGFuZ3VhZ2UoKVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcbiAgICB9XG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIGZvcm1hdE9jVmFsdWVUeXBlKCkge1xuICAgIGlmICh0aGlzLm9jVmFsdWUpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLm9jVmFsdWV9YFxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgZ2V0VHJhbnNsYXRpb24oY29kZTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRUcmFuc2xhdGlvbihjb2RlKVxuICB9XG5cbiAgbG9hZE9wdGlvbnMoKSB7XG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXG5cbiAgICAgIGNvbnN0IGlucHV0Qm94ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50XG5cbiAgICAgIGlmICh0aGlzLm9jU2VsZWN0QnlUeXBpbmcgJiYgdGhpcy5vY1ZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGZvdW5kID0gdGhpcy5vY0RhdGEuZmluZCgoZWwpID0+IGVsLnZhbHVlID09IHRoaXMub2NWYWx1ZSlcblxuICAgICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFxuICAgICAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kLm5hbWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaW5wdXRCb3gpIHtcbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gaW5wdXRCb3gucXVlcnlTZWxlY3RvcignaW5wdXQnKVxuXG4gICAgICAgIGlmIChpbnB1dEVsZW1lbnQgJiYgIXRoaXMub2NTZW1hbnRpY0xpa2UgJiYgWydvdGltdXMnLCAnc2h1aSddLmluY2x1ZGVzKHRoaXMub2NTdHlsZSkpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdwbGFjZWhvbGRlcicsICcnKVxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3JlcXVpcmVkJywgdGhpcy5vY1JlcXVpcmVkLnRvU3RyaW5nKCkpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCA1MClcbiAgfVxuXG4gIGNsb3NlT25DbGlja091dCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGU6IEV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudFxuXG4gICAgICBjb25zdCBpbnNpZGVDb3VudGVyU2VsZWN0ID1cbiAgICAgICAgdGhpcy5vY1R5cGUgPT09ICdjb3VudGVyU2VsZWN0JyAmJiB0YXJnZXQuY2xvc2VzdCgnLm9jLWNvdW50ZXItc2VsZWN0JylcblxuICAgICAgaWYgKHRoaXMuaW5wdXQgJiYgdGhpcy5vcHRpb25zICYmICFpbnNpZGVDb3VudGVyU2VsZWN0KSB7XG4gICAgICAgIGlmICh0YXJnZXQgIT09IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCAmJiB0YXJnZXQgIT09IHRoaXMub3B0aW9ucy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5pc09wdGlvbnNTaG93biA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5maW5kQnlUeXBpbmcoKVxuICAgIH0pXG4gIH1cblxuICBmaW5kQnlUeXBpbmcoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm9jVmFsdWUgfHwgIXRoaXMub2NWYWx1ZT8udG9TdHJpbmcoKS50cmltKCkubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9jQ2hhbmdlLmVtaXQobnVsbClcbiAgICAgIHRoaXMub2NPcHRpb25Ob3RGb3VuZC5lbWl0KClcbiAgICB9XG4gICAgaWYgKCF0aGlzLm9jU2VsZWN0QnlUeXBpbmcpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKFxuICAgICAgKGRhdGEpID0+XG4gICAgICAgIGRhdGEubmFtZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMub2NWYWx1ZT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpIHx8XG4gICAgICAgIGRhdGEudmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKVxuICAgIClcblxuICAgIGlmICghZm91bmRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xuICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgdmFsdWU6IG51bGwsXG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMub2NBbGxvd05vdExpc3RlZFZhbHVlKSB7XG4gICAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXG4gICAgICB9XG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRWYWx1ZVxuICB9XG5cbiAgZmlsdGVyRGF0YShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gdHJ1ZVxuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGEuZmlsdGVyKChkYXRhKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWROYW1lKGRhdGEubmFtZSk/LmluY2x1ZGVzKHRoaXMuZ2V0Rm9ybWF0dGVkTmFtZShuYW1lKSlcbiAgICB9KVxuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkTmFtZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0clxuICAgICAgPy50b0xvd2VyQ2FzZSgpXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSAvLyBSZW1vdmUgbWFyY2FzIGRpYWNyw610aWNhc1xuICB9XG5cbiAgdG9nZ2xlT3B0aW9ucygpIHtcbiAgICB0aGlzLmNsb3NlT25DbGlja091dCgpXG4gICAgdGhpcy5pc09wdGlvbnNTaG93biA9ICF0aGlzLmlzT3B0aW9uc1Nob3duXG4gIH1cblxuICBzZWxlY3RWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgZm91bmRWYWx1ZSA9IHRoaXMub2NEYXRhLmZpbmQoKGRhdGEpID0+IGRhdGEudmFsdWUgPT0gdmFsdWUpXG5cbiAgICBpZiAoIWZvdW5kVmFsdWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHZhbHVlOiBudWxsLFxuICAgICAgfVxuXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0aGlzLm9jVHlwZSA9PT0gJ2NvdW50ZXJTZWxlY3QnKSB7XG4gICAgICBmb3VuZFZhbHVlLmNvdW50ZXIgPSAoZm91bmRWYWx1ZS5jb3VudGVyIHx8IDApICsgMVxuICAgICAgdGhpcy5lbWl0Q291bnRlclNlbGVjdENoYW5nZSgpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFZhbHVlXG4gICAgaWYgKHRoaXMub2NDbGVhck9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9jVmFsdWUgPSAnJ1xuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZFZhbHVlLm5hbWVcbiAgICB9XG5cbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gZmFsc2VcblxuICAgIHRoaXMub2NDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpXG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIGNsZWFyVmFsdWUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xuICAgICAgbmFtZTogJycsXG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICB9XG4gICAgdGhpcy5vY1ZhbHVlID0gJydcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXG4gIH1cblxuICBwcm90ZWN0ZWQgaW5jcmVtZW50Q291bnRlcihvcHRpb246IE9jQXV0b0NvbXBsZXRlVHlwZSk6IHZvaWQge1xuICAgIGlmICghb3B0aW9uLmNvdW50ZXIpIHtcbiAgICAgIG9wdGlvbi5jb3VudGVyID0gMVxuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb24uY291bnRlcisrXG4gICAgfVxuICAgIHRoaXMuZW1pdENvdW50ZXJTZWxlY3RDaGFuZ2UoKVxuICB9XG5cbiAgcHJvdGVjdGVkIGRlY3JlbWVudENvdW50ZXIob3B0aW9uOiBPY0F1dG9Db21wbGV0ZVR5cGUpOiB2b2lkIHtcbiAgICBpZiAob3B0aW9uLmNvdW50ZXIgJiYgb3B0aW9uLmNvdW50ZXIgPiAwKSB7XG4gICAgICBvcHRpb24uY291bnRlci0tXG4gICAgICB0aGlzLmVtaXRDb3VudGVyU2VsZWN0Q2hhbmdlKClcbiAgICB9XG4gIH1cblxuICBlbWl0Q291bnRlclNlbGVjdENoYW5nZSgpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNNb3JlVGhhblplcm8gPSB0aGlzLm9jRGF0YS5maWx0ZXIoKGRhdGEpID0+ICEhZGF0YS5jb3VudGVyKVxuICAgIHRoaXMub2NDb3VudGVyU2VsZWN0Q2hhbmdlLmVtaXQoaGFzTW9yZVRoYW5aZXJvKVxuICB9XG59XG4iLCI8ZGl2XG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnb2MtaW5wdXQtYm94JzogIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgPT09ICdvdGltdXMnLFxuICAgIHNtYWxsOiBvY1NpemUgPT09ICdzbWFsbCcsXG4gICAgbGFyZ2U6IG9jU2l6ZSA9PT0gJ2xhcmdlJyxcbiAgICBlcnJvcjogISFvY0Vycm9yLFxuICAgIHByZWZpeDogaGFzUHJlZml4LFxuICAgIHN1ZmZpeDogaGFzU3VmZml4IHx8IG9jSGFzRGVsZXRlQnV0dG9uLFxuICAgIHNodWk6IG9jU3R5bGUgPT09ICdzaHVpJyxcbiAgICAnc2h1aS1pbnB1dC1ib3gnOiBvY1N0eWxlID09PSAnc2h1aScsXG4gIH1cIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxpbnB1dFxuICAgIFtwbGFjZWhvbGRlcl09XCJvY1BsYWNlaG9sZGVyXCJcbiAgICAjaW5wdXRcbiAgICAoY2xpY2spPVwidG9nZ2xlT3B0aW9ucygpOyBvY0NsaWNrLmVtaXQoKVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIChpbnB1dCk9XCJmaWx0ZXJEYXRhKG9jVmFsdWUpXCJcbiAgICBbKG5nTW9kZWwpXT1cIm9jVmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9jVmFsdWUgPSAkZXZlbnQ7IG9jVmFsdWVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2VtYW50aWMtaW5wdXQnOiBvY1NlbWFudGljTGlrZSB8fCBvY1N0eWxlID09PSAnc2VtYW50aWMnLFxuICAgIH1cIlxuICAgIFt0YWJpbmRleF09XCJvY1RhYkluZGV4XCJcbiAgICBbZGlzYWJsZWRdPVwib2NEaXNhYmxlZFwiXG4gIC8+XG4gIEBpZiAoIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgIT09ICdzZW1hbnRpYycpIHtcbiAgICA8bGFiZWw+XG4gICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIm9jUGxhY2Vob2xkZXJcIj48L3NwYW4+XG4gICAgICBAaWYgKG9jUmVxdWlyZWQpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJvYyBjb2xvciBlcnJvclwiPio8L3NwYW4+XG4gICAgICB9XG4gICAgPC9sYWJlbD5cbiAgfVxuICA8c21hbGxcbiAgICAqbmdJZj1cIm9jRXJyb3JcIlxuICAgIGNsYXNzPVwiZXJyb3ItbXNnXCJcbiAgICA+e3sgb2NFcnJvciB9fTwvc21hbGxcbiAgPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1ByZWZpeFwiPjwvbmctY29udGVudD5cbiAgQGlmIChvY0hhc0RlbGV0ZUJ1dHRvbiAmJiAhb2NEaXNhYmxlZCkge1xuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwib2MtaGFzLWNsb3NlLWJ1dHRvbiBvYyBzdWZmaXhcIlxuICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwib2NEaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+YmFja3NwYWNlPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICB9XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jU3VmZml4XCI+PC9uZy1jb250ZW50PlxuXG4gIDxkaXYgY2xhc3M9XCJvYy1vcHRpb25zLWRpdlwiPlxuICAgIEBpZiAoaXNPcHRpb25zU2hvd24gJiYgIW9jTG9hZGluZyAmJiAhb2NEaXNhYmxlZCkge1xuICAgICAgPHVsXG4gICAgICAgICNvcHRpb25zXG4gICAgICAgIGNsYXNzPVwib2Mtb3B0aW9uc1wiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAnbWF4LWhlaWdodCc6IG9jT3B0aW9uc01heEhlaWdodCxcbiAgICAgICAgICB3aWR0aDogb2NPcHRpb25zV2lkdGgsXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICBAaWYgKCFmaWx0ZXJlZERhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxuICAgICAgICAgICAge3sgb2NOb0F2YWlsYWJsZU9wdGlvbnNUZXh0IHx8ICdOZW5odW0gcmVzdWx0YWRvIGRpc3BvbsOtdmVsJyB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIEBmb3IgKGRhdGEgb2YgZmlsdGVyZWREYXRhOyB0cmFjayBkYXRhLnZhbHVlOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgQGlmICghb2NNYXhSZXN1bHRzIHx8IGkgPCBvY01heFJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGktb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VmFsdWUoZGF0YS52YWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmhvdmVyXT1cIm9jVHlwZSAhPT0gJ2NvdW50ZXJTZWxlY3QnXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBAaWYgKGRhdGEuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IGRhdGEuaWNvblNpemUgfHwgJzEuMnJlbScsXG4gICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLmljb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAge3sgZGF0YS5uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgQGlmIChvY1R5cGUgPT09ICdjb3VudGVyU2VsZWN0Jykge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9jLWNvdW50ZXItc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1YnRyYWN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVtZW50Q291bnRlcihkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5yZW1vdmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImNvdW50ZXJcIj57eyBkYXRhLmNvdW50ZXIgfHwgMCB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRkXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVtZW50Q291bnRlcihkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5hZGQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG9jTWF4UmVzdWx0cyAmJiBmaWx0ZXJlZERhdGEubGVuZ3RoID4gb2NNYXhSZXN1bHRzKSB7XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJuby1vcHRpb25zXCI+XG4gICAgICAgICAgICAgIHt7IG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dCB8fCAnRGlnaXRlIHBhcmEgdmVyIG1haXMgcmVzdWx0YWRvcycgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIH0gQGVsc2UgaWYgKGlzT3B0aW9uc1Nob3duICYmIG9jTG9hZGluZyAmJiAhb2NEaXNhYmxlZCkge1xuICAgICAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMgbG9hZGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBsb2FkaW5nXCI+IHByb2dyZXNzX2FjdGl2aXR5IDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1hdXRvY29tcGxldGUvb2MtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUlOLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUE7QUFFdEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBOzs7Ozs7QUFrQnpGLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFDVSxRQUFtQixFQUNuQixFQUFjLEVBQ2QsZ0JBQTZDLEVBQzdDLGlCQUFvQyxFQUNwQyxHQUFzQjtRQUp0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTZCO1FBQzdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFXeEIsWUFBTyxHQUF5QixFQUFFLENBQUE7UUF1QmpDLFdBQU0sR0FBaUMsUUFBUSxDQUFBO1FBQy9DLFlBQU8sR0FBUSxFQUFFLENBQUE7UUFDakIsb0JB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QkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFlSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLGFBQWE7Z0JBTXRCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTFCLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2NBdXRvQ29tcGxldGVUeXBlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9vYy1hdXRvY29tcGxldGUnXHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVybmF0aW9uYWxpemF0aW9uLnNlcnZpY2UnXHJcbmltcG9ydCB7IE9jU3R5bGVUaGVtZVR5cGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29jLXN0eWxlLXRoZW1lJ1xyXG5pbXBvcnQgeyBTdHlsZVRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0eWxlLXRoZW1lLnNlcnZpY2UnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ29jLWF1dG9jb21wbGV0ZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbSW50ZXJuYXRpb25hbGl6YXRpb25TZXJ2aWNlXSxcclxuICBob3N0OiB7XHJcbiAgICAnW3N0eWxlLndpZHRoXSc6ICdjb21wdXRlZFdpZHRoJyxcclxuICAgICdbc3R5bGUubWluLXdpZHRoXSc6ICdjb21wdXRlZE1pbldpZHRoJyxcclxuICAgICdbc3R5bGUubWF4LXdpZHRoXSc6ICdjb21wdXRlZE1heFdpZHRoJyxcclxuICB9LFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYy1hdXRvY29tcGxldGUuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9jQXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uSW5pdFxyXG57XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBJbnRlcm5hdGlvbmFsaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlVGhlbWVTZXJ2aWNlOiBTdHlsZVRoZW1lU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge31cclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dCE6IEVsZW1lbnRSZWZcclxuICBAVmlld0NoaWxkKCdvcHRpb25zJykgb3B0aW9ucyE6IEVsZW1lbnRSZWZcclxuICBAVmlld0NoaWxkKCdvdXRlckRpdicpIG91dGVyRGl2ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cclxuICBAVmlld0NoaWxkcmVuKCdsaXN0T3B0aW9uc1JlZicpIGxpc3RPcHRpb25zRWxlbWVudHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MTElFbGVtZW50Pj5cclxuICBcclxuICBAQ29udGVudENoaWxkKCdvY1ByZWZpeCcpIG9jUHJlZml4OiBhbnlcclxuICBAQ29udGVudENoaWxkKCdvY1N1ZmZpeCcpIG9jU3VmZml4OiBhbnlcclxuXHJcbiAgcHJpdmF0ZSBfb2NEYXRhOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSA9IFtdXHJcbiAgQElucHV0KClcclxuICBzZXQgb2NEYXRhKHZhbHVlOiBPY0F1dG9Db21wbGV0ZVR5cGVbXSkge1xyXG4gICAgdGhpcy5fb2NEYXRhID0gdmFsdWVcclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHZhbHVlXHJcblxyXG4gICAgaWYgKHRoaXMub2NTZWxlY3RCeVR5cGluZyAmJiB0aGlzLm9jVmFsdWUpIHtcclxuICAgICAgY29uc3QgZm91bmQgPSB2YWx1ZS5maW5kKChlbCkgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxyXG4gICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBmb3VuZFxyXG4gICAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kLm5hbWVcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSAvLyBGb3LDp2EgYSBhdHVhbGl6YcOnw6NvXHJcbiAgfVxyXG5cclxuICBnZXQgb2NEYXRhKCk6IE9jQXV0b0NvbXBsZXRlVHlwZVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9vY0RhdGFcclxuICB9XHJcbiAgQElucHV0KCkgb2NQbGFjZWhvbGRlcj86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jRXJyb3I/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY1NpemU6ICdzbWFsbCcgfCAnbGFyZ2UnIHwgJ21lZGl1bScgPSAnbWVkaXVtJ1xyXG4gIEBJbnB1dCgpIG9jVmFsdWU6IGFueSA9ICcnXHJcbiAgQElucHV0KCkgb2NDbGVhck9uQ2hhbmdlOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY1dpZHRoPzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NNaW5XaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jTWF4V2lkdGg/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY09wdGlvbnNNYXhIZWlnaHQ/OiBzdHJpbmdcclxuICBASW5wdXQoKSBvY09wdGlvbnNXaWR0aD86IHN0cmluZ1xyXG4gIEBJbnB1dCgpIG9jUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jTWF4UmVzdWx0cz86IG51bWJlclxyXG4gIEBJbnB1dCgpIG9jQWxsb3dOb3RMaXN0ZWRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgQElucHV0KCkgb2NOb0F2YWlsYWJsZU9wdGlvbnNUZXh0Pzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NUeXBlRm9yTW9yZVJlc3VsdHNUZXh0Pzogc3RyaW5nXHJcbiAgQElucHV0KCkgb2NMb2FkaW5nOiBib29sZWFuID0gZmFsc2VcclxuICBASW5wdXQoKSBvY1NlbWFudGljTGlrZTogYm9vbGVhbiA9IGZhbHNlIC8vIGRlcHJlY2F0ZWQuIFByZWZlciB1c2luZyBvY1N0eWxlVGhlbWUgaW5zdGVhZFxyXG4gIEBJbnB1dCgpIG9jU3R5bGU6IE9jU3R5bGVUaGVtZVR5cGUgPSAnb3RpbXVzJ1xyXG4gIEBJbnB1dCgpIG9jVGFiSW5kZXg/OiBudW1iZXJcclxuICBASW5wdXQoKSBpY29uU2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nXHJcbiAgQElucHV0KCkgb2NTZWxlY3RCeVR5cGluZzogYm9vbGVhbiA9IHRydWVcclxuICBASW5wdXQoKSBvY0Rpc2FibGVkID0gZmFsc2VcclxuICBASW5wdXQoKSBvY1R5cGU6ICdjb3VudGVyU2VsZWN0JyB8ICdkZWZhdWx0JyA9ICdkZWZhdWx0J1xyXG5cclxuICBASW5wdXQoKSBvY0hhc0RlbGV0ZUJ1dHRvbj86IGJvb2xlYW4gPSBmYWxzZVxyXG4gIEBJbnB1dCgpIG9jRW5hYmxlS2V5Ym9hcmQ6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBAT3V0cHV0KCkgb2NWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXHJcbiAgQE91dHB1dCgpIG9jQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpXHJcbiAgQE91dHB1dCgpIG9jQ291bnRlclNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T2NBdXRvQ29tcGxldGVUeXBlW10+KClcclxuICBAT3V0cHV0KCkgb2NPcHRpb25Ob3RGb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKVxyXG4gIEBPdXRwdXQoKSBvY0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpXHJcblxyXG4gIGhhc1N1ZmZpeDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgaGFzUHJlZml4OiBib29sZWFuID0gZmFsc2VcclxuXHJcbiAgaXNPcHRpb25zU2hvd246IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGZpbHRlcmVkRGF0YTogT2NBdXRvQ29tcGxldGVUeXBlW10gPSBbXVxyXG4gIHNlbGVjdGVkVmFsdWU6IE9jQXV0b0NvbXBsZXRlVHlwZSA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdmFsdWU6IG51bGwsXHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZEluZGV4OiBudW1iZXIgPSAtMVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcclxuICBnZXQgY29tcHV0ZWRXaWR0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm9jV2lkdGggPyB0aGlzLm9jV2lkdGggOiBudWxsXHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXHJcbiAgZ2V0IGNvbXB1dGVkTWluV2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vY01pbldpZHRoIHx8ICcwJ1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxyXG4gIGdldCBjb21wdXRlZE1heFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMub2NNYXhXaWR0aCB8fCAnMTAwJSdcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm9jUHJlZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzUHJlZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMub2NTdWZmaXgpIHtcclxuICAgICAgdGhpcy5oYXNTdWZmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1hdE9jVmFsdWVUeXBlKClcclxuICAgIHRoaXMubG9hZE9wdGlvbnMoKVxyXG5cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY1ZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5vY1ZhbHVlID0gbnVsbFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vY1N0eWxlID0gdGhpcy5zdHlsZVRoZW1lU2VydmljZS5nZXRTdHlsZVRoZW1lKCkgfHwgdGhpcy5vY1N0eWxlXHJcbiAgICBpZiAodGhpcy5vY1ByZWZpeCkge1xyXG4gICAgICB0aGlzLmhhc1ByZWZpeCA9IHRydWVcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9jU3VmZml4KSB7XHJcbiAgICAgIHRoaXMuaGFzU3VmZml4ID0gdHJ1ZVxyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICB0aGlzLmxvYWRPcHRpb25zKClcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXRUcmFuc2xhdGlvbnNCeUxhbmd1YWdlKClcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMub2NQcmVmaXgpIHtcclxuICAgICAgdGhpcy5oYXNQcmVmaXggPSB0cnVlXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vY1N1ZmZpeCkge1xyXG4gICAgICB0aGlzLmhhc1N1ZmZpeCA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcm1hdE9jVmFsdWVUeXBlKCkge1xyXG4gICAgaWYgKHRoaXMub2NWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gYCR7dGhpcy5vY1ZhbHVlfWBcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBnZXRUcmFuc2xhdGlvbihjb2RlOiBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb24oY29kZSlcclxuICB9XHJcblxyXG4gIGxvYWRPcHRpb25zKCkge1xyXG4gICAgdGhpcy5mb3JtYXRPY1ZhbHVlVHlwZSgpXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG5cclxuICAgICAgY29uc3QgaW5wdXRCb3ggPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnRcclxuXHJcbiAgICAgIGlmICh0aGlzLm9jU2VsZWN0QnlUeXBpbmcgJiYgdGhpcy5vY1ZhbHVlKSB7XHJcbiAgICAgICAgY29uc3QgZm91bmQgPSB0aGlzLm9jRGF0YS5maW5kKChlbCkgPT4gZWwudmFsdWUgPT0gdGhpcy5vY1ZhbHVlKVxyXG5cclxuICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGZvdW5kXHJcbiAgICAgICAgICB0aGlzLm9jVmFsdWUgPSBmb3VuZC5uYW1lXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaW5wdXRCb3gpIHtcclxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dEJveC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpXHJcblxyXG4gICAgICAgIGlmIChpbnB1dEVsZW1lbnQgJiYgIXRoaXMub2NTZW1hbnRpY0xpa2UgJiYgWydvdGltdXMnLCAnc2h1aSddLmluY2x1ZGVzKHRoaXMub2NTdHlsZSkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGlucHV0RWxlbWVudCwgJ3BsYWNlaG9sZGVyJywgJycpXHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpbnB1dEVsZW1lbnQsICdyZXF1aXJlZCcsIHRoaXMub2NSZXF1aXJlZC50b1N0cmluZygpKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgNTApXHJcbiAgfVxyXG5cclxuICBjbG9zZU9uQ2xpY2tPdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGU6IEV2ZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50XHJcblxyXG4gICAgICBjb25zdCBpbnNpZGVDb3VudGVyU2VsZWN0ID1cclxuICAgICAgICB0aGlzLm9jVHlwZSA9PT0gJ2NvdW50ZXJTZWxlY3QnICYmIHRhcmdldC5jbG9zZXN0KCcub2MtY291bnRlci1zZWxlY3QnKVxyXG5cclxuICAgICAgaWYgKHRoaXMuaW5wdXQgJiYgdGhpcy5vcHRpb25zICYmICFpbnNpZGVDb3VudGVyU2VsZWN0KSB7XHJcbiAgICAgICAgaWYgKHRhcmdldCAhPT0gdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50ICYmIHRhcmdldCAhPT0gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5maW5kQnlUeXBpbmcoKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGZpbmRCeVR5cGluZygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5vY1ZhbHVlIHx8ICF0aGlzLm9jVmFsdWU/LnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLm9jQ2hhbmdlLmVtaXQobnVsbClcclxuICAgICAgdGhpcy5vY09wdGlvbk5vdEZvdW5kLmVtaXQoKVxyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLm9jU2VsZWN0QnlUeXBpbmcpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZm91bmRWYWx1ZSA9IHRoaXMub2NEYXRhLmZpbmQoXHJcbiAgICAgIChkYXRhKSA9PlxyXG4gICAgICAgIGRhdGEubmFtZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMub2NWYWx1ZT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpIHx8XHJcbiAgICAgICAgZGF0YS52YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMub2NWYWx1ZT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXHJcbiAgICApXHJcblxyXG4gICAgaWYgKCFmb3VuZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHtcclxuICAgICAgICBuYW1lOiAnJyxcclxuICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMub2NBbGxvd05vdExpc3RlZFZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5vY1ZhbHVlID0gJydcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRWYWx1ZVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyRGF0YShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSB0cnVlXHJcbiAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMub2NEYXRhLmZpbHRlcigoZGF0YSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWROYW1lKGRhdGEubmFtZSk/LmluY2x1ZGVzKHRoaXMuZ2V0Rm9ybWF0dGVkTmFtZShuYW1lKSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRGb3JtYXR0ZWROYW1lKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzdHJcclxuICAgICAgPy50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIC5ub3JtYWxpemUoJ05GRCcpXHJcbiAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJykgLy8gUmVtb3ZlIG1hcmNhcyBkaWFjcsOtdGljYXNcclxuICB9XHJcblxyXG4gIHRvZ2dsZU9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLmNsb3NlT25DbGlja091dCgpXHJcbiAgICB0aGlzLmlzT3B0aW9uc1Nob3duID0gIXRoaXMuaXNPcHRpb25zU2hvd25cclxuICB9XHJcblxyXG4gIHNlbGVjdFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IGZvdW5kVmFsdWUgPSB0aGlzLm9jRGF0YS5maW5kKChkYXRhKSA9PiBkYXRhLnZhbHVlID09IHZhbHVlKVxyXG5cclxuICAgIGlmICghZm91bmRWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB7XHJcbiAgICAgICAgbmFtZTogJycsXHJcbiAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCA9IC0xXHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICByZXR1cm5cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vY1R5cGUgPT09ICdjb3VudGVyU2VsZWN0Jykge1xyXG4gICAgICBmb3VuZFZhbHVlLmNvdW50ZXIgPSAoZm91bmRWYWx1ZS5jb3VudGVyIHx8IDApICsgMVxyXG4gICAgICB0aGlzLmVtaXRDb3VudGVyU2VsZWN0Q2hhbmdlKClcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZm91bmRWYWx1ZVxyXG4gICAgaWYgKHRoaXMub2NDbGVhck9uQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMub2NWYWx1ZSA9ICcnXHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5vY0RhdGFcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2NWYWx1ZSA9IGZvdW5kVmFsdWUubmFtZVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNPcHRpb25zU2hvd24gPSBmYWxzZVxyXG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gdGhpcy5maWx0ZXJlZERhdGEuaW5kZXhPZihmb3VuZFZhbHVlKVxyXG5cclxuICAgIHRoaXMub2NDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpXHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBjbGVhclZhbHVlKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0ge1xyXG4gICAgICBuYW1lOiAnJyxcclxuICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICB9XHJcbiAgICB0aGlzLm9jVmFsdWUgPSAnJ1xyXG4gICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLm9jRGF0YVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGluY3JlbWVudENvdW50ZXIob3B0aW9uOiBPY0F1dG9Db21wbGV0ZVR5cGUpOiB2b2lkIHtcclxuICAgIGlmICghb3B0aW9uLmNvdW50ZXIpIHtcclxuICAgICAgb3B0aW9uLmNvdW50ZXIgPSAxXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvcHRpb24uY291bnRlcisrXHJcbiAgICB9XHJcbiAgICB0aGlzLmVtaXRDb3VudGVyU2VsZWN0Q2hhbmdlKClcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBkZWNyZW1lbnRDb3VudGVyKG9wdGlvbjogT2NBdXRvQ29tcGxldGVUeXBlKTogdm9pZCB7XHJcbiAgICBpZiAob3B0aW9uLmNvdW50ZXIgJiYgb3B0aW9uLmNvdW50ZXIgPiAwKSB7XHJcbiAgICAgIG9wdGlvbi5jb3VudGVyLS1cclxuICAgICAgdGhpcy5lbWl0Q291bnRlclNlbGVjdENoYW5nZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbWl0Q291bnRlclNlbGVjdENoYW5nZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGhhc01vcmVUaGFuWmVybyA9IHRoaXMub2NEYXRhLmZpbHRlcigoZGF0YSkgPT4gISFkYXRhLmNvdW50ZXIpXHJcbiAgICB0aGlzLm9jQ291bnRlclNlbGVjdENoYW5nZS5lbWl0KGhhc01vcmVUaGFuWmVybylcclxuICB9XHJcblxyXG4gIG1vdmVTZWxlY3Rpb24oZGVsdGE6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gTWF0aC5tYXgoXHJcbiAgICAgIDAsXHJcbiAgICAgIE1hdGgubWluKHRoaXMubGlzdE9wdGlvbnNFbGVtZW50cy5sZW5ndGggLSAxLCB0aGlzLnNlbGVjdGVkSW5kZXggKyBkZWx0YSlcclxuICAgIClcclxuXHJcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5saXN0T3B0aW9uc0VsZW1lbnRzLmdldCh0aGlzLnNlbGVjdGVkSW5kZXgpPy5uYXRpdmVFbGVtZW50XHJcbiAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ25lYXJlc3QnIH0pXHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIHByb3RlY3RlZCBvbktleURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vY0VuYWJsZUtleWJvYXJkICYmIHRoaXMuaXNPcHRpb25zU2hvd24pIHtcclxuICAgICAgY29uc3QgZSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnRcclxuXHJcbiAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgICAgdGhpcy5tb3ZlU2VsZWN0aW9uKC0xKVxyXG4gICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIHRoaXMubW92ZVNlbGVjdGlvbigxKVxyXG4gICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RWYWx1ZSh0aGlzLmZpbHRlcmVkRGF0YVt0aGlzLnNlbGVjdGVkSW5kZXhdLnZhbHVlKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcclxuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgW25nQ2xhc3NdPVwie1xyXG4gICAgJ29jLWlucHV0LWJveCc6ICFvY1NlbWFudGljTGlrZSAmJiBvY1N0eWxlID09PSAnb3RpbXVzJyxcclxuICAgIHNtYWxsOiBvY1NpemUgPT09ICdzbWFsbCcsXHJcbiAgICBsYXJnZTogb2NTaXplID09PSAnbGFyZ2UnLFxyXG4gICAgZXJyb3I6ICEhb2NFcnJvcixcclxuICAgIHByZWZpeDogaGFzUHJlZml4LFxyXG4gICAgc3VmZml4OiBoYXNTdWZmaXggfHwgb2NIYXNEZWxldGVCdXR0b24sXHJcbiAgICBzaHVpOiBvY1N0eWxlID09PSAnc2h1aScsXHJcbiAgICAnc2h1aS1pbnB1dC1ib3gnOiBvY1N0eWxlID09PSAnc2h1aScsXHJcbiAgfVwiXHJcbj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPGlucHV0XHJcbiAgICBbcGxhY2Vob2xkZXJdPVwib2NQbGFjZWhvbGRlclwiXHJcbiAgICAjaW5wdXRcclxuICAgIChjbGljayk9XCJ0b2dnbGVPcHRpb25zKCk7IG9jQ2xpY2suZW1pdCgpXCJcclxuICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgIChpbnB1dCk9XCJmaWx0ZXJEYXRhKG9jVmFsdWUpXCJcclxuICAgIFsobmdNb2RlbCldPVwib2NWYWx1ZVwiXHJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvY1ZhbHVlID0gJGV2ZW50OyBvY1ZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICdzZW1hbnRpYy1pbnB1dCc6IG9jU2VtYW50aWNMaWtlIHx8IG9jU3R5bGUgPT09ICdzZW1hbnRpYycsXHJcbiAgICB9XCJcclxuICAgIFt0YWJpbmRleF09XCJvY1RhYkluZGV4XCJcclxuICAgIFtkaXNhYmxlZF09XCJvY0Rpc2FibGVkXCJcclxuICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcclxuICAvPlxyXG4gIEBpZiAoIW9jU2VtYW50aWNMaWtlICYmIG9jU3R5bGUgIT09ICdzZW1hbnRpYycpIHtcclxuICAgIDxsYWJlbD5cclxuICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJvY1BsYWNlaG9sZGVyXCI+PC9zcGFuPlxyXG4gICAgICBAaWYgKG9jUmVxdWlyZWQpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm9jIGNvbG9yIGVycm9yXCI+Kjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgPC9sYWJlbD5cclxuICB9XHJcbiAgPHNtYWxsXHJcbiAgICAqbmdJZj1cIm9jRXJyb3JcIlxyXG4gICAgY2xhc3M9XCJlcnJvci1tc2dcIlxyXG4gICAgPnt7IG9jRXJyb3IgfX08L3NtYWxsXHJcbiAgPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIm9jUHJlZml4XCI+PC9uZy1jb250ZW50PlxyXG4gIEBpZiAob2NIYXNEZWxldGVCdXR0b24gJiYgIW9jRGlzYWJsZWQpIHtcclxuICAgIDxidXR0b25cclxuICAgICAgY2xhc3M9XCJvYy1oYXMtY2xvc2UtYnV0dG9uIG9jIHN1ZmZpeFwiXHJcbiAgICAgIChjbGljayk9XCJjbGVhclZhbHVlKClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwib2NEaXNhYmxlZFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmJhY2tzcGFjZTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJvY1N1ZmZpeFwiPjwvbmctY29udGVudD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMtZGl2XCI+XHJcbiAgICBAaWYgKGlzT3B0aW9uc1Nob3duICYmICFvY0xvYWRpbmcgJiYgIW9jRGlzYWJsZWQpIHtcclxuICAgICAgPHVsXHJcbiAgICAgICAgI29wdGlvbnNcclxuICAgICAgICBjbGFzcz1cIm9jLW9wdGlvbnNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICdtYXgtaGVpZ2h0Jzogb2NPcHRpb25zTWF4SGVpZ2h0LFxyXG4gICAgICAgICAgd2lkdGg6IG9jT3B0aW9uc1dpZHRoLFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+XHJcbiAgICAgICAgQGlmICghZmlsdGVyZWREYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICB7eyBvY05vQXZhaWxhYmxlT3B0aW9uc1RleHQgfHwgJ05lbmh1bSByZXN1bHRhZG8gZGlzcG9uw612ZWwnIH19XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgQGZvciAoZGF0YSBvZiBmaWx0ZXJlZERhdGE7IHRyYWNrIGRhdGEudmFsdWU7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICAgIEBpZiAoIW9jTWF4UmVzdWx0cyB8fCBpIDwgb2NNYXhSZXN1bHRzKSB7XHJcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGktb3B0aW9uXCIgI2xpc3RPcHRpb25zUmVmPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZhbHVlKGRhdGEudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmhvdmVyXT1cIm9jVHlwZSAhPT0gJ2NvdW50ZXJTZWxlY3QnXCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzLmhpZ2hsaWdodF09XCJzZWxlY3RlZEluZGV4ID09PSBpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgQGlmIChkYXRhLmljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZSc6IGRhdGEuaWNvblNpemUgfHwgJzEuMnJlbScsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhLmljb24gfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAge3sgZGF0YS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIEBpZiAob2NUeXBlID09PSAnY291bnRlclNlbGVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9jLWNvdW50ZXItc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWJ0cmFjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVtZW50Q291bnRlcihkYXRhKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+cmVtb3ZlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiY291bnRlclwiPnt7IGRhdGEuY291bnRlciB8fCAwIH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbmNyZW1lbnRDb3VudGVyKGRhdGEpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5hZGQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAob2NNYXhSZXN1bHRzICYmIGZpbHRlcmVkRGF0YS5sZW5ndGggPiBvY01heFJlc3VsdHMpIHtcclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibm8tb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIHt7IG9jVHlwZUZvck1vcmVSZXN1bHRzVGV4dCB8fCAnRGlnaXRlIHBhcmEgdmVyIG1haXMgcmVzdWx0YWRvcycgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIDwvdWw+XHJcbiAgICB9IEBlbHNlIGlmIChpc09wdGlvbnNTaG93biAmJiBvY0xvYWRpbmcgJiYgIW9jRGlzYWJsZWQpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIm9jLW9wdGlvbnMgbG9hZGVyXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGxvYWRpbmdcIj4gcHJvZ3Jlc3NfYWN0aXZpdHkgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -15,11 +15,11 @@ export class OcBadgeComponent {
15
15
  this.classList.push('waved');
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OcBadgeComponent, isStandalone: true, selector: "oc-badge", inputs: { ocSize: "ocSize", ocColor: "ocColor", ocWaved: "ocWaved" }, ngImport: i0, template: "<div>\n <div class=\"oc-badge\" [ngClass]=\"classList\">\n <ng-content>\n \n </ng-content>\n </div>\n</div>\n", styles: [".oc-badge{border-radius:50%;display:flex;justify-content:center;align-items:center;color:#f8f9ff}.oc-badge>*{color:#f8f9ff;font-weight:600}.notification{background-color:#ed3a3a}.brand-g{background-color:#00dda3}.brand-p{background-color:#5505a2}.success{background-color:#4ab858}.warning{background-color:#ebbc2e}.small{width:15px;height:15px;font-size:.7rem}.medium{width:22px;height:22px;font-size:1rem}.large{width:28px;height:28px;font-size:1.25rem}.waved{position:relative;z-index:2}.waved:before,.waved:after{z-index:-1;content:\"\";position:absolute;top:0;border-radius:50%;width:100%;height:100%;animation:wave infinite 2s}.waved:after{animation-delay:.6s}.waved.notification:before,.waved.notification:after{background-color:#ed3a3a}.waved.brand-g:before,.waved.brand-g:after{background-color:#00dda3}.waved.brand-p:before,.waved.brand-p:after{background-color:#5505a2}.waved.success:before,.waved.success:after{background-color:#4ab858}.waved.warning:before,.waved.warning:after{background-color:#ebbc2e}@keyframes wave{0%{transform:scale(0)}to{opacity:0;transform:scale(2)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OcBadgeComponent, isStandalone: true, selector: "oc-badge", inputs: { ocSize: "ocSize", ocColor: "ocColor", ocWaved: "ocWaved" }, ngImport: i0, template: "<div>\r\n <div class=\"oc-badge\" [ngClass]=\"classList\">\r\n <ng-content>\r\n \r\n </ng-content>\r\n </div>\r\n</div>\r\n", styles: [".oc-badge{border-radius:50%;display:flex;justify-content:center;align-items:center;color:#f8f9ff}.oc-badge>*{color:#f8f9ff;font-weight:600}.notification{background-color:#ed3a3a}.brand-g{background-color:#00dda3}.brand-p{background-color:#5505a2}.success{background-color:#4ab858}.warning{background-color:#ebbc2e}.small{width:15px;height:15px;font-size:.7rem}.medium{width:22px;height:22px;font-size:1rem}.large{width:28px;height:28px;font-size:1.25rem}.waved{position:relative;z-index:2}.waved:before,.waved:after{z-index:-1;content:\"\";position:absolute;top:0;border-radius:50%;width:100%;height:100%;animation:wave infinite 2s}.waved:after{animation-delay:.6s}.waved.notification:before,.waved.notification:after{background-color:#ed3a3a}.waved.brand-g:before,.waved.brand-g:after{background-color:#00dda3}.waved.brand-p:before,.waved.brand-p:after{background-color:#5505a2}.waved.success:before,.waved.success:after{background-color:#4ab858}.waved.warning:before,.waved.warning:after{background-color:#ebbc2e}@keyframes wave{0%{transform:scale(0)}to{opacity:0;transform:scale(2)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcBadgeComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'oc-badge', standalone: true, imports: [CommonModule], template: "<div>\n <div class=\"oc-badge\" [ngClass]=\"classList\">\n <ng-content>\n \n </ng-content>\n </div>\n</div>\n", styles: [".oc-badge{border-radius:50%;display:flex;justify-content:center;align-items:center;color:#f8f9ff}.oc-badge>*{color:#f8f9ff;font-weight:600}.notification{background-color:#ed3a3a}.brand-g{background-color:#00dda3}.brand-p{background-color:#5505a2}.success{background-color:#4ab858}.warning{background-color:#ebbc2e}.small{width:15px;height:15px;font-size:.7rem}.medium{width:22px;height:22px;font-size:1rem}.large{width:28px;height:28px;font-size:1.25rem}.waved{position:relative;z-index:2}.waved:before,.waved:after{z-index:-1;content:\"\";position:absolute;top:0;border-radius:50%;width:100%;height:100%;animation:wave infinite 2s}.waved:after{animation-delay:.6s}.waved.notification:before,.waved.notification:after{background-color:#ed3a3a}.waved.brand-g:before,.waved.brand-g:after{background-color:#00dda3}.waved.brand-p:before,.waved.brand-p:after{background-color:#5505a2}.waved.success:before,.waved.success:after{background-color:#4ab858}.waved.warning:before,.waved.warning:after{background-color:#ebbc2e}@keyframes wave{0%{transform:scale(0)}to{opacity:0;transform:scale(2)}}\n"] }]
22
+ args: [{ selector: 'oc-badge', standalone: true, imports: [CommonModule], template: "<div>\r\n <div class=\"oc-badge\" [ngClass]=\"classList\">\r\n <ng-content>\r\n \r\n </ng-content>\r\n </div>\r\n</div>\r\n", styles: [".oc-badge{border-radius:50%;display:flex;justify-content:center;align-items:center;color:#f8f9ff}.oc-badge>*{color:#f8f9ff;font-weight:600}.notification{background-color:#ed3a3a}.brand-g{background-color:#00dda3}.brand-p{background-color:#5505a2}.success{background-color:#4ab858}.warning{background-color:#ebbc2e}.small{width:15px;height:15px;font-size:.7rem}.medium{width:22px;height:22px;font-size:1rem}.large{width:28px;height:28px;font-size:1.25rem}.waved{position:relative;z-index:2}.waved:before,.waved:after{z-index:-1;content:\"\";position:absolute;top:0;border-radius:50%;width:100%;height:100%;animation:wave infinite 2s}.waved:after{animation-delay:.6s}.waved.notification:before,.waved.notification:after{background-color:#ed3a3a}.waved.brand-g:before,.waved.brand-g:after{background-color:#00dda3}.waved.brand-p:before,.waved.brand-p:after{background-color:#5505a2}.waved.success:before,.waved.success:after{background-color:#4ab858}.waved.warning:before,.waved.warning:after{background-color:#ebbc2e}@keyframes wave{0%{transform:scale(0)}to{opacity:0;transform:scale(2)}}\n"] }]
23
23
  }], propDecorators: { ocSize: [{
24
24
  type: Input
25
25
  }], ocColor: [{
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
27
27
  }], ocWaved: [{
28
28
  type: Input
29
29
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWJhZGdlL29jLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1iYWRnZS9vYy1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUDdCO1FBUVcsV0FBTSxHQUFpQyxPQUFPLENBQUE7UUFDOUMsWUFBTyxHQUFtRSxjQUFjLENBQUE7UUFDeEYsWUFBTyxHQUFZLEtBQUssQ0FBQTtRQUVqQyxjQUFTLEdBQWEsRUFBRSxDQUFBO0tBTXpCO0lBSkMsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlDLElBQUcsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDOytHQVZVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDBJQ1Y3Qix3SEFPQSx5bkNERFksWUFBWTs7NEZBSVgsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBS2QsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29jLWJhZGdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vYy1iYWRnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYy1iYWRnZS5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgT2NCYWRnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG9jU2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdzbWFsbCdcbiAgQElucHV0KCkgb2NDb2xvcjogJ25vdGlmaWNhdGlvbicgfCAnYnJhbmQtZycgfCAnYnJhbmQtcCcgfCAnc3VjY2VzcycgfCAnd2FybmluZycgPSAnbm90aWZpY2F0aW9uJ1xuICBASW5wdXQoKSBvY1dhdmVkOiBib29sZWFuID0gZmFsc2VcblxuICBjbGFzc0xpc3Q6IHN0cmluZ1tdID0gW11cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzTGlzdC5wdXNoKHRoaXMub2NTaXplLCB0aGlzLm9jQ29sb3IpXG4gICAgaWYodGhpcy5vY1dhdmVkKSB0aGlzLmNsYXNzTGlzdC5wdXNoKCd3YXZlZCcpXG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXYgY2xhc3M9XCJvYy1iYWRnZVwiIFtuZ0NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICAgIDxuZy1jb250ZW50PlxuICBcbiAgICA8L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3RpbXVzLWxpYnJhcnkvc3JjL2xpYi9jb21wb25lbnRzL29jLWJhZGdlL29jLWJhZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1iYWRnZS9vYy1iYWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUDdCO1FBUVcsV0FBTSxHQUFpQyxPQUFPLENBQUE7UUFDOUMsWUFBTyxHQUFtRSxjQUFjLENBQUE7UUFDeEYsWUFBTyxHQUFZLEtBQUssQ0FBQTtRQUVqQyxjQUFTLEdBQWEsRUFBRSxDQUFBO0tBTXpCO0lBSkMsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzlDLElBQUcsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDOytHQVZVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDBJQ1Y3QixzSUFPQSx5bkNERFksWUFBWTs7NEZBSVgsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OEJBS2QsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnb2MtYmFkZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWJhZGdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vb2MtYmFkZ2UuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPY0JhZGdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBvY1NpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnc21hbGwnXHJcbiAgQElucHV0KCkgb2NDb2xvcjogJ25vdGlmaWNhdGlvbicgfCAnYnJhbmQtZycgfCAnYnJhbmQtcCcgfCAnc3VjY2VzcycgfCAnd2FybmluZycgPSAnbm90aWZpY2F0aW9uJ1xyXG4gIEBJbnB1dCgpIG9jV2F2ZWQ6IGJvb2xlYW4gPSBmYWxzZVxyXG5cclxuICBjbGFzc0xpc3Q6IHN0cmluZ1tdID0gW11cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsYXNzTGlzdC5wdXNoKHRoaXMub2NTaXplLCB0aGlzLm9jQ29sb3IpXHJcbiAgICBpZih0aGlzLm9jV2F2ZWQpIHRoaXMuY2xhc3NMaXN0LnB1c2goJ3dhdmVkJylcclxuICB9XHJcbn1cclxuIiwiPGRpdj5cclxuICA8ZGl2IGNsYXNzPVwib2MtYmFkZ2VcIiBbbmdDbGFzc109XCJjbGFzc0xpc3RcIj5cclxuICAgIDxuZy1jb250ZW50PlxyXG4gIFxyXG4gICAgPC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19