@po-ui/ng-components 17.26.7 → 17.26.8
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/esm2022/lib/components/po-accordion/po-accordion.module.mjs +13 -1
- package/esm2022/lib/components/po-chart/po-chart.component.mjs +3 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.mjs +2 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
- package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +25 -3
- package/esm2022/lib/components/po-list-view/po-list-view.module.mjs +13 -1
- package/esm2022/lib/components/po-navbar/po-navbar.module.mjs +13 -1
- package/esm2022/lib/components/po-page/po-page-slide/po-page-slide-base.component.mjs +36 -1
- package/esm2022/lib/components/po-slide/po-slide.module.mjs +13 -1
- package/esm2022/lib/components/po-tree-view/po-tree-view.module.mjs +13 -1
- package/esm2022/lib/services/po-theme/po-theme.service.mjs +2 -2
- package/fesm2022/po-ui-ng-components.mjs +123 -5
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-accordion/po-accordion.module.d.ts +12 -0
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.d.ts +1 -1
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +2 -2
- package/lib/components/po-list-view/po-list-view.module.d.ts +12 -0
- package/lib/components/po-navbar/po-navbar.module.d.ts +12 -0
- package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +35 -0
- package/lib/components/po-slide/po-slide.module.d.ts +12 -0
- package/lib/components/po-tree-view/po-tree-view.module.d.ts +12 -0
- package/package.json +4 -4
- package/po-ui-ng-components-17.26.8.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-17.26.7.tgz +0 -0
|
@@ -223,7 +223,7 @@ export class PoThemeService {
|
|
|
223
223
|
let selectBgIcon = '';
|
|
224
224
|
if (themeColor?.brand?.['01']?.dark) {
|
|
225
225
|
const selector = this.iconNameLib === 'PhosphorIcon' ? 'po-select .po-select-phosphor' : 'po-select';
|
|
226
|
-
selectBgIcon += `${selector} { --background-image: url(${this.getSelectBgIcon(themeColor.
|
|
226
|
+
selectBgIcon += `${selector} { --background-image: url(${this.getSelectBgIcon(themeColor.neutral.dark[70])}); };`;
|
|
227
227
|
}
|
|
228
228
|
if (themeColor?.feedback?.negative?.base) {
|
|
229
229
|
if (this.iconNameLib === 'PoIcon') {
|
|
@@ -289,4 +289,4 @@ export class PoThemeService {
|
|
|
289
289
|
type: Inject,
|
|
290
290
|
args: [ICONS_DICTIONARY]
|
|
291
291
|
}] }], null); })();
|
|
292
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvcG8tdGhlbWUvcG8tdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSWxFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRjs7Ozs7Ozs7R0FRRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBVUc7SUFDQTtJQVZwQixRQUFRLENBQVk7SUFDcEIsS0FBSyxHQUFZLGNBQWMsQ0FBQztJQUNoQyxVQUFVLENBQTRCO0lBRTlDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQzRCLE1BQWMsRUFDZCxRQUFrQixFQUM1QyxlQUFpQyxFQUNLLEtBQWdDO1FBSDVDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSTVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksZ0JBQWdCLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsUUFBUSxDQUFDLEtBQWMsRUFBRSxZQUE2QixlQUFlLENBQUMsS0FBSztRQUN6RSxvRkFBb0Y7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TUFBTTs7aUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVdJLE1BQU07dUJBQUMsUUFBUTs7c0JBQ2YsTUFBTTt1QkFBQyxRQUFROztzQkFFZixRQUFROztzQkFBSSxNQUFNO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb1RoZW1lVHlwZUVudW0gfSBmcm9tICcuL2VudW0vcG8tdGhlbWUtdHlwZS5lbnVtJztcbmltcG9ydCB7IHBvVGhlbWVEZWZhdWx0IH0gZnJvbSAnLi9oZWxwZXJzL3BvLXRoZW1lLXBvdWkuY29uc3RhbnQnO1xuaW1wb3J0IHsgUG9UaGVtZUNvbG9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRoZW1lLWNvbG9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RoZW1lVG9rZW5zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRoZW1lLXRva2Vucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UaGVtZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10aGVtZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUNPTlNfRElDVElPTkFSWSwgUG9JY29uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcG8taWNvbi9pbmRleCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBgUG9UaGVtZVNlcnZpY2VgIHBvc3NpYmlsaXRhIGEgcGVyc29uYWxpemHDp8OjbyBkYXMgY29yZXMgZG8gdGVtYSBwYWRyw6NvIGRvIGBQTy1VSWAsIHBlcm1pdGluZG8gYSBhbHRlcmHDp8OjbyBkb3MgdmFsb3JlcyBkYXMgdmFyacOhdmVpcyBkZSBlc3RpbG8gdXNhZGFzIG5vIENTUyBwYWRyw6NvLlxuICpcbiAqID4gUGFyYSBzYWJlciBtYWlzIHNvYnJlIGNvbW8gY3VzdG9taXphciBhcyBjb3JlcyBkbyB0ZW1hIHBhZHLDo28gdmVyaWZpcXVlIG8gaXRlbSBbQ3VzdG9taXphbmRvIGNvcmVzIGRvIHRlbWEgcGFkcsOjb10oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvY29sb3JzLWN1c3RvbWl6YXRpb24pIG5hIGFiYSBgR3VpYXNgLlxuICpcbiAqID4gT2JzLjogTsOjbyBlc3TDoSBkb2N1bWVudGFkbyBhcXVpIGUgbsOjbyBpbmRpY2Ftb3MgYSBjdXN0b21pemHDp8OjbyBkYXMgY29yZXMgZGUgJ2ZlZWRiYWNrJyBwb3IgbW90aXZvcyBkZSBhY2Vzc2liaWxpZGFkZSBlIHVzYWJpbGlkYWRlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQb1RoZW1lU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSB0aGVtZTogUG9UaGVtZSA9IHBvVGhlbWVEZWZhdWx0O1xuICBwcml2YXRlIF9pY29uVG9rZW46IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgZ2V0IGljb25OYW1lTGliKCkge1xuICAgIHJldHVybiB0aGlzLl9pY29uVG9rZW4uTkFNRV9MSUI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdXaW5kb3cnKSBwcml2YXRlIHdpbmRvdzogV2luZG93LFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElDT05TX0RJQ1RJT05BUlkpIHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG5cbiAgICB0aGlzLl9pY29uVG9rZW4gPSB2YWx1ZSA/PyBQb0ljb25EaWN0aW9uYXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHRlbWEgYSBzZXIgYXBsaWNhZG8gbm8gY29tcG9uZW50ZSwgZGUgYWNvcmRvIGNvbSBvIHRpcG8gZGUgdGVtYSBlc3BlY2lmaWNhZG8uXG4gICAqXG4gICAqIEVzdGUgbcOpdG9kbyBkZWZpbmUgbyB0ZW1hIGEgc2VyIGFwbGljYWRvIG5vIGNvbXBvbmVudGUgY29tIGJhc2Ugbm8gb2JqZXRvIGB0aGVtZWAgZm9ybmVjaWRvIGUgbm8gdGlwbyBkZSB0ZW1hIGVzcGVjaWZpY2Fkby5cbiAgICogRWxlIGF0dWFsaXphIGFzIHByb3ByaWVkYWRlcyBkbyBjb21wb25lbnRlIHBhcmEgcmVmbGV0aXIgbyB0ZW1hIHNlbGVjaW9uYWRvLCBjb21vIGNvcmVzLCBlc3RpbG9zIGUgY29tcG9ydGFtZW50b3MuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZX0gdGhlbWUgLSBPYmpldG8gY29udGVuZG8gYXMgZGVmaW5pw6fDtWVzIGRlIHRlbWEgYSBzZXJlbSBhcGxpY2FkYXMgbm8gY29tcG9uZW50ZS5cbiAgICogQHBhcmFtIHtQb1RoZW1lVHlwZUVudW19IFt0aGVtZVR5cGU9UG9UaGVtZVR5cGVFbnVtLmxpZ2h0XSAtIChPcGNpb25hbCkgVGlwbyBkZSB0ZW1hIGEgc2VyIGFwbGljYWRvLCBwb2RlbmRvIHNlciAnbGlnaHQnIChjbGFybykgb3UgJ2RhcmsnIChlc2N1cm8pLiBQb3IgcGFkcsOjbywgbyB0ZW1hIGNsYXJvIMOpIGFwbGljYWRvLlxuICAgKi9cbiAgc2V0VGhlbWUodGhlbWU6IFBvVGhlbWUsIHRoZW1lVHlwZTogUG9UaGVtZVR5cGVFbnVtID0gUG9UaGVtZVR5cGVFbnVtLmxpZ2h0KTogdm9pZCB7XG4gICAgLy8gQ2hhbmdlIHRoZW1lIG5hbWUsIHJlbW92ZSBzcGVjaWFsIGNoYXJhY3RlcmVzIGFuZCBudW1iZXIsIHJlcGxhY2Ugc3BhY2Ugd2l0aCBkYXNoXG4gICAgdGhlbWUubmFtZSA9IHRoZW1lLm5hbWVcbiAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVogXS9nLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXHMrL2csICctJyk7XG4gICAgdGhlbWUuYWN0aXZlID0gdGhlbWVUeXBlO1xuXG4gICAgY29uc3QgX3RoZW1lVHlwZSA9IHRoZW1lLnR5cGVbUG9UaGVtZVR5cGVFbnVtW3RoZW1lVHlwZV1dO1xuICAgIGlmICghX3RoZW1lVHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbG9yU3R5bGVzID0gX3RoZW1lVHlwZS5jb2xvciA/IHRoaXMuZ2VuZXJhdGVUaGVtZVN0eWxlcyhfdGhlbWVUeXBlLmNvbG9yKSA6ICcnO1xuICAgIGNvbnN0IHBlckNvbXBvbmVudFN0eWxlcyA9IF90aGVtZVR5cGUucGVyQ29tcG9uZW50ID8gdGhpcy5nZW5lcmF0ZVBlckNvbXBvbmVudFN0eWxlcyhfdGhlbWVUeXBlLnBlckNvbXBvbmVudCkgOiAnJztcbiAgICBjb25zdCBvblJvb3RTdHlsZXMgPSBfdGhlbWVUeXBlLm9uUm9vdCA/IHRoaXMuZ2VuZXJhdGVBZGRpdGlvbmFsU3R5bGVzKF90aGVtZVR5cGUub25Sb290KSA6ICcnO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxTdHlsZXMgPSB0aGlzLmdlbmVyYXRlQWRkaXRpb25hbFN0eWxlcyhfdGhlbWVUeXBlKTtcblxuICAgIGNvbnN0IGNvbWJpbmVkU3R5bGVzID0gYFxuICAgICAgLiR7dGhlbWUubmFtZX0tJHtQb1RoZW1lVHlwZUVudW1bdGhlbWVUeXBlXX06cm9vdCB7XG4gICAgICAgICR7Y29sb3JTdHlsZXN9XG4gICAgICAgICR7cGVyQ29tcG9uZW50U3R5bGVzfVxuICAgICAgICAke29uUm9vdFN0eWxlc31cbiAgICAgICAgJHthZGRpdGlvbmFsU3R5bGVzfVxuICAgICAgfWA7XG5cbiAgICB0aGlzLmFwcGx5VGhlbWVTdHlsZXMoY29tYmluZWRTdHlsZXMpO1xuICAgIHRoaXMuY2hhbmdlVGhlbWVUeXBlKHRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogR2VyYSBlc3RpbG9zIGFkaWNpb25haXMgY29tIGJhc2Ugbm9zIHRva2VucyBkZSB0ZW1hIGZvcm5lY2lkb3MsIGV4Y2x1aW5kbyBvcyB0b2tlbnMgZGUgY29yLlxuICAgKiBAcGFyYW0gdGhlbWUgT3MgdG9rZW5zIGRlIHRlbWEgY29udGVuZG8gb3MgZXN0aWxvcyBhZGljaW9uYWlzIGEgc2VyZW0gZ2VyYWRvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIGFkaWNpb25haXMgZm9ybWF0YWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVBZGRpdGlvbmFsU3R5bGVzKHRoZW1lOiBQb1RoZW1lVG9rZW5zKTogc3RyaW5nIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhlbWUpXG4gICAgICAuZmlsdGVyKChba2V5XSkgPT4gIVsnY29sb3InLCAncGVyQ29tcG9uZW50JywgJ29uUm9vdCddLmluY2x1ZGVzKGtleSkpXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX06ICR7dmFsdWV9O2ApXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBBcGxpY2Egb3MgZXN0aWxvcyBkZSB0ZW1hIGFvIGRvY3VtZW50by5cbiAgICogQHBhcmFtIHN0eWxlQ3NzIE9zIGVzdGlsb3MgQ1NTIGEgc2VyZW0gYXBsaWNhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVRoZW1lU3R5bGVzKHN0eWxlQ3NzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSB0aGlzLmNyZWF0ZVN0eWxlRWxlbWVudChzdHlsZUNzcyk7XG4gICAgY29uc3QgZXhpc3RpbmdTdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3IoJyNwb3VpVGhlbWUnKTtcblxuICAgIGlmIChleGlzdGluZ1N0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCBleGlzdGluZ1N0eWxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCBzdHlsZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VUaGVtZVR5cGUodGhlbWU6IFBvVGhlbWUpIHtcbiAgICB0aGlzLmNsZWFuVGhlbWVBY3RpdmUoKTtcbiAgICB0aGlzLnNldFRoZW1lQWN0aXZlKHRoZW1lKTtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmNsYXNzTGlzdC5hZGQoLi4uW2Ake3RoZW1lLm5hbWV9LSR7UG9UaGVtZVR5cGVFbnVtW3RoZW1lLmFjdGl2ZV19YF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcnNpc3RlIGUgZGVmaW5lIG8gdGVtYSBkbyBhcGxpY2F0aXZvIGNvbSBiYXNlIG5vcyBkYWRvcyBhcm1hemVuYWRvcy5cbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIHJlY3VwZXJhIG9zIGRhZG9zIGRvIHRlbWEgYXJtYXplbmFkb3MgZSBvcyBhcGxpY2EgYW8gYXBsaWNhdGl2by5cbiAgICpcbiAgICogQHJldHVybnMge1BvVGhlbWV9IFJlY3VwZXJhIG8gdGVtYSBhcm1hemVuYWRvLlxuICAgKi9cbiAgcGVyc2lzdFRoZW1lQWN0aXZlKCkge1xuICAgIGNvbnN0IF90aGVtZSA9IHRoaXMuZ2V0VGhlbWVBY3RpdmUoKTtcbiAgICB0aGlzLnNldFRoZW1lKF90aGVtZSwgX3RoZW1lLmFjdGl2ZSk7XG4gICAgcmV0dXJuIF90aGVtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbHRlcmEgbyB0aXBvIGRvIHRlbWEgYXJtYXplbmFkbyBlIGFwbGljYSBvcyBub3ZvcyBlc3RpbG9zIGFvIGRvY3VtZW50by5cbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIGFsdGVyYSBvIHRpcG8gZG8gdGVtYSBhcm1hemVuYWRvIGF0aXZvIChsaWdodC9kYXJrKVxuICAgKlxuICAgKiBAcGFyYW0ge1BvVGhlbWVUeXBlRW51bX0gdGhlbWVUeXBlIE8gdGlwbyBkZSB0ZW1hIGEgc2VyIGFwbGljYWRvLCBsaWdodCBvdSBkYXJrLlxuICAgKi9cbiAgY2hhbmdlQ3VycmVudFRoZW1lVHlwZSh0eXBlOiBQb1RoZW1lVHlwZUVudW0pOiB2b2lkIHtcbiAgICBjb25zdCBfdGhlbWUgPSB0aGlzLmdldFRoZW1lQWN0aXZlKCk7XG4gICAgX3RoZW1lLmFjdGl2ZSA9IHR5cGU7XG4gICAgdGhpcy5jaGFuZ2VUaGVtZVR5cGUoX3RoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHJlbW92ZSBvIHRlbWEgYXJtYXplbmFkbyBlIGxpbXBhIHRvZG9zIG9zIGVzdGlsb3MgZGUgdGVtYVxuICAgKiBhcGxpY2Fkb3MgYW8gZG9jdW1lbnRvLlxuICAgKi9cbiAgY2xlYW5UaGVtZUFjdGl2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBfdGhlbWUgPSB0aGlzLmdldFRoZW1lQWN0aXZlKCk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXS5jbGFzc0xpc3QucmVtb3ZlKGAke190aGVtZS5uYW1lfS0ke1BvVGhlbWVUeXBlRW51bVtfdGhlbWUuYWN0aXZlXX1gKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG90dnMtdGhlbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIGRlZmluZSB1bSBkYWRvcyBkbyB0ZW1hIGUgbyBhcm1hemVuYS5cbiAgICogQHBhcmFtIHRoZW1lIE9zIHRva2VucyBkZSB0ZW1hIGNvbnRlbmRvIG9zIGVzdGlsb3MgYWRpY2lvbmFpcyBhIHNlcmVtIGdlcmFkb3MuXG4gICAqL1xuICBwcml2YXRlIHNldFRoZW1lQWN0aXZlKHRoZW1lOiBQb1RoZW1lKTogdm9pZCB7XG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG90dnMtdGhlbWUnLCBKU09OLnN0cmluZ2lmeSh0aGVtZSkpO1xuICAgICAgdGhpcy50aGVtZSA9IHRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRvcm5hIG8gdGVtYSBhdGl2byBjb21vIHVtIG9ic2VydmFibGUuXG4gICAqIEByZXR1cm5zIHtQb1RoZW1lfSBUZW1hIGF0aXZvLlxuICAgKi9cbiAgZ2V0VGhlbWVBY3RpdmUoKTogUG9UaGVtZSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRoZW1lRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RvdHZzLXRoZW1lJykpO1xuICAgICAgaWYgKHRoZW1lRGF0YSAmJiBKU09OLnN0cmluZ2lmeSh0aGVtZURhdGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnRoZW1lKSkge1xuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWVEYXRhO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvIGFvIG9idGVyIG8gdGVtYSBkbyBhcm1hemVuYW1lbnRvIGxvY2FsOicsIGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudGhlbWU7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIEdlcmEgZXN0aWxvcyBDU1MgY29tIGJhc2Ugbm9zIHRva2VucyBkZSBjb3JlcyBmb3JuZWNpZG9zLlxuICAgKiBAcGFyYW0gdGhlbWVDb2xvciBPcyB0b2tlbnMgZGUgY29yIGEgc2VyZW0gdXNhZG9zIHBhcmEgZ2VyYXIgb3MgZXN0aWxvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIENTUyBnZXJhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTdHlsZUVsZW1lbnQoY3NzOiBzdHJpbmcpOiBIVE1MU3R5bGVFbGVtZW50IHtcbiAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgc3R5bGVFbGVtZW50LmlkID0gJ3BvdWlUaGVtZSc7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChjc3MpKTtcbiAgICByZXR1cm4gc3R5bGVFbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBHZXJhIGVzdGlsb3MgQ1NTIGNvbSBiYXNlIG5vcyB0b2tlbnMgZGUgY29yZXMgZm9ybmVjaWRvcy5cbiAgICogQHBhcmFtIHRoZW1lQ29sb3IgT3MgdG9rZW5zIGRlIGNvciBhIHNlcmVtIHVzYWRvcyBwYXJhIGdlcmFyIG9zIGVzdGlsb3MuXG4gICAqIEByZXR1cm5zIFVtYSBzdHJpbmcgY29udGVuZG8gb3MgZXN0aWxvcyBDU1MgZ2VyYWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVUaGVtZVN0eWxlcyh0aGVtZUNvbG9yOiBQb1RoZW1lQ29sb3IpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdEJnSWNvblN0eWxlID0gdGhpcy5nZXRTZWxlY3RCZ0ljb25zU3R5bGUodGhlbWVDb2xvcik7XG5cbiAgICByZXR1cm4gW1xuICAgICAgT2JqZWN0LmVudHJpZXModGhlbWVDb2xvcilcbiAgICAgICAgLmZsYXRNYXAoKFt0eXBlLCB2YWx1ZXNdKSA9PlxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlcykuZmxhdE1hcCgoW3RvbmFsaXR5LCB0b25hbGl0eVZhbHVlc10pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnYWN0aW9uJykge1xuICAgICAgICAgICAgICByZXR1cm4gW2AtLWNvbG9yLSR7dHlwZX0tJHt0b25hbGl0eX06ICR7dG9uYWxpdHlWYWx1ZXN9O2BdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRvbmFsaXR5VmFsdWVzKS5tYXAoXG4gICAgICAgICAgICAgICAgKFtsZXZlbCwgY29sb3JWYWx1ZV0pID0+IGAtLWNvbG9yLSR7dHlwZX0tJHt0b25hbGl0eX0tJHtsZXZlbH06ICR7Y29sb3JWYWx1ZX07YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJycpLFxuICAgICAgc2VsZWN0QmdJY29uU3R5bGVcbiAgICBdLmpvaW4oJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBHZXJhIGVzdGlsb3MgQ1NTIGNvbSBiYXNlIG5vcyB0b2tlbnMgcGVyIENvbXBvbmVudCBmb3JuZWNpZG9zLlxuICAgKiBAcGFyYW0gdGhlbWVQZXJDb21wb25lbnQgT3MgdG9rZW5zIGRlIGNvciBhIHNlcmVtIHVzYWRvcyBwYXJhIGdlcmFyIG9zIGVzdGlsb3MuXG4gICAqIEByZXR1cm5zIFVtYSBzdHJpbmcgY29udGVuZG8gb3MgZXN0aWxvcyBDU1MgZ2VyYWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQZXJDb21wb25lbnRTdHlsZXModGhlbWVQZXJDb21wb25lbnQ6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoZW1lUGVyQ29tcG9uZW50KVxuICAgICAgLmZsYXRNYXAoKFt0eXBlLCB2YWx1ZXNdKSA9PlxuICAgICAgICBPYmplY3QuZW50cmllcyh2YWx1ZXMpLmZsYXRNYXAoKFtsZXZlbCwgY29sb3JWYWx1ZV0pID0+IFtgJHt0eXBlfSB7JHtsZXZlbH06ICR7Y29sb3JWYWx1ZX07fTtgXSlcbiAgICAgIClcbiAgICAgIC5qb2luKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbyB0ZW1hIGF0dWFsIGNvbW8gbyB0ZW1hIFwiUG9VSSBQYWRyw6NvXCIuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZVR5cGVFbnVtfSB0eXBlIE8gdGlwbyBkZSBUZW1hIGEgc2VyIGFwbGljYWRvLCBsaWdodCAvIGRhcmsuXG4gICAqL1xuICBzZXREZWZhdWx0VGhlbWUodHlwZTogUG9UaGVtZVR5cGVFbnVtKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUaGVtZShwb1RoZW1lRGVmYXVsdCwgdHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIFJldG9ybmEgbyBlc3RpbG8gQ1NTIHBhcmEgbyBmdW5kbyBkb3Mgw61jb25lcyBkbyBjb21wb25lbnRlIHBvLXNlbGVjdCwgY29tIGJhc2UgbmFzIGNvcmVzIGRvIHRlbWEuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZUNvbG9yfSB0aGVtZUNvbG9yIC0gT2JqZXRvIGNvbnRlbmRvIGFzIGNvcmVzIGRvIHRlbWEuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gRXN0aWxvIENTUyBwYXJhIG8gZnVuZG8gZG9zIMOtY29uZXMgZG8gcG8tc2VsZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTZWxlY3RCZ0ljb25zU3R5bGUodGhlbWVDb2xvcjogUG9UaGVtZUNvbG9yKTogc3RyaW5nIHtcbiAgICBsZXQgc2VsZWN0QmdJY29uID0gJyc7XG5cbiAgICBpZiAodGhlbWVDb2xvcj8uYnJhbmQ/LlsnMDEnXT8uZGFyaykge1xuICAgICAgY29uc3Qgc2VsZWN0b3IgPSB0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJyA/ICdwby1zZWxlY3QgLnBvLXNlbGVjdC1waG9zcGhvcicgOiAncG8tc2VsZWN0JztcbiAgICAgIHNlbGVjdEJnSWNvbiArPSBgJHtzZWxlY3Rvcn0geyAtLWJhY2tncm91bmQtaW1hZ2U6IHVybCgke3RoaXMuZ2V0U2VsZWN0QmdJY29uKHRoZW1lQ29sb3IuYnJhbmRbJzAxJ10uZGFyayl9KTsgfTtgO1xuICAgIH1cblxuICAgIGlmICh0aGVtZUNvbG9yPy5mZWVkYmFjaz8ubmVnYXRpdmU/LmJhc2UpIHtcbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUG9JY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdC5uZy1kaXJ0eS5uZy1pbnZhbGlkIHNlbGVjdCB7IC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5mZWVkYmFjay5uZWdhdGl2ZS5iYXNlKX0pOyB9O2A7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdC5uZy1kaXJ0eS5uZy1pbnZhbGlkIHNlbGVjdC5wby1zZWxlY3QtcGhvc3Bob3IgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHt0aGlzLmdldFNlbGVjdEJnSWNvbih0aGVtZUNvbG9yLmZlZWRiYWNrLm5lZ2F0aXZlLmJhc2UpfSk7IH07YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhlbWVDb2xvcj8ubmV1dHJhbD8ubGlnaHQ/LlsnMzAnXSkge1xuICAgICAgaWYgKHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQb0ljb24nKSB7XG4gICAgICAgIHNlbGVjdEJnSWNvbiArPSBgc2VsZWN0OmRpc2FibGVkIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5uZXV0cmFsLmxpZ2h0WyczMCddKX0pOyB9O2A7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdCBzZWxlY3QucG8tc2VsZWN0LXBob3NwaG9yOmRpc2FibGVkIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5uZXV0cmFsLmxpZ2h0WyczMCddKX0pOyB9O2A7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdEJnSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogUmV0b3JuYSBhIGltYWdlbSBTVkcgdXRpbGl6YWRhIGNvbW8gZnVuZG8gZG8gcG8tc2VsZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sb3IgQ29yIGRhIEltYWdlbSAtIFV0aWxpemFkYSBubyBhdHJpYnV0byAnZmlsbCcuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEltYWdlbSBTVkcgdXRpbGl6YWRhIG5vIHBvLXNlbGVjdC5cbiAgICovXG4gIHByaXZhdGUgZ2V0U2VsZWN0QmdJY29uKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBzdmc6IHN0cmluZztcblxuICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUG9JY29uJykge1xuICAgICAgc3ZnID0gYFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgYDtcblxuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgZD0nTTE4LjcwNyA4LjI5MzAxQzE4LjMxNiA3LjkwMjAxIDE3LjY4NCA3LjkwMjAxIDE3LjI5MyA4LjI5MzAxTDEyIDEzLjU4Nkw2LjcwNzAxIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgOC4yOTMwMUM2LjMxNjAxIDcuOTAyMDEgNS42ODQwMSA3LjkwMjAxIDUuMjkzMDEgOC4yOTMwMUM0LjkwMjAxIDguNjg0MDEgNC45MDIwMSBgKTtcbiAgICAgIHN2ZyA9IHN2Zy5jb25jYXQoYDkuMzE2MDEgNS4yOTMwMSA5LjcwNzAxTDExLjI5MyAxNS43MDdDMTEuNDg4IDE1LjkwMiAxMS43NDQgMTYgMTIgMTZDMTIuMjU2IDE2IDEyLjUxMiBgKTtcbiAgICAgIHN2ZyA9IHN2Zy5jb25jYXQoYDE1LjkwMiAxMi43MDcgMTUuNzA3TDE4LjcwNyA5LjcwNzAxQzE5LjA5OCA5LjMxNjAxIDE5LjA5OCA4LjY4NDAxIDE4LjcwNyA4LjI5MzAxWicgYCk7XG4gICAgICBzdmcgPSBzdmcuY29uY2F0KGBmaWxsPScke2NvbG9yLnJlcGxhY2UoJyMnLCAnJTIzJyl9Jy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO2ApO1xuXG4gICAgICByZXR1cm4gc3ZnO1xuICAgIH1cblxuICAgIHN2ZyA9IGBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjU2IDI1NicgZmlsbD0nJHtjb2xvci5yZXBsYWNlKCcjJywgJyUyMycpfScgYDtcbiAgICBzdmcgPSBzdmcuY29uY2F0KGB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBgKTtcbiAgICBzdmcgPSBzdmcuY29uY2F0KFxuICAgICAgYGQ9J00yMTMuNjYsMTAxLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzIsMGwtODAtODBBOCw4LDAsMCwxLDUzLjY2LDkwLjM0TDEyOCwxNjQuNjlsNzQuMzQtNzQuMzVhOCw4LDAsMCwxLDExLjMyLDExLjMyWidgXG4gICAgKTtcbiAgICBzdmcgPSBzdmcuY29uY2F0KGAlM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIik7YCk7XG5cbiAgICByZXR1cm4gc3ZnO1xuICB9XG59XG4iXX0=
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2VydmljZXMvcG8tdGhlbWUvcG8tdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSWxFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUVwRjs7Ozs7Ozs7R0FRRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBVUc7SUFDQTtJQVZwQixRQUFRLENBQVk7SUFDcEIsS0FBSyxHQUFZLGNBQWMsQ0FBQztJQUNoQyxVQUFVLENBQTRCO0lBRTlDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQzRCLE1BQWMsRUFDZCxRQUFrQixFQUM1QyxlQUFpQyxFQUNLLEtBQWdDO1FBSDVDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSTVDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksZ0JBQWdCLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsUUFBUSxDQUFDLEtBQWMsRUFBRSxZQUE2QixlQUFlLENBQUMsS0FBSztRQUN6RSxvRkFBb0Y7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TUFBTTs7aUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7O3NCQVdJLE1BQU07dUJBQUMsUUFBUTs7c0JBQ2YsTUFBTTt1QkFBQyxRQUFROztzQkFFZixRQUFROztzQkFBSSxNQUFNO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb1RoZW1lVHlwZUVudW0gfSBmcm9tICcuL2VudW0vcG8tdGhlbWUtdHlwZS5lbnVtJztcbmltcG9ydCB7IHBvVGhlbWVEZWZhdWx0IH0gZnJvbSAnLi9oZWxwZXJzL3BvLXRoZW1lLXBvdWkuY29uc3RhbnQnO1xuaW1wb3J0IHsgUG9UaGVtZUNvbG9yIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRoZW1lLWNvbG9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1RoZW1lVG9rZW5zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRoZW1lLXRva2Vucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UaGVtZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10aGVtZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUNPTlNfRElDVElPTkFSWSwgUG9JY29uRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcG8taWNvbi9pbmRleCc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBgUG9UaGVtZVNlcnZpY2VgIHBvc3NpYmlsaXRhIGEgcGVyc29uYWxpemHDp8OjbyBkYXMgY29yZXMgZG8gdGVtYSBwYWRyw6NvIGRvIGBQTy1VSWAsIHBlcm1pdGluZG8gYSBhbHRlcmHDp8OjbyBkb3MgdmFsb3JlcyBkYXMgdmFyacOhdmVpcyBkZSBlc3RpbG8gdXNhZGFzIG5vIENTUyBwYWRyw6NvLlxuICpcbiAqID4gUGFyYSBzYWJlciBtYWlzIHNvYnJlIGNvbW8gY3VzdG9taXphciBhcyBjb3JlcyBkbyB0ZW1hIHBhZHLDo28gdmVyaWZpcXVlIG8gaXRlbSBbQ3VzdG9taXphbmRvIGNvcmVzIGRvIHRlbWEgcGFkcsOjb10oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvY29sb3JzLWN1c3RvbWl6YXRpb24pIG5hIGFiYSBgR3VpYXNgLlxuICpcbiAqID4gT2JzLjogTsOjbyBlc3TDoSBkb2N1bWVudGFkbyBhcXVpIGUgbsOjbyBpbmRpY2Ftb3MgYSBjdXN0b21pemHDp8OjbyBkYXMgY29yZXMgZGUgJ2ZlZWRiYWNrJyBwb3IgbW90aXZvcyBkZSBhY2Vzc2liaWxpZGFkZSBlIHVzYWJpbGlkYWRlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQb1RoZW1lU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSB0aGVtZTogUG9UaGVtZSA9IHBvVGhlbWVEZWZhdWx0O1xuICBwcml2YXRlIF9pY29uVG9rZW46IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgZ2V0IGljb25OYW1lTGliKCkge1xuICAgIHJldHVybiB0aGlzLl9pY29uVG9rZW4uTkFNRV9MSUI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdXaW5kb3cnKSBwcml2YXRlIHdpbmRvdzogV2luZG93LFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KElDT05TX0RJQ1RJT05BUlkpIHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG5cbiAgICB0aGlzLl9pY29uVG9rZW4gPSB2YWx1ZSA/PyBQb0ljb25EaWN0aW9uYXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBvIHRlbWEgYSBzZXIgYXBsaWNhZG8gbm8gY29tcG9uZW50ZSwgZGUgYWNvcmRvIGNvbSBvIHRpcG8gZGUgdGVtYSBlc3BlY2lmaWNhZG8uXG4gICAqXG4gICAqIEVzdGUgbcOpdG9kbyBkZWZpbmUgbyB0ZW1hIGEgc2VyIGFwbGljYWRvIG5vIGNvbXBvbmVudGUgY29tIGJhc2Ugbm8gb2JqZXRvIGB0aGVtZWAgZm9ybmVjaWRvIGUgbm8gdGlwbyBkZSB0ZW1hIGVzcGVjaWZpY2Fkby5cbiAgICogRWxlIGF0dWFsaXphIGFzIHByb3ByaWVkYWRlcyBkbyBjb21wb25lbnRlIHBhcmEgcmVmbGV0aXIgbyB0ZW1hIHNlbGVjaW9uYWRvLCBjb21vIGNvcmVzLCBlc3RpbG9zIGUgY29tcG9ydGFtZW50b3MuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZX0gdGhlbWUgLSBPYmpldG8gY29udGVuZG8gYXMgZGVmaW5pw6fDtWVzIGRlIHRlbWEgYSBzZXJlbSBhcGxpY2FkYXMgbm8gY29tcG9uZW50ZS5cbiAgICogQHBhcmFtIHtQb1RoZW1lVHlwZUVudW19IFt0aGVtZVR5cGU9UG9UaGVtZVR5cGVFbnVtLmxpZ2h0XSAtIChPcGNpb25hbCkgVGlwbyBkZSB0ZW1hIGEgc2VyIGFwbGljYWRvLCBwb2RlbmRvIHNlciAnbGlnaHQnIChjbGFybykgb3UgJ2RhcmsnIChlc2N1cm8pLiBQb3IgcGFkcsOjbywgbyB0ZW1hIGNsYXJvIMOpIGFwbGljYWRvLlxuICAgKi9cbiAgc2V0VGhlbWUodGhlbWU6IFBvVGhlbWUsIHRoZW1lVHlwZTogUG9UaGVtZVR5cGVFbnVtID0gUG9UaGVtZVR5cGVFbnVtLmxpZ2h0KTogdm9pZCB7XG4gICAgLy8gQ2hhbmdlIHRoZW1lIG5hbWUsIHJlbW92ZSBzcGVjaWFsIGNoYXJhY3RlcmVzIGFuZCBudW1iZXIsIHJlcGxhY2Ugc3BhY2Ugd2l0aCBkYXNoXG4gICAgdGhlbWUubmFtZSA9IHRoZW1lLm5hbWVcbiAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAucmVwbGFjZSgvW15hLXpBLVogXS9nLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXHMrL2csICctJyk7XG4gICAgdGhlbWUuYWN0aXZlID0gdGhlbWVUeXBlO1xuXG4gICAgY29uc3QgX3RoZW1lVHlwZSA9IHRoZW1lLnR5cGVbUG9UaGVtZVR5cGVFbnVtW3RoZW1lVHlwZV1dO1xuICAgIGlmICghX3RoZW1lVHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbG9yU3R5bGVzID0gX3RoZW1lVHlwZS5jb2xvciA/IHRoaXMuZ2VuZXJhdGVUaGVtZVN0eWxlcyhfdGhlbWVUeXBlLmNvbG9yKSA6ICcnO1xuICAgIGNvbnN0IHBlckNvbXBvbmVudFN0eWxlcyA9IF90aGVtZVR5cGUucGVyQ29tcG9uZW50ID8gdGhpcy5nZW5lcmF0ZVBlckNvbXBvbmVudFN0eWxlcyhfdGhlbWVUeXBlLnBlckNvbXBvbmVudCkgOiAnJztcbiAgICBjb25zdCBvblJvb3RTdHlsZXMgPSBfdGhlbWVUeXBlLm9uUm9vdCA/IHRoaXMuZ2VuZXJhdGVBZGRpdGlvbmFsU3R5bGVzKF90aGVtZVR5cGUub25Sb290KSA6ICcnO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxTdHlsZXMgPSB0aGlzLmdlbmVyYXRlQWRkaXRpb25hbFN0eWxlcyhfdGhlbWVUeXBlKTtcblxuICAgIGNvbnN0IGNvbWJpbmVkU3R5bGVzID0gYFxuICAgICAgLiR7dGhlbWUubmFtZX0tJHtQb1RoZW1lVHlwZUVudW1bdGhlbWVUeXBlXX06cm9vdCB7XG4gICAgICAgICR7Y29sb3JTdHlsZXN9XG4gICAgICAgICR7cGVyQ29tcG9uZW50U3R5bGVzfVxuICAgICAgICAke29uUm9vdFN0eWxlc31cbiAgICAgICAgJHthZGRpdGlvbmFsU3R5bGVzfVxuICAgICAgfWA7XG5cbiAgICB0aGlzLmFwcGx5VGhlbWVTdHlsZXMoY29tYmluZWRTdHlsZXMpO1xuICAgIHRoaXMuY2hhbmdlVGhlbWVUeXBlKHRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogR2VyYSBlc3RpbG9zIGFkaWNpb25haXMgY29tIGJhc2Ugbm9zIHRva2VucyBkZSB0ZW1hIGZvcm5lY2lkb3MsIGV4Y2x1aW5kbyBvcyB0b2tlbnMgZGUgY29yLlxuICAgKiBAcGFyYW0gdGhlbWUgT3MgdG9rZW5zIGRlIHRlbWEgY29udGVuZG8gb3MgZXN0aWxvcyBhZGljaW9uYWlzIGEgc2VyZW0gZ2VyYWRvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIGFkaWNpb25haXMgZm9ybWF0YWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVBZGRpdGlvbmFsU3R5bGVzKHRoZW1lOiBQb1RoZW1lVG9rZW5zKTogc3RyaW5nIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhlbWUpXG4gICAgICAuZmlsdGVyKChba2V5XSkgPT4gIVsnY29sb3InLCAncGVyQ29tcG9uZW50JywgJ29uUm9vdCddLmluY2x1ZGVzKGtleSkpXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX06ICR7dmFsdWV9O2ApXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBBcGxpY2Egb3MgZXN0aWxvcyBkZSB0ZW1hIGFvIGRvY3VtZW50by5cbiAgICogQHBhcmFtIHN0eWxlQ3NzIE9zIGVzdGlsb3MgQ1NTIGEgc2VyZW0gYXBsaWNhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVRoZW1lU3R5bGVzKHN0eWxlQ3NzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSB0aGlzLmNyZWF0ZVN0eWxlRWxlbWVudChzdHlsZUNzcyk7XG4gICAgY29uc3QgZXhpc3RpbmdTdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3IoJyNwb3VpVGhlbWUnKTtcblxuICAgIGlmIChleGlzdGluZ1N0eWxlRWxlbWVudCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCBleGlzdGluZ1N0eWxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCBzdHlsZUVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VUaGVtZVR5cGUodGhlbWU6IFBvVGhlbWUpIHtcbiAgICB0aGlzLmNsZWFuVGhlbWVBY3RpdmUoKTtcbiAgICB0aGlzLnNldFRoZW1lQWN0aXZlKHRoZW1lKTtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmNsYXNzTGlzdC5hZGQoLi4uW2Ake3RoZW1lLm5hbWV9LSR7UG9UaGVtZVR5cGVFbnVtW3RoZW1lLmFjdGl2ZV19YF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcnNpc3RlIGUgZGVmaW5lIG8gdGVtYSBkbyBhcGxpY2F0aXZvIGNvbSBiYXNlIG5vcyBkYWRvcyBhcm1hemVuYWRvcy5cbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIHJlY3VwZXJhIG9zIGRhZG9zIGRvIHRlbWEgYXJtYXplbmFkb3MgZSBvcyBhcGxpY2EgYW8gYXBsaWNhdGl2by5cbiAgICpcbiAgICogQHJldHVybnMge1BvVGhlbWV9IFJlY3VwZXJhIG8gdGVtYSBhcm1hemVuYWRvLlxuICAgKi9cbiAgcGVyc2lzdFRoZW1lQWN0aXZlKCkge1xuICAgIGNvbnN0IF90aGVtZSA9IHRoaXMuZ2V0VGhlbWVBY3RpdmUoKTtcbiAgICB0aGlzLnNldFRoZW1lKF90aGVtZSwgX3RoZW1lLmFjdGl2ZSk7XG4gICAgcmV0dXJuIF90aGVtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbHRlcmEgbyB0aXBvIGRvIHRlbWEgYXJtYXplbmFkbyBlIGFwbGljYSBvcyBub3ZvcyBlc3RpbG9zIGFvIGRvY3VtZW50by5cbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIGFsdGVyYSBvIHRpcG8gZG8gdGVtYSBhcm1hemVuYWRvIGF0aXZvIChsaWdodC9kYXJrKVxuICAgKlxuICAgKiBAcGFyYW0ge1BvVGhlbWVUeXBlRW51bX0gdGhlbWVUeXBlIE8gdGlwbyBkZSB0ZW1hIGEgc2VyIGFwbGljYWRvLCBsaWdodCBvdSBkYXJrLlxuICAgKi9cbiAgY2hhbmdlQ3VycmVudFRoZW1lVHlwZSh0eXBlOiBQb1RoZW1lVHlwZUVudW0pOiB2b2lkIHtcbiAgICBjb25zdCBfdGhlbWUgPSB0aGlzLmdldFRoZW1lQWN0aXZlKCk7XG4gICAgX3RoZW1lLmFjdGl2ZSA9IHR5cGU7XG4gICAgdGhpcy5jaGFuZ2VUaGVtZVR5cGUoX3RoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHJlbW92ZSBvIHRlbWEgYXJtYXplbmFkbyBlIGxpbXBhIHRvZG9zIG9zIGVzdGlsb3MgZGUgdGVtYVxuICAgKiBhcGxpY2Fkb3MgYW8gZG9jdW1lbnRvLlxuICAgKi9cbiAgY2xlYW5UaGVtZUFjdGl2ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBfdGhlbWUgPSB0aGlzLmdldFRoZW1lQWN0aXZlKCk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXS5jbGFzc0xpc3QucmVtb3ZlKGAke190aGVtZS5uYW1lfS0ke1BvVGhlbWVUeXBlRW51bVtfdGhlbWUuYWN0aXZlXX1gKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG90dnMtdGhlbWUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogRXN0ZSBtw6l0b2RvIGRlZmluZSB1bSBkYWRvcyBkbyB0ZW1hIGUgbyBhcm1hemVuYS5cbiAgICogQHBhcmFtIHRoZW1lIE9zIHRva2VucyBkZSB0ZW1hIGNvbnRlbmRvIG9zIGVzdGlsb3MgYWRpY2lvbmFpcyBhIHNlcmVtIGdlcmFkb3MuXG4gICAqL1xuICBwcml2YXRlIHNldFRoZW1lQWN0aXZlKHRoZW1lOiBQb1RoZW1lKTogdm9pZCB7XG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG90dnMtdGhlbWUnLCBKU09OLnN0cmluZ2lmeSh0aGVtZSkpO1xuICAgICAgdGhpcy50aGVtZSA9IHRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRvcm5hIG8gdGVtYSBhdGl2byBjb21vIHVtIG9ic2VydmFibGUuXG4gICAqIEByZXR1cm5zIHtQb1RoZW1lfSBUZW1hIGF0aXZvLlxuICAgKi9cbiAgZ2V0VGhlbWVBY3RpdmUoKTogUG9UaGVtZSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRoZW1lRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RvdHZzLXRoZW1lJykpO1xuICAgICAgaWYgKHRoZW1lRGF0YSAmJiBKU09OLnN0cmluZ2lmeSh0aGVtZURhdGEpICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLnRoZW1lKSkge1xuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWVEYXRhO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvIGFvIG9idGVyIG8gdGVtYSBkbyBhcm1hemVuYW1lbnRvIGxvY2FsOicsIGVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudGhlbWU7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIEdlcmEgZXN0aWxvcyBDU1MgY29tIGJhc2Ugbm9zIHRva2VucyBkZSBjb3JlcyBmb3JuZWNpZG9zLlxuICAgKiBAcGFyYW0gdGhlbWVDb2xvciBPcyB0b2tlbnMgZGUgY29yIGEgc2VyZW0gdXNhZG9zIHBhcmEgZ2VyYXIgb3MgZXN0aWxvcy5cbiAgICogQHJldHVybnMgVW1hIHN0cmluZyBjb250ZW5kbyBvcyBlc3RpbG9zIENTUyBnZXJhZG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTdHlsZUVsZW1lbnQoY3NzOiBzdHJpbmcpOiBIVE1MU3R5bGVFbGVtZW50IHtcbiAgICBjb25zdCBzdHlsZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgc3R5bGVFbGVtZW50LmlkID0gJ3BvdWlUaGVtZSc7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChjc3MpKTtcbiAgICByZXR1cm4gc3R5bGVFbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBHZXJhIGVzdGlsb3MgQ1NTIGNvbSBiYXNlIG5vcyB0b2tlbnMgZGUgY29yZXMgZm9ybmVjaWRvcy5cbiAgICogQHBhcmFtIHRoZW1lQ29sb3IgT3MgdG9rZW5zIGRlIGNvciBhIHNlcmVtIHVzYWRvcyBwYXJhIGdlcmFyIG9zIGVzdGlsb3MuXG4gICAqIEByZXR1cm5zIFVtYSBzdHJpbmcgY29udGVuZG8gb3MgZXN0aWxvcyBDU1MgZ2VyYWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVUaGVtZVN0eWxlcyh0aGVtZUNvbG9yOiBQb1RoZW1lQ29sb3IpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlbGVjdEJnSWNvblN0eWxlID0gdGhpcy5nZXRTZWxlY3RCZ0ljb25zU3R5bGUodGhlbWVDb2xvcik7XG5cbiAgICByZXR1cm4gW1xuICAgICAgT2JqZWN0LmVudHJpZXModGhlbWVDb2xvcilcbiAgICAgICAgLmZsYXRNYXAoKFt0eXBlLCB2YWx1ZXNdKSA9PlxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlcykuZmxhdE1hcCgoW3RvbmFsaXR5LCB0b25hbGl0eVZhbHVlc10pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnYWN0aW9uJykge1xuICAgICAgICAgICAgICByZXR1cm4gW2AtLWNvbG9yLSR7dHlwZX0tJHt0b25hbGl0eX06ICR7dG9uYWxpdHlWYWx1ZXN9O2BdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRvbmFsaXR5VmFsdWVzKS5tYXAoXG4gICAgICAgICAgICAgICAgKFtsZXZlbCwgY29sb3JWYWx1ZV0pID0+IGAtLWNvbG9yLSR7dHlwZX0tJHt0b25hbGl0eX0tJHtsZXZlbH06ICR7Y29sb3JWYWx1ZX07YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJycpLFxuICAgICAgc2VsZWN0QmdJY29uU3R5bGVcbiAgICBdLmpvaW4oJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkb2NzUHJpdmF0ZVxuICAgKlxuICAgKiBHZXJhIGVzdGlsb3MgQ1NTIGNvbSBiYXNlIG5vcyB0b2tlbnMgcGVyIENvbXBvbmVudCBmb3JuZWNpZG9zLlxuICAgKiBAcGFyYW0gdGhlbWVQZXJDb21wb25lbnQgT3MgdG9rZW5zIGRlIGNvciBhIHNlcmVtIHVzYWRvcyBwYXJhIGdlcmFyIG9zIGVzdGlsb3MuXG4gICAqIEByZXR1cm5zIFVtYSBzdHJpbmcgY29udGVuZG8gb3MgZXN0aWxvcyBDU1MgZ2VyYWRvcy5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQZXJDb21wb25lbnRTdHlsZXModGhlbWVQZXJDb21wb25lbnQ6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoZW1lUGVyQ29tcG9uZW50KVxuICAgICAgLmZsYXRNYXAoKFt0eXBlLCB2YWx1ZXNdKSA9PlxuICAgICAgICBPYmplY3QuZW50cmllcyh2YWx1ZXMpLmZsYXRNYXAoKFtsZXZlbCwgY29sb3JWYWx1ZV0pID0+IFtgJHt0eXBlfSB7JHtsZXZlbH06ICR7Y29sb3JWYWx1ZX07fTtgXSlcbiAgICAgIClcbiAgICAgIC5qb2luKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgbyB0ZW1hIGF0dWFsIGNvbW8gbyB0ZW1hIFwiUG9VSSBQYWRyw6NvXCIuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZVR5cGVFbnVtfSB0eXBlIE8gdGlwbyBkZSBUZW1hIGEgc2VyIGFwbGljYWRvLCBsaWdodCAvIGRhcmsuXG4gICAqL1xuICBzZXREZWZhdWx0VGhlbWUodHlwZTogUG9UaGVtZVR5cGVFbnVtKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUaGVtZShwb1RoZW1lRGVmYXVsdCwgdHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRvY3NQcml2YXRlXG4gICAqXG4gICAqIFJldG9ybmEgbyBlc3RpbG8gQ1NTIHBhcmEgbyBmdW5kbyBkb3Mgw61jb25lcyBkbyBjb21wb25lbnRlIHBvLXNlbGVjdCwgY29tIGJhc2UgbmFzIGNvcmVzIGRvIHRlbWEuXG4gICAqXG4gICAqIEBwYXJhbSB7UG9UaGVtZUNvbG9yfSB0aGVtZUNvbG9yIC0gT2JqZXRvIGNvbnRlbmRvIGFzIGNvcmVzIGRvIHRlbWEuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gRXN0aWxvIENTUyBwYXJhIG8gZnVuZG8gZG9zIMOtY29uZXMgZG8gcG8tc2VsZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTZWxlY3RCZ0ljb25zU3R5bGUodGhlbWVDb2xvcjogUG9UaGVtZUNvbG9yKTogc3RyaW5nIHtcbiAgICBsZXQgc2VsZWN0QmdJY29uID0gJyc7XG5cbiAgICBpZiAodGhlbWVDb2xvcj8uYnJhbmQ/LlsnMDEnXT8uZGFyaykge1xuICAgICAgY29uc3Qgc2VsZWN0b3IgPSB0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJyA/ICdwby1zZWxlY3QgLnBvLXNlbGVjdC1waG9zcGhvcicgOiAncG8tc2VsZWN0JztcbiAgICAgIHNlbGVjdEJnSWNvbiArPSBgJHtzZWxlY3Rvcn0geyAtLWJhY2tncm91bmQtaW1hZ2U6IHVybCgke3RoaXMuZ2V0U2VsZWN0QmdJY29uKHRoZW1lQ29sb3IubmV1dHJhbC5kYXJrWzcwXSl9KTsgfTtgO1xuICAgIH1cblxuICAgIGlmICh0aGVtZUNvbG9yPy5mZWVkYmFjaz8ubmVnYXRpdmU/LmJhc2UpIHtcbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUG9JY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdC5uZy1kaXJ0eS5uZy1pbnZhbGlkIHNlbGVjdCB7IC0tYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5mZWVkYmFjay5uZWdhdGl2ZS5iYXNlKX0pOyB9O2A7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdC5uZy1kaXJ0eS5uZy1pbnZhbGlkIHNlbGVjdC5wby1zZWxlY3QtcGhvc3Bob3IgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHt0aGlzLmdldFNlbGVjdEJnSWNvbih0aGVtZUNvbG9yLmZlZWRiYWNrLm5lZ2F0aXZlLmJhc2UpfSk7IH07YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhlbWVDb2xvcj8ubmV1dHJhbD8ubGlnaHQ/LlsnMzAnXSkge1xuICAgICAgaWYgKHRoaXMuaWNvbk5hbWVMaWIgPT09ICdQb0ljb24nKSB7XG4gICAgICAgIHNlbGVjdEJnSWNvbiArPSBgc2VsZWN0OmRpc2FibGVkIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5uZXV0cmFsLmxpZ2h0WyczMCddKX0pOyB9O2A7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUGhvc3Bob3JJY29uJykge1xuICAgICAgICBzZWxlY3RCZ0ljb24gKz0gYHBvLXNlbGVjdCBzZWxlY3QucG8tc2VsZWN0LXBob3NwaG9yOmRpc2FibGVkIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7dGhpcy5nZXRTZWxlY3RCZ0ljb24odGhlbWVDb2xvci5uZXV0cmFsLmxpZ2h0WyczMCddKX0pOyB9O2A7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdEJnSWNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZG9jc1ByaXZhdGVcbiAgICpcbiAgICogUmV0b3JuYSBhIGltYWdlbSBTVkcgdXRpbGl6YWRhIGNvbW8gZnVuZG8gZG8gcG8tc2VsZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sb3IgQ29yIGRhIEltYWdlbSAtIFV0aWxpemFkYSBubyBhdHJpYnV0byAnZmlsbCcuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEltYWdlbSBTVkcgdXRpbGl6YWRhIG5vIHBvLXNlbGVjdC5cbiAgICovXG4gIHByaXZhdGUgZ2V0U2VsZWN0QmdJY29uKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBzdmc6IHN0cmluZztcblxuICAgIGlmICh0aGlzLmljb25OYW1lTGliID09PSAnUG9JY29uJykge1xuICAgICAgc3ZnID0gYFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgYDtcblxuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgZD0nTTE4LjcwNyA4LjI5MzAxQzE4LjMxNiA3LjkwMjAxIDE3LjY4NCA3LjkwMjAxIDE3LjI5MyA4LjI5MzAxTDEyIDEzLjU4Nkw2LjcwNzAxIGApO1xuICAgICAgc3ZnID0gc3ZnLmNvbmNhdChgOC4yOTMwMUM2LjMxNjAxIDcuOTAyMDEgNS42ODQwMSA3LjkwMjAxIDUuMjkzMDEgOC4yOTMwMUM0LjkwMjAxIDguNjg0MDEgNC45MDIwMSBgKTtcbiAgICAgIHN2ZyA9IHN2Zy5jb25jYXQoYDkuMzE2MDEgNS4yOTMwMSA5LjcwNzAxTDExLjI5MyAxNS43MDdDMTEuNDg4IDE1LjkwMiAxMS43NDQgMTYgMTIgMTZDMTIuMjU2IDE2IDEyLjUxMiBgKTtcbiAgICAgIHN2ZyA9IHN2Zy5jb25jYXQoYDE1LjkwMiAxMi43MDcgMTUuNzA3TDE4LjcwNyA5LjcwNzAxQzE5LjA5OCA5LjMxNjAxIDE5LjA5OCA4LjY4NDAxIDE4LjcwNyA4LjI5MzAxWicgYCk7XG4gICAgICBzdmcgPSBzdmcuY29uY2F0KGBmaWxsPScke2NvbG9yLnJlcGxhY2UoJyMnLCAnJTIzJyl9Jy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO2ApO1xuXG4gICAgICByZXR1cm4gc3ZnO1xuICAgIH1cblxuICAgIHN2ZyA9IGBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjU2IDI1NicgZmlsbD0nJHtjb2xvci5yZXBsYWNlKCcjJywgJyUyMycpfScgYDtcbiAgICBzdmcgPSBzdmcuY29uY2F0KGB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBgKTtcbiAgICBzdmcgPSBzdmcuY29uY2F0KFxuICAgICAgYGQ9J00yMTMuNjYsMTAxLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzIsMGwtODAtODBBOCw4LDAsMCwxLDUzLjY2LDkwLjM0TDEyOCwxNjQuNjlsNzQuMzQtNzQuMzVhOCw4LDAsMCwxLDExLjMyLDExLjMyWidgXG4gICAgKTtcbiAgICBzdmcgPSBzdmcuY29uY2F0KGAlM0UlM0MvcGF0aCUzRSUzQy9zdmclM0VcIik7YCk7XG5cbiAgICByZXR1cm4gc3ZnO1xuICB9XG59XG4iXX0=
|
|
@@ -3651,6 +3651,18 @@ class PoAccordionComponent extends PoAccordionBaseComponent {
|
|
|
3651
3651
|
* })
|
|
3652
3652
|
* export class AppModule { }
|
|
3653
3653
|
* ```
|
|
3654
|
+
*
|
|
3655
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
3656
|
+
*
|
|
3657
|
+
* ```
|
|
3658
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
3659
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
3660
|
+
* import { AppComponent } from './app.component';
|
|
3661
|
+
*
|
|
3662
|
+
* bootstrapApplication(AppComponent, {
|
|
3663
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
3664
|
+
* }).catch(err => console.error(err));
|
|
3665
|
+
* ```
|
|
3654
3666
|
*/
|
|
3655
3667
|
class PoAccordionModule {
|
|
3656
3668
|
static ɵfac = function PoAccordionModule_Factory(t) { return new (t || PoAccordionModule)(); };
|
|
@@ -12725,7 +12737,8 @@ class PoChartComponent extends PoChartBaseComponent {
|
|
|
12725
12737
|
const labelPoChartPadding = PoChartPadding / 3;
|
|
12726
12738
|
const spanElement = this.renderer.createElement('span');
|
|
12727
12739
|
this.renderer.addClass(spanElement, 'po-chart-axis-x-label');
|
|
12728
|
-
|
|
12740
|
+
const formattedLabel = typeof axisXLabel === 'number' ? axisXLabel.toFixed(2) : axisXLabel;
|
|
12741
|
+
spanElement.innerHTML = formattedLabel;
|
|
12729
12742
|
this.renderer.appendChild(this.elementRef.nativeElement, spanElement);
|
|
12730
12743
|
const axisXLabelWidth = Math.ceil(spanElement.offsetWidth) + labelPoChartPadding;
|
|
12731
12744
|
this.renderer.removeChild(this.elementRef.nativeElement, spanElement);
|
|
@@ -19492,7 +19505,7 @@ class PoThemeService {
|
|
|
19492
19505
|
let selectBgIcon = '';
|
|
19493
19506
|
if (themeColor?.brand?.['01']?.dark) {
|
|
19494
19507
|
const selector = this.iconNameLib === 'PhosphorIcon' ? 'po-select .po-select-phosphor' : 'po-select';
|
|
19495
|
-
selectBgIcon += `${selector} { --background-image: url(${this.getSelectBgIcon(themeColor.
|
|
19508
|
+
selectBgIcon += `${selector} { --background-image: url(${this.getSelectBgIcon(themeColor.neutral.dark[70])}); };`;
|
|
19496
19509
|
}
|
|
19497
19510
|
if (themeColor?.feedback?.negative?.base) {
|
|
19498
19511
|
if (this.iconNameLib === 'PoIcon') {
|
|
@@ -20105,6 +20118,41 @@ class PoTimeModule {
|
|
|
20105
20118
|
* > Para o correto funcionamento do componente `po-page-slide`, deve ser
|
|
20106
20119
|
* > importado o módulo `BrowserAnimationsModule` no módulo principal da sua
|
|
20107
20120
|
* > aplicação.
|
|
20121
|
+
*
|
|
20122
|
+
* Módulo da aplicação:
|
|
20123
|
+
* ```
|
|
20124
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
20125
|
+
* import { PoModule } from '@po-ui/ng-components';
|
|
20126
|
+
* ...
|
|
20127
|
+
*
|
|
20128
|
+
* @NgModule({
|
|
20129
|
+
* imports: [
|
|
20130
|
+
* BrowserModule,
|
|
20131
|
+
* BrowserAnimationsModule,
|
|
20132
|
+
* ...
|
|
20133
|
+
* PoModule
|
|
20134
|
+
* ],
|
|
20135
|
+
* declarations: [
|
|
20136
|
+
* AppComponent,
|
|
20137
|
+
* ...
|
|
20138
|
+
* ],
|
|
20139
|
+
* providers: [],
|
|
20140
|
+
* bootstrap: [AppComponent]
|
|
20141
|
+
* })
|
|
20142
|
+
* export class AppModule { }
|
|
20143
|
+
* ```
|
|
20144
|
+
*
|
|
20145
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
20146
|
+
*
|
|
20147
|
+
* ```
|
|
20148
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
20149
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
20150
|
+
* import { AppComponent } from './app.component';
|
|
20151
|
+
*
|
|
20152
|
+
* bootstrapApplication(AppComponent, {
|
|
20153
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
20154
|
+
* }).catch(err => console.error(err));
|
|
20155
|
+
* ```
|
|
20108
20156
|
*/
|
|
20109
20157
|
class PoPageSlideBaseComponent {
|
|
20110
20158
|
/**
|
|
@@ -32205,7 +32253,7 @@ class PoDynamicFormBaseComponent {
|
|
|
32205
32253
|
* o `po-textarea`, caso o valor da propriedade `rows` seja menor que 3 o componente criado será o `po-input`.
|
|
32206
32254
|
* - Caso seja informada a propriedade `secret` o componente criado será o `po-password`.
|
|
32207
32255
|
* - Caso o *type* informado seja *string* o componente criado será o `po-input`.
|
|
32208
|
-
* > Ao alterar o valor das `properties
|
|
32256
|
+
* > Ao alterar o valor das `properties`, visibilidade e/ou agrupamentos via container, os `fields` que utilizam serviço podem refazer as chamadas para as API's.
|
|
32209
32257
|
* @default `[]`
|
|
32210
32258
|
*/
|
|
32211
32259
|
fields;
|
|
@@ -43222,18 +43270,24 @@ class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseComponent {
|
|
|
43222
43270
|
container: item.container || null,
|
|
43223
43271
|
property: item.property,
|
|
43224
43272
|
index,
|
|
43225
|
-
order: item.order
|
|
43273
|
+
order: item.order,
|
|
43274
|
+
visible: item.visible ?? true
|
|
43226
43275
|
}));
|
|
43227
43276
|
const currArray = current.map((item, index) => ({
|
|
43228
43277
|
container: item.container || null,
|
|
43229
43278
|
property: item.property,
|
|
43230
43279
|
index,
|
|
43231
|
-
order: item.order
|
|
43280
|
+
order: item.order,
|
|
43281
|
+
visible: item.visible ?? true
|
|
43232
43282
|
}));
|
|
43233
43283
|
const prevContainers = prevArray.filter(item => item.container);
|
|
43234
43284
|
const currContainers = currArray.filter(item => item.container);
|
|
43235
43285
|
const prevOrder = prevArray.filter(item => item.order);
|
|
43236
43286
|
const currOrder = currArray.filter(item => item.order);
|
|
43287
|
+
const prevVisibleTrue = prevArray.filter(item => item.visible === true);
|
|
43288
|
+
const currVisibleTrue = currArray.filter(item => item.visible === true);
|
|
43289
|
+
const prevVisibleFalse = prevArray.filter(item => !item.visible);
|
|
43290
|
+
const currVisibleFalse = currArray.filter(item => !item.visible);
|
|
43237
43291
|
// Verifica mudança na quantidade de containers
|
|
43238
43292
|
if (prevContainers.length !== currContainers.length) {
|
|
43239
43293
|
this.setContainerFields();
|
|
@@ -43244,12 +43298,28 @@ class PoDynamicFormFieldsComponent extends PoDynamicFormFieldsBaseComponent {
|
|
|
43244
43298
|
this.setContainerFields();
|
|
43245
43299
|
return;
|
|
43246
43300
|
}
|
|
43301
|
+
// Verifica mudança na quantidade de visible
|
|
43302
|
+
if (prevVisibleTrue.length !== currVisibleTrue.length) {
|
|
43303
|
+
this.setContainerFields();
|
|
43304
|
+
return;
|
|
43305
|
+
}
|
|
43306
|
+
// Verifica mudança na quantidade de visible
|
|
43307
|
+
if (prevVisibleFalse.length !== currVisibleFalse.length) {
|
|
43308
|
+
this.setContainerFields();
|
|
43309
|
+
return;
|
|
43310
|
+
}
|
|
43247
43311
|
if (currContainers.length) {
|
|
43248
43312
|
this.handleChangesContainer(prevContainers, currContainers, 'container');
|
|
43249
43313
|
}
|
|
43250
43314
|
if (currOrder.length) {
|
|
43251
43315
|
this.handleChangesContainer(prevOrder, currOrder, 'order');
|
|
43252
43316
|
}
|
|
43317
|
+
if (currVisibleTrue.length) {
|
|
43318
|
+
this.handleChangesContainer(prevVisibleTrue, currVisibleTrue, 'visible');
|
|
43319
|
+
}
|
|
43320
|
+
if (currVisibleFalse.length) {
|
|
43321
|
+
this.handleChangesContainer(prevVisibleFalse, currVisibleFalse, 'visible');
|
|
43322
|
+
}
|
|
43253
43323
|
//atualiza container sem mudança na estrutura da interface
|
|
43254
43324
|
const result = this.diffObjectsArray(previous, this.getVisibleFields());
|
|
43255
43325
|
this.containerFields = this.updateFieldContainer(result, this.containerFields);
|
|
@@ -46831,6 +46901,18 @@ class PoListViewComponent extends PoListViewBaseComponent {
|
|
|
46831
46901
|
* })
|
|
46832
46902
|
* export class AppModule { }
|
|
46833
46903
|
* ```
|
|
46904
|
+
*
|
|
46905
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
46906
|
+
*
|
|
46907
|
+
* ```
|
|
46908
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
46909
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
46910
|
+
* import { AppComponent } from './app.component';
|
|
46911
|
+
*
|
|
46912
|
+
* bootstrapApplication(AppComponent, {
|
|
46913
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
46914
|
+
* }).catch(err => console.error(err));
|
|
46915
|
+
* ```
|
|
46834
46916
|
*/
|
|
46835
46917
|
class PoListViewModule {
|
|
46836
46918
|
static ɵfac = function PoListViewModule_Factory(t) { return new (t || PoListViewModule)(); };
|
|
@@ -50026,6 +50108,18 @@ class PoNavbarComponent extends PoNavbarBaseComponent {
|
|
|
50026
50108
|
* })
|
|
50027
50109
|
* export class AppModule { }
|
|
50028
50110
|
* ```
|
|
50111
|
+
*
|
|
50112
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
50113
|
+
*
|
|
50114
|
+
* ```
|
|
50115
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
50116
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
50117
|
+
* import { AppComponent } from './app.component';
|
|
50118
|
+
*
|
|
50119
|
+
* bootstrapApplication(AppComponent, {
|
|
50120
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
50121
|
+
* }).catch(err => console.error(err));
|
|
50122
|
+
* ```
|
|
50029
50123
|
*/
|
|
50030
50124
|
class PoNavbarModule {
|
|
50031
50125
|
static ɵfac = function PoNavbarModule_Factory(t) { return new (t || PoNavbarModule)(); };
|
|
@@ -52521,6 +52615,18 @@ class PoSlideComponent extends PoSlideBaseComponent {
|
|
|
52521
52615
|
* })
|
|
52522
52616
|
* export class AppModule { }
|
|
52523
52617
|
* ```
|
|
52618
|
+
*
|
|
52619
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
52620
|
+
*
|
|
52621
|
+
* ```
|
|
52622
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
52623
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
52624
|
+
* import { AppComponent } from './app.component';
|
|
52625
|
+
*
|
|
52626
|
+
* bootstrapApplication(AppComponent, {
|
|
52627
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
52628
|
+
* }).catch(err => console.error(err));
|
|
52629
|
+
* ```
|
|
52524
52630
|
*/
|
|
52525
52631
|
class PoSlideModule {
|
|
52526
52632
|
static ɵfac = function PoSlideModule_Factory(t) { return new (t || PoSlideModule)(); };
|
|
@@ -55446,6 +55552,18 @@ class PoTreeViewComponent extends PoTreeViewBaseComponent {
|
|
|
55446
55552
|
* })
|
|
55447
55553
|
* export class AppModule { }
|
|
55448
55554
|
* ```
|
|
55555
|
+
*
|
|
55556
|
+
* Em aplicações Standalone, utilize a seguinte configuração para o bootstrap:
|
|
55557
|
+
*
|
|
55558
|
+
* ```
|
|
55559
|
+
* import { bootstrapApplication } from '@angular/platform-browser';
|
|
55560
|
+
* import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
55561
|
+
* import { AppComponent } from './app.component';
|
|
55562
|
+
*
|
|
55563
|
+
* bootstrapApplication(AppComponent, {
|
|
55564
|
+
* providers: [importProvidersFrom(BrowserAnimationsModule)]
|
|
55565
|
+
* }).catch(err => console.error(err));
|
|
55566
|
+
* ```
|
|
55449
55567
|
*/
|
|
55450
55568
|
class PoTreeViewModule {
|
|
55451
55569
|
static ɵfac = function PoTreeViewModule_Factory(t) { return new (t || PoTreeViewModule)(); };
|