@seniorsistemas/angular-components 19.6.0 → 19.6.1

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.
@@ -1,5 +1,5 @@
1
1
  import { Component, Input, ViewEncapsulation, Output, EventEmitter } from '@angular/core';
2
- import { BigNumber } from 'bignumber.js';
2
+ import BigNumber from 'bignumber.js';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "@seniorsistemas/angular-components/tooltip";
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
143
143
  }], value: [{
144
144
  type: Input
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBRXpDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQU9ILE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFekIsZ0dBQWdHO0lBRXpGLEVBQUUsR0FBRyxnQkFBZ0Isa0JBQWtCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUUxRCxnRkFBZ0Y7SUFFekUsS0FBSyxDQUFVO0lBRXRCLDBIQUEwSDtJQUVuSCxlQUFlLENBQVU7SUFFaEMsd0ZBQXdGO0lBRWpGLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUVoQyw2RkFBNkY7SUFFdEYsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUU1QiwyRUFBMkU7SUFFcEUsU0FBUyxHQUFHLElBQUksQ0FBQztJQUV4QiwrRUFBK0U7SUFFeEUsU0FBUyxHQUFHLGlCQUFpQixDQUFDO0lBRXJDLDhFQUE4RTtJQUV2RSxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBRXpCLHVGQUF1RjtJQUVoRixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBRTdCLHNGQUFzRjtJQUUvRSxTQUFTLEdBQUcs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LEVBQUU7c0JBRFIsS0FBSztnQkFLQyxLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtsQixlQUFlO3NCQURyQixLQUFLO2dCQUtDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFLQyxZQUFZO3NCQURsQixLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsS0FBSztzQkFEWCxLQUFLO2dCQUtDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLE9BQU87c0JBRGIsS0FBSztnQkFLQyxPQUFPO3NCQURiLE1BQU07Z0JBaUJJLEtBQUs7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCaWdOdW1iZXIgfSBmcm9tICdiaWdudW1iZXIuanMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDYXJkIGRlIGVzdGF0w61zdGljYSBxdWUgZXhpYmUgdW0gdmFsb3IgbnVtw6lyaWNvIGNvbSDDrWNvbmUsXG4gKiByw7N0dWxvIGUgYW5pbWHDp8OjbyBkZSBjb250YWdlbS4gU3Vwb3J0YSBkaWZlcmVudGVzIGVzdGlsb3MgdmlzdWFpc1xuICogKGJvcmRhLCB2ZXJzw6NvIGxldmUpIGUgcG9kZSBlbWl0aXIgZXZlbnRvIGFvIHNlciBjbGljYWRvLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8cy1zdGF0cy1jYXJkXG4gKiAgIGxhYmVsPVwiVmVuZGFzXCJcbiAqICAgW3ZhbHVlXT1cIicxLjIzNCdcIlxuICogICBpY29uQ2xhc3M9XCJmYXMgZmEtc2hvcHBpbmctY2FydFwiXG4gKiAgIGNvbG9yPVwiIzMzOTlmZlwiIC8+XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgU3VtbWFyeVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Mtc3RhdHMtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YXRzLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0YXRzLWNhcmQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0c0NhcmRDb21wb25lbnQge1xuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gSWRlbnRpZmljYWRvciDDum5pY28gZG8gY2FyZCBubyBET00uIEdlcmFkbyBhdXRvbWF0aWNhbWVudGUgc2UgbsOjbyBpbmZvcm1hZG8uICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1zdGF0cy1jYXJkLSR7U3RhdHNDYXJkQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFLDs3R1bG8gZGVzY3JpdGl2byBkYSBlc3RhdMOtc3RpY2EgZXhpYmlkYS4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGxhYmVsITogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUZXh0byBkbyB0b29sdGlwIGV4aWJpZG8gYW8gcGFzc2FyIG8gbW91c2Ugc29icmUgbyDDrWNvbmUgZGUgaW5mb3JtYcOnw6NvIGFvIGxhZG8gZG8gbGFiZWwgZG8gc3RhdHMgY2FyZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbmZvU2lnblRvb2x0aXA/OiBzdHJpbmc7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEV4aWJlIGJvcmRhIG1lc21vIHF1YW5kbyBvIGNhcmQgbsOjbyBlc3TDoSBlbSBkZXN0YXF1ZS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbHdheXNXaXRoQm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEF0aXZhIGEgdmVyc8OjbyB2aXN1YWwgbGV2ZSAoc2VtIHNvbWJyYSBlIGNvbSBmdW5kbyBjbGFybykuIEBkZWZhdWx0IGZhbHNlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGlnaHRWZXJzaW9uID0gZmFsc2U7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEF0aXZhIG8gbW9kbyBkZSBjb3JlcyBjbGFyYXMgcGFyYSBvIGNhcmQuIEBkZWZhdWx0IHRydWUgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaWdodE1vZGUgPSB0cnVlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBDbGFzc2UgZG8gw61jb25lIGV4aWJpZG8gbm8gY2FyZC4gQGRlZmF1bHQgJ2ZhIGZhLWJhci1jaGFydCcgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uQ2xhc3MgPSAnZmEgZmEtYmFyLWNoYXJ0JztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ29yIGRlIGRlc3RhcXVlIGRvIGNhcmQgZW0gZm9ybWF0byBDU1MuIEBkZWZhdWx0ICcjMzM5OTY2JyAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvbG9yID0gJyMzMzk5NjYnO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBIYWJpbGl0YSBhIGFuaW1hw6fDo28gZGUgY29udGFnZW0gYW8gYXR1YWxpemFyIG8gdmFsb3IuIEBkZWZhdWx0IHRydWUgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbmltYXRlTnVtYmVycyA9IHRydWU7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEhhYmlsaXRhIG8gY3Vyc29yIGRlIHBvbnRlaXJvIGUgbyBldmVudG8gZGUgY2xpcXVlLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsaWNrYWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUZXh0byBkbyB0b29sdGlwIGV4aWJpZG8gYW8gcGFzc2FyIG8gbW91c2Ugc29icmUgbyBjYXJkLiBAZGVmYXVsdCAnJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRvb2x0aXAgPSAnJztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyB1c3XDoXJpbyBjbGljYSBubyBjYXJkIChyZXF1ZXIgYGNsaWNrYWJsZSA9IHRydWVgKS4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIHB1YmxpYyBkaXNwbGF5VmFsdWU/OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9BTklNQVRJT05fRFVSQVRJT05fTVMgPSAyMDA7XG4gICAgcHJpdmF0ZSBfU1RFUF9EVVJBVElPTl9NUyA9IDIwO1xuICAgIHByaXZhdGUgX3ByZXZpb3VzVmFsdWUgPSAnMCc7XG4gICAgcHJpdmF0ZSBfaW50ZXJ2YWxJZDogYW55O1xuICAgIHByaXZhdGUgX3ZhbHVlID0gJzAnO1xuXG4gICAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVmFsb3IgbnVtw6lyaWNvIGV4aWJpZG8gbm8gY2FyZC4gUXVhbmRvIGBhbmltYXRlTnVtYmVyc2AgZXN0w6EgYXRpdm8sIGEgY29udGFnZW0gw6kgYW5pbWFkYS4gKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wcmV2aW91c1ZhbHVlID0gdGhpcy5fdmFsdWU7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuYW5pbWF0ZU51bWJlcnMpIHRoaXMuX3VwZGF0ZURpc3BsYXlWYWx1ZSgpO1xuICAgICAgICBlbHNlIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVwbGFjZU51bWVyaWNQb3NpdGlvbnModmFsdWU6IHN0cmluZywgbmV3VmFsdWU/OiBCaWdOdW1iZXIpIHtcbiAgICAgICAgY29uc3QgcmF3VmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9bXlxcZF0vZywgJycpO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZVN0cmluZyA9IG5ld1ZhbHVlID8gbmV3VmFsdWUudG9TdHJpbmcoKSA6ICcnO1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWROZXdWYWx1ZSA9IG5ld1ZhbHVlU3RyaW5nLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxEL2csICcnKS5wYWRTdGFydChyYXdWYWx1ZS5sZW5ndGgsICcwJyk7XG4gICAgICAgIGxldCBuZXdWYWx1ZUluZGV4ID0gMDtcblxuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgICAgIC5tYXAoKGNoYXIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBudW1iZXIgPSBOdW1iZXIoY2hhcik7XG4gICAgICAgICAgICAgICAgaWYgKG51bWJlciB8fCBjaGFyID09PSAnMCcpIHJldHVybiBmb3JtYXR0ZWROZXdWYWx1ZVtuZXdWYWx1ZUluZGV4KytdO1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGFyO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91cGRhdGVEaXNwbGF5VmFsdWUoKSB7XG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbkR1cmF0aW9uID0gbmV3IEJpZ051bWJlcih0aGlzLl9BTklNQVRJT05fRFVSQVRJT05fTVMpO1xuICAgICAgICBjb25zdCBzdGVwRHVyYXRpb24gPSBuZXcgQmlnTnVtYmVyKHRoaXMuX1NURVBfRFVSQVRJT05fTVMpO1xuICAgICAgICBjb25zdCBhbmltYXRpb25Db3VudCA9IGFuaW1hdGlvbkR1cmF0aW9uLmRpdmlkZWRCeShzdGVwRHVyYXRpb24pO1xuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzUmF3VmFsdWUgPSBuZXcgQmlnTnVtYmVyKHRoaXMuX3ByZXZpb3VzVmFsdWUucmVwbGFjZSgvXFxEL2csICcnKSk7XG4gICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gbmV3IEJpZ051bWJlcih0aGlzLnZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJykpO1xuXG4gICAgICAgIGNvbnN0IGluY3JlbWVudFZhbHVlID0gcmF3VmFsdWUubWludXMocHJldmlvdXNSYXdWYWx1ZSkuYWJzb2x1dGVWYWx1ZSgpLmRpdmlkZWRCeShhbmltYXRpb25Db3VudCk7XG4gICAgICAgIGNvbnN0IGluY3JlbWVudGFsID0gcHJldmlvdXNSYXdWYWx1ZS5pc0xlc3NUaGFuKHJhd1ZhbHVlKTtcblxuICAgICAgICBjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsSWQpO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5yZXBsYWNlTnVtZXJpY1Bvc2l0aW9ucyh0aGlzLnZhbHVlKTtcblxuICAgICAgICBsZXQgY291bnRlciA9IHByZXZpb3VzUmF3VmFsdWU7XG5cbiAgICAgICAgdGhpcy5faW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmNyZW1lbnRhbCAmJiBjb3VudGVyLmlzTGVzc1RoYW4ocmF3VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5yZXBsYWNlTnVtZXJpY1Bvc2l0aW9ucyh0aGlzLmRpc3BsYXlWYWx1ZSwgY291bnRlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvdW50ZXIgPSBjb3VudGVyLnBsdXMoaW5jcmVtZW50VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghaW5jcmVtZW50YWwgJiYgY291bnRlci5pc0dyZWF0ZXJUaGFuKHJhd1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpc3BsYXlWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMucmVwbGFjZU51bWVyaWNQb3NpdGlvbnModGhpcy5kaXNwbGF5VmFsdWUsIGNvdW50ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb3VudGVyID0gY291bnRlci5taW51cyhpbmNyZW1lbnRWYWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHRoaXMuX1NURVBfRFVSQVRJT05fTVMpO1xuICAgIH1cbn1cblxuIiwiPGRpdlxuICAgIFtpZF09XCJpZFwiXG4gICAgY2xhc3M9XCJzLXN0YXRzLWNhcmRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3Mtc3RhdHMtY2FyZC0tYWx3YXlzLWJvcmRlcic6IGFsd2F5c1dpdGhCb3JkZXIsXG4gICAgICAgICdzLXN0YXRzLWNhcmQtLWxpZ2h0JzogbGlnaHRNb2RlLFxuICAgICAgICAncy1zdGF0cy1jYXJkLS1jb2xvcic6ICFsaWdodE1vZGUsXG4gICAgICAgICdzLXN0YXRzLWNhcmQtLWxpZ2h0LXZlcnNpb24nOiBsaWdodFZlcnNpb24sXG4gICAgICAgICdzLXN0YXRzLWNhcmQtLWNsaWNrYWJsZSc6IGNsaWNrYWJsZSxcbiAgICB9XCJcbiAgICAoY2xpY2spPVwiY2xpY2thYmxlICYmIGNsaWNrZWQubmV4dCgkZXZlbnQpXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgIFtpZF09XCJpZCArICctYmFja2dyb3VuZCdcIlxuICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC1iYWNrZ3JvdW5kXCJcbiAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1jb2xvcic6ICghbGlnaHRNb2RlICYmIGNvbG9yKSB8fCAnJyB9XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBbaWRdPVwiaWQgKyAnLW92ZXJsYXknXCJcbiAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtb3ZlcmxheVwiXG4gICAgPjwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICBbaWRdPVwiaWQgKyAnLWluZm8tY29udGFpbmVyJ1wiXG4gICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWluZm8tY29udGFpbmVyXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzLXN0YXRzLWNhcmQtaW5mby1pbm5lci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWljb24tY29udGFpbmVyJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtaWNvbi1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiAobGlnaHRNb2RlICYmIGNvbG9yKSB8fCAnJyB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLWljb24nXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3Mtc3RhdHMtY2FyZC1pY29uJzogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyBjb2xvcjogKCFsaWdodE1vZGUgJiYgY29sb3IpIHx8ICcnIH1cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctdGV4dC1jb250YWluZXInXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC10ZXh0LWNvbnRhaW5lclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGlmIChpbmZvU2lnblRvb2x0aXApIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqc0luZm9TaWduPVwiaW5mb1NpZ25Ub29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxUZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZCArICctdmFsdWUnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtdmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwiZGlzcGxheVZhbHVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRpc3BsYXlWYWx1ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInMtc3RhdHMtY2FyZC1jb250ZW50LWlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICNjb250ZW50XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtY29udGVudC1jb250YWluZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmIChjb250ZW50LmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzLXN0YXRzLWNhcmQtY29udGVudC1zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAodG9vbHRpcCkge1xuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInMtc3RhdHVzLWNhcmQtdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgW3NUb29sdGlwXT1cInRvb2x0aXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtaW5mby1jaXJjbGUgcy1zdGF0dXMtY2FyZC10b29sdGlwLWljb25cIj48L2k+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xhYmVsVGVtcGxhdGU+XG4gICAgPGg0XG4gICAgICAgIFtpZF09XCJpZCArICctbGFiZWwnXCJcbiAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtbGFiZWxcIlxuICAgICAgICBbc1Rvb2x0aXBdPVwibGFiZWxcIlxuICAgID5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICA8L2g0PlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHMtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3RhdHMtY2FyZC9zcmMvbGliL3N0YXRzLWNhcmQvc3RhdHMtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFFckM7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBT0gsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUV6QixnR0FBZ0c7SUFFekYsRUFBRSxHQUFHLGdCQUFnQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBRTFELGdGQUFnRjtJQUV6RSxLQUFLLENBQVU7SUFFdEIsMEhBQTBIO0lBRW5ILGVBQWUsQ0FBVTtJQUVoQyx3RkFBd0Y7SUFFakYsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBRWhDLDZGQUE2RjtJQUV0RixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRTVCLDJFQUEyRTtJQUVwRSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRXhCLCtFQUErRTtJQUV4RSxTQUFTLEdBQUcsaUJBQWlCLENBQUM7SUFFckMsOEVBQThFO0lBRXZFLEtBQUssR0FBRyxTQUFTLENBQUM7SUFFekIsdUZBQXVGO0lBRWhGLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFFN0Isc0ZBQXNGO0lBRS9FLFNBQVMsR0FBRyxLQUFLLENBQUM7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UixLQUFLO2dCQUtDLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLGVBQWU7c0JBRHJCLEtBQUs7Z0JBS0MsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUtDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLFNBQVM7c0JBRGYsS0FBSztnQkFLQyxLQUFLO3NCQURYLEtBQUs7Z0JBS0MsY0FBYztzQkFEcEIsS0FBSztnQkFLQyxTQUFTO3NCQURmLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO2dCQUtDLE9BQU87c0JBRGIsTUFBTTtnQkFpQkksS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ2FyZCBkZSBlc3RhdMOtc3RpY2EgcXVlIGV4aWJlIHVtIHZhbG9yIG51bcOpcmljbyBjb20gw61jb25lLFxuICogcsOzdHVsbyBlIGFuaW1hw6fDo28gZGUgY29udGFnZW0uIFN1cG9ydGEgZGlmZXJlbnRlcyBlc3RpbG9zIHZpc3VhaXNcbiAqIChib3JkYSwgdmVyc8OjbyBsZXZlKSBlIHBvZGUgZW1pdGlyIGV2ZW50byBhbyBzZXIgY2xpY2Fkby5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHMtc3RhdHMtY2FyZFxuICogICBsYWJlbD1cIlZlbmRhc1wiXG4gKiAgIFt2YWx1ZV09XCInMS4yMzQnXCJcbiAqICAgaWNvbkNsYXNzPVwiZmFzIGZhLXNob3BwaW5nLWNhcnRcIlxuICogICBjb2xvcj1cIiMzMzk5ZmZcIiAvPlxuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IFN1bW1hcnlcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXN0YXRzLWNhcmQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGF0cy1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdGF0cy1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHNDYXJkQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNhcmQgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtc3RhdHMtY2FyZC0ke1N0YXRzQ2FyZENvbXBvbmVudC5uZXh0SWQrK31gO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGRlc2NyaXRpdm8gZGEgZXN0YXTDrXN0aWNhIGV4aWJpZGEuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICAgIHB1YmxpYyBsYWJlbCE6IHN0cmluZztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZG8gdG9vbHRpcCBleGliaWRvIGFvIHBhc3NhciBvIG1vdXNlIHNvYnJlIG8gw61jb25lIGRlIGluZm9ybWHDp8OjbyBhbyBsYWRvIGRvIGxhYmVsIGRvIHN0YXRzIGNhcmQuICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW5mb1NpZ25Ub29sdGlwPzogc3RyaW5nO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBib3JkYSBtZXNtbyBxdWFuZG8gbyBjYXJkIG7Do28gZXN0w6EgZW0gZGVzdGFxdWUuIEBkZWZhdWx0IGZhbHNlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWx3YXlzV2l0aEJvcmRlciA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBBdGl2YSBhIHZlcnPDo28gdmlzdWFsIGxldmUgKHNlbSBzb21icmEgZSBjb20gZnVuZG8gY2xhcm8pLiBAZGVmYXVsdCBmYWxzZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxpZ2h0VmVyc2lvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBBdGl2YSBvIG1vZG8gZGUgY29yZXMgY2xhcmFzIHBhcmEgbyBjYXJkLiBAZGVmYXVsdCB0cnVlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbGlnaHRNb2RlID0gdHJ1ZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRvIMOtY29uZSBleGliaWRvIG5vIGNhcmQuIEBkZWZhdWx0ICdmYSBmYS1iYXItY2hhcnQnICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWNvbkNsYXNzID0gJ2ZhIGZhLWJhci1jaGFydCc7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIENvciBkZSBkZXN0YXF1ZSBkbyBjYXJkIGVtIGZvcm1hdG8gQ1NTLiBAZGVmYXVsdCAnIzMzOTk2NicgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb2xvciA9ICcjMzM5OTY2JztcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gSGFiaWxpdGEgYSBhbmltYcOnw6NvIGRlIGNvbnRhZ2VtIGFvIGF0dWFsaXphciBvIHZhbG9yLiBAZGVmYXVsdCB0cnVlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYW5pbWF0ZU51bWJlcnMgPSB0cnVlO1xuXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBIYWJpbGl0YSBvIGN1cnNvciBkZSBwb250ZWlybyBlIG8gZXZlbnRvIGRlIGNsaXF1ZS4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGV4dG8gZG8gdG9vbHRpcCBleGliaWRvIGFvIHBhc3NhciBvIG1vdXNlIHNvYnJlIG8gY2FyZC4gQGRlZmF1bHQgJycgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0b29sdGlwID0gJyc7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gcXVhbmRvIG8gdXN1w6FyaW8gY2xpY2Egbm8gY2FyZCAocmVxdWVyIGBjbGlja2FibGUgPSB0cnVlYCkuICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBwdWJsaWMgZGlzcGxheVZhbHVlPzogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfQU5JTUFUSU9OX0RVUkFUSU9OX01TID0gMjAwO1xuICAgIHByaXZhdGUgX1NURVBfRFVSQVRJT05fTVMgPSAyMDtcbiAgICBwcml2YXRlIF9wcmV2aW91c1ZhbHVlID0gJzAnO1xuICAgIHByaXZhdGUgX2ludGVydmFsSWQ6IGFueTtcbiAgICBwcml2YXRlIF92YWx1ZSA9ICcwJztcblxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIFZhbG9yIG51bcOpcmljbyBleGliaWRvIG5vIGNhcmQuIFF1YW5kbyBgYW5pbWF0ZU51bWJlcnNgIGVzdMOhIGF0aXZvLCBhIGNvbnRhZ2VtIMOpIGFuaW1hZGEuICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmFuaW1hdGVOdW1iZXJzKSB0aGlzLl91cGRhdGVEaXNwbGF5VmFsdWUoKTtcbiAgICAgICAgZWxzZSB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHZhbHVlOiBzdHJpbmcsIG5ld1ZhbHVlPzogQmlnTnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gdmFsdWUucmVwbGFjZSgvW15cXGRdL2csICcnKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWVTdHJpbmcgPSBuZXdWYWx1ZSA/IG5ld1ZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTmV3VmFsdWUgPSBuZXdWYWx1ZVN0cmluZy50b1N0cmluZygpLnJlcGxhY2UoL1xcRC9nLCAnJykucGFkU3RhcnQocmF3VmFsdWUubGVuZ3RoLCAnMCcpO1xuICAgICAgICBsZXQgbmV3VmFsdWVJbmRleCA9IDA7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAubWFwKChjaGFyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKGNoYXIpO1xuICAgICAgICAgICAgICAgIGlmIChudW1iZXIgfHwgY2hhciA9PT0gJzAnKSByZXR1cm4gZm9ybWF0dGVkTmV3VmFsdWVbbmV3VmFsdWVJbmRleCsrXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hhcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbignJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlRGlzcGxheVZhbHVlKCkge1xuICAgICAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9IG5ldyBCaWdOdW1iZXIodGhpcy5fQU5JTUFUSU9OX0RVUkFUSU9OX01TKTtcbiAgICAgICAgY29uc3Qgc3RlcER1cmF0aW9uID0gbmV3IEJpZ051bWJlcih0aGlzLl9TVEVQX0RVUkFUSU9OX01TKTtcbiAgICAgICAgY29uc3QgYW5pbWF0aW9uQ291bnQgPSBhbmltYXRpb25EdXJhdGlvbi5kaXZpZGVkQnkoc3RlcER1cmF0aW9uKTtcblxuICAgICAgICBjb25zdCBwcmV2aW91c1Jhd1ZhbHVlID0gbmV3IEJpZ051bWJlcih0aGlzLl9wcmV2aW91c1ZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJykpO1xuICAgICAgICBjb25zdCByYXdWYWx1ZSA9IG5ldyBCaWdOdW1iZXIodGhpcy52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpKTtcblxuICAgICAgICBjb25zdCBpbmNyZW1lbnRWYWx1ZSA9IHJhd1ZhbHVlLm1pbnVzKHByZXZpb3VzUmF3VmFsdWUpLmFic29sdXRlVmFsdWUoKS5kaXZpZGVkQnkoYW5pbWF0aW9uQ291bnQpO1xuICAgICAgICBjb25zdCBpbmNyZW1lbnRhbCA9IHByZXZpb3VzUmF3VmFsdWUuaXNMZXNzVGhhbihyYXdWYWx1ZSk7XG5cbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbElkKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMucmVwbGFjZU51bWVyaWNQb3NpdGlvbnModGhpcy52YWx1ZSk7XG5cbiAgICAgICAgbGV0IGNvdW50ZXIgPSBwcmV2aW91c1Jhd1ZhbHVlO1xuXG4gICAgICAgIHRoaXMuX2ludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5jcmVtZW50YWwgJiYgY291bnRlci5pc0xlc3NUaGFuKHJhd1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpc3BsYXlWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMucmVwbGFjZU51bWVyaWNQb3NpdGlvbnModGhpcy5kaXNwbGF5VmFsdWUsIGNvdW50ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb3VudGVyID0gY291bnRlci5wbHVzKGluY3JlbWVudFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWluY3JlbWVudGFsICYmIGNvdW50ZXIuaXNHcmVhdGVyVGhhbihyYXdWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLnJlcGxhY2VOdW1lcmljUG9zaXRpb25zKHRoaXMuZGlzcGxheVZhbHVlLCBjb3VudGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY291bnRlciA9IGNvdW50ZXIubWludXMoaW5jcmVtZW50VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB0aGlzLl9TVEVQX0RVUkFUSU9OX01TKTtcbiAgICB9XG59XG5cbiIsIjxkaXZcbiAgICBbaWRdPVwiaWRcIlxuICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdzLXN0YXRzLWNhcmQtLWFsd2F5cy1ib3JkZXInOiBhbHdheXNXaXRoQm9yZGVyLFxuICAgICAgICAncy1zdGF0cy1jYXJkLS1saWdodCc6IGxpZ2h0TW9kZSxcbiAgICAgICAgJ3Mtc3RhdHMtY2FyZC0tY29sb3InOiAhbGlnaHRNb2RlLFxuICAgICAgICAncy1zdGF0cy1jYXJkLS1saWdodC12ZXJzaW9uJzogbGlnaHRWZXJzaW9uLFxuICAgICAgICAncy1zdGF0cy1jYXJkLS1jbGlja2FibGUnOiBjbGlja2FibGUsXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cImNsaWNrYWJsZSAmJiBjbGlja2VkLm5leHQoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBbaWRdPVwiaWQgKyAnLWJhY2tncm91bmQnXCJcbiAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtYmFja2dyb3VuZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiAoIWxpZ2h0TW9kZSAmJiBjb2xvcikgfHwgJycgfVwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgW2lkXT1cImlkICsgJy1vdmVybGF5J1wiXG4gICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLW92ZXJsYXlcIlxuICAgID48L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgW2lkXT1cImlkICsgJy1pbmZvLWNvbnRhaW5lcidcIlxuICAgICAgICBjbGFzcz1cInMtc3RhdHMtY2FyZC1pbmZvLWNvbnRhaW5lclwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGF0cy1jYXJkLWluZm8taW5uZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1pY29uLWNvbnRhaW5lcidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWljb24tY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogKGxpZ2h0TW9kZSAmJiBjb2xvcikgfHwgJycgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkICsgJy1pY29uJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJpY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzLXN0YXRzLWNhcmQtaWNvbic6IHRydWUgfVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6ICghbGlnaHRNb2RlICYmIGNvbG9yKSB8fCAnJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLXRleHQtY29udGFpbmVyJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0YXRzLWNhcmQtdGV4dC1jb250YWluZXJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEBpZiAoaW5mb1NpZ25Ub29sdGlwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKnNJbmZvU2lnbj1cImluZm9TaWduVG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsVGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnLXZhbHVlJ1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLXZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3NUb29sdGlwXT1cImRpc3BsYXlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBkaXNwbGF5VmFsdWUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzLXN0YXRzLWNhcmQtY29udGVudC1pbm5lci1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAjY29udGVudFxuICAgICAgICAgICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWNvbnRlbnQtY29udGFpbmVyXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoY29udGVudC5jaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicy1zdGF0cy1jYXJkLWNvbnRlbnQtc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKHRvb2x0aXApIHtcbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzLXN0YXR1cy1jYXJkLXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlIHMtc3RhdHVzLWNhcmQtdG9vbHRpcC1pY29uXCI+PC9pPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNsYWJlbFRlbXBsYXRlPlxuICAgIDxoNFxuICAgICAgICBbaWRdPVwiaWQgKyAnLWxhYmVsJ1wiXG4gICAgICAgIGNsYXNzPVwicy1zdGF0cy1jYXJkLWxhYmVsXCJcbiAgICAgICAgW3NUb29sdGlwXT1cImxhYmVsXCJcbiAgICA+XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgPC9oND5cbjwvbmctdGVtcGxhdGU+XG5cbiJdfQ==
@@ -2,7 +2,7 @@ import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { EventEmitter, Component, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
5
- import { BigNumber } from 'bignumber.js';
5
+ import BigNumber from 'bignumber.js';
6
6
  import * as i2 from '@seniorsistemas/angular-components/tooltip';
7
7
  import { TooltipModule } from '@seniorsistemas/angular-components/tooltip';
8
8
  import * as i3 from '@seniorsistemas/angular-components/info-sign';
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-stats-card.mjs","sources":["../../projects/angular-components/stats-card/src/lib/stats-card/stats-card.component.ts","../../projects/angular-components/stats-card/src/lib/stats-card/stats-card.component.html","../../projects/angular-components/stats-card/src/lib/stats-card/stats-card.module.ts","../../projects/angular-components/stats-card/src/seniorsistemas-angular-components-stats-card.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\n\nimport { BigNumber } from 'bignumber.js';\n\n/**\n * @description Card de estatística que exibe um valor numérico com ícone,\n * rótulo e animação de contagem. Suporta diferentes estilos visuais\n * (borda, versão leve) e pode emitir evento ao ser clicado.\n *\n * @example\n * ```html\n * <s-stats-card\n * label=\"Vendas\"\n * [value]=\"'1.234'\"\n * iconClass=\"fas fa-shopping-cart\"\n * color=\"#3399ff\" />\n * ```\n *\n * @category Summary\n */\n@Component({\n selector: 's-stats-card',\n templateUrl: './stats-card.component.html',\n styleUrls: ['./stats-card.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class StatsCardComponent {\n public static nextId = 0;\n\n /** @description Identificador único do card no DOM. Gerado automaticamente se não informado. */\n @Input()\n public id = `s-stats-card-${StatsCardComponent.nextId++}`;\n\n /** @description Rótulo descritivo da estatística exibida. Campo obrigatório. */\n @Input({ required: true })\n public label!: string;\n\n /** @description Texto do tooltip exibido ao passar o mouse sobre o ícone de informação ao lado do label do stats card. */\n @Input()\n public infoSignTooltip?: string;\n\n /** @description Exibe borda mesmo quando o card não está em destaque. @default false */\n @Input()\n public alwaysWithBorder = false;\n\n /** @description Ativa a versão visual leve (sem sombra e com fundo claro). @default false */\n @Input()\n public lightVersion = false;\n\n /** @description Ativa o modo de cores claras para o card. @default true */\n @Input()\n public lightMode = true;\n\n /** @description Classe do ícone exibido no card. @default 'fa fa-bar-chart' */\n @Input()\n public iconClass = 'fa fa-bar-chart';\n\n /** @description Cor de destaque do card em formato CSS. @default '#339966' */\n @Input()\n public color = '#339966';\n\n /** @description Habilita a animação de contagem ao atualizar o valor. @default true */\n @Input()\n public animateNumbers = true;\n\n /** @description Habilita o cursor de ponteiro e o evento de clique. @default false */\n @Input()\n public clickable = false;\n\n /** @description Texto do tooltip exibido ao passar o mouse sobre o card. @default '' */\n @Input()\n public tooltip = '';\n\n /** @description Emitido quando o usuário clica no card (requer `clickable = true`). */\n @Output()\n public clicked = new EventEmitter<MouseEvent>();\n\n public displayValue?: string;\n\n private _ANIMATION_DURATION_MS = 200;\n private _STEP_DURATION_MS = 20;\n private _previousValue = '0';\n private _intervalId: any;\n private _value = '0';\n\n public get value() {\n return this._value;\n }\n\n /** @description Valor numérico exibido no card. Quando `animateNumbers` está ativo, a contagem é animada. */\n @Input()\n public set value(value: string) {\n this._previousValue = this._value;\n this._value = String(value);\n if (this.animateNumbers) this._updateDisplayValue();\n else this.displayValue = this.value;\n }\n\n public replaceNumericPositions(value: string, newValue?: BigNumber) {\n const rawValue = value.replace(/[^\\d]/g, '');\n const newValueString = newValue ? newValue.toString() : '';\n const formattedNewValue = newValueString.toString().replace(/\\D/g, '').padStart(rawValue.length, '0');\n let newValueIndex = 0;\n\n return value\n .split('')\n .map((char) => {\n const number = Number(char);\n if (number || char === '0') return formattedNewValue[newValueIndex++];\n return char;\n })\n .join('');\n }\n\n private _updateDisplayValue() {\n const animationDuration = new BigNumber(this._ANIMATION_DURATION_MS);\n const stepDuration = new BigNumber(this._STEP_DURATION_MS);\n const animationCount = animationDuration.dividedBy(stepDuration);\n\n const previousRawValue = new BigNumber(this._previousValue.replace(/\\D/g, ''));\n const rawValue = new BigNumber(this.value.replace(/\\D/g, ''));\n\n const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);\n const incremental = previousRawValue.isLessThan(rawValue);\n\n clearInterval(this._intervalId);\n\n this.displayValue = this.replaceNumericPositions(this.value);\n\n let counter = previousRawValue;\n\n this._intervalId = setInterval(() => {\n if (incremental && counter.isLessThan(rawValue)) {\n if (this.displayValue) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n }\n counter = counter.plus(incrementValue);\n } else if (!incremental && counter.isGreaterThan(rawValue)) {\n if (this.displayValue) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n }\n counter = counter.minus(incrementValue);\n } else {\n this.displayValue = this.value;\n\n clearInterval(this._intervalId);\n }\n }, this._STEP_DURATION_MS);\n }\n}\n\n","<div\n [id]=\"id\"\n class=\"s-stats-card\"\n [ngClass]=\"{\n 's-stats-card--always-border': alwaysWithBorder,\n 's-stats-card--light': lightMode,\n 's-stats-card--color': !lightMode,\n 's-stats-card--light-version': lightVersion,\n 's-stats-card--clickable': clickable,\n }\"\n (click)=\"clickable && clicked.next($event)\"\n>\n <div\n [id]=\"id + '-background'\"\n class=\"s-stats-card-background\"\n [ngStyle]=\"{ 'background-color': (!lightMode && color) || '' }\"\n ></div>\n <div\n [id]=\"id + '-overlay'\"\n class=\"s-stats-card-overlay\"\n ></div>\n\n <div\n [id]=\"id + '-info-container'\"\n class=\"s-stats-card-info-container\"\n >\n <div class=\"s-stats-card-info-inner-container\">\n <div\n [id]=\"id + '-icon-container'\"\n class=\"s-stats-card-icon-container\"\n [ngStyle]=\"{ 'background-color': (lightMode && color) || '' }\"\n >\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n [ngClass]=\"{ 's-stats-card-icon': true }\"\n [ngStyle]=\"{ color: (!lightMode && color) || '' }\"\n aria-hidden=\"true\"\n ></span>\n </div>\n\n <div\n [id]=\"id + '-text-container'\"\n class=\"s-stats-card-text-container\"\n >\n @if (infoSignTooltip) {\n <div *sInfoSign=\"infoSignTooltip\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n }\n <span\n [id]=\"id + '-value'\"\n class=\"s-stats-card-value\"\n [sTooltip]=\"displayValue\"\n >\n {{ displayValue }}\n </span>\n </div>\n </div>\n <div class=\"s-stats-card-content-inner-container\">\n <div\n #content\n class=\"s-stats-card-content-container\"\n >\n <ng-content></ng-content>\n </div>\n @if (content.children.length) {\n <div class=\"s-stats-card-content-separator\"></div>\n }\n </div>\n @if (tooltip) {\n <span\n class=\"s-status-card-tooltip\"\n [sTooltip]=\"tooltip\"\n >\n <i class=\"fa fa-info-circle s-status-card-tooltip-icon\"></i>\n </span>\n }\n </div>\n</div>\n\n<ng-template #labelTemplate>\n <h4\n [id]=\"id + '-label'\"\n class=\"s-stats-card-label\"\n [sTooltip]=\"label\"\n >\n {{ label }}\n </h4>\n</ng-template>\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StatsCardComponent } from './stats-card.component';\nimport { TooltipModule } from '@seniorsistemas/angular-components/tooltip';\nimport { InfoSignModule } from '@seniorsistemas/angular-components/info-sign';\n\n@NgModule({\n imports: [CommonModule, TooltipModule, InfoSignModule],\n declarations: [StatsCardComponent],\n exports: [StatsCardComponent],\n})\nexport class StatsCardModule {}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-stats-card.mjs","sources":["../../projects/angular-components/stats-card/src/lib/stats-card/stats-card.component.ts","../../projects/angular-components/stats-card/src/lib/stats-card/stats-card.component.html","../../projects/angular-components/stats-card/src/lib/stats-card/stats-card.module.ts","../../projects/angular-components/stats-card/src/seniorsistemas-angular-components-stats-card.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\n\nimport BigNumber from 'bignumber.js';\n\n/**\n * @description Card de estatística que exibe um valor numérico com ícone,\n * rótulo e animação de contagem. Suporta diferentes estilos visuais\n * (borda, versão leve) e pode emitir evento ao ser clicado.\n *\n * @example\n * ```html\n * <s-stats-card\n * label=\"Vendas\"\n * [value]=\"'1.234'\"\n * iconClass=\"fas fa-shopping-cart\"\n * color=\"#3399ff\" />\n * ```\n *\n * @category Summary\n */\n@Component({\n selector: 's-stats-card',\n templateUrl: './stats-card.component.html',\n styleUrls: ['./stats-card.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class StatsCardComponent {\n public static nextId = 0;\n\n /** @description Identificador único do card no DOM. Gerado automaticamente se não informado. */\n @Input()\n public id = `s-stats-card-${StatsCardComponent.nextId++}`;\n\n /** @description Rótulo descritivo da estatística exibida. Campo obrigatório. */\n @Input({ required: true })\n public label!: string;\n\n /** @description Texto do tooltip exibido ao passar o mouse sobre o ícone de informação ao lado do label do stats card. */\n @Input()\n public infoSignTooltip?: string;\n\n /** @description Exibe borda mesmo quando o card não está em destaque. @default false */\n @Input()\n public alwaysWithBorder = false;\n\n /** @description Ativa a versão visual leve (sem sombra e com fundo claro). @default false */\n @Input()\n public lightVersion = false;\n\n /** @description Ativa o modo de cores claras para o card. @default true */\n @Input()\n public lightMode = true;\n\n /** @description Classe do ícone exibido no card. @default 'fa fa-bar-chart' */\n @Input()\n public iconClass = 'fa fa-bar-chart';\n\n /** @description Cor de destaque do card em formato CSS. @default '#339966' */\n @Input()\n public color = '#339966';\n\n /** @description Habilita a animação de contagem ao atualizar o valor. @default true */\n @Input()\n public animateNumbers = true;\n\n /** @description Habilita o cursor de ponteiro e o evento de clique. @default false */\n @Input()\n public clickable = false;\n\n /** @description Texto do tooltip exibido ao passar o mouse sobre o card. @default '' */\n @Input()\n public tooltip = '';\n\n /** @description Emitido quando o usuário clica no card (requer `clickable = true`). */\n @Output()\n public clicked = new EventEmitter<MouseEvent>();\n\n public displayValue?: string;\n\n private _ANIMATION_DURATION_MS = 200;\n private _STEP_DURATION_MS = 20;\n private _previousValue = '0';\n private _intervalId: any;\n private _value = '0';\n\n public get value() {\n return this._value;\n }\n\n /** @description Valor numérico exibido no card. Quando `animateNumbers` está ativo, a contagem é animada. */\n @Input()\n public set value(value: string) {\n this._previousValue = this._value;\n this._value = String(value);\n if (this.animateNumbers) this._updateDisplayValue();\n else this.displayValue = this.value;\n }\n\n public replaceNumericPositions(value: string, newValue?: BigNumber) {\n const rawValue = value.replace(/[^\\d]/g, '');\n const newValueString = newValue ? newValue.toString() : '';\n const formattedNewValue = newValueString.toString().replace(/\\D/g, '').padStart(rawValue.length, '0');\n let newValueIndex = 0;\n\n return value\n .split('')\n .map((char) => {\n const number = Number(char);\n if (number || char === '0') return formattedNewValue[newValueIndex++];\n return char;\n })\n .join('');\n }\n\n private _updateDisplayValue() {\n const animationDuration = new BigNumber(this._ANIMATION_DURATION_MS);\n const stepDuration = new BigNumber(this._STEP_DURATION_MS);\n const animationCount = animationDuration.dividedBy(stepDuration);\n\n const previousRawValue = new BigNumber(this._previousValue.replace(/\\D/g, ''));\n const rawValue = new BigNumber(this.value.replace(/\\D/g, ''));\n\n const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);\n const incremental = previousRawValue.isLessThan(rawValue);\n\n clearInterval(this._intervalId);\n\n this.displayValue = this.replaceNumericPositions(this.value);\n\n let counter = previousRawValue;\n\n this._intervalId = setInterval(() => {\n if (incremental && counter.isLessThan(rawValue)) {\n if (this.displayValue) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n }\n counter = counter.plus(incrementValue);\n } else if (!incremental && counter.isGreaterThan(rawValue)) {\n if (this.displayValue) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n }\n counter = counter.minus(incrementValue);\n } else {\n this.displayValue = this.value;\n\n clearInterval(this._intervalId);\n }\n }, this._STEP_DURATION_MS);\n }\n}\n\n","<div\n [id]=\"id\"\n class=\"s-stats-card\"\n [ngClass]=\"{\n 's-stats-card--always-border': alwaysWithBorder,\n 's-stats-card--light': lightMode,\n 's-stats-card--color': !lightMode,\n 's-stats-card--light-version': lightVersion,\n 's-stats-card--clickable': clickable,\n }\"\n (click)=\"clickable && clicked.next($event)\"\n>\n <div\n [id]=\"id + '-background'\"\n class=\"s-stats-card-background\"\n [ngStyle]=\"{ 'background-color': (!lightMode && color) || '' }\"\n ></div>\n <div\n [id]=\"id + '-overlay'\"\n class=\"s-stats-card-overlay\"\n ></div>\n\n <div\n [id]=\"id + '-info-container'\"\n class=\"s-stats-card-info-container\"\n >\n <div class=\"s-stats-card-info-inner-container\">\n <div\n [id]=\"id + '-icon-container'\"\n class=\"s-stats-card-icon-container\"\n [ngStyle]=\"{ 'background-color': (lightMode && color) || '' }\"\n >\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n [ngClass]=\"{ 's-stats-card-icon': true }\"\n [ngStyle]=\"{ color: (!lightMode && color) || '' }\"\n aria-hidden=\"true\"\n ></span>\n </div>\n\n <div\n [id]=\"id + '-text-container'\"\n class=\"s-stats-card-text-container\"\n >\n @if (infoSignTooltip) {\n <div *sInfoSign=\"infoSignTooltip\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"labelTemplate\" />\n }\n <span\n [id]=\"id + '-value'\"\n class=\"s-stats-card-value\"\n [sTooltip]=\"displayValue\"\n >\n {{ displayValue }}\n </span>\n </div>\n </div>\n <div class=\"s-stats-card-content-inner-container\">\n <div\n #content\n class=\"s-stats-card-content-container\"\n >\n <ng-content></ng-content>\n </div>\n @if (content.children.length) {\n <div class=\"s-stats-card-content-separator\"></div>\n }\n </div>\n @if (tooltip) {\n <span\n class=\"s-status-card-tooltip\"\n [sTooltip]=\"tooltip\"\n >\n <i class=\"fa fa-info-circle s-status-card-tooltip-icon\"></i>\n </span>\n }\n </div>\n</div>\n\n<ng-template #labelTemplate>\n <h4\n [id]=\"id + '-label'\"\n class=\"s-stats-card-label\"\n [sTooltip]=\"label\"\n >\n {{ label }}\n </h4>\n</ng-template>\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { StatsCardComponent } from './stats-card.component';\nimport { TooltipModule } from '@seniorsistemas/angular-components/tooltip';\nimport { InfoSignModule } from '@seniorsistemas/angular-components/info-sign';\n\n@NgModule({\n imports: [CommonModule, TooltipModule, InfoSignModule],\n declarations: [StatsCardComponent],\n exports: [StatsCardComponent],\n})\nexport class StatsCardModule {}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seniorsistemas/angular-components",
3
- "version": "19.6.0",
3
+ "version": "19.6.1",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.2.14",
6
6
  "@angular/common": "^18.2.0",
@@ -96,18 +96,18 @@
96
96
  "esm": "./esm2022/accordion/seniorsistemas-angular-components-accordion.mjs",
97
97
  "default": "./fesm2022/seniorsistemas-angular-components-accordion.mjs"
98
98
  },
99
- "./autocomplete": {
100
- "types": "./autocomplete/index.d.ts",
101
- "esm2022": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
102
- "esm": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
103
- "default": "./fesm2022/seniorsistemas-angular-components-autocomplete.mjs"
104
- },
105
99
  "./alert": {
106
100
  "types": "./alert/index.d.ts",
107
101
  "esm2022": "./esm2022/alert/seniorsistemas-angular-components-alert.mjs",
108
102
  "esm": "./esm2022/alert/seniorsistemas-angular-components-alert.mjs",
109
103
  "default": "./fesm2022/seniorsistemas-angular-components-alert.mjs"
110
104
  },
105
+ "./autocomplete": {
106
+ "types": "./autocomplete/index.d.ts",
107
+ "esm2022": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
108
+ "esm": "./esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs",
109
+ "default": "./fesm2022/seniorsistemas-angular-components-autocomplete.mjs"
110
+ },
111
111
  "./badge": {
112
112
  "types": "./badge/index.d.ts",
113
113
  "esm2022": "./esm2022/badge/seniorsistemas-angular-components-badge.mjs",
@@ -222,18 +222,18 @@
222
222
  "esm": "./esm2022/custom-fields/seniorsistemas-angular-components-custom-fields.mjs",
223
223
  "default": "./fesm2022/seniorsistemas-angular-components-custom-fields.mjs"
224
224
  },
225
- "./datepicker": {
226
- "types": "./datepicker/index.d.ts",
227
- "esm2022": "./esm2022/datepicker/seniorsistemas-angular-components-datepicker.mjs",
228
- "esm": "./esm2022/datepicker/seniorsistemas-angular-components-datepicker.mjs",
229
- "default": "./fesm2022/seniorsistemas-angular-components-datepicker.mjs"
230
- },
231
225
  "./dialog": {
232
226
  "types": "./dialog/index.d.ts",
233
227
  "esm2022": "./esm2022/dialog/seniorsistemas-angular-components-dialog.mjs",
234
228
  "esm": "./esm2022/dialog/seniorsistemas-angular-components-dialog.mjs",
235
229
  "default": "./fesm2022/seniorsistemas-angular-components-dialog.mjs"
236
230
  },
231
+ "./datepicker": {
232
+ "types": "./datepicker/index.d.ts",
233
+ "esm2022": "./esm2022/datepicker/seniorsistemas-angular-components-datepicker.mjs",
234
+ "esm": "./esm2022/datepicker/seniorsistemas-angular-components-datepicker.mjs",
235
+ "default": "./fesm2022/seniorsistemas-angular-components-datepicker.mjs"
236
+ },
237
237
  "./dynamic-form": {
238
238
  "types": "./dynamic-form/index.d.ts",
239
239
  "esm2022": "./esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs",
@@ -1,4 +1,5 @@
1
1
  import { EventEmitter } from '@angular/core';
2
+ import BigNumber from 'bignumber.js';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
4
5
  * @description Card de estatística que exibe um valor numérico com ícone,