otimus-library 0.2.91 → 0.2.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -26
- package/esm2022/lib/components/oc-accordion/oc-accordion.component.mjs +3 -3
- package/esm2022/lib/components/oc-accordion-item/oc-accordion-item.component.mjs +3 -3
- package/esm2022/lib/components/oc-autocomplete/oc-autocomplete.component.mjs +18 -16
- package/esm2022/lib/components/oc-badge/oc-badge.component.mjs +3 -3
- package/esm2022/lib/components/oc-button-menu/oc-button-menu.component.mjs +3 -3
- package/esm2022/lib/components/oc-checkbox/oc-checkbox.component.mjs +3 -3
- package/esm2022/lib/components/oc-chip/oc-chip.component.mjs +3 -3
- package/esm2022/lib/components/oc-date-select/oc-date-select.component.mjs +3 -3
- package/esm2022/lib/components/oc-filter/oc-filter.component.mjs +3 -3
- package/esm2022/lib/components/oc-input/oc-input.component.mjs +3 -3
- package/esm2022/lib/components/oc-key-value/oc-key-value.component.mjs +3 -3
- package/esm2022/lib/components/oc-log/oc-log.component.mjs +3 -3
- package/esm2022/lib/components/oc-menu/oc-menu.component.mjs +3 -3
- package/esm2022/lib/components/oc-message/oc-message.component.mjs +3 -3
- package/esm2022/lib/components/oc-modal/oc-modal.component.mjs +3 -3
- package/esm2022/lib/components/oc-modal-footer/oc-modal-footer.component.mjs +3 -3
- package/esm2022/lib/components/oc-not-found/oc-not-found.component.mjs +3 -3
- package/esm2022/lib/components/oc-pagination/oc-pagination.component.mjs +3 -3
- package/esm2022/lib/components/oc-profile/oc-profile.component.mjs +3 -3
- package/esm2022/lib/components/oc-progress/oc-progress.component.mjs +3 -3
- package/esm2022/lib/components/oc-step/oc-step.component.mjs +3 -3
- package/esm2022/lib/components/oc-stepper/oc-stepper.component.mjs +3 -3
- package/esm2022/lib/components/oc-tab/oc-tab.component.mjs +3 -3
- package/esm2022/lib/components/oc-tabs/oc-tabs.component.mjs +3 -3
- package/esm2022/lib/components/oc-toast/oc-toast.component.mjs +3 -3
- package/esm2022/lib/components/oc-toggle/oc-toggle.component.mjs +3 -3
- package/esm2022/lib/directives/oc-tooltip/oc-tooltip.directive.mjs +1 -1
- package/esm2022/lib/interfaces/oc-autocomplete.mjs +1 -1
- package/esm2022/lib/interfaces/oc-menu.mjs +1 -1
- package/esm2022/lib/interfaces/oc-style-theme.mjs +1 -1
- package/esm2022/lib/interfaces/oc-toast.mjs +1 -1
- package/esm2022/lib/otimus-library.component.mjs +9 -9
- package/esm2022/lib/otimus-library.service.mjs +1 -1
- package/esm2022/lib/services/internationalization.service.mjs +1 -1
- package/esm2022/lib/services/oc-toast.service.mjs +1 -1
- package/esm2022/lib/services/style-theme.service.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/otimus-library.mjs +75 -73
- package/fesm2022/otimus-library.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/colors.scss +70 -70
- package/styles/components/buttons/buttons.scss +225 -225
- package/styles/components/buttons/buttons.shui.scss +61 -61
- package/styles/components/index.scss +2 -2
- package/styles/components/inputs/inputs.scss +248 -248
- package/styles/components/inputs/inputs.shui.scss +212 -212
- package/styles/components/table/table.scss +98 -98
- package/styles/components/table/table.shui.scss +50 -50
- package/styles/components/tooltip.scss +26 -26
- package/styles/grid.scss +1122 -1122
- package/styles/patterns/shui/colors.shui.scss +154 -154
- package/styles/patterns/shui/fonts.shui.scss +65 -65
- package/styles/patterns/shui/index.shui.scss +24 -24
- package/styles/patterns/shui/variables.shui.scss +23 -23
- package/styles/states.scss +5 -5
- package/styles/styles.scss +46 -46
- package/styles/variables.scss +47 -47
|
@@ -9,14 +9,14 @@ export class OcLogComponent {
|
|
|
9
9
|
this.ocUserName = '';
|
|
10
10
|
}
|
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcLogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcLogComponent, isStandalone: true, selector: "oc-log", inputs: { ocProfilePic: "ocProfilePic", ocUserName: "ocUserName" }, ngImport: i0, template: "<div class=\"oc-log\">\
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcLogComponent, isStandalone: true, selector: "oc-log", inputs: { ocProfilePic: "ocProfilePic", ocUserName: "ocUserName" }, ngImport: i0, template: "<div class=\"oc-log\">\n <div class=\"left-side\" [ngClass]=\"{\n 'has-profile': ocProfilePic || ocUserName\n }\">\n @if(ocProfilePic || ocUserName) {\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\n </oc-profile>\n } @else {\n <div class=\"dot\"></div>\n }\n </div>\n\n <div class=\"content\" [ngClass]=\"{\n 'has-profile-content': ocProfilePic || ocUserName\n }\" selector=\"[content]\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".oc-log{width:100%;margin:0;border-left:3px solid #d1d5db;position:relative;padding:4rem 0;padding-top:0;border-radius:1rem;border-bottom-left-radius:0;border-top-left-radius:0;transition:.2s ease}.oc-log:hover{background-color:#f7f7f7}.oc-log .has-profile{left:-2.1rem!important}.oc-log .left-side{position:absolute;z-index:8;left:-.6rem;top:0;height:100%;display:flex;align-items:flex-start}.oc-log .left-side .dot{width:1rem;height:1rem;border-radius:.2rem;transform:rotate(45deg);background-color:#5505a2}.content{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;padding-left:2rem;padding-top:1.5rem}.has-profile-content{padding-left:3rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: OcProfileComponent, selector: "oc-profile", inputs: ["ocUserName", "ocProfilePic", "ocSize"] }] }); }
|
|
13
13
|
}
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcLogComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
|
-
args: [{ selector: 'oc-log', standalone: true, imports: [CommonModule, OcProfileComponent], template: "<div class=\"oc-log\">\
|
|
16
|
+
args: [{ selector: 'oc-log', standalone: true, imports: [CommonModule, OcProfileComponent], template: "<div class=\"oc-log\">\n <div class=\"left-side\" [ngClass]=\"{\n 'has-profile': ocProfilePic || ocUserName\n }\">\n @if(ocProfilePic || ocUserName) {\n <oc-profile [ocProfilePic]=\"ocProfilePic\" [ocUserName]=\"ocUserName\">\n </oc-profile>\n } @else {\n <div class=\"dot\"></div>\n }\n </div>\n\n <div class=\"content\" [ngClass]=\"{\n 'has-profile-content': ocProfilePic || ocUserName\n }\" selector=\"[content]\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [".oc-log{width:100%;margin:0;border-left:3px solid #d1d5db;position:relative;padding:4rem 0;padding-top:0;border-radius:1rem;border-bottom-left-radius:0;border-top-left-radius:0;transition:.2s ease}.oc-log:hover{background-color:#f7f7f7}.oc-log .has-profile{left:-2.1rem!important}.oc-log .left-side{position:absolute;z-index:8;left:-.6rem;top:0;height:100%;display:flex;align-items:flex-start}.oc-log .left-side .dot{width:1rem;height:1rem;border-radius:.2rem;transform:rotate(45deg);background-color:#5505a2}.content{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;padding-left:2rem;padding-top:1.5rem}.has-profile-content{padding-left:3rem}\n"] }]
|
|
17
17
|
}], propDecorators: { ocProfilePic: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}], ocUserName: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1sb2cvb2MtbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1sb2cvb2MtbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyxjQUFjO0lBUDNCO1FBUVcsaUJBQVksR0FBWSxFQUFFLENBQUE7UUFDMUIsZUFBVSxHQUFZLEVBQUUsQ0FBQTtLQUNsQzsrR0FIWSxjQUFjO21HQUFkLGNBQWMsc0lDWDNCLHVmQWlCTSxrdUJEVk0sWUFBWSw2SEFBRSxrQkFBa0I7OzRGQUkvQixjQUFjO2tCQVAxQixTQUFTOytCQUNFLFFBQVEsY0FDTixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUM7OEJBS2xDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9jUHJvZmlsZUNvbXBvbmVudCB9IGZyb20gJy4uL29jLXByb2ZpbGUvb2MtcHJvZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2MtbG9nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT2NQcm9maWxlQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL29jLWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYy1sb2cuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE9jTG9nQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb2NQcm9maWxlUGljPzogc3RyaW5nID0gJydcbiAgQElucHV0KCkgb2NVc2VyTmFtZT86IHN0cmluZyA9ICcnXG59XG4iLCI8ZGl2IGNsYXNzPVwib2MtbG9nXCI+XG4gIDxkaXYgY2xhc3M9XCJsZWZ0LXNpZGVcIiBbbmdDbGFzc109XCJ7XG4gICAgJ2hhcy1wcm9maWxlJzogb2NQcm9maWxlUGljIHx8IG9jVXNlck5hbWVcbiAgfVwiPlxuICAgIEBpZihvY1Byb2ZpbGVQaWMgfHwgb2NVc2VyTmFtZSkge1xuICAgICAgPG9jLXByb2ZpbGUgW29jUHJvZmlsZVBpY109XCJvY1Byb2ZpbGVQaWNcIiBbb2NVc2VyTmFtZV09XCJvY1VzZXJOYW1lXCI+XG4gICAgICA8L29jLXByb2ZpbGU+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZG90XCI+PC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiIFtuZ0NsYXNzXT1cIntcbiAgICAnaGFzLXByb2ZpbGUtY29udGVudCc6IG9jUHJvZmlsZVBpYyB8fCBvY1VzZXJOYW1lXG4gIH1cIiBzZWxlY3Rvcj1cIltjb250ZW50XVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -65,11 +65,11 @@ export class OcMenuComponent {
|
|
|
65
65
|
return typeof key;
|
|
66
66
|
}
|
|
67
67
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcMenuComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcMenuComponent, isStandalone: true, selector: "oc-menu", inputs: { ocMenu: "ocMenu" }, outputs: { ocChange: "ocChange" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["ocMenuEl"], descendants: true }], ngImport: i0, template: "<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcMenuComponent, isStandalone: true, selector: "oc-menu", inputs: { ocMenu: "ocMenu" }, outputs: { ocChange: "ocChange" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["ocMenuEl"], descendants: true }], ngImport: i0, template: "<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\n <ul>\n @for(option of ocMenu; track $index) {\n <li\n [ngClass]=\"{\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\n }\"\n >\n @if(typeof(option.checked) === 'boolean'){\n <div class=\"checkbox-opt cbx\">\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\n </div>\n }\n @if(option.icon) {\n <span class=\"material-symbols-outlined\">\n {{option.icon}}\n </span>\n } \n @if(option.callback){\n <button (click)=\"option.callback()\">{{option.name}}</button>\n }\n @if(option.url){\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\n }\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\n <span>{{option.name}}</span>\n }\n </li>\n }\n </ul>\n</div>\n", styles: ["*{box-sizing:border-box}.oc-menu{display:flex;flex-direction:column;border-radius:0 8px 8px;background-color:#f8f9ff;border:2px solid #ffffff;position:absolute;z-index:1000;max-height:800px;box-shadow:0 4px 8.7px #00000021;animation:showUp .15s ease}.oc-menu ul{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}.oc-menu ul li{text-align:left;text-decoration:none;width:100%;max-height:30px;display:flex;align-items:center;gap:.2rem;white-space:nowrap}.oc-menu ul li .checkbox-opt{min-width:1.3rem}.oc-menu ul li a,.oc-menu ul li button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-menu ul li a,.oc-menu ul li button,.oc-menu ul li span,.oc-menu ul li .checkbox-opt{color:#8f9596;text-decoration:none;font-size:1rem;font-weight:400;text-align:left;padding:0;margin:0;border:none;padding:.6rem;background-color:transparent;width:100%;height:100%;cursor:pointer}.oc-menu ul li .material-symbols-outlined{width:.3rem;font-size:1.1rem;pointer-events:none}.oc-menu ul li:hover{background-color:#fff}@keyframes showUp{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: CdkMenuModule }, { kind: "directive", type: i2.CdkMenu, selector: "[cdkMenu]", outputs: ["closed"], exportAs: ["cdkMenu"] }, { kind: "component", type: OcCheckboxComponent, selector: "oc-checkbox", inputs: ["ocChecked", "ocSize", "ocLabel", "ocName", "ocColor", "ocBorderColor", "ocStyle", "formControl", "ocTabIndex", "disableDoubleClickCheck", "ocDisabled"], outputs: ["ocChange", "ocCheckedChange", "ocDoubleClick"] }] }); }
|
|
69
69
|
}
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcMenuComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
|
-
args: [{ selector: 'oc-menu', standalone: true, imports: [CommonModule, CdkMenuModule, OcCheckboxComponent], template: "<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\
|
|
72
|
+
args: [{ selector: 'oc-menu', standalone: true, imports: [CommonModule, CdkMenuModule, OcCheckboxComponent], template: "<div class=\"oc-menu\" *ngIf=\"isMenuShown\" cdkMenu #ocMenuEl>\n <ul>\n @for(option of ocMenu; track $index) {\n <li\n [ngClass]=\"{\n 'checkbox-option cbx': typeof(option.checked) === 'boolean'\n }\"\n >\n @if(typeof(option.checked) === 'boolean'){\n <div class=\"checkbox-opt cbx\">\n <oc-checkbox (ocChange)=\"changeCheckbox(option.name, $event)\" [ocChecked]=\"option.checked!\" class=\"cbx\" ocSize=\"tiny\" [ocLabel]=\"option.name\" ocBorderColor=\"gray\"/>\n </div>\n }\n @if(option.icon) {\n <span class=\"material-symbols-outlined\">\n {{option.icon}}\n </span>\n } \n @if(option.callback){\n <button (click)=\"option.callback()\">{{option.name}}</button>\n }\n @if(option.url){\n <a [href]=\"option.url\" [target]=\"option.targetBlank ? '_blank' : ''\">{{option.name}}</a>\n }\n @if (!option.callback && !option.url && typeof(option.checked) !== 'boolean') {\n <span>{{option.name}}</span>\n }\n </li>\n }\n </ul>\n</div>\n", styles: ["*{box-sizing:border-box}.oc-menu{display:flex;flex-direction:column;border-radius:0 8px 8px;background-color:#f8f9ff;border:2px solid #ffffff;position:absolute;z-index:1000;max-height:800px;box-shadow:0 4px 8.7px #00000021;animation:showUp .15s ease}.oc-menu ul{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;width:100%}.oc-menu ul li{text-align:left;text-decoration:none;width:100%;max-height:30px;display:flex;align-items:center;gap:.2rem;white-space:nowrap}.oc-menu ul li .checkbox-opt{min-width:1.3rem}.oc-menu ul li a,.oc-menu ul li button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-menu ul li a,.oc-menu ul li button,.oc-menu ul li span,.oc-menu ul li .checkbox-opt{color:#8f9596;text-decoration:none;font-size:1rem;font-weight:400;text-align:left;padding:0;margin:0;border:none;padding:.6rem;background-color:transparent;width:100%;height:100%;cursor:pointer}.oc-menu ul li .material-symbols-outlined{width:.3rem;font-size:1.1rem;pointer-events:none}.oc-menu ul li:hover{background-color:#fff}@keyframes showUp{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}\n"] }]
|
|
73
73
|
}], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { menu: [{
|
|
74
74
|
type: ViewChild,
|
|
75
75
|
args: ['ocMenuEl']
|
|
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
78
78
|
}], ocMenu: [{
|
|
79
79
|
type: Input
|
|
80
80
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vdGltdXMtbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvb2MtbWVudS9vYy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1tZW51L29jLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFHLFNBQVMsRUFBWSxZQUFZLEVBQUMsS0FBSyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFHLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVMzRSxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBRzdCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQzlCLFdBQU0sR0FBaUIsRUFBRSxDQUFBO1FBQ2xDLGdCQUFXLEdBQVksS0FBSyxDQUFBO0lBTGMsQ0FBQztJQVEzQyxJQUFJO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7UUFFdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUcsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDO2dCQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUE7b0JBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNULENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFvQjtRQUNuQyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ25DLE9BQU8sTUFBTSxFQUFFLENBQUM7WUFDZCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzlDLE9BQU8sTUFBMkIsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBSyxFQUFDLEVBQUU7WUFFOUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUVqRSxJQUFHLFVBQVU7Z0JBQUUsT0FBTTtpQkFDaEIsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU07WUFFMUIsSUFBRyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUE7Z0JBQ3hCLE9BQU07WUFDUixDQUFDO1FBRUgsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVksRUFBRSxPQUFnQjtRQUMzQyxJQUFJLFNBQVMsQ0FBQTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO2dCQUV0QixTQUFTLEdBQUcsSUFBSSxDQUFBO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzdCLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBUTtRQUNiLE9BQU8sT0FBTyxHQUFHLENBQUE7SUFDbkIsQ0FBQzsrR0FyRVUsZUFBZTttR0FBZixlQUFlLHNPQ2I1Qiw4bUNBK0JBLGlxQ0R0QlksWUFBWSxnT0FBRSxhQUFhLDJJQUFFLG1CQUFtQjs7NEZBSS9DLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUM7OEVBT3BDLElBQUk7c0JBQTFCLFNBQVM7dUJBQUMsVUFBVTtnQkFDWCxRQUFRO3NCQUFqQixNQUFNO2dCQUNFLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICBDb21wb25lbnQsRWxlbWVudFJlZixFdmVudEVtaXR0ZXIsSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgIENka01lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2NNZW51VHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb2MtbWVudSc7XG5pbXBvcnQgeyBPY0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vb2MtY2hlY2tib3gvb2MtY2hlY2tib3guY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2MtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENka01lbnVNb2R1bGUsIE9jQ2hlY2tib3hDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2MtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29jLW1lbnUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBPY01lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgQFZpZXdDaGlsZCgnb2NNZW51RWwnKSBtZW51ITogRWxlbWVudFJlZjtcbiAgQE91dHB1dCgpIG9jQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBJbnB1dCgpIG9jTWVudTogT2NNZW51VHlwZVtdID0gW11cbiAgaXNNZW51U2hvd246IGJvb2xlYW4gPSBmYWxzZVxuICBidXR0b25JZD86c3RyaW5nXG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLmlzTWVudVNob3duID0gdHJ1ZVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZih0aGlzLm1lbnUpe1xuICAgICAgICBjb25zdCBwYXJlbnRCdXR0b24gPSB0aGlzLmZpbmRQYXJlbnRCdXR0b24odGhpcy5tZW51Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBpZiAocGFyZW50QnV0dG9uKSB7XG4gICAgICAgICAgdGhpcy5idXR0b25JZCA9IGBvYy0ke01hdGgucmFuZG9tKCl9YFxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHBhcmVudEJ1dHRvbiwgJ2lkJywgdGhpcy5idXR0b25JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCAxMDApXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNsb3NlT25DbGlja091dCgpXG4gIH1cblxuICBmaW5kUGFyZW50QnV0dG9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHtcbiAgICBsZXQgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgIGlmIChwYXJlbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYnV0dG9uJykge1xuICAgICAgICByZXR1cm4gcGFyZW50IGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgfVxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG4gIFxuICBjbG9zZU9uQ2xpY2tPdXQoKSB7XG4gICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdjbGljaycsKGU6YW55KT0+e1xuXG4gICAgICBjb25zdCBpc0NoZWNrYm94ID0gQXJyYXkuZnJvbShlLnRhcmdldC5jbGFzc0xpc3QpLmluY2x1ZGVzKCdjYngnKVxuXG4gICAgICBpZihpc0NoZWNrYm94KSByZXR1cm5cbiAgICAgIGVsc2UgaWYoIXRoaXMubWVudSkgcmV0dXJuXG5cbiAgICAgIGlmKHRoaXMuYnV0dG9uSWQgJiYgZS50YXJnZXQuaWQgIT09IHRoaXMuYnV0dG9uSWQpIHtcbiAgICAgICAgdGhpcy5pc01lbnVTaG93biA9IGZhbHNlXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgXG4gICAgfSlcbiAgfVxuXG4gIGNoYW5nZUNoZWNrYm94KG5hbWU6IHN0cmluZywgY2hlY2tlZDogYm9vbGVhbikge1xuICAgIGxldCBmb3VuZEl0ZW1cbiAgICB0aGlzLm9jTWVudS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYoaXRlbS5uYW1lID09PSBuYW1lICYmIHR5cGVvZiBjaGVja2VkID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgaXRlbS5jaGVja2VkID0gY2hlY2tlZFxuXG4gICAgICAgIGZvdW5kSXRlbSA9IGl0ZW1cbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMub2NDaGFuZ2UuZW1pdChmb3VuZEl0ZW0pXG4gICAgcmV0dXJuIGZvdW5kSXRlbVxuICB9XG5cbiAgdHlwZW9mKGtleTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBrZXlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm9jLW1lbnVcIiAqbmdJZj1cImlzTWVudVNob3duXCIgY2RrTWVudSAjb2NNZW51RWw+XG4gIDx1bD5cbiAgICBAZm9yKG9wdGlvbiBvZiBvY01lbnU7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGxpXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnY2hlY2tib3gtb3B0aW9uIGNieCc6IHR5cGVvZihvcHRpb24uY2hlY2tlZCkgPT09ICdib29sZWFuJ1xuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgQGlmKHR5cGVvZihvcHRpb24uY2hlY2tlZCkgPT09ICdib29sZWFuJyl7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LW9wdCBjYnhcIj5cbiAgICAgICAgICAgIDxvYy1jaGVja2JveCAob2NDaGFuZ2UpPVwiY2hhbmdlQ2hlY2tib3gob3B0aW9uLm5hbWUsICRldmVudClcIiBbb2NDaGVja2VkXT1cIm9wdGlvbi5jaGVja2VkIVwiIGNsYXNzPVwiY2J4XCIgb2NTaXplPVwidGlueVwiIFtvY0xhYmVsXT1cIm9wdGlvbi5uYW1lXCIgb2NCb3JkZXJDb2xvcj1cImdyYXlcIi8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmKG9wdGlvbi5pY29uKSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XG4gICAgICAgICAgICB7e29wdGlvbi5pY29ufX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH0gIFxuICAgICAgICBAaWYob3B0aW9uLmNhbGxiYWNrKXtcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvcHRpb24uY2FsbGJhY2soKVwiPnt7b3B0aW9uLm5hbWV9fTwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZihvcHRpb24udXJsKXtcbiAgICAgICAgICA8YSBbaHJlZl09XCJvcHRpb24udXJsXCIgW3RhcmdldF09XCJvcHRpb24udGFyZ2V0QmxhbmsgPyAnX2JsYW5rJyA6ICcnXCI+e3tvcHRpb24ubmFtZX19PC9hPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoIW9wdGlvbi5jYWxsYmFjayAmJiAhb3B0aW9uLnVybCAmJiB0eXBlb2Yob3B0aW9uLmNoZWNrZWQpICE9PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICA8c3Bhbj57e29wdGlvbi5uYW1lfX08L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L2xpPlxuICB9XG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -27,13 +27,13 @@ export class OcMessageComponent {
|
|
|
27
27
|
this.ocOnClose.emit(this.isOpen);
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcMessageComponent, isStandalone: true, selector: "oc-message", inputs: { isOpen: "isOpen", ocColor: "ocColor", ocClosable: "ocClosable", ocIcon: "ocIcon", ocTitle: "ocTitle" }, outputs: { ocOnClose: "ocOnClose", ocOnOpen: "ocOnOpen" }, ngImport: i0, template: "@if (!ocClosable || isOpen) {\
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: OcMessageComponent, isStandalone: true, selector: "oc-message", inputs: { isOpen: "isOpen", ocColor: "ocColor", ocClosable: "ocClosable", ocIcon: "ocIcon", ocTitle: "ocTitle" }, outputs: { ocOnClose: "ocOnClose", ocOnOpen: "ocOnOpen" }, ngImport: i0, template: "@if (!ocClosable || isOpen) {\n<div class=\"oc-message-bg\" [ngClass]=\"'oc-' + ocColor\">\n <div class=\"oc-icon\" [ngClass]=\"'oc-' + ocColor\">\n @if (ocIcon) {\n <span class=\"material-symbols-outlined\">{{ ocIcon }}</span>\n } @else {\n <span>\n <ng-content select=\"[ocIcon]\"></ng-content>\n </span>\n }\n </div>\n <div class=\"oc-main-content\">\n <div class=\"oc-message-header\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n @if (ocClosable) {\n <button (click)=\"close()\" class=\"oc-close-btn\">\n <span class=\"material-symbols-outlined md-18\" ocTooltip content=\"Fechar\" ocSide=\"bottom\">\n close\n </span>\n </button>\n }\n </div>\n <div class=\"oc-message-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n}", styles: [".oc-message-bg{padding:1rem;border-radius:1rem;display:flex;gap:.7rem}.oc-message-bg .oc-message-header{display:flex;justify-content:space-between;margin:0 0 1rem}.oc-message-bg .oc-message-header h3{margin:0}.oc-message-bg .oc-icon{border:none}.oc-message-bg .oc-icon .material-symbols-outlined{font-size:2rem}.oc-message-bg .oc-icon ::ng-deep [ocIcon]{font-size:2rem}.oc-icon.oc-default{color:#353535}.oc-default{background-color:#f7f7f7;border:2px solid #d1d5db;color:#8f9596}.oc-red{background-color:#ffcaca;border:2px solid #ed3a3a;color:#ed3a3a}.oc-red .oc-close-btn span{color:#8f9596}.oc-green{background-color:#ccfbe6;border:2px solid #00dda3;color:#00dda3}.oc-close-btn{margin:0;margin-right:.5rem;padding:0;border:none;-webkit-user-select:none;user-select:none;background-color:transparent;color:#d1d5db;width:15px;height:15px;border-radius:50%;transition:.15s ease;cursor:pointer}.oc-close-btn span{transition:.15s ease}.oc-close-btn:hover span{color:#8f9596}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OcMessageComponent, decorators: [{
|
|
33
33
|
type: Component,
|
|
34
34
|
args: [{ selector: 'oc-message', standalone: true, imports: [
|
|
35
35
|
CommonModule
|
|
36
|
-
], template: "@if (!ocClosable || isOpen) {\
|
|
36
|
+
], template: "@if (!ocClosable || isOpen) {\n<div class=\"oc-message-bg\" [ngClass]=\"'oc-' + ocColor\">\n <div class=\"oc-icon\" [ngClass]=\"'oc-' + ocColor\">\n @if (ocIcon) {\n <span class=\"material-symbols-outlined\">{{ ocIcon }}</span>\n } @else {\n <span>\n <ng-content select=\"[ocIcon]\"></ng-content>\n </span>\n }\n </div>\n <div class=\"oc-main-content\">\n <div class=\"oc-message-header\">\n @if (ocTitle) {\n <h3>{{ ocTitle }}</h3>\n } @else {\n <ng-content select=\"[ocHeader]\"></ng-content>\n }\n @if (ocClosable) {\n <button (click)=\"close()\" class=\"oc-close-btn\">\n <span class=\"material-symbols-outlined md-18\" ocTooltip content=\"Fechar\" ocSide=\"bottom\">\n close\n </span>\n </button>\n }\n </div>\n <div class=\"oc-message-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n}", styles: [".oc-message-bg{padding:1rem;border-radius:1rem;display:flex;gap:.7rem}.oc-message-bg .oc-message-header{display:flex;justify-content:space-between;margin:0 0 1rem}.oc-message-bg .oc-message-header h3{margin:0}.oc-message-bg .oc-icon{border:none}.oc-message-bg .oc-icon .material-symbols-outlined{font-size:2rem}.oc-message-bg .oc-icon ::ng-deep [ocIcon]{font-size:2rem}.oc-icon.oc-default{color:#353535}.oc-default{background-color:#f7f7f7;border:2px solid #d1d5db;color:#8f9596}.oc-red{background-color:#ffcaca;border:2px solid #ed3a3a;color:#ed3a3a}.oc-red .oc-close-btn span{color:#8f9596}.oc-green{background-color:#ccfbe6;border:2px solid #00dda3;color:#00dda3}.oc-close-btn{margin:0;margin-right:.5rem;padding:0;border:none;-webkit-user-select:none;user-select:none;background-color:transparent;color:#d1d5db;width:15px;height:15px;border-radius:50%;transition:.15s ease;cursor:pointer}.oc-close-btn span{transition:.15s ease}.oc-close-btn:hover span{color:#8f9596}\n"] }]
|
|
37
37
|
}], propDecorators: { isOpen: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}], ocColor: [{
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
49
49
|
}], ocOnOpen: [{
|
|
50
50
|
type: Output
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2MtbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vdGltdXMtbGlicmFyeS9zcmMvbGliL2NvbXBvbmVudHMvb2MtbWVzc2FnZS9vYy1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL290aW11cy1saWJyYXJ5L3NyYy9saWIvY29tcG9uZW50cy9vYy1tZXNzYWdlL29jLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVd2RSxNQUFNLE9BQU8sa0JBQWtCO0lBVC9CO1FBVVcsV0FBTSxHQUFZLEtBQUssQ0FBQTtRQUN2QixZQUFPLEdBQWdDLFNBQVMsQ0FBQTtRQUNoRCxlQUFVLEdBQVksS0FBSyxDQUFBO1FBQzNCLFdBQU0sR0FBVyxFQUFFLENBQUE7UUFFcEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQVNwQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNuQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtLQVc3QztJQXBCQyxJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUtELElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEMsQ0FBQzsrR0ExQlUsa0JBQWtCO21HQUFsQixrQkFBa0IsbVBDWi9CLDA1QkErQkMsc2dDRHhCRyxZQUFZOzs0RkFLSCxrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUDt3QkFDUCxZQUFZO3FCQUNiOzhCQUtRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBSUYsT0FBTztzQkFEVixLQUFLO2dCQVFJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvYy1tZXNzYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vb2MtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9vYy1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBPY01lc3NhZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBpc09wZW46IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKSBvY0NvbG9yOiAnZGVmYXVsdCcgfCAnZ3JlZW4nIHwgJ3JlZCcgPSAnZGVmYXVsdCdcbiAgQElucHV0KCkgb2NDbG9zYWJsZTogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIG9jSWNvbjogc3RyaW5nID0gJycgXG5cbiAgcHJpdmF0ZSBfb2NUaXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHNldCBvY1RpdGxlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9vY1RpdGxlID0gdmFsdWUudHJpbSgpO1xuICB9XG4gIGdldCBvY1RpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX29jVGl0bGU7XG4gIH1cblxuICBAT3V0cHV0KCkgb2NPbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIG9jT25PcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcblxuICBvcGVuKCkge1xuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZVxuICAgIHRoaXMub2NPbk9wZW4uZW1pdCh0aGlzLmlzT3BlbilcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2VcbiAgICB0aGlzLm9jT25DbG9zZS5lbWl0KHRoaXMuaXNPcGVuKVxuICB9XG59XG4iLCJAaWYgKCFvY0Nsb3NhYmxlIHx8IGlzT3Blbikge1xuPGRpdiBjbGFzcz1cIm9jLW1lc3NhZ2UtYmdcIiBbbmdDbGFzc109XCInb2MtJyArIG9jQ29sb3JcIj5cbiAgPGRpdiBjbGFzcz1cIm9jLWljb25cIiBbbmdDbGFzc109XCInb2MtJyArIG9jQ29sb3JcIj5cbiAgICBAaWYgKG9jSWNvbikge1xuICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPnt7IG9jSWNvbiB9fTwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICA8c3Bhbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltvY0ljb25dXCI+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwib2MtbWFpbi1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cIm9jLW1lc3NhZ2UtaGVhZGVyXCI+XG4gICAgICBAaWYgKG9jVGl0bGUpIHtcbiAgICAgIDxoMz57eyBvY1RpdGxlIH19PC9oMz5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW29jSGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIH1cbiAgICAgIEBpZiAob2NDbG9zYWJsZSkge1xuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiIGNsYXNzPVwib2MtY2xvc2UtYnRuXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtZC0xOFwiIG9jVG9vbHRpcCBjb250ZW50PVwiRmVjaGFyXCIgb2NTaWRlPVwiYm90dG9tXCI+XG4gICAgICAgICAgY2xvc2VcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm9jLW1lc3NhZ2UtY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxufSJdfQ==
|