@snabcentr/client-ui 4.16.0 → 4.17.0
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/feedback/feedback-form/sc-feedback-form.component.mjs +11 -21
- package/esm2022/providers/index.mjs +1 -2
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/samples/sc-sample.module.mjs +3 -10
- package/esm2022/services/index.mjs +2 -1
- package/esm2022/services/sc-scripts.service.mjs +106 -0
- package/esm2022/smart-captcha/index.mjs +5 -0
- package/esm2022/smart-captcha/interfaces/index.mjs +6 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-api.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-event.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-language.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-render-params.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-settings.mjs +2 -0
- package/esm2022/smart-captcha/interfaces/sc-smart-captcha-window.mjs +2 -0
- package/esm2022/smart-captcha/sc-smart-captcha.component.mjs +167 -0
- package/esm2022/smart-captcha/services/index.mjs +2 -0
- package/esm2022/smart-captcha/services/sc-smart-captcha-loader.service.mjs +87 -0
- package/esm2022/smart-captcha/tokens/index.mjs +3 -0
- package/esm2022/smart-captcha/tokens/sc-smart-captcha-load-timeout.token.mjs +8 -0
- package/esm2022/smart-captcha/tokens/sc-smart-captcha-settings.token.mjs +6 -0
- package/feedback/feedback-form/sc-feedback-form.component.d.ts +1 -1
- package/fesm2022/snabcentr-client-ui.mjs +367 -64
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/package.json +1 -2
- package/providers/index.d.ts +0 -1
- package/public-api.d.ts +1 -0
- package/release_notes.tmp +3 -3
- package/samples/sc-sample.module.d.ts +1 -2
- package/services/index.d.ts +1 -0
- package/services/sc-scripts.service.d.ts +51 -0
- package/smart-captcha/index.d.ts +4 -0
- package/smart-captcha/interfaces/index.d.ts +5 -0
- package/smart-captcha/interfaces/sc-smart-captcha-api.d.ts +36 -0
- package/smart-captcha/interfaces/sc-smart-captcha-event.d.ts +4 -0
- package/smart-captcha/interfaces/sc-smart-captcha-language.d.ts +4 -0
- package/smart-captcha/interfaces/sc-smart-captcha-render-params.d.ts +16 -0
- package/smart-captcha/interfaces/sc-smart-captcha-settings.d.ts +16 -0
- package/smart-captcha/interfaces/sc-smart-captcha-window.d.ts +14 -0
- package/smart-captcha/sc-smart-captcha.component.d.ts +92 -0
- package/smart-captcha/services/index.d.ts +1 -0
- package/smart-captcha/services/sc-smart-captcha-loader.service.d.ts +50 -0
- package/smart-captcha/tokens/index.d.ts +2 -0
- package/smart-captcha/tokens/sc-smart-captcha-load-timeout.token.d.ts +5 -0
- package/smart-captcha/tokens/sc-smart-captcha-settings.token.d.ts +6 -0
- package/styles/tailwind/tailwind.scss +40 -2
- package/esm2022/providers/cleanup-recaptcha-artifacts.mjs +0 -30
- package/providers/cleanup-recaptcha-artifacts.d.ts +0 -7
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './sc-smart-captcha-api';
|
|
2
|
+
export * from './sc-smart-captcha-event';
|
|
3
|
+
export * from './sc-smart-captcha-language';
|
|
4
|
+
export * from './sc-smart-captcha-render-params';
|
|
5
|
+
export * from './sc-smart-captcha-settings';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXNtYXJ0LWNhcHRjaGEtcmVuZGVyLXBhcmFtcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjLXNtYXJ0LWNhcHRjaGEtc2V0dGluZ3MnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9pbnRlcmZhY2VzL3NjLXNtYXJ0LWNhcHRjaGEtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1NtYXJ0Q2FwdGNoYUV2ZW50IH0gZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLWV2ZW50JztcbmltcG9ydCB7IFNjU21hcnRDYXB0Y2hhUmVuZGVyUGFyYW1zIH0gZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLXJlbmRlci1wYXJhbXMnO1xuXG4vKipcbiAqIEFQSSBZYW5kZXggU21hcnRDYXB0Y2hhLCDQtNC+0YHRgtGD0L/QvdC+0LUg0LIgYHdpbmRvdy5zbWFydENhcHRjaGFgINC/0L7RgdC70LUg0LfQsNCz0YDRg9C30LrQuCDRgdC60YDQuNC/0YLQsC5cbiAqXG4gKiBAc2VlIFvQnNC10YLQvtC00Ysgd2luZG93LnNtYXJ0Q2FwdGNoYV0oaHR0cHM6Ly95YW5kZXguY2xvdWQvcnUvZG9jcy9zbWFydGNhcHRjaGEvY29uY2VwdHMvd2lkZ2V0LW1ldGhvZHMjbWV0aG9kcylcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY1NtYXJ0Q2FwdGNoYUFwaSB7XG4gICAgLyoqXG4gICAgICog0J7RgtGA0LjRgdC+0LLRi9Cy0LDQtdGCINCy0LjQtNC20LXRgiDQsiDQutC+0L3RgtC10LnQvdC10YDQtSDQuCDQstC+0LfQstGA0LDRidCw0LXRgiDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstC40LTQttC10YLQsCAo0LzQvtC20LXRgiDQsdGL0YLRjCDRgNCw0LLQtdC9IGAwYCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyINCa0L7QvdGC0LXQudC90LXRgCDQtNC70Y8g0LLQuNC00LbQtdGC0LAuXG4gICAgICogQHBhcmFtIHBhcmFtcyDQn9Cw0YDQsNC80LXRgtGA0Ysg0L7RgtGA0LjRgdC+0LLQutC4LlxuICAgICAqL1xuICAgIHJlbmRlcjogKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHBhcmFtczogU2NTbWFydENhcHRjaGFSZW5kZXJQYXJhbXMpID0+IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0LHRgNCw0YHRi9Cy0LDQtdGCINCy0LjQtNC20LXRgiDQsiDQvdCw0YfQsNC70YzQvdC+0LUg0YHQvtGB0YLQvtGP0L3QuNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHdpZGdldElkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0LjQtNC20LXRgtCwLlxuICAgICAqL1xuICAgIHJlc2V0OiAod2lkZ2V0SWQ6IG51bWJlcikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINCy0LjQtNC20LXRgiDQuCDRgdC+0LfQtNCw0L3QvdGL0LUg0LjQvCDRjdC70LXQvNC10L3RgtGLINC4INC+0LHRgNCw0LHQvtGC0YfQuNC60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gd2lkZ2V0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQuNC00LbQtdGC0LAuXG4gICAgICovXG4gICAgZGVzdHJveTogKHdpZGdldElkOiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LTQv9C40YHRi9Cy0LDQtdGCINC+0LHRgNCw0LHQvtGC0YfQuNC6INC90LAg0YHQvtCx0YvRgtC40LUg0LLQuNC00LbQtdGC0LAg0Lgg0LLQvtC30LLRgNCw0YnQsNC10YIg0YTRg9C90LrRhtC40Y4g0L7RgtC/0LjRgdC60LguXG4gICAgICpcbiAgICAgKiBAcGFyYW0gd2lkZ2V0SWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQuNC00LbQtdGC0LAuXG4gICAgICogQHBhcmFtIGV2ZW50INCh0L7QsdGL0YLQuNC1INCy0LjQtNC20LXRgtCwLlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayDQntCx0YDQsNCx0L7RgtGH0LjQuiDRgdC+0LHRi9GC0LjRjywg0LTQu9GPINGB0L7QsdGL0YLQuNGPIGBzdWNjZXNzYCDQv9C+0LvRg9GH0LDQtdGCINGC0L7QutC10L0uXG4gICAgICovXG4gICAgc3Vic2NyaWJlOiAod2lkZ2V0SWQ6IG51bWJlciwgZXZlbnQ6IFNjU21hcnRDYXB0Y2hhRXZlbnQsIGNhbGxiYWNrOiAocGF5bG9hZD86IHVua25vd24pID0+IHZvaWQpID0+ICgpID0+IHZvaWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQodC+0LHRi9GC0LjQtSDQstC40LTQttC10YLQsCBZYW5kZXggU21hcnRDYXB0Y2hhLCDQvdCwINC60L7RgtC+0YDQvtC1INC80L7QttC90L4g0L/QvtC00L/QuNGB0LDRgtGM0YHRjy5cbiAqL1xuZXhwb3J0IHR5cGUgU2NTbWFydENhcHRjaGFFdmVudCA9ICdjaGFsbGVuZ2UtdmlzaWJsZScgfCAnY2hhbGxlbmdlLWhpZGRlbicgfCAnbmV0d29yay1lcnJvcicgfCAnamF2YXNjcmlwdC1lcnJvcicgfCAnc3VjY2VzcycgfCAndG9rZW4tZXhwaXJlZCc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDQr9C30YvQuiDQstC40LTQttC10YLQsCBZYW5kZXggU21hcnRDYXB0Y2hhLlxuICovXG5leHBvcnQgdHlwZSBTY1NtYXJ0Q2FwdGNoYUxhbmd1YWdlID0gJ3J1JyB8ICdlbicgfCAnYmUnIHwgJ2trJyB8ICd0dCcgfCAndWsnIHwgJ3V6JyB8ICd0cic7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1yZW5kZXItcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3NtYXJ0LWNhcHRjaGEvaW50ZXJmYWNlcy9zYy1zbWFydC1jYXB0Y2hhLXJlbmRlci1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjU21hcnRDYXB0Y2hhTGFuZ3VhZ2UgfSBmcm9tICcuL3NjLXNtYXJ0LWNhcHRjaGEtbGFuZ3VhZ2UnO1xuXG4vKipcbiAqINCf0LDRgNCw0LzQtdGC0YDRiyDQvtGC0YDQuNGB0L7QstC60Lgg0LLQuNC00LbQtdGC0LAgWWFuZGV4IFNtYXJ0Q2FwdGNoYS5cbiAqXG4gKiBAc2VlIFvQnNC10YLQvtC0IHJlbmRlcl0oaHR0cHM6Ly95YW5kZXguY2xvdWQvcnUvZG9jcy9zbWFydGNhcHRjaGEvY29uY2VwdHMvd2lkZ2V0LW1ldGhvZHMjcmVuZGVyKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjU21hcnRDYXB0Y2hhUmVuZGVyUGFyYW1zIHtcbiAgICAvKipcbiAgICAgKiDQmtC70Y7RhyDQutC70LjQtdC90YLRgdC60L7QuSDRh9Cw0YHRgtC4LlxuICAgICAqL1xuICAgIHNpdGVrZXk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCv0LfRi9C6INCy0LjQtNC20LXRgtCwLlxuICAgICAqL1xuICAgIGhsPzogU2NTbWFydENhcHRjaGFMYW5ndWFnZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NTbWFydENhcHRjaGFMYW5ndWFnZSB9IGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1sYW5ndWFnZSc7XG5cbi8qKlxuICog0J3QsNGB0YLRgNC+0LnQutC4IFlhbmRleCBTbWFydENhcHRjaGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NTbWFydENhcHRjaGFTZXR0aW5ncyB7XG4gICAgLyoqXG4gICAgICog0JrQu9GO0Ycg0LrQu9C40LXQvdGC0YHQutC+0Lkg0YfQsNGB0YLQuC5cbiAgICAgKlxuICAgICAqIEBzZWUgW9Ca0LvRjtGH0Lgg0LrQsNC/0YfQuF0oaHR0cHM6Ly95YW5kZXguY2xvdWQvcnUvZG9jcy9zbWFydGNhcHRjaGEvY29uY2VwdHMva2V5cylcbiAgICAgKi9cbiAgICBzaXRla2V5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQr9C30YvQuiDQstC40LTQttC10YLQsC5cbiAgICAgKi9cbiAgICBsYW5ndWFnZTogU2NTbWFydENhcHRjaGFMYW5ndWFnZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS13aW5kb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9pbnRlcmZhY2VzL3NjLXNtYXJ0LWNhcHRjaGEtd2luZG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1NtYXJ0Q2FwdGNoYUFwaSB9IGZyb20gJy4vc2Mtc21hcnQtY2FwdGNoYS1hcGknO1xuXG4vKipcbiAqINCe0LrQvdC+INCx0YDQsNGD0LfQtdGA0LAg0YEgQVBJIFlhbmRleCBTbWFydENhcHRjaGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NTbWFydENhcHRjaGFXaW5kb3cgZXh0ZW5kcyBXaW5kb3cge1xuICAgIC8qKlxuICAgICAqIEFQSSBZYW5kZXggU21hcnRDYXB0Y2hhLCDQv9C+0Y/QstC70Y/QtdGC0YHRjyDQv9C+0YHQu9C1INC30LDQs9GA0YPQt9C60Lgg0YHQutGA0LjQv9GC0LAuXG4gICAgICovXG4gICAgc21hcnRDYXB0Y2hhPzogU2NTbWFydENhcHRjaGFBcGk7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQt9Cw0LPRgNGD0LfQutC4INGB0LrRgNC40L/RgtCwLCDQuNC80Y8g0LrQvtGC0L7RgNC+0LPQviDQv9C10YDQtdC00LDRkdGC0YHRjyDQsiDQv9Cw0YDQsNC80LXRgtGA0LUgYG9ubG9hZGAg0LDQtNGA0LXRgdCwINGB0LrRgNC40L/RgtCwLlxuICAgICAqL1xuICAgIHNjU21hcnRDYXB0Y2hhT25sb2FkPzogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/* eslint-disable no-use-before-define */
|
|
2
|
+
import { afterNextRender, ChangeDetectionStrategy, Component, DestroyRef, inject, NgZone, signal, viewChild } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
+
import { tuiProvide } from '@taiga-ui/cdk';
|
|
6
|
+
import { TuiLink } from '@taiga-ui/core';
|
|
7
|
+
import { noop, tap } from 'rxjs';
|
|
8
|
+
import { ScSmartCaptchaLoaderService } from './services/sc-smart-captcha-loader.service';
|
|
9
|
+
import { SC_SMART_CAPTCHA_SETTINGS } from './tokens/sc-smart-captcha-settings.token';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
/**
|
|
12
|
+
* Виджет Yandex SmartCaptcha. Значение поля ввода - токен прохождения проверки, `null` пока проверка не пройдена или токен истёк.
|
|
13
|
+
*/
|
|
14
|
+
export class ScSmartCaptchaComponent {
|
|
15
|
+
/**
|
|
16
|
+
* Инициализирует экземпляр класса {@link ScSmartCaptchaComponent}.
|
|
17
|
+
*/
|
|
18
|
+
constructor() {
|
|
19
|
+
/**
|
|
20
|
+
* Контейнер, в котором отрисовывается виджет.
|
|
21
|
+
*/
|
|
22
|
+
this.container = viewChild.required('container');
|
|
23
|
+
/**
|
|
24
|
+
* Настройки Yandex SmartCaptcha.
|
|
25
|
+
*/
|
|
26
|
+
this.settings = inject(SC_SMART_CAPTCHA_SETTINGS);
|
|
27
|
+
/**
|
|
28
|
+
* Сервис загрузки скрипта Yandex SmartCaptcha.
|
|
29
|
+
*/
|
|
30
|
+
this.loader = inject(ScSmartCaptchaLoaderService);
|
|
31
|
+
/**
|
|
32
|
+
* {@link NgZone} для отрисовки виджета вне зоны Angular и возврата его событий в зону.
|
|
33
|
+
*/
|
|
34
|
+
this.ngZone = inject(NgZone);
|
|
35
|
+
/**
|
|
36
|
+
* Ссылка для автоматического управления уничтожением зависимостей.
|
|
37
|
+
*/
|
|
38
|
+
this.destroyRef = inject(DestroyRef);
|
|
39
|
+
/**
|
|
40
|
+
* Признак того, что капчу не удалось загрузить.
|
|
41
|
+
*/
|
|
42
|
+
this.hasError = signal(false);
|
|
43
|
+
/**
|
|
44
|
+
* Функции отписки от событий виджета.
|
|
45
|
+
*/
|
|
46
|
+
this.unsubscribers = [];
|
|
47
|
+
/**
|
|
48
|
+
* Обработчик изменения значения поля ввода.
|
|
49
|
+
*/
|
|
50
|
+
this.onChange = noop;
|
|
51
|
+
/**
|
|
52
|
+
* Обработчик касания поля ввода.
|
|
53
|
+
*/
|
|
54
|
+
this.onTouched = noop;
|
|
55
|
+
afterNextRender(() => {
|
|
56
|
+
this.load();
|
|
57
|
+
});
|
|
58
|
+
this.destroyRef.onDestroy(() => {
|
|
59
|
+
this.destroyWidget();
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/** @inheritDoc */
|
|
63
|
+
writeValue(token) {
|
|
64
|
+
const { api, widgetId } = this;
|
|
65
|
+
if (!token && api && widgetId !== undefined) {
|
|
66
|
+
this.ngZone.runOutsideAngular(() => {
|
|
67
|
+
api.reset(widgetId);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** @inheritDoc */
|
|
72
|
+
registerOnChange(onChange) {
|
|
73
|
+
this.onChange = onChange;
|
|
74
|
+
}
|
|
75
|
+
/** @inheritDoc */
|
|
76
|
+
registerOnTouched(onTouched) {
|
|
77
|
+
this.onTouched = onTouched;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Повторяет загрузку капчи после ошибки.
|
|
81
|
+
*/
|
|
82
|
+
retry() {
|
|
83
|
+
this.hasError.set(false);
|
|
84
|
+
this.load();
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Загружает API Yandex SmartCaptcha и отрисовывает виджет (API приходит вне зоны Angular). При ошибке загрузки или отрисовки показывает сообщение.
|
|
88
|
+
*/
|
|
89
|
+
load() {
|
|
90
|
+
this.loader.api$
|
|
91
|
+
.pipe(tap((api) => {
|
|
92
|
+
this.render(api);
|
|
93
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
94
|
+
.subscribe({
|
|
95
|
+
error: () => {
|
|
96
|
+
this.showError();
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Отрисовывает виджет и подписывается на его события.
|
|
102
|
+
*
|
|
103
|
+
* @param api API Yandex SmartCaptcha.
|
|
104
|
+
*/
|
|
105
|
+
render(api) {
|
|
106
|
+
const widgetId = api.render(this.container().nativeElement, { sitekey: this.settings.sitekey, hl: this.settings.language });
|
|
107
|
+
this.api = api;
|
|
108
|
+
this.widgetId = widgetId;
|
|
109
|
+
this.unsubscribers = [
|
|
110
|
+
api.subscribe(widgetId, 'success', (token) => {
|
|
111
|
+
this.updateValue(typeof token === 'string' ? token : null);
|
|
112
|
+
}),
|
|
113
|
+
api.subscribe(widgetId, 'token-expired', () => {
|
|
114
|
+
this.updateValue(null);
|
|
115
|
+
api.reset(widgetId);
|
|
116
|
+
}),
|
|
117
|
+
api.subscribe(widgetId, 'javascript-error', () => {
|
|
118
|
+
this.showError();
|
|
119
|
+
}),
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Передаёт форме новое значение токена.
|
|
124
|
+
*
|
|
125
|
+
* @param token Токен прохождения проверки.
|
|
126
|
+
*/
|
|
127
|
+
updateValue(token) {
|
|
128
|
+
this.ngZone.run(() => {
|
|
129
|
+
this.onChange(token);
|
|
130
|
+
this.onTouched();
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Удаляет виджет, очищает токен и показывает сообщение об ошибке.
|
|
135
|
+
*/
|
|
136
|
+
showError() {
|
|
137
|
+
this.destroyWidget();
|
|
138
|
+
this.ngZone.run(() => {
|
|
139
|
+
this.hasError.set(true);
|
|
140
|
+
this.onChange(null);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Удаляет виджет вместе с созданными им элементами и обработчиками.
|
|
145
|
+
*/
|
|
146
|
+
destroyWidget() {
|
|
147
|
+
this.unsubscribers.forEach((unsubscribe) => {
|
|
148
|
+
unsubscribe();
|
|
149
|
+
});
|
|
150
|
+
this.unsubscribers = [];
|
|
151
|
+
const { api, widgetId } = this;
|
|
152
|
+
if (api && widgetId !== undefined) {
|
|
153
|
+
this.ngZone.runOutsideAngular(() => {
|
|
154
|
+
api.destroy(widgetId);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
this.api = undefined;
|
|
158
|
+
this.widgetId = undefined;
|
|
159
|
+
}
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSmartCaptchaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScSmartCaptchaComponent, isStandalone: true, selector: "sc-smart-captcha", providers: [tuiProvide(NG_VALUE_ACCESSOR, ScSmartCaptchaComponent, true)], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n #container\n class=\"min-h-[7.375rem]\"\n [class.hidden]=\"hasError()\"\n></div>\n@if (hasError()) {\n <p\n role=\"alert\"\n class=\"text-body-s text-tui-text-negative\"\n >\n \u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0443 \u00AB\u042F \u043D\u0435 \u0440\u043E\u0431\u043E\u0442\u00BB.\n <button\n tuiLink\n type=\"button\"\n (click)=\"retry()\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C\n </button>\n </p>\n}\n", dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
162
|
+
}
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSmartCaptchaComponent, decorators: [{
|
|
164
|
+
type: Component,
|
|
165
|
+
args: [{ standalone: true, selector: 'sc-smart-captcha', imports: [TuiLink], providers: [tuiProvide(NG_VALUE_ACCESSOR, ScSmartCaptchaComponent, true)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #container\n class=\"min-h-[7.375rem]\"\n [class.hidden]=\"hasError()\"\n></div>\n@if (hasError()) {\n <p\n role=\"alert\"\n class=\"text-body-s text-tui-text-negative\"\n >\n \u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0443 \u00AB\u042F \u043D\u0435 \u0440\u043E\u0431\u043E\u0442\u00BB.\n <button\n tuiLink\n type=\"button\"\n (click)=\"retry()\"\n >\n \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C\n </button>\n </p>\n}\n" }]
|
|
166
|
+
}], ctorParameters: () => [] });
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9zYy1zbWFydC1jYXB0Y2hhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL3NjLXNtYXJ0LWNhcHRjaGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBYyxNQUFNLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZLLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlqQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFFckY7O0dBRUc7QUFTSCxNQUFNLE9BQU8sdUJBQXVCO0lBd0RoQzs7T0FFRztJQUNIO1FBMURBOztXQUVHO1FBQ2MsY0FBUyxHQUFvQyxTQUFTLENBQUMsUUFBUSxDQUEwQixXQUFXLENBQUMsQ0FBQztRQUV2SDs7V0FFRztRQUNjLGFBQVEsR0FBMkIsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFdEY7O1dBRUc7UUFDYyxXQUFNLEdBQWdD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QUFJLENBQUM7UUFFL0IsSUFBSSxHQUFHLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUMvQixHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7K0dBdExRLHVCQUF1QjttR0FBdkIsdUJBQXVCLCtEQUhyQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxrSkN0QjdFLGlwQkFvQkEsNENEQ2MsT0FBTzs7NEZBSVIsdUJBQXVCO2tCQVJuQyxTQUFTO2lDQUNNLElBQUksWUFDTixrQkFBa0IsV0FFbkIsQ0FBQyxPQUFPLENBQUMsYUFDUCxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsMkJBQTJCLElBQUksQ0FBQyxDQUFDLG1CQUN4RCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cblxuaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIE5nWm9uZSwgU2lnbmFsLCBzaWduYWwsIHZpZXdDaGlsZCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHR1aVByb3ZpZGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aUxpbmsgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBub29wLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NTbWFydENhcHRjaGFBcGkgfSBmcm9tICcuL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1hcGknO1xuaW1wb3J0IHsgU2NTbWFydENhcHRjaGFTZXR0aW5ncyB9IGZyb20gJy4vaW50ZXJmYWNlcy9zYy1zbWFydC1jYXB0Y2hhLXNldHRpbmdzJztcbmltcG9ydCB7IFNjU21hcnRDYXB0Y2hhTG9hZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2Mtc21hcnQtY2FwdGNoYS1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTQ19TTUFSVF9DQVBUQ0hBX1NFVFRJTkdTIH0gZnJvbSAnLi90b2tlbnMvc2Mtc21hcnQtY2FwdGNoYS1zZXR0aW5ncy50b2tlbic7XG5cbi8qKlxuICog0JLQuNC00LbQtdGCIFlhbmRleCBTbWFydENhcHRjaGEuINCX0L3QsNGH0LXQvdC40LUg0L/QvtC70Y8g0LLQstC+0LTQsCAtINGC0L7QutC10L0g0L/RgNC+0YXQvtC20LTQtdC90LjRjyDQv9GA0L7QstC10YDQutC4LCBgbnVsbGAg0L/QvtC60LAg0L/RgNC+0LLQtdGA0LrQsCDQvdC1INC/0YDQvtC50LTQtdC90LAg0LjQu9C4INGC0L7QutC10L0g0LjRgdGC0ZHQui5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLXNtYXJ0LWNhcHRjaGEnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1zbWFydC1jYXB0Y2hhLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVHVpTGlua10sXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShOR19WQUxVRV9BQ0NFU1NPUiwgU2NTbWFydENhcHRjaGFDb21wb25lbnQsIHRydWUpXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NTbWFydENhcHRjaGFDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqXG4gICAgICog0JrQvtC90YLQtdC50L3QtdGALCDQsiDQutC+0YLQvtGA0L7QvCDQvtGC0YDQuNGB0L7QstGL0LLQsNC10YLRgdGPINCy0LjQtNC20LXRgi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lcjogU2lnbmFsPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2NvbnRhaW5lcicpO1xuXG4gICAgLyoqXG4gICAgICog0J3QsNGB0YLRgNC+0LnQutC4IFlhbmRleCBTbWFydENhcHRjaGEuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nczogU2NTbWFydENhcHRjaGFTZXR0aW5ncyA9IGluamVjdChTQ19TTUFSVF9DQVBUQ0hBX1NFVFRJTkdTKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQt9Cw0LPRgNGD0LfQutC4INGB0LrRgNC40L/RgtCwIFlhbmRleCBTbWFydENhcHRjaGEuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2FkZXI6IFNjU21hcnRDYXB0Y2hhTG9hZGVyU2VydmljZSA9IGluamVjdChTY1NtYXJ0Q2FwdGNoYUxvYWRlclNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE5nWm9uZX0g0LTQu9GPINC+0YLRgNC40YHQvtCy0LrQuCDQstC40LTQttC10YLQsCDQstC90LUg0LfQvtC90YsgQW5ndWxhciDQuCDQstC+0LfQstGA0LDRgtCwINC10LPQviDRgdC+0LHRi9GC0LjQuSDQsiDQt9C+0L3Rgy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0LTQu9GPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDRg9C/0YDQsNCy0LvQtdC90LjRjyDRg9C90LjRh9GC0L7QttC10L3QuNC10Lwg0LfQsNCy0LjRgdC40LzQvtGB0YLQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6INGC0L7Qs9C+LCDRh9GC0L4g0LrQsNC/0YfRgyDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFzRXJyb3I6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIEFQSSBZYW5kZXggU21hcnRDYXB0Y2hhLCDQsiDQutC+0YLQvtGA0L7QvCDQvtGC0YDQuNGB0L7QstCw0L0g0LLQuNC00LbQtdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgYXBpPzogU2NTbWFydENhcHRjaGFBcGk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvtGC0YDQuNGB0L7QstCw0L3QvdC+0LPQviDQstC40LTQttC10YLQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHdpZGdldElkPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0KTRg9C90LrRhtC40Lgg0L7RgtC/0LjRgdC60Lgg0L7RgiDRgdC+0LHRi9GC0LjQuSDQstC40LTQttC10YLQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlcnM6IEFycmF5PCgpID0+IHZvaWQ+ID0gW107XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQuNC30LzQtdC90LXQvdC40Y8g0LfQvdCw0YfQtdC90LjRjyDQv9C+0LvRjyDQstCy0L7QtNCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh0b2tlbjogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCA9IG5vb3A7XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQutCw0YHQsNC90LjRjyDQv9C+0LvRjyDQstCy0L7QtNCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gbm9vcDtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NTbWFydENhcHRjaGFDb21wb25lbnR9LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveVdpZGdldCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh0b2tlbjogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGFwaSwgd2lkZ2V0SWQgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF0b2tlbiAmJiBhcGkgJiYgd2lkZ2V0SWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGFwaS5yZXNldCh3aWRnZXRJZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodG9rZW46IHN0cmluZyB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QvtCy0YLQvtGA0Y/QtdGCINC30LDQs9GA0YPQt9C60YMg0LrQsNC/0YfQuCDQv9C+0YHQu9C1INC+0YjQuNCx0LrQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmV0cnkoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3Iuc2V0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNCz0YDRg9C20LDQtdGCIEFQSSBZYW5kZXggU21hcnRDYXB0Y2hhINC4INC+0YLRgNC40YHQvtCy0YvQstCw0LXRgiDQstC40LTQttC10YIgKEFQSSDQv9GA0LjRhdC+0LTQuNGCINCy0L3QtSDQt9C+0L3RiyBBbmd1bGFyKS4g0J/RgNC4INC+0YjQuNCx0LrQtSDQt9Cw0LPRgNGD0LfQutC4INC40LvQuCDQvtGC0YDQuNGB0L7QstC60Lgg0L/QvtC60LDQt9GL0LLQsNC10YIg0YHQvtC+0LHRidC10L3QuNC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkZXIuYXBpJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChhcGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXIoYXBpKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7RgtGA0LjRgdC+0LLRi9Cy0LDQtdGCINCy0LjQtNC20LXRgiDQuCDQv9C+0LTQv9C40YHRi9Cy0LDQtdGC0YHRjyDQvdCwINC10LPQviDRgdC+0LHRi9GC0LjRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhcGkgQVBJIFlhbmRleCBTbWFydENhcHRjaGEuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZW5kZXIoYXBpOiBTY1NtYXJ0Q2FwdGNoYUFwaSk6IHZvaWQge1xuICAgICAgICBjb25zdCB3aWRnZXRJZCA9IGFwaS5yZW5kZXIodGhpcy5jb250YWluZXIoKS5uYXRpdmVFbGVtZW50LCB7IHNpdGVrZXk6IHRoaXMuc2V0dGluZ3Muc2l0ZWtleSwgaGw6IHRoaXMuc2V0dGluZ3MubGFuZ3VhZ2UgfSk7XG5cbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMud2lkZ2V0SWQgPSB3aWRnZXRJZDtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZXJzID0gW1xuICAgICAgICAgICAgYXBpLnN1YnNjcmliZSh3aWRnZXRJZCwgJ3N1Y2Nlc3MnLCAodG9rZW4pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHR5cGVvZiB0b2tlbiA9PT0gJ3N0cmluZycgPyB0b2tlbiA6IG51bGwpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBhcGkuc3Vic2NyaWJlKHdpZGdldElkLCAndG9rZW4tZXhwaXJlZCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICAgICAgICAgIGFwaS5yZXNldCh3aWRnZXRJZCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGFwaS5zdWJzY3JpYmUod2lkZ2V0SWQsICdqYXZhc2NyaXB0LWVycm9yJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9C10YDQtdC00LDRkdGCINGE0L7RgNC80LUg0L3QvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1INGC0L7QutC10L3QsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0b2tlbiDQotC+0LrQtdC9INC/0YDQvtGF0L7QttC00LXQvdC40Y8g0L/RgNC+0LLQtdGA0LrQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVwZGF0ZVZhbHVlKHRva2VuOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRva2VuKTtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINCy0LjQtNC20LXRgiwg0L7Rh9C40YnQsNC10YIg0YLQvtC60LXQvSDQuCDQv9C+0LrQsNC30YvQstCw0LXRgiDRgdC+0L7QsdGJ0LXQvdC40LUg0L7QsSDQvtGI0LjQsdC60LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzaG93RXJyb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveVdpZGdldCgpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYXNFcnJvci5zZXQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQstC40LTQttC10YIg0LLQvNC10YHRgtC1INGBINGB0L7Qt9C00LDQvdC90YvQvNC4INC40Lwg0Y3Qu9C10LzQtdC90YLQsNC80Lgg0Lgg0L7QsdGA0LDQsdC+0YLRh9C40LrQsNC80LguXG4gICAgICovXG4gICAgcHJpdmF0ZSBkZXN0cm95V2lkZ2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlcnMuZm9yRWFjaCgodW5zdWJzY3JpYmUpID0+IHtcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlcnMgPSBbXTtcblxuICAgICAgICBjb25zdCB7IGFwaSwgd2lkZ2V0SWQgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGFwaSAmJiB3aWRnZXRJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXBpLmRlc3Ryb3kod2lkZ2V0SWQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFwaSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy53aWRnZXRJZCA9IHVuZGVmaW5lZDtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRhaW5lclxuICAgIGNsYXNzPVwibWluLWgtWzcuMzc1cmVtXVwiXG4gICAgW2NsYXNzLmhpZGRlbl09XCJoYXNFcnJvcigpXCJcbj48L2Rpdj5cbkBpZiAoaGFzRXJyb3IoKSkge1xuICAgIDxwXG4gICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgIGNsYXNzPVwidGV4dC1ib2R5LXMgdGV4dC10dWktdGV4dC1uZWdhdGl2ZVwiXG4gICAgPlxuICAgICAgICDQndC1INGD0LTQsNC70L7RgdGMINC30LDQs9GA0YPQt9C40YLRjCDQv9GA0L7QstC10YDQutGDIMKr0K8g0L3QtSDRgNC+0LHQvtGCwrsuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cInJldHJ5KClcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQn9C+0LLRgtC+0YDQuNGC0YxcbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9wPlxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './sc-smart-captcha-loader.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLWxvYWRlci5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { WA_WINDOW } from '@ng-web-apis/common';
|
|
3
|
+
import { IS_BROWSER } from '@snabcentr/client-core';
|
|
4
|
+
import { tuiZonefree } from '@taiga-ui/cdk';
|
|
5
|
+
import { defer, EMPTY, ignoreElements, merge, Observable, of, shareReplay, timeout } from 'rxjs';
|
|
6
|
+
import { ScScriptsService } from '../../services/sc-scripts.service';
|
|
7
|
+
import { SC_SMART_CAPTCHA_LOAD_TIMEOUT } from '../tokens/sc-smart-captcha-load-timeout.token';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Сервис загрузки скрипта Yandex SmartCaptcha.
|
|
11
|
+
*/
|
|
12
|
+
export class ScSmartCaptchaLoaderService {
|
|
13
|
+
constructor() {
|
|
14
|
+
/**
|
|
15
|
+
* Сервис для вставки внешних скриптов.
|
|
16
|
+
*/
|
|
17
|
+
this.scriptsService = inject(ScScriptsService);
|
|
18
|
+
/**
|
|
19
|
+
* Окно браузера с API Yandex SmartCaptcha.
|
|
20
|
+
*/
|
|
21
|
+
this.window = inject(WA_WINDOW);
|
|
22
|
+
/**
|
|
23
|
+
* Признак того, что приложение запущено в браузере.
|
|
24
|
+
*/
|
|
25
|
+
this.isBrowser = inject(IS_BROWSER);
|
|
26
|
+
/**
|
|
27
|
+
* Время ожидания загрузки скрипта в миллисекундах.
|
|
28
|
+
*/
|
|
29
|
+
this.loadTimeout = inject(SC_SMART_CAPTCHA_LOAD_TIMEOUT);
|
|
30
|
+
/**
|
|
31
|
+
* Имя функции окна, которую скрипт вызывает после загрузки.
|
|
32
|
+
*/
|
|
33
|
+
this.onloadCallbackName = 'scSmartCaptchaOnload';
|
|
34
|
+
/**
|
|
35
|
+
* Адрес скрипта.
|
|
36
|
+
*/
|
|
37
|
+
this.scriptUrl = `https://smartcaptcha.cloud.yandex.ru/captcha.js?render=onload&onload=${this.onloadCallbackName}`;
|
|
38
|
+
/**
|
|
39
|
+
* Загрузка API, общая для всех виджетов. Скрипт загружается один раз; отписка и истечение ожидания у подписчика загрузку не прерывают, после ошибки следующая подписка загружает скрипт заново.
|
|
40
|
+
*/
|
|
41
|
+
this.loading$ = defer(() => this.load$()).pipe(shareReplay(1));
|
|
42
|
+
/**
|
|
43
|
+
* {@link Observable} API Yandex SmartCaptcha. Значения и ошибки приходят вне зоны Angular, ожидание первого значения ограничено {@link SC_SMART_CAPTCHA_LOAD_TIMEOUT}.
|
|
44
|
+
*/
|
|
45
|
+
this.api$ = this.loading$.pipe(timeout({ first: this.loadTimeout }), tuiZonefree());
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Возвращает API Yandex SmartCaptcha, при необходимости загружая скрипт. На сервере ничего не возвращает.
|
|
49
|
+
*/
|
|
50
|
+
load$() {
|
|
51
|
+
if (!this.isBrowser) {
|
|
52
|
+
return EMPTY;
|
|
53
|
+
}
|
|
54
|
+
if (this.window.smartCaptcha) {
|
|
55
|
+
return of(this.window.smartCaptcha);
|
|
56
|
+
}
|
|
57
|
+
return merge(this.onload$(), this.scriptsService.loadScript$(this.scriptUrl).pipe(ignoreElements()));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Ждёт вызова функции из параметра `onload` адреса скрипта и возвращает API, которое скрипт к этому моменту создал.
|
|
61
|
+
*/
|
|
62
|
+
onload$() {
|
|
63
|
+
return new Observable((subscriber) => {
|
|
64
|
+
this.window[this.onloadCallbackName] = () => {
|
|
65
|
+
if (this.window.smartCaptcha) {
|
|
66
|
+
subscriber.next(this.window.smartCaptcha);
|
|
67
|
+
subscriber.complete();
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
subscriber.error(new Error('Yandex SmartCaptcha API is unavailable'));
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
return () => {
|
|
74
|
+
this.window[this.onloadCallbackName] = undefined;
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSmartCaptchaLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
79
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSmartCaptchaLoaderService, providedIn: 'root' }); }
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScSmartCaptchaLoaderService, decorators: [{
|
|
82
|
+
type: Injectable,
|
|
83
|
+
args: [{
|
|
84
|
+
providedIn: 'root',
|
|
85
|
+
}]
|
|
86
|
+
}] });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1sb2FkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL3NlcnZpY2VzL3NjLXNtYXJ0LWNhcHRjaGEtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQUU5Rjs7R0FFRztBQUlILE1BQU0sT0FBTywyQkFBMkI7SUFIeEM7UUFJSTs7V0FFRztRQUNjLG1CQUFjLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdFOztXQUVHO1FBQ2MsV0FBTSxHQUF5QixNQUFNLENBQXVCLFNBQVMsQ0FBQyxDQUFDO1FBRXhGOztXQUVHO1FBQ2MsY0FBUyxHQUFZLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RDs7V0FFRztRQUNjLGdCQUFXLEdBQVcsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFN0U7O1dBRUc7UUFDYyx1QkFBa0IsR0FBRyxzQkFBMkQsQ0FBQztRQUVsRzs7V0FFRztRQUNjLGNBQVMsR0FBVyx3RUFBd0UsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFdkk7O1dBRUc7UUFDYyxhQUFRLEdBQWtDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUc7O1dBRUc7UUFDYSxTQUFJLEdBQWtDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBb0NqSTtJQWxDRzs7T0FFRztJQUNLLEtBQUs7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRDs7T0FFRztJQUNLLE9BQU87UUFDWCxPQUFPLElBQUksVUFBVSxDQUFvQixDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBUyxFQUFFO2dCQUM5QyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDMUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixDQUFDO3FCQUFNLENBQUM7b0JBQ0osVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLENBQUM7Z0JBQzFFLENBQUM7WUFDTCxDQUFDLENBQUM7WUFFRixPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUNyRCxDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBMUVRLDJCQUEyQjttSEFBM0IsMkJBQTJCLGNBRnhCLE1BQU07OzRGQUVULDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdBX1dJTkRPVyB9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHsgSVNfQlJPV1NFUiB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgdHVpWm9uZWZyZWUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IGRlZmVyLCBFTVBUWSwgaWdub3JlRWxlbWVudHMsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXksIHRpbWVvdXQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NTY3JpcHRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NjLXNjcmlwdHMuc2VydmljZSc7XG5pbXBvcnQgeyBTY1NtYXJ0Q2FwdGNoYUFwaSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc2Mtc21hcnQtY2FwdGNoYS1hcGknO1xuaW1wb3J0IHsgU2NTbWFydENhcHRjaGFXaW5kb3cgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLXNtYXJ0LWNhcHRjaGEtd2luZG93JztcbmltcG9ydCB7IFNDX1NNQVJUX0NBUFRDSEFfTE9BRF9USU1FT1VUIH0gZnJvbSAnLi4vdG9rZW5zL3NjLXNtYXJ0LWNhcHRjaGEtbG9hZC10aW1lb3V0LnRva2VuJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LfQsNCz0YDRg9C30LrQuCDRgdC60YDQuNC/0YLQsCBZYW5kZXggU21hcnRDYXB0Y2hhLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY1NtYXJ0Q2FwdGNoYUxvYWRlclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0LLRgdGC0LDQstC60Lgg0LLQvdC10YjQvdC40YUg0YHQutGA0LjQv9GC0L7Qsi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcmlwdHNTZXJ2aWNlOiBTY1NjcmlwdHNTZXJ2aWNlID0gaW5qZWN0KFNjU2NyaXB0c1NlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0J7QutC90L4g0LHRgNCw0YPQt9C10YDQsCDRgSBBUEkgWWFuZGV4IFNtYXJ0Q2FwdGNoYS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogU2NTbWFydENhcHRjaGFXaW5kb3cgPSBpbmplY3Q8U2NTbWFydENhcHRjaGFXaW5kb3c+KFdBX1dJTkRPVyk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgtC+0LPQviwg0YfRgtC+INC/0YDQuNC70L7QttC10L3QuNC1INC30LDQv9GD0YnQtdC90L4g0LIg0LHRgNCw0YPQt9C10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbiA9IGluamVjdChJU19CUk9XU0VSKTtcblxuICAgIC8qKlxuICAgICAqINCS0YDQtdC80Y8g0L7QttC40LTQsNC90LjRjyDQt9Cw0LPRgNGD0LfQutC4INGB0LrRgNC40L/RgtCwINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZFRpbWVvdXQ6IG51bWJlciA9IGluamVjdChTQ19TTUFSVF9DQVBUQ0hBX0xPQURfVElNRU9VVCk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC80Y8g0YTRg9C90LrRhtC40Lgg0L7QutC90LAsINC60L7RgtC+0YDRg9GOINGB0LrRgNC40L/RgiDQstGL0LfRi9Cy0LDQtdGCINC/0L7RgdC70LUg0LfQsNCz0YDRg9C30LrQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9ubG9hZENhbGxiYWNrTmFtZSA9ICdzY1NtYXJ0Q2FwdGNoYU9ubG9hZCcgc2F0aXNmaWVzIGtleW9mIFNjU21hcnRDYXB0Y2hhV2luZG93O1xuXG4gICAgLyoqXG4gICAgICog0JDQtNGA0LXRgSDRgdC60YDQuNC/0YLQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcmlwdFVybDogc3RyaW5nID0gYGh0dHBzOi8vc21hcnRjYXB0Y2hhLmNsb3VkLnlhbmRleC5ydS9jYXB0Y2hhLmpzP3JlbmRlcj1vbmxvYWQmb25sb2FkPSR7dGhpcy5vbmxvYWRDYWxsYmFja05hbWV9YDtcblxuICAgIC8qKlxuICAgICAqINCX0LDQs9GA0YPQt9C60LAgQVBJLCDQvtCx0YnQsNGPINC00LvRjyDQstGB0LXRhSDQstC40LTQttC10YLQvtCyLiDQodC60YDQuNC/0YIg0LfQsNCz0YDRg9C20LDQtdGC0YHRjyDQvtC00LjQvSDRgNCw0Lc7INC+0YLQv9C40YHQutCwINC4INC40YHRgtC10YfQtdC90LjQtSDQvtC20LjQtNCw0L3QuNGPINGDINC/0L7QtNC/0LjRgdGH0LjQutCwINC30LDQs9GA0YPQt9C60YMg0L3QtSDQv9GA0LXRgNGL0LLQsNGO0YIsINC/0L7RgdC70LUg0L7RiNC40LHQutC4INGB0LvQtdC00YPRjtGJ0LDRjyDQv9C+0LTQv9C40YHQutCwINC30LDQs9GA0YPQttCw0LXRgiDRgdC60YDQuNC/0YIg0LfQsNC90L7QstC+LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZyQ6IE9ic2VydmFibGU8U2NTbWFydENhcHRjaGFBcGk+ID0gZGVmZXIoKCkgPT4gdGhpcy5sb2FkJCgpKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSBBUEkgWWFuZGV4IFNtYXJ0Q2FwdGNoYS4g0JfQvdCw0YfQtdC90LjRjyDQuCDQvtGI0LjQsdC60Lgg0L/RgNC40YXQvtC00Y/RgiDQstC90LUg0LfQvtC90YsgQW5ndWxhciwg0L7QttC40LTQsNC90LjQtSDQv9C10YDQstC+0LPQviDQt9C90LDRh9C10L3QuNGPINC+0LPRgNCw0L3QuNGH0LXQvdC+IHtAbGluayBTQ19TTUFSVF9DQVBUQ0hBX0xPQURfVElNRU9VVH0uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFwaSQ6IE9ic2VydmFibGU8U2NTbWFydENhcHRjaGFBcGk+ID0gdGhpcy5sb2FkaW5nJC5waXBlKHRpbWVvdXQoeyBmaXJzdDogdGhpcy5sb2FkVGltZW91dCB9KSwgdHVpWm9uZWZyZWUoKSk7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiBBUEkgWWFuZGV4IFNtYXJ0Q2FwdGNoYSwg0L/RgNC4INC90LXQvtCx0YXQvtC00LjQvNC+0YHRgtC4INC30LDQs9GA0YPQttCw0Y8g0YHQutGA0LjQv9GCLiDQndCwINGB0LXRgNCy0LXRgNC1INC90LjRh9C10LPQviDQvdC1INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgbG9hZCQoKTogT2JzZXJ2YWJsZTxTY1NtYXJ0Q2FwdGNoYUFwaT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy53aW5kb3cuc21hcnRDYXB0Y2hhKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy53aW5kb3cuc21hcnRDYXB0Y2hhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtZXJnZSh0aGlzLm9ubG9hZCQoKSwgdGhpcy5zY3JpcHRzU2VydmljZS5sb2FkU2NyaXB0JCh0aGlzLnNjcmlwdFVybCkucGlwZShpZ25vcmVFbGVtZW50cygpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JbQtNGR0YIg0LLRi9C30L7QstCwINGE0YPQvdC60YbQuNC4INC40Lcg0L/QsNGA0LDQvNC10YLRgNCwIGBvbmxvYWRgINCw0LTRgNC10YHQsCDRgdC60YDQuNC/0YLQsCDQuCDQstC+0LfQstGA0LDRidCw0LXRgiBBUEksINC60L7RgtC+0YDQvtC1INGB0LrRgNC40L/RgiDQuiDRjdGC0L7QvNGDINC80L7QvNC10L3RgtGDINGB0L7Qt9C00LDQuy5cbiAgICAgKi9cbiAgICBwcml2YXRlIG9ubG9hZCQoKTogT2JzZXJ2YWJsZTxTY1NtYXJ0Q2FwdGNoYUFwaT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8U2NTbWFydENhcHRjaGFBcGk+KChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLndpbmRvd1t0aGlzLm9ubG9hZENhbGxiYWNrTmFtZV0gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMud2luZG93LnNtYXJ0Q2FwdGNoYSkge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodGhpcy53aW5kb3cuc21hcnRDYXB0Y2hhKTtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IobmV3IEVycm9yKCdZYW5kZXggU21hcnRDYXB0Y2hhIEFQSSBpcyB1bmF2YWlsYWJsZScpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMud2luZG93W3RoaXMub25sb2FkQ2FsbGJhY2tOYW1lXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './sc-smart-captcha-load-timeout.token';
|
|
2
|
+
export * from './sc-smart-captcha-settings.token';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS90b2tlbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1zbWFydC1jYXB0Y2hhLWxvYWQtdGltZW91dC50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3NjLXNtYXJ0LWNhcHRjaGEtc2V0dGluZ3MudG9rZW4nO1xuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Токен времени ожидания загрузки скрипта Yandex SmartCaptcha в миллисекундах.
|
|
4
|
+
*/
|
|
5
|
+
export const SC_SMART_CAPTCHA_LOAD_TIMEOUT = new InjectionToken('SC_SMART_CAPTCHA_LOAD_TIMEOUT', {
|
|
6
|
+
factory: () => 20_000,
|
|
7
|
+
});
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1sb2FkLXRpbWVvdXQudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvc21hcnQtY2FwdGNoYS90b2tlbnMvc2Mtc21hcnQtY2FwdGNoYS1sb2FkLXRpbWVvdXQudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUFTLCtCQUErQixFQUFFO0lBQ3JHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNO0NBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog0KLQvtC60LXQvSDQstGA0LXQvNC10L3QuCDQvtC20LjQtNCw0L3QuNGPINC30LDQs9GA0YPQt9C60Lgg0YHQutGA0LjQv9GC0LAgWWFuZGV4IFNtYXJ0Q2FwdGNoYSDQsiDQvNC40LvQu9C40YHQtdC60YPQvdC00LDRhS5cbiAqL1xuZXhwb3J0IGNvbnN0IFNDX1NNQVJUX0NBUFRDSEFfTE9BRF9USU1FT1VUID0gbmV3IEluamVjdGlvblRva2VuPG51bWJlcj4oJ1NDX1NNQVJUX0NBUFRDSEFfTE9BRF9USU1FT1VUJywge1xuICAgIGZhY3Rvcnk6ICgpID0+IDIwXzAwMCxcbn0pO1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Токен настроек Yandex SmartCaptcha. Задаётся приложением.
|
|
4
|
+
*/
|
|
5
|
+
export const SC_SMART_CAPTCHA_SETTINGS = new InjectionToken('SC_SMART_CAPTCHA_SETTINGS');
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtc21hcnQtY2FwdGNoYS1zZXR0aW5ncy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9zbWFydC1jYXB0Y2hhL3Rva2Vucy9zYy1zbWFydC1jYXB0Y2hhLXNldHRpbmdzLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsMkJBQTJCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNjU21hcnRDYXB0Y2hhU2V0dGluZ3MgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjLXNtYXJ0LWNhcHRjaGEtc2V0dGluZ3MnO1xuXG4vKipcbiAqINCi0L7QutC10L0g0L3QsNGB0YLRgNC+0LXQuiBZYW5kZXggU21hcnRDYXB0Y2hhLiDQl9Cw0LTQsNGR0YLRgdGPINC/0YDQuNC70L7QttC10L3QuNC10LwuXG4gKi9cbmV4cG9ydCBjb25zdCBTQ19TTUFSVF9DQVBUQ0hBX1NFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPFNjU21hcnRDYXB0Y2hhU2V0dGluZ3M+KCdTQ19TTUFSVF9DQVBUQ0hBX1NFVFRJTkdTJyk7XG4iXX0=
|