@taiga-ui/cdk 4.4.0 → 4.4.1-canary.90b9797

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/constants/version.d.ts +1 -1
  2. package/constants/version.js +1 -1
  3. package/esm2022/constants/version.mjs +2 -2
  4. package/esm2022/directives/pan/pan.service.mjs +3 -3
  5. package/esm2022/directives/swipe/swipe.service.mjs +7 -7
  6. package/esm2022/directives/zoom/zoom.service.mjs +5 -5
  7. package/esm2022/utils/color/hex-to-rgba.mjs +2 -2
  8. package/esm2022/utils/color/parse-gradient.mjs +3 -3
  9. package/esm2022/utils/color/rgba-to-hex.mjs +6 -8
  10. package/esm2022/utils/focus/move-focus.mjs +2 -2
  11. package/esm2022/utils/miscellaneous/distance-between-touches.mjs +2 -2
  12. package/fesm2022/taiga-ui-cdk-constants.mjs +1 -1
  13. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-cdk-directives-pan.mjs +2 -2
  15. package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +6 -6
  17. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +4 -4
  19. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-cdk-utils-color.mjs +8 -10
  21. package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-cdk-utils-focus.mjs +1 -1
  23. package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +1 -1
  25. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  26. package/package.json +356 -356
  27. package/schematics/ng-add/steps/add-taiga-modules.js +8 -1
  28. package/schematics/ng-add/steps/wrap-with-tui-root.js +7 -2
  29. package/schematics/ng-update/v4/migrate-addon-doc/index.js +1 -1
  30. package/schematics/ng-update/v4/steps/migrate-legacy-mask.js +2 -2
  31. package/schematics/ng-update/v4/steps/migrate-number-format-settings.js +1 -1
  32. package/schematics/ng-update/v4/steps/restore-tui-mapper.js +1 -1
  33. package/schematics/ng-update/v4/steps/restore-tui-matcher.js +1 -1
  34. package/schematics/ng-update/v4/steps/templates/migrate-overscroll.js +5 -1
  35. package/schematics/ng-update/v4/steps/templates/migrate-prevent-default.js +3 -3
  36. package/schematics/ng-update/v4/steps/templates/migrate-progress-segmented.js +2 -2
  37. package/schematics/utils/add-unique-import.js +4 -3
  38. package/schematics/utils/get-component-from-identifier.js +1 -1
  39. package/schematics/utils/templates/get-component-templates.js +2 -2
  40. package/schematics/utils/templates/ng-component-input-manipulations.js +3 -3
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "4.4.0";
1
+ export declare const TUI_VERSION = "4.4.1";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '4.4.0';
4
+ exports.TUI_VERSION = '4.4.1';
@@ -1,2 +1,2 @@
1
- export const TUI_VERSION = '4.4.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuNC4wJztcbiJdfQ==
1
+ export const TUI_VERSION = '4.4.1';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuNC4xJztcbiJdfQ==
@@ -13,8 +13,8 @@ class TuiPanService extends Observable {
13
13
  .pipe(switchMap(() => merge(tuiTypedFromEvent(doc, 'touchmove', {
14
14
  passive: true,
15
15
  }).pipe(filter(({ touches }) => touches.length < 2), map(({ touches }) => touches[0])), tuiTypedFromEvent(doc, 'mousemove'))), pairwise(), map(([first, second]) => {
16
- const deltaX = second.clientX - first.clientX;
17
- const deltaY = second.clientY - first.clientY;
16
+ const deltaX = (second?.clientX ?? 0) - (first?.clientX ?? 0);
17
+ const deltaY = (second?.clientY ?? 0) - (first?.clientY ?? 0);
18
18
  return [deltaX, deltaY];
19
19
  }), takeUntil(merge(tuiTypedFromEvent(doc, 'touchend'), tuiTypedFromEvent(doc, 'mouseup'))), repeat())
20
20
  .subscribe(subscriber);
@@ -27,4 +27,4 @@ export { TuiPanService };
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPanService, decorators: [{
28
28
  type: Injectable
29
29
  }], ctorParameters: function () { return []; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9wYW4vcGFuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCxNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sTUFBTSxDQUFDOztBQUVkLE1BQ2EsYUFBYyxTQUFRLFVBQXFDO0lBQ3BFO1FBQ0ksTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0IsS0FBSyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakIsS0FBSyxDQUNELGlCQUFpQixDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFDcEQsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUNyQztpQkFDSSxJQUFJLENBQ0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNYLEtBQUssQ0FDRCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUNoQyxPQUFPLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUMsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQ3pDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqQyxFQUNELGlCQUFpQixDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FDdEMsQ0FDSixFQUNELFFBQVEsRUFBRSxFQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO2dCQUU5QyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBcUIsQ0FBQztZQUNoRCxDQUFDLENBQUMsRUFDRixTQUFTLENBQ0wsS0FBSyxDQUNELGlCQUFpQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFDbEMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUNwQyxDQUNKLEVBQ0QsTUFBTSxFQUFFLENBQ1g7aUJBQ0EsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F2Q1EsYUFBYTttSEFBYixhQUFhOztTQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIE9ic2VydmFibGUsXG4gICAgcGFpcndpc2UsXG4gICAgcmVwZWF0LFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpUGFuU2VydmljZSBleHRlbmRzIE9ic2VydmFibGU8cmVhZG9ubHkgW251bWJlciwgbnVtYmVyXT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICAgICAgY29uc3QgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgICAgICBzdXBlcigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaHN0YXJ0Jywge3Bhc3NpdmU6IHRydWV9KSxcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ21vdXNlZG93bicpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGRvYywgJ3RvdWNobW92ZScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPCAyKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCh7dG91Y2hlc30pID0+IHRvdWNoZXNbMF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZG9jLCAnbW91c2Vtb3ZlJyksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKFtmaXJzdCwgc2Vjb25kXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGFYID0gc2Vjb25kLmNsaWVudFggLSBmaXJzdC5jbGllbnRYO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGFZID0gc2Vjb25kLmNsaWVudFkgLSBmaXJzdC5jbGllbnRZO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gW2RlbHRhWCwgZGVsdGFZXSBhcyBbbnVtYmVyLCBudW1iZXJdO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZG9jLCAndG91Y2hlbmQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChkb2MsICdtb3VzZXVwJyksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICByZXBlYXQoKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9wYW4vcGFuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCxNQUFNLEVBQ04sR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sTUFBTSxDQUFDOztBQUVkLE1BQ2EsYUFBYyxTQUFRLFVBQXFDO0lBQ3BFO1FBQ0ksTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0IsS0FBSyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakIsS0FBSyxDQUNELGlCQUFpQixDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsRUFDcEQsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUNyQztpQkFDSSxJQUFJLENBQ0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNYLEtBQUssQ0FDRCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFO2dCQUNoQyxPQUFPLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUMsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQ3pDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqQyxFQUNELGlCQUFpQixDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FDdEMsQ0FDSixFQUNELFFBQVEsRUFBRSxFQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7Z0JBQ3BCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlELE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBRTlELE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFxQixDQUFDO1lBQ2hELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FDTCxLQUFLLENBQ0QsaUJBQWlCLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxFQUNsQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQ3BDLENBQ0osRUFDRCxNQUFNLEVBQUUsQ0FDWDtpQkFDQSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXZDUSxhQUFhO21IQUFiLGFBQWE7O1NBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgbWVyZ2UsXG4gICAgT2JzZXJ2YWJsZSxcbiAgICBwYWlyd2lzZSxcbiAgICByZXBlYXQsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlQYW5TZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxyZWFkb25seSBbbnVtYmVyLCBudW1iZXJdPiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgICAgICBjb25zdCBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgICAgIHN1cGVyKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ3RvdWNoc3RhcnQnLCB7cGFzc2l2ZTogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsLCAnbW91c2Vkb3duJyksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZG9jLCAndG91Y2htb3ZlJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoe3RvdWNoZXN9KSA9PiB0b3VjaGVzLmxlbmd0aCA8IDIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHt0b3VjaGVzfSkgPT4gdG91Y2hlc1swXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChkb2MsICdtb3VzZW1vdmUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoW2ZpcnN0LCBzZWNvbmRdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWx0YVggPSAoc2Vjb25kPy5jbGllbnRYID8/IDApIC0gKGZpcnN0Py5jbGllbnRYID8/IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGFZID0gKHNlY29uZD8uY2xpZW50WSA/PyAwKSAtIChmaXJzdD8uY2xpZW50WSA/PyAwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtkZWx0YVgsIGRlbHRhWV0gYXMgW251bWJlciwgbnVtYmVyXTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbChcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGRvYywgJ3RvdWNoZW5kJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZG9jLCAnbW91c2V1cCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0KCksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -14,12 +14,12 @@ class TuiSwipeService extends Observable {
14
14
  super((subscriber) => {
15
15
  merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }), tuiTypedFromEvent(doc, 'touchend'))
16
16
  .pipe(pairwise(), filter(([first, second]) => !!first.touches.length &&
17
- first.touches[0].identifier ===
18
- second.changedTouches[0].identifier), map(([start, end]) => {
19
- const startX = start.touches[0].clientX;
20
- const startY = start.touches[0].clientY;
21
- const endX = end.changedTouches[0].clientX;
22
- const endY = end.changedTouches[0].clientY;
17
+ first.touches[0]?.identifier ===
18
+ second.changedTouches[0]?.identifier), map(([start, end]) => {
19
+ const startX = start.touches[0]?.clientX ?? 0;
20
+ const startY = start.touches[0]?.clientY ?? 0;
21
+ const endX = end.changedTouches[0]?.clientX ?? 0;
22
+ const endY = end.changedTouches[0]?.clientY ?? 0;
23
23
  const distanceX = startX - endX;
24
24
  const distanceY = startY - endY;
25
25
  const duration = end.timeStamp - start.timeStamp;
@@ -49,4 +49,4 @@ function tuiGetSwipeDirection(deltaX, deltaY) {
49
49
  }
50
50
  return deltaX > 0 ? 'left' : 'right';
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3N3aXBlL3N3aXBlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHbEQsTUFDYSxlQUFnQixTQUFRLFVBQXlCO0lBQzFEO1FBQ0ksTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDOUIsTUFBTSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV2RCxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQixLQUFLLENBQ0QsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUNwRCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQ3JDO2lCQUNJLElBQUksQ0FDRCxRQUFRLEVBQUUsRUFDVixNQUFNLENBQ0YsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtvQkFDdkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQzlDLEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUN4QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDM0MsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBRTNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ2hDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztnQkFFakQsSUFDSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUztvQkFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3BDLFFBQVEsR0FBRyxPQUFPLEVBQ3BCO29CQUNFLE9BQU87d0JBQ0gsU0FBUyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7d0JBQ3JELE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQTZCO3FCQUNuRCxDQUFDO2lCQUNMO2dCQUVELE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FDdkI7aUJBQ0EsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0E5Q1EsZUFBZTttSEFBZixlQUFlOztTQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVTs7QUFrRFgsU0FBUyxvQkFBb0IsQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUN4RCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNyQyxPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0tBQ3hDO0lBRUQsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzUHJlc2VudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlLCBPYnNlcnZhYmxlLCBwYWlyd2lzZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1NXSVBFX09QVElPTlN9IGZyb20gJy4vc3dpcGUub3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7VHVpU3dpcGVEaXJlY3Rpb24sIFR1aVN3aXBlRXZlbnR9IGZyb20gJy4vc3dpcGUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpU3dpcGVTZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxUdWlTd2lwZUV2ZW50PiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG4gICAgICAgIGNvbnN0IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgICAgICBjb25zdCB7dGltZW91dCwgdGhyZXNob2xkfSA9IGluamVjdChUVUlfU1dJUEVfT1BUSU9OUyk7XG5cbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsLCAndG91Y2hzdGFydCcsIHtwYXNzaXZlOiB0cnVlfSksXG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZG9jLCAndG91Y2hlbmQnKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgKFtmaXJzdCwgc2Vjb25kXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIWZpcnN0LnRvdWNoZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QudG91Y2hlc1swXS5pZGVudGlmaWVyID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmQuY2hhbmdlZFRvdWNoZXNbMF0uaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WCA9IHN0YXJ0LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WSA9IHN0YXJ0LnRvdWNoZXNbMF0uY2xpZW50WTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFkgPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VYID0gc3RhcnRYIC0gZW5kWDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IHN0YXJ0WSAtIGVuZFk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGVuZC50aW1lU3RhbXAgLSBzdGFydC50aW1lU3RhbXA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTWF0aC5hYnMoZGlzdGFuY2VYKSA+IHRocmVzaG9sZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVkpID4gdGhyZXNob2xkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uIDwgdGltZW91dFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiB0dWlHZXRTd2lwZURpcmVjdGlvbihkaXN0YW5jZVgsIGRpc3RhbmNlWSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogW3N0YXJ0LCBlbmRdIGFzIFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHR1aUdldFN3aXBlRGlyZWN0aW9uKGRlbHRhWDogbnVtYmVyLCBkZWx0YVk6IG51bWJlcik6IFR1aVN3aXBlRGlyZWN0aW9uIHtcbiAgICBpZiAoTWF0aC5hYnMoZGVsdGFZKSA+IE1hdGguYWJzKGRlbHRhWCkpIHtcbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+IDAgPyAndG9wJyA6ICdib3R0b20nO1xuICAgIH1cblxuICAgIHJldHVybiBkZWx0YVggPiAwID8gJ2xlZnQnIDogJ3JpZ2h0Jztcbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kaXJlY3RpdmVzL3N3aXBlL3N3aXBlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFHbEQsTUFDYSxlQUFnQixTQUFRLFVBQXlCO0lBQzFEO1FBQ0ksTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDOUIsTUFBTSxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV2RCxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQixLQUFLLENBQ0QsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUNwRCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQ3JDO2lCQUNJLElBQUksQ0FDRCxRQUFRLEVBQUUsRUFDVixNQUFNLENBQ0YsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVTtvQkFDeEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQy9DLEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQztnQkFDakQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO2dCQUVqRCxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7Z0JBRWpELElBQ0ksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVM7b0JBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUNwQyxRQUFRLEdBQUcsT0FBTyxFQUNwQjtvQkFDRSxPQUFPO3dCQUNILFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUNyRCxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUE2QjtxQkFDbkQsQ0FBQztpQkFDTDtnQkFFRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsWUFBWSxDQUFDLENBQ3ZCO2lCQUNBLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBOUNRLGVBQWU7bUhBQWYsZUFBZTs7U0FBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVU7O0FBa0RYLFNBQVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLE1BQWM7SUFDeEQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckMsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztLQUN4QztJQUVELE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSwgcGFpcndpc2V9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9TV0lQRV9PUFRJT05TfSBmcm9tICcuL3N3aXBlLm9wdGlvbnMnO1xuaW1wb3J0IHR5cGUge1R1aVN3aXBlRGlyZWN0aW9uLCBUdWlTd2lwZUV2ZW50fSBmcm9tICcuL3N3aXBlLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFR1aVN3aXBlU2VydmljZSBleHRlbmRzIE9ic2VydmFibGU8VHVpU3dpcGVFdmVudD4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgICAgICBjb25zdCBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICAgICAgY29uc3Qge3RpbWVvdXQsIHRocmVzaG9sZH0gPSBpbmplY3QoVFVJX1NXSVBFX09QVElPTlMpO1xuXG4gICAgICAgIHN1cGVyKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ3RvdWNoc3RhcnQnLCB7cGFzc2l2ZTogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGRvYywgJ3RvdWNoZW5kJyksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIChbZmlyc3QsIHNlY29uZF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgISFmaXJzdC50b3VjaGVzLmxlbmd0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0LnRvdWNoZXNbMF0/LmlkZW50aWZpZXIgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZC5jaGFuZ2VkVG91Y2hlc1swXT8uaWRlbnRpZmllcixcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WCA9IHN0YXJ0LnRvdWNoZXNbMF0/LmNsaWVudFggPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0WSA9IHN0YXJ0LnRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFggPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0/LmNsaWVudFggPz8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZFkgPSBlbmQuY2hhbmdlZFRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VYID0gc3RhcnRYIC0gZW5kWDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IHN0YXJ0WSAtIGVuZFk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGVuZC50aW1lU3RhbXAgLSBzdGFydC50aW1lU3RhbXA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTWF0aC5hYnMoZGlzdGFuY2VYKSA+IHRocmVzaG9sZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVkpID4gdGhyZXNob2xkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uIDwgdGltZW91dFxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiB0dWlHZXRTd2lwZURpcmVjdGlvbihkaXN0YW5jZVgsIGRpc3RhbmNlWSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50czogW3N0YXJ0LCBlbmRdIGFzIFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHR1aUdldFN3aXBlRGlyZWN0aW9uKGRlbHRhWDogbnVtYmVyLCBkZWx0YVk6IG51bWJlcik6IFR1aVN3aXBlRGlyZWN0aW9uIHtcbiAgICBpZiAoTWF0aC5hYnMoZGVsdGFZKSA+IE1hdGguYWJzKGRlbHRhWCkpIHtcbiAgICAgICAgcmV0dXJuIGRlbHRhWSA+IDAgPyAndG9wJyA6ICdib3R0b20nO1xuICAgIH1cblxuICAgIHJldHVybiBkZWx0YVggPiAwID8gJ2xlZnQnIDogJ3JpZ2h0Jztcbn1cbiJdfQ==
@@ -23,11 +23,11 @@ class TuiZoomService extends Observable {
23
23
  distance: tuiDistanceBetweenTouches(startEvent),
24
24
  delta: 0,
25
25
  }), map(({ event, delta }) => {
26
- const clientX = (event.touches[0].clientX +
27
- event.touches[1].clientX) /
26
+ const clientX = ((event.touches[0]?.clientX ?? 0) +
27
+ (event.touches[1]?.clientX ?? 0)) /
28
28
  2;
29
- const clientY = (event.touches[0].clientY +
30
- event.touches[1].clientY) /
29
+ const clientY = ((event.touches[0]?.clientY ?? 0) +
30
+ (event.touches[1]?.clientY ?? 0)) /
31
31
  2;
32
32
  return { clientX, clientY, delta, event };
33
33
  }), takeUntil(tuiTypedFromEvent(el, 'touchend'))))), tuiTypedFromEvent(el, 'wheel', { passive: false }).pipe(tuiPreventDefault(), map((wheel) => ({
@@ -45,4 +45,4 @@ export { TuiZoomService };
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiZoomService, decorators: [{
46
46
  type: Injectable
47
47
  }], ctorParameters: function () { return []; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvem9vbS96b29tLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFFL0IsTUFDYSxjQUFlLFNBQVEsVUFBd0I7SUFDeEQ7UUFDSSxNQUFNLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBELEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pCLEtBQUssQ0FDRCxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNyRCxNQUFNLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNyQixpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNwRCxpQkFBaUIsRUFBRSxFQUNuQixJQUFJLENBQ0EsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxRQUFRLEdBQUcseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWxELE9BQU87b0JBQ0gsS0FBSztvQkFDTCxRQUFRO29CQUNSLEtBQUssRUFDRCxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO3dCQUMxQixpQkFBaUI7aUJBQ3hCLENBQUM7WUFDTixDQUFDLEVBQ0Q7Z0JBQ0ksS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxVQUFVLENBQUM7Z0JBQy9DLEtBQUssRUFBRSxDQUFDO2FBQ1gsQ0FDSixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUU7Z0JBQ25CLE1BQU0sT0FBTyxHQUNULENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO29CQUNyQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztvQkFDN0IsQ0FBQyxDQUFDO2dCQUNOLE1BQU0sT0FBTyxHQUNULENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO29CQUNyQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztvQkFDN0IsQ0FBQyxDQUFDO2dCQUVOLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQy9DLENBQ0osQ0FDSixFQUNELGlCQUFpQixDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2pELGlCQUFpQixFQUFFLEVBQ25CLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDWixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxnQkFBZ0I7Z0JBQ3ZDLEtBQUssRUFBRSxLQUFLO2FBQ2YsQ0FBQyxDQUFDLENBQ04sQ0FDSixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBekRRLGNBQWM7bUhBQWQsY0FBYzs7U0FBZCxjQUFjOzRGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVByZXZlbnREZWZhdWx0LCB0dWlUeXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aURpc3RhbmNlQmV0d2VlblRvdWNoZXMsIHR1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUsIHNjYW4sIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfWk9PTV9PUFRJT05TfSBmcm9tICcuL3pvb20ub3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7VHVpWm9vbUV2ZW50fSBmcm9tICcuL3pvb20udHlwZXMnO1xuXG5jb25zdCBUT1VDSF9TRU5TSVRJVklUWSA9IDAuMDE7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUdWlab29tU2VydmljZSBleHRlbmRzIE9ic2VydmFibGU8VHVpWm9vbUV2ZW50PiB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgICAgICBjb25zdCB7d2hlZWxTZW5zaXRpdml0eX0gPSBpbmplY3QoVFVJX1pPT01fT1BUSU9OUyk7XG5cbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsLCAndG91Y2hzdGFydCcsIHtwYXNzaXZlOiB0cnVlfSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCh7dG91Y2hlc30pID0+IHRvdWNoZXMubGVuZ3RoID4gMSksXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoc3RhcnRFdmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsLCAndG91Y2htb3ZlJywge3Bhc3NpdmU6IHRydWV9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByZXYsIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IHR1aURpc3RhbmNlQmV0d2VlblRvdWNoZXMoZXZlbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGlzdGFuY2UgLSBwcmV2LmRpc3RhbmNlKSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRPVUNIX1NFTlNJVElWSVRZLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IHN0YXJ0RXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0YW5jZTogdHVpRGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhzdGFydEV2ZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCh7ZXZlbnQsIGRlbHRhfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGllbnRYID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC50b3VjaGVzWzBdLmNsaWVudFggK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRvdWNoZXNbMV0uY2xpZW50WCkgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpZW50WSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudG91Y2hlc1swXS5jbGllbnRZICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC50b3VjaGVzWzFdLmNsaWVudFkpIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtjbGllbnRYLCBjbGllbnRZLCBkZWx0YSwgZXZlbnR9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0dWlUeXBlZEZyb21FdmVudChlbCwgJ3RvdWNoZW5kJykpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsLCAnd2hlZWwnLCB7cGFzc2l2ZTogZmFsc2V9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHdoZWVsKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50WDogd2hlZWwuY2xpZW50WCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFk6IHdoZWVsLmNsaWVudFksXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWx0YTogLXdoZWVsLmRlbHRhWSAqIHdoZWVsU2Vuc2l0aXZpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudDogd2hlZWwsXG4gICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvem9vbS96b29tLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFFL0IsTUFDYSxjQUFlLFNBQVEsVUFBd0I7SUFDeEQ7UUFDSSxNQUFNLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXBELEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pCLEtBQUssQ0FDRCxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNyRCxNQUFNLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNyQixpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNwRCxpQkFBaUIsRUFBRSxFQUNuQixJQUFJLENBQ0EsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxRQUFRLEdBQUcseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWxELE9BQU87b0JBQ0gsS0FBSztvQkFDTCxRQUFRO29CQUNSLEtBQUssRUFDRCxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO3dCQUMxQixpQkFBaUI7aUJBQ3hCLENBQUM7WUFDTixDQUFDLEVBQ0Q7Z0JBQ0ksS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxVQUFVLENBQUM7Z0JBQy9DLEtBQUssRUFBRSxDQUFDO2FBQ1gsQ0FDSixFQUNELEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUU7Z0JBQ25CLE1BQU0sT0FBTyxHQUNULENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUM7b0JBQzdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ3JDLENBQUMsQ0FBQztnQkFDTixNQUFNLE9BQU8sR0FDVCxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDO29CQUM3QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNyQyxDQUFDLENBQUM7Z0JBRU4sT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FDL0MsQ0FDSixDQUNKLEVBQ0QsaUJBQWlCLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDakQsaUJBQWlCLEVBQUUsRUFDbkIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNaLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLGdCQUFnQjtnQkFDdkMsS0FBSyxFQUFFLEtBQUs7YUFDZixDQUFDLENBQUMsQ0FDTixDQUNKLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F6RFEsY0FBYzttSEFBZCxjQUFjOztTQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJldmVudERlZmF1bHQsIHR1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpRGlzdGFuY2VCZXR3ZWVuVG91Y2hlcywgdHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtZXJnZSwgT2JzZXJ2YWJsZSwgc2Nhbiwgc3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9aT09NX09QVElPTlN9IGZyb20gJy4vem9vbS5vcHRpb25zJztcbmltcG9ydCB0eXBlIHtUdWlab29tRXZlbnR9IGZyb20gJy4vem9vbS50eXBlcyc7XG5cbmNvbnN0IFRPVUNIX1NFTlNJVElWSVRZID0gMC4wMTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFR1aVpvb21TZXJ2aWNlIGV4dGVuZHMgT2JzZXJ2YWJsZTxUdWlab29tRXZlbnQ+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgICAgIGNvbnN0IHt3aGVlbFNlbnNpdGl2aXR5fSA9IGluamVjdChUVUlfWk9PTV9PUFRJT05TKTtcblxuICAgICAgICBzdXBlcigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaHN0YXJ0Jywge3Bhc3NpdmU6IHRydWV9KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHt0b3VjaGVzfSkgPT4gdG91Y2hlcy5sZW5ndGggPiAxKSxcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChzdGFydEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaG1vdmUnLCB7cGFzc2l2ZTogdHJ1ZX0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJldiwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gdHVpRGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhldmVudCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXN0YW5jZSAtIHByZXYuZGlzdGFuY2UpICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVE9VQ0hfU0VOU0lUSVZJVFksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogc3RhcnRFdmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiB0dWlEaXN0YW5jZUJldHdlZW5Ub3VjaGVzKHN0YXJ0RXZlbnQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHtldmVudCwgZGVsdGF9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsaWVudFggPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChldmVudC50b3VjaGVzWzBdPy5jbGllbnRYID8/IDApICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQudG91Y2hlc1sxXT8uY2xpZW50WCA/PyAwKSkgL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xpZW50WSA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGV2ZW50LnRvdWNoZXNbMF0/LmNsaWVudFkgPz8gMCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC50b3VjaGVzWzFdPy5jbGllbnRZID8/IDApKSAvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7Y2xpZW50WCwgY2xpZW50WSwgZGVsdGEsIGV2ZW50fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodHVpVHlwZWRGcm9tRXZlbnQoZWwsICd0b3VjaGVuZCcpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbCwgJ3doZWVsJywge3Bhc3NpdmU6IGZhbHNlfSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCh3aGVlbCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudFg6IHdoZWVsLmNsaWVudFgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRZOiB3aGVlbC5jbGllbnRZLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGE6IC13aGVlbC5kZWx0YVkgKiB3aGVlbFNlbnNpdGl2aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IHdoZWVsLFxuICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -22,8 +22,8 @@ export function tuiParseHex(hex, alpha) {
22
22
  }
23
23
  const chunkSize = Math.floor((hex.length - 1) / 3);
24
24
  const hexArr = getChunksFromString(hex.slice(1), chunkSize);
25
- const [r, g, b, a] = hexArr?.map(convertHexUnitTo256) ?? [];
25
+ const [r = NaN, g = NaN, b = NaN, a] = hexArr?.map(convertHexUnitTo256) ?? [];
26
26
  const floatAlpha = getAlphaFloat(a, alpha);
27
27
  return [r, g, b, floatAlpha];
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LXRvLXJnYmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvaGV4LXRvLXJnYmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxTQUFpQixFQUEyQixFQUFFLENBQ3BGLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxTQUFTLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRSxDQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRW5ELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBUyxFQUFFLEtBQWMsRUFBVSxFQUFFO0lBQ3hELElBQUksT0FBTyxDQUFDLEtBQUssV0FBVyxFQUFFO1FBQzFCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZDO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1FBQ3JELE9BQU8sQ0FBQyxDQUFDO0tBQ1o7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVcsRUFBRSxLQUFjO0lBQ3BELE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVc7SUFDckMsT0FBTyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3ZCLEdBQVcsRUFDWCxLQUFjO0lBRWQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2xDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1RCxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTNDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZ2V0Q2h1bmtzRnJvbVN0cmluZyA9IChoZXg6IHN0cmluZywgY2h1bmtTaXplOiBudW1iZXIpOiBSZWdFeHBNYXRjaEFycmF5IHwgbnVsbCA9PlxuICAgIGhleC5tYXRjaChuZXcgUmVnRXhwKGAueyR7Y2h1bmtTaXplfX1gLCAnZycpKTtcblxuY29uc3QgY29udmVydEhleFVuaXRUbzI1NiA9IChoZXhTdHI6IHN0cmluZyk6IG51bWJlciA9PlxuICAgIHBhcnNlSW50KGhleFN0ci5yZXBlYXQoMiAvIGhleFN0ci5sZW5ndGgpLCAxNik7XG5cbmNvbnN0IGdldEFscGhhRmxvYXQgPSAoYTogbnVtYmVyLCBhbHBoYT86IG51bWJlcik6IG51bWJlciA9PiB7XG4gICAgaWYgKHR5cGVvZiBhICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gTnVtYmVyKChhIC8gMjU1KS50b0ZpeGVkKDIpKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGFscGhhICE9PSAnbnVtYmVyJyB8fCBhbHBoYSA8IDAgfHwgYWxwaGEgPiAxKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIHJldHVybiBhbHBoYTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlIZXhUb1JHQkEoaGV4OiBzdHJpbmcsIGFscGhhPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBbciwgZywgYiwgYV0gPSB0dWlQYXJzZUhleChoZXgsIGFscGhhKTtcblxuICAgIHJldHVybiBhIDwgMSA/IGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7YX0pYCA6IGByZ2IoJHtyfSwgJHtnfSwgJHtifSlgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNWYWxpZEhleChoZXg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvXiMoW0EtRmEtZjAtOV17Myw0fSl7MSwyfSQvLnRlc3QoaGV4KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVBhcnNlSGV4KFxuICAgIGhleDogc3RyaW5nLFxuICAgIGFscGhhPzogbnVtYmVyLFxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICAgIGlmICghdHVpSXNWYWxpZEhleChoZXgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBIRVgnKTtcbiAgICB9XG5cbiAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKChoZXgubGVuZ3RoIC0gMSkgLyAzKTtcbiAgICBjb25zdCBoZXhBcnIgPSBnZXRDaHVua3NGcm9tU3RyaW5nKGhleC5zbGljZSgxKSwgY2h1bmtTaXplKTtcbiAgICBjb25zdCBbciwgZywgYiwgYV0gPSBoZXhBcnI/Lm1hcChjb252ZXJ0SGV4VW5pdFRvMjU2KSA/PyBbXTtcbiAgICBjb25zdCBmbG9hdEFscGhhID0gZ2V0QWxwaGFGbG9hdChhLCBhbHBoYSk7XG5cbiAgICByZXR1cm4gW3IsIGcsIGIsIGZsb2F0QWxwaGFdO1xufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LXRvLXJnYmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvaGV4LXRvLXJnYmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxTQUFpQixFQUEyQixFQUFFLENBQ3BGLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxTQUFTLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRSxDQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRW5ELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBVSxFQUFFLEtBQWMsRUFBVSxFQUFFO0lBQ3pELElBQUksT0FBTyxDQUFDLEtBQUssV0FBVyxFQUFFO1FBQzFCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3ZDO0lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1FBQ3JELE9BQU8sQ0FBQyxDQUFDO0tBQ1o7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVcsRUFBRSxLQUFjO0lBQ3BELE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVc7SUFDckMsT0FBTyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3ZCLEdBQVcsRUFDWCxLQUFjO0lBRWQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2xDO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkQsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RCxNQUFNLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5RSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTNDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZ2V0Q2h1bmtzRnJvbVN0cmluZyA9IChoZXg6IHN0cmluZywgY2h1bmtTaXplOiBudW1iZXIpOiBSZWdFeHBNYXRjaEFycmF5IHwgbnVsbCA9PlxuICAgIGhleC5tYXRjaChuZXcgUmVnRXhwKGAueyR7Y2h1bmtTaXplfX1gLCAnZycpKTtcblxuY29uc3QgY29udmVydEhleFVuaXRUbzI1NiA9IChoZXhTdHI6IHN0cmluZyk6IG51bWJlciA9PlxuICAgIHBhcnNlSW50KGhleFN0ci5yZXBlYXQoMiAvIGhleFN0ci5sZW5ndGgpLCAxNik7XG5cbmNvbnN0IGdldEFscGhhRmxvYXQgPSAoYT86IG51bWJlciwgYWxwaGE/OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICAgIGlmICh0eXBlb2YgYSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcigoYSAvIDI1NSkudG9GaXhlZCgyKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhbHBoYSAhPT0gJ251bWJlcicgfHwgYWxwaGEgPCAwIHx8IGFscGhhID4gMSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWxwaGE7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpSGV4VG9SR0JBKGhleDogc3RyaW5nLCBhbHBoYT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgW3IsIGcsIGIsIGFdID0gdHVpUGFyc2VIZXgoaGV4LCBhbHBoYSk7XG5cbiAgICByZXR1cm4gYSA8IDEgPyBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2F9KWAgOiBgcmdiKCR7cn0sICR7Z30sICR7Yn0pYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUlzVmFsaWRIZXgoaGV4OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gL14jKFtBLUZhLWYwLTldezMsNH0pezEsMn0kLy50ZXN0KGhleCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlQYXJzZUhleChcbiAgICBoZXg6IHN0cmluZyxcbiAgICBhbHBoYT86IG51bWJlcixcbik6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdIHtcbiAgICBpZiAoIXR1aUlzVmFsaWRIZXgoaGV4KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgSEVYJyk7XG4gICAgfVxuXG4gICAgY29uc3QgY2h1bmtTaXplID0gTWF0aC5mbG9vcigoaGV4Lmxlbmd0aCAtIDEpIC8gMyk7XG4gICAgY29uc3QgaGV4QXJyID0gZ2V0Q2h1bmtzRnJvbVN0cmluZyhoZXguc2xpY2UoMSksIGNodW5rU2l6ZSk7XG4gICAgY29uc3QgW3IgPSBOYU4sIGcgPSBOYU4sIGIgPSBOYU4sIGFdID0gaGV4QXJyPy5tYXAoY29udmVydEhleFVuaXRUbzI1NikgPz8gW107XG4gICAgY29uc3QgZmxvYXRBbHBoYSA9IGdldEFscGhhRmxvYXQoYSwgYWxwaGEpO1xuXG4gICAgcmV0dXJuIFtyLCBnLCBiLCBmbG9hdEFscGhhXTtcbn1cbiJdfQ==
@@ -51,8 +51,8 @@ export function tuiParseGradient(input) {
51
51
  let matchColorStop = stopsRegexp.exec(stopsString);
52
52
  while (matchColorStop !== null) {
53
53
  stops = stops.concat({
54
- color: matchColorStop[1],
55
- position: getPosition(matchColorStop[2], stops.length),
54
+ color: matchColorStop[1] || '',
55
+ position: getPosition(matchColorStop[2] || '', stops.length),
56
56
  });
57
57
  matchColorStop = stopsRegexp.exec(stopsString);
58
58
  }
@@ -67,4 +67,4 @@ export function tuiToGradient({ stops, side }) {
67
67
  .map(({ color, position }) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`)
68
68
  .join(', ')})`;
69
69
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZ3JhZGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcGFyc2UtZ3JhZGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQW9CNUMsRUFBRTtBQUNGLG1EQUFtRDtBQUNuRCwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLGFBQWE7QUFDYixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyw0QkFBNEI7QUFDdkQsTUFBTSxHQUFHLEdBQUcsOEJBQThCLENBQUMsQ0FBQyx3QkFBd0I7QUFDcEUsTUFBTSxHQUFHLEdBQUcsZ0RBQWdELENBQUMsQ0FBQyxjQUFjO0FBQzVFLE1BQU0sSUFBSSxHQUFHLGlFQUFpRSxDQUFDLENBQUMsaUJBQWlCO0FBQ2pHLE1BQU0sS0FBSyxHQUFHLG9DQUFvQyxDQUFDLENBQUMsd0JBQXdCO0FBQzVFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLENBQUMsMkNBQTJDO0FBQ2pGLE1BQU0sS0FBSyxHQUFHO0lBQ1YsS0FBSztJQUNMLEdBQUc7SUFDSCxHQUFHO0lBQ0gsYUFBYTtJQUNiLEdBQUc7SUFDSCxHQUFHO0lBQ0gsZUFBZTtJQUNmLElBQUk7SUFDSixHQUFHO0lBQ0gsT0FBTztJQUNQLEdBQUc7Q0FDTixDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7SUFDakIsT0FBTztJQUNQLEdBQUcsS0FBSztJQUNSLEdBQUc7SUFDSCxTQUFTO0lBQ1QsR0FBRztJQUNILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxRQUFRO0NBQ1gsQ0FBQztBQUVGLFNBQVMsV0FBVyxDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQzdDLE1BQU0sUUFBUSxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUVwRCxPQUFPLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUMxQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUNiLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtRQUN6RCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRWhCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUMsQ0FBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBMEI7UUFDL0MsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsQixJQUFJLEtBQUssR0FBK0IsRUFBRSxDQUFDO0lBRTNDLElBQUksY0FBYyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQsT0FBTyxjQUFjLEtBQUssSUFBSSxFQUFFO1FBQzVCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDekQsQ0FBQyxDQUFDO1FBRUgsY0FBYyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDbEQ7SUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRXBGLE9BQU87UUFDSCxLQUFLO1FBQ0wsSUFBSTtLQUNQLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQW9CO0lBQzFELE9BQU8sbUJBQW1CLElBQUksS0FBSyxLQUFLO1NBQ25DLEdBQUcsQ0FDQSxDQUFDLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFLENBQ2hGO1NBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpUGFyc2VDb2xvcn0gZnJvbSAnLi9wYXJzZS1jb2xvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpUGFyc2VkR3JhZGllbnQge1xuICAgIHJlYWRvbmx5IHNpZGU6IFR1aUdyYWRpZW50RGlyZWN0aW9uO1xuICAgIHJlYWRvbmx5IHN0b3BzOiBSZWFkb25seUFycmF5PHtcbiAgICAgICAgcmVhZG9ubHkgY29sb3I6IHN0cmluZztcbiAgICAgICAgcmVhZG9ubHkgcG9zaXRpb246IHN0cmluZztcbiAgICB9Pjtcbn1cblxuZXhwb3J0IHR5cGUgVHVpR3JhZGllbnREaXJlY3Rpb24gPVxuICAgIHwgJ3RvIGJvdHRvbSBsZWZ0J1xuICAgIHwgJ3RvIGJvdHRvbSByaWdodCdcbiAgICB8ICd0byBib3R0b20nXG4gICAgfCAndG8gbGVmdCdcbiAgICB8ICd0byByaWdodCdcbiAgICB8ICd0byB0b3AgbGVmdCdcbiAgICB8ICd0byB0b3AgcmlnaHQnXG4gICAgfCAndG8gdG9wJztcblxuLy9cbi8vIFR5cGVTY3JpcHQgcGFyc2VyIGJhc2VkIG9uIERlYW4gVGF5bG9yJ3MgYW5zd2VyOlxuLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIwMjM4MTY4LzI3MDY0MjZcbi8vXG4vLyBTRVRVUCBDT0RFXG5jb25zdCBDT01NQSA9ICdcXFxccyosXFxcXHMqJzsgLy8gQWxsb3cgc3BhY2UgYXJvdW5kIGNvbW1hLlxuY29uc3QgSEVYID0gJyMoPzpbYS1mMC05XXs2fXxbYS1mMC05XXszfSknOyAvLyAzIG9yIDYgY2hhcmFjdGVyIGZvcm1cbmNvbnN0IFJHQiA9ICdcXFxcKFxcXFxzKig/OlxcXFxkezEsM31cXFxccyosXFxcXHMqKXsyfVxcXFxkezEsM31cXFxccypcXFxcKSc7IC8vIFwiKDEsIDIsIDMpXCJcbmNvbnN0IFJHQkEgPSAnXFxcXChcXFxccyooPzpcXFxcZHsxLDN9XFxcXHMqLFxcXFxzKil7Mn1cXFxcZHsxLDN9XFxcXHMqLFxcXFxzKlxcXFxkKlxcXFwuP1xcXFxkK1xcXFwpJzsgLy8gXCIoMSwgMiwgMywgNClcIlxuY29uc3QgVkFMVUUgPSAnKD86WystXT9cXFxcZCpcXFxcLj9cXFxcZCspKD86JXxbYS16XSspPyc7IC8vIFwiLjlcIiwgXCItNXB4XCIsIFwiMTAwJVwiLlxuY29uc3QgS0VZV09SRCA9ICdbX2Etei1dW19hLXowLTktXSonOyAvLyBcInJlZFwiLCBcInRyYW5zcGFyZW50XCIsIFwiYm9yZGVyLWNvbGxhcHNlXCIuXG5jb25zdCBDT0xPUiA9IFtcbiAgICAnKD86JyxcbiAgICBIRVgsXG4gICAgJ3wnLFxuICAgICcoPzpyZ2J8aHNsKScsXG4gICAgUkdCLFxuICAgICd8JyxcbiAgICAnKD86cmdiYXxoc2xhKScsXG4gICAgUkdCQSxcbiAgICAnfCcsXG4gICAgS0VZV09SRCxcbiAgICAnKScsXG5dO1xuY29uc3QgUkVHRVhQX0FSUkFZID0gW1xuICAgICdcXFxccyooJyxcbiAgICAuLi5DT0xPUixcbiAgICAnKScsXG4gICAgJyg/OlxcXFxzKycsXG4gICAgJygnLFxuICAgIFZBTFVFLFxuICAgICcpKT8nLFxuICAgICcoPzonLFxuICAgIENPTU1BLFxuICAgICdcXFxccyopPycsXG5dO1xuXG5mdW5jdGlvbiBnZXRQb3NpdGlvbihtYXRjaDogc3RyaW5nLCBzdG9wczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBmYWxsYmFjayA9IHN0b3BzID09PSAxID8gJzEwMCUnIDogYCR7c3RvcHN9JWA7XG5cbiAgICByZXR1cm4gbWF0Y2g/LmluY2x1ZGVzKCclJykgPyBtYXRjaCA6IGZhbGxiYWNrO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUGFyc2VHcmFkaWVudChpbnB1dDogc3RyaW5nKTogVHVpUGFyc2VkR3JhZGllbnQge1xuICAgIGNvbnN0IHN0b3BzUmVnZXhwID0gbmV3IFJlZ0V4cChSRUdFWFBfQVJSQVkuam9pbignJyksICdnaScpO1xuICAgIGNvbnN0IHN0b3BzU3RyaW5nID1cbiAgICAgICAgaW5wdXQuc3RhcnRzV2l0aCgndG8nKSB8fCBpbnB1dC5tYXRjaCgvXlxcZC8pXG4gICAgICAgICAgICA/IGlucHV0LnNsaWNlKE1hdGgubWF4KDAsIGlucHV0LmluZGV4T2YoJywnKSArIDEpKS50cmltKClcbiAgICAgICAgICAgIDogaW5wdXQ7XG5cbiAgICBjb25zdCBzaWRlID0gaW5wdXQuc3RhcnRzV2l0aCgndG8nKVxuICAgICAgICA/IChpbnB1dC5zcGxpdCgnLCcpWzBdIGFzIFR1aUdyYWRpZW50RGlyZWN0aW9uKVxuICAgICAgICA6ICd0byBib3R0b20nO1xuICAgIGxldCBzdG9wczogVHVpUGFyc2VkR3JhZGllbnRbJ3N0b3BzJ10gPSBbXTtcblxuICAgIGxldCBtYXRjaENvbG9yU3RvcCA9IHN0b3BzUmVnZXhwLmV4ZWMoc3RvcHNTdHJpbmcpO1xuXG4gICAgd2hpbGUgKG1hdGNoQ29sb3JTdG9wICE9PSBudWxsKSB7XG4gICAgICAgIHN0b3BzID0gc3RvcHMuY29uY2F0KHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXRjaENvbG9yU3RvcFsxXSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiBnZXRQb3NpdGlvbihtYXRjaENvbG9yU3RvcFsyXSwgc3RvcHMubGVuZ3RoKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbWF0Y2hDb2xvclN0b3AgPSBzdG9wc1JlZ2V4cC5leGVjKHN0b3BzU3RyaW5nKTtcbiAgICB9XG5cbiAgICBzdG9wcyA9IHN0b3BzLmZpbHRlcigoe2NvbG9yfSkgPT4gY29sb3Iuc3RhcnRzV2l0aCgnIycpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJ3JnYicpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIHN0b3BzLFxuICAgICAgICBzaWRlLFxuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlUb0dyYWRpZW50KHtzdG9wcywgc2lkZX06IFR1aVBhcnNlZEdyYWRpZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGxpbmVhci1ncmFkaWVudCgke3NpZGV9LCAke3N0b3BzXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgICAoe2NvbG9yLCBwb3NpdGlvbn0pID0+IGByZ2JhKCR7dHVpUGFyc2VDb2xvcihjb2xvcikuam9pbignLCAnKX0pICR7cG9zaXRpb259YCxcbiAgICAgICAgKVxuICAgICAgICAuam9pbignLCAnKX0pYDtcbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZ3JhZGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcGFyc2UtZ3JhZGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQW9CNUMsRUFBRTtBQUNGLG1EQUFtRDtBQUNuRCwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLGFBQWE7QUFDYixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyw0QkFBNEI7QUFDdkQsTUFBTSxHQUFHLEdBQUcsOEJBQThCLENBQUMsQ0FBQyx3QkFBd0I7QUFDcEUsTUFBTSxHQUFHLEdBQUcsZ0RBQWdELENBQUMsQ0FBQyxjQUFjO0FBQzVFLE1BQU0sSUFBSSxHQUFHLGlFQUFpRSxDQUFDLENBQUMsaUJBQWlCO0FBQ2pHLE1BQU0sS0FBSyxHQUFHLG9DQUFvQyxDQUFDLENBQUMsd0JBQXdCO0FBQzVFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLENBQUMsMkNBQTJDO0FBQ2pGLE1BQU0sS0FBSyxHQUFHO0lBQ1YsS0FBSztJQUNMLEdBQUc7SUFDSCxHQUFHO0lBQ0gsYUFBYTtJQUNiLEdBQUc7SUFDSCxHQUFHO0lBQ0gsZUFBZTtJQUNmLElBQUk7SUFDSixHQUFHO0lBQ0gsT0FBTztJQUNQLEdBQUc7Q0FDTixDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7SUFDakIsT0FBTztJQUNQLEdBQUcsS0FBSztJQUNSLEdBQUc7SUFDSCxTQUFTO0lBQ1QsR0FBRztJQUNILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxRQUFRO0NBQ1gsQ0FBQztBQUVGLFNBQVMsV0FBVyxDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQzdDLE1BQU0sUUFBUSxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUVwRCxPQUFPLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYTtJQUMxQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUNiLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtRQUN6RCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRWhCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQy9CLENBQUMsQ0FBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBMEI7UUFDL0MsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNsQixJQUFJLEtBQUssR0FBK0IsRUFBRSxDQUFDO0lBRTNDLElBQUksY0FBYyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFbkQsT0FBTyxjQUFjLEtBQUssSUFBSSxFQUFFO1FBQzVCLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRTtZQUM5QixRQUFRLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUMvRCxDQUFDLENBQUM7UUFFSCxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUNsRDtJQUVELEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFcEYsT0FBTztRQUNILEtBQUs7UUFDTCxJQUFJO0tBQ1AsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBb0I7SUFDMUQsT0FBTyxtQkFBbUIsSUFBSSxLQUFLLEtBQUs7U0FDbkMsR0FBRyxDQUNBLENBQUMsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FDaEY7U0FDQSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlQYXJzZUNvbG9yfSBmcm9tICcuL3BhcnNlLWNvbG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlQYXJzZWRHcmFkaWVudCB7XG4gICAgcmVhZG9ubHkgc2lkZTogVHVpR3JhZGllbnREaXJlY3Rpb247XG4gICAgcmVhZG9ubHkgc3RvcHM6IFJlYWRvbmx5QXJyYXk8e1xuICAgICAgICByZWFkb25seSBjb2xvcjogc3RyaW5nO1xuICAgICAgICByZWFkb25seSBwb3NpdGlvbjogc3RyaW5nO1xuICAgIH0+O1xufVxuXG5leHBvcnQgdHlwZSBUdWlHcmFkaWVudERpcmVjdGlvbiA9XG4gICAgfCAndG8gYm90dG9tIGxlZnQnXG4gICAgfCAndG8gYm90dG9tIHJpZ2h0J1xuICAgIHwgJ3RvIGJvdHRvbSdcbiAgICB8ICd0byBsZWZ0J1xuICAgIHwgJ3RvIHJpZ2h0J1xuICAgIHwgJ3RvIHRvcCBsZWZ0J1xuICAgIHwgJ3RvIHRvcCByaWdodCdcbiAgICB8ICd0byB0b3AnO1xuXG4vL1xuLy8gVHlwZVNjcmlwdCBwYXJzZXIgYmFzZWQgb24gRGVhbiBUYXlsb3IncyBhbnN3ZXI6XG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjAyMzgxNjgvMjcwNjQyNlxuLy9cbi8vIFNFVFVQIENPREVcbmNvbnN0IENPTU1BID0gJ1xcXFxzKixcXFxccyonOyAvLyBBbGxvdyBzcGFjZSBhcm91bmQgY29tbWEuXG5jb25zdCBIRVggPSAnIyg/OlthLWYwLTldezZ9fFthLWYwLTldezN9KSc7IC8vIDMgb3IgNiBjaGFyYWN0ZXIgZm9ybVxuY29uc3QgUkdCID0gJ1xcXFwoXFxcXHMqKD86XFxcXGR7MSwzfVxcXFxzKixcXFxccyopezJ9XFxcXGR7MSwzfVxcXFxzKlxcXFwpJzsgLy8gXCIoMSwgMiwgMylcIlxuY29uc3QgUkdCQSA9ICdcXFxcKFxcXFxzKig/OlxcXFxkezEsM31cXFxccyosXFxcXHMqKXsyfVxcXFxkezEsM31cXFxccyosXFxcXHMqXFxcXGQqXFxcXC4/XFxcXGQrXFxcXCknOyAvLyBcIigxLCAyLCAzLCA0KVwiXG5jb25zdCBWQUxVRSA9ICcoPzpbKy1dP1xcXFxkKlxcXFwuP1xcXFxkKykoPzolfFthLXpdKyk/JzsgLy8gXCIuOVwiLCBcIi01cHhcIiwgXCIxMDAlXCIuXG5jb25zdCBLRVlXT1JEID0gJ1tfYS16LV1bX2EtejAtOS1dKic7IC8vIFwicmVkXCIsIFwidHJhbnNwYXJlbnRcIiwgXCJib3JkZXItY29sbGFwc2VcIi5cbmNvbnN0IENPTE9SID0gW1xuICAgICcoPzonLFxuICAgIEhFWCxcbiAgICAnfCcsXG4gICAgJyg/OnJnYnxoc2wpJyxcbiAgICBSR0IsXG4gICAgJ3wnLFxuICAgICcoPzpyZ2JhfGhzbGEpJyxcbiAgICBSR0JBLFxuICAgICd8JyxcbiAgICBLRVlXT1JELFxuICAgICcpJyxcbl07XG5jb25zdCBSRUdFWFBfQVJSQVkgPSBbXG4gICAgJ1xcXFxzKignLFxuICAgIC4uLkNPTE9SLFxuICAgICcpJyxcbiAgICAnKD86XFxcXHMrJyxcbiAgICAnKCcsXG4gICAgVkFMVUUsXG4gICAgJykpPycsXG4gICAgJyg/OicsXG4gICAgQ09NTUEsXG4gICAgJ1xcXFxzKik/Jyxcbl07XG5cbmZ1bmN0aW9uIGdldFBvc2l0aW9uKG1hdGNoOiBzdHJpbmcsIHN0b3BzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZhbGxiYWNrID0gc3RvcHMgPT09IDEgPyAnMTAwJScgOiBgJHtzdG9wc30lYDtcblxuICAgIHJldHVybiBtYXRjaD8uaW5jbHVkZXMoJyUnKSA/IG1hdGNoIDogZmFsbGJhY2s7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlQYXJzZUdyYWRpZW50KGlucHV0OiBzdHJpbmcpOiBUdWlQYXJzZWRHcmFkaWVudCB7XG4gICAgY29uc3Qgc3RvcHNSZWdleHAgPSBuZXcgUmVnRXhwKFJFR0VYUF9BUlJBWS5qb2luKCcnKSwgJ2dpJyk7XG4gICAgY29uc3Qgc3RvcHNTdHJpbmcgPVxuICAgICAgICBpbnB1dC5zdGFydHNXaXRoKCd0bycpIHx8IGlucHV0Lm1hdGNoKC9eXFxkLylcbiAgICAgICAgICAgID8gaW5wdXQuc2xpY2UoTWF0aC5tYXgoMCwgaW5wdXQuaW5kZXhPZignLCcpICsgMSkpLnRyaW0oKVxuICAgICAgICAgICAgOiBpbnB1dDtcblxuICAgIGNvbnN0IHNpZGUgPSBpbnB1dC5zdGFydHNXaXRoKCd0bycpXG4gICAgICAgID8gKGlucHV0LnNwbGl0KCcsJylbMF0gYXMgVHVpR3JhZGllbnREaXJlY3Rpb24pXG4gICAgICAgIDogJ3RvIGJvdHRvbSc7XG4gICAgbGV0IHN0b3BzOiBUdWlQYXJzZWRHcmFkaWVudFsnc3RvcHMnXSA9IFtdO1xuXG4gICAgbGV0IG1hdGNoQ29sb3JTdG9wID0gc3RvcHNSZWdleHAuZXhlYyhzdG9wc1N0cmluZyk7XG5cbiAgICB3aGlsZSAobWF0Y2hDb2xvclN0b3AgIT09IG51bGwpIHtcbiAgICAgICAgc3RvcHMgPSBzdG9wcy5jb25jYXQoe1xuICAgICAgICAgICAgY29sb3I6IG1hdGNoQ29sb3JTdG9wWzFdIHx8ICcnLFxuICAgICAgICAgICAgcG9zaXRpb246IGdldFBvc2l0aW9uKG1hdGNoQ29sb3JTdG9wWzJdIHx8ICcnLCBzdG9wcy5sZW5ndGgpLFxuICAgICAgICB9KTtcblxuICAgICAgICBtYXRjaENvbG9yU3RvcCA9IHN0b3BzUmVnZXhwLmV4ZWMoc3RvcHNTdHJpbmcpO1xuICAgIH1cblxuICAgIHN0b3BzID0gc3RvcHMuZmlsdGVyKCh7Y29sb3J9KSA9PiBjb2xvci5zdGFydHNXaXRoKCcjJykgfHwgY29sb3Iuc3RhcnRzV2l0aCgncmdiJykpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3RvcHMsXG4gICAgICAgIHNpZGUsXG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVRvR3JhZGllbnQoe3N0b3BzLCBzaWRlfTogVHVpUGFyc2VkR3JhZGllbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgbGluZWFyLWdyYWRpZW50KCR7c2lkZX0sICR7c3RvcHNcbiAgICAgICAgLm1hcChcbiAgICAgICAgICAgICh7Y29sb3IsIHBvc2l0aW9ufSkgPT4gYHJnYmEoJHt0dWlQYXJzZUNvbG9yKGNvbG9yKS5qb2luKCcsICcpfSkgJHtwb3NpdGlvbn1gLFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcsICcpfSlgO1xufVxuIl19
@@ -2,15 +2,13 @@ export function tuiRgbaToHex(color) {
2
2
  if (!tuiIsValidRgba(color)) {
3
3
  throw new Error('Invalid RGBa');
4
4
  }
5
- const rgb = color
6
- .replaceAll(/\s/g, '')
7
- .match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i) ??
8
- [];
5
+ const rgb = color.replaceAll(/\s/g, '').match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i) ??
6
+ null;
9
7
  let alpha = (rgb?.[4] ?? '').toString().trim();
10
8
  let hex = rgb
11
- ? (rgb[1] | (1 << 8)).toString(16).slice(1) +
12
- (rgb[2] | (1 << 8)).toString(16).slice(1) +
13
- (rgb[3] | (1 << 8)).toString(16).slice(1)
9
+ ? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
10
+ ((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
11
+ ((parseInt(rgb?.[3] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1)
14
12
  : color;
15
13
  alpha = alpha !== '' ? alpha : 0o1;
16
14
  alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);
@@ -22,4 +20,4 @@ export function tuiIsValidRgba(rgba) {
22
20
  const alpha = '([01]|0?\\.\\d+)';
23
21
  return new RegExp(`^(?:rgb\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*\\)|rgba\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*,\\s*${alpha}\\s*\\))$`).test(rgba);
24
22
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmdiYS10by1oZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcmdiYS10by1oZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhO0lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNuQztJQUVELE1BQU0sR0FBRyxHQUNKLEtBQUs7U0FDRCxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztTQUNyQixLQUFLLENBQUMseUNBQXlDLENBQXlCO1FBQzdFLEVBQUUsQ0FBQztJQUNQLElBQUksS0FBSyxHQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hFLElBQUksR0FBRyxHQUFHLEdBQUc7UUFDVCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN6QyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUVaLEtBQUssR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNuQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsR0FBRyxJQUFJLEtBQUssQ0FBQztJQUViLE9BQU8sSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFZO0lBQ3ZDLE1BQU0sS0FBSyxHQUFHLDRDQUE0QyxDQUFDO0lBQzNELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDO0lBRWpDLE9BQU8sSUFBSSxNQUFNLENBQ2IsaUJBQWlCLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxzQkFBc0IsS0FBSyxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxXQUFXLENBQ3BKLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdHVpUmdiYVRvSGV4KGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdHVpSXNWYWxpZFJnYmEoY29sb3IpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBSR0JhJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmdiOiBudW1iZXJbXSA9XG4gICAgICAgIChjb2xvclxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoL1xccy9nLCAnJylcbiAgICAgICAgICAgIC5tYXRjaCgvXnJnYmE/XFwoKFxcZCspLChcXGQrKSwoXFxkKyksPyhbXixcXHMpXSspPy9pKSBhcyB1bmtub3duIGFzIG51bWJlcltdKSA/P1xuICAgICAgICBbXTtcbiAgICBsZXQgYWxwaGE6IG51bWJlciB8IHN0cmluZyA9IChyZ2I/Lls0XSA/PyAnJykudG9TdHJpbmcoKS50cmltKCk7XG4gICAgbGV0IGhleCA9IHJnYlxuICAgICAgICA/IChyZ2JbMV0gfCAoMSA8PCA4KSkudG9TdHJpbmcoMTYpLnNsaWNlKDEpICtcbiAgICAgICAgICAocmdiWzJdIHwgKDEgPDwgOCkpLnRvU3RyaW5nKDE2KS5zbGljZSgxKSArXG4gICAgICAgICAgKHJnYlszXSB8ICgxIDw8IDgpKS50b1N0cmluZygxNikuc2xpY2UoMSlcbiAgICAgICAgOiBjb2xvcjtcblxuICAgIGFscGhhID0gYWxwaGEgIT09ICcnID8gYWxwaGEgOiAwbzE7XG4gICAgYWxwaGEgPSAoKE51bWJlcihhbHBoYSkgKiAyNTUpIHwgKDEgPDwgOCkpLnRvU3RyaW5nKDE2KS5zbGljZSgxKTtcbiAgICBoZXggKz0gYWxwaGE7XG5cbiAgICByZXR1cm4gYCMke2hleC50b1VwcGVyQ2FzZSgpfWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc1ZhbGlkUmdiYShyZ2JhOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByYW5nZSA9ICcoXFxcXGR8WzEtOV1cXFxcZHwxXFxcXGR7Mn18MlswLTRdXFxcXGR8MlswLTVdezJ9KSc7XG4gICAgY29uc3QgYWxwaGEgPSAnKFswMV18MD9cXFxcLlxcXFxkKyknO1xuXG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoXG4gICAgICAgIGBeKD86cmdiXFxcXChcXFxccyoke3JhbmdlfVxcXFxzKixcXFxccyoke3JhbmdlfVxcXFxzKixcXFxccyoke3JhbmdlfVxcXFxzKlxcXFwpfHJnYmFcXFxcKFxcXFxzKiR7cmFuZ2V9XFxcXHMqLFxcXFxzKiR7cmFuZ2V9XFxcXHMqLFxcXFxzKiR7cmFuZ2V9XFxcXHMqLFxcXFxzKiR7YWxwaGF9XFxcXHMqXFxcXCkpJGAsXG4gICAgKS50ZXN0KHJnYmEpO1xufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmdiYS10by1oZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvcmdiYS10by1oZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhO0lBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNuQztJQUVELE1BQU0sR0FBRyxHQUNMLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQztRQUM1RSxJQUFJLENBQUM7SUFFVCxJQUFJLEtBQUssR0FBb0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVoRSxJQUFJLEdBQUcsR0FBRyxHQUFHO1FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFWixLQUFLLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDbkMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLEdBQUcsSUFBSSxLQUFLLENBQUM7SUFFYixPQUFPLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBWTtJQUN2QyxNQUFNLEtBQUssR0FBRyw0Q0FBNEMsQ0FBQztJQUMzRCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztJQUVqQyxPQUFPLElBQUksTUFBTSxDQUNiLGlCQUFpQixLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssc0JBQXNCLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssV0FBVyxDQUNwSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHR1aVJnYmFUb0hleChjb2xvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXR1aUlzVmFsaWRSZ2JhKGNvbG9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgUkdCYScpO1xuICAgIH1cblxuICAgIGNvbnN0IHJnYiA9XG4gICAgICAgIGNvbG9yLnJlcGxhY2VBbGwoL1xccy9nLCAnJykubWF0Y2goL15yZ2JhP1xcKChcXGQrKSwoXFxkKyksKFxcZCspLD8oW14sXFxzKV0rKT8vaSkgPz9cbiAgICAgICAgbnVsbDtcblxuICAgIGxldCBhbHBoYTogbnVtYmVyIHwgc3RyaW5nID0gKHJnYj8uWzRdID8/ICcnKS50b1N0cmluZygpLnRyaW0oKTtcblxuICAgIGxldCBoZXggPSByZ2JcbiAgICAgICAgPyAoKHBhcnNlSW50KHJnYj8uWzFdID8/ICcnLCAxMCkgfHwgMCkgfCAoMSA8PCA4KSkudG9TdHJpbmcoMTYpLnNsaWNlKDEpICtcbiAgICAgICAgICAoKHBhcnNlSW50KHJnYj8uWzJdID8/ICcnLCAxMCkgfHwgMCkgfCAoMSA8PCA4KSkudG9TdHJpbmcoMTYpLnNsaWNlKDEpICtcbiAgICAgICAgICAoKHBhcnNlSW50KHJnYj8uWzNdID8/ICcnLCAxMCkgfHwgMCkgfCAoMSA8PCA4KSkudG9TdHJpbmcoMTYpLnNsaWNlKDEpXG4gICAgICAgIDogY29sb3I7XG5cbiAgICBhbHBoYSA9IGFscGhhICE9PSAnJyA/IGFscGhhIDogMG8xO1xuICAgIGFscGhhID0gKChOdW1iZXIoYWxwaGEpICogMjU1KSB8ICgxIDw8IDgpKS50b1N0cmluZygxNikuc2xpY2UoMSk7XG4gICAgaGV4ICs9IGFscGhhO1xuXG4gICAgcmV0dXJuIGAjJHtoZXgudG9VcHBlckNhc2UoKX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNWYWxpZFJnYmEocmdiYTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmFuZ2UgPSAnKFxcXFxkfFsxLTldXFxcXGR8MVxcXFxkezJ9fDJbMC00XVxcXFxkfDJbMC01XXsyfSknO1xuICAgIGNvbnN0IGFscGhhID0gJyhbMDFdfDA/XFxcXC5cXFxcZCspJztcblxuICAgIHJldHVybiBuZXcgUmVnRXhwKFxuICAgICAgICBgXig/OnJnYlxcXFwoXFxcXHMqJHtyYW5nZX1cXFxccyosXFxcXHMqJHtyYW5nZX1cXFxccyosXFxcXHMqJHtyYW5nZX1cXFxccypcXFxcKXxyZ2JhXFxcXChcXFxccyoke3JhbmdlfVxcXFxzKixcXFxccyoke3JhbmdlfVxcXFxzKixcXFxccyoke3JhbmdlfVxcXFxzKixcXFxccyoke2FscGhhfVxcXFxzKlxcXFwpKSRgLFxuICAgICkudGVzdChyZ2JhKTtcbn1cbiJdfQ==
@@ -9,11 +9,11 @@ import { tuiIsNativeFocused } from './is-native-focused';
9
9
  export function tuiMoveFocus(currentIndex, elements, step) {
10
10
  currentIndex += step;
11
11
  while (currentIndex >= 0 && currentIndex < elements.length) {
12
- elements[currentIndex].focus();
12
+ elements[currentIndex]?.focus();
13
13
  if (tuiIsNativeFocused(elements[currentIndex])) {
14
14
  return;
15
15
  }
16
16
  currentIndex += step;
17
17
  }
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1mb2N1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9mb2N1cy9tb3ZlLWZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXZEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQ3hCLFlBQW9CLEVBQ3BCLFFBQWdDLEVBQ2hDLElBQVk7SUFFWixZQUFZLElBQUksSUFBSSxDQUFDO0lBRXJCLE9BQU8sWUFBWSxJQUFJLENBQUMsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUN4RCxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFL0IsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7UUFFRCxZQUFZLElBQUksSUFBSSxDQUFDO0tBQ3hCO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICcuL2lzLW5hdGl2ZS1mb2N1c2VkJztcblxuLyoqXG4gKiBVdGlsaXR5IG1ldGhvZCBmb3IgbW92aW5nIGZvY3VzIGluIGEgbGlzdCBvZiBlbGVtZW50c1xuICpcbiAqIEBwYXJhbSBjdXJyZW50SW5kZXggY3VycmVudGx5IGZvY3VzZWQgaW5kZXhcbiAqIEBwYXJhbSBlbGVtZW50cyBhcnJheSBvZiBmb2N1c2FibGUgZWxlbWVudHNcbiAqIEBwYXJhbSBzdGVwIGEgc3RlcCB0byBtb3ZlIGZvY3VzIGJ5LCB0eXBpY2FsbHkgLTEgb3IgMVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpTW92ZUZvY3VzKFxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICAgIGVsZW1lbnRzOiByZWFkb25seSBIVE1MRWxlbWVudFtdLFxuICAgIHN0ZXA6IG51bWJlcixcbik6IHZvaWQge1xuICAgIGN1cnJlbnRJbmRleCArPSBzdGVwO1xuXG4gICAgd2hpbGUgKGN1cnJlbnRJbmRleCA+PSAwICYmIGN1cnJlbnRJbmRleCA8IGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBlbGVtZW50c1tjdXJyZW50SW5kZXhdLmZvY3VzKCk7XG5cbiAgICAgICAgaWYgKHR1aUlzTmF0aXZlRm9jdXNlZChlbGVtZW50c1tjdXJyZW50SW5kZXhdKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY3VycmVudEluZGV4ICs9IHN0ZXA7XG4gICAgfVxufVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1mb2N1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9mb2N1cy9tb3ZlLWZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXZEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQ3hCLFlBQW9CLEVBQ3BCLFFBQWdDLEVBQ2hDLElBQVk7SUFFWixZQUFZLElBQUksSUFBSSxDQUFDO0lBRXJCLE9BQU8sWUFBWSxJQUFJLENBQUMsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUN4RCxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFaEMsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7UUFFRCxZQUFZLElBQUksSUFBSSxDQUFDO0tBQ3hCO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICcuL2lzLW5hdGl2ZS1mb2N1c2VkJztcblxuLyoqXG4gKiBVdGlsaXR5IG1ldGhvZCBmb3IgbW92aW5nIGZvY3VzIGluIGEgbGlzdCBvZiBlbGVtZW50c1xuICpcbiAqIEBwYXJhbSBjdXJyZW50SW5kZXggY3VycmVudGx5IGZvY3VzZWQgaW5kZXhcbiAqIEBwYXJhbSBlbGVtZW50cyBhcnJheSBvZiBmb2N1c2FibGUgZWxlbWVudHNcbiAqIEBwYXJhbSBzdGVwIGEgc3RlcCB0byBtb3ZlIGZvY3VzIGJ5LCB0eXBpY2FsbHkgLTEgb3IgMVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpTW92ZUZvY3VzKFxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICAgIGVsZW1lbnRzOiByZWFkb25seSBIVE1MRWxlbWVudFtdLFxuICAgIHN0ZXA6IG51bWJlcixcbik6IHZvaWQge1xuICAgIGN1cnJlbnRJbmRleCArPSBzdGVwO1xuXG4gICAgd2hpbGUgKGN1cnJlbnRJbmRleCA+PSAwICYmIGN1cnJlbnRJbmRleCA8IGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBlbGVtZW50c1tjdXJyZW50SW5kZXhdPy5mb2N1cygpO1xuXG4gICAgICAgIGlmICh0dWlJc05hdGl2ZUZvY3VzZWQoZWxlbWVudHNbY3VycmVudEluZGV4XSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGN1cnJlbnRJbmRleCArPSBzdGVwO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  export function tuiDistanceBetweenTouches({ touches }) {
2
- return Math.hypot(touches[0].clientX - touches[1].clientX, touches[0].clientY - touches[1].clientY);
2
+ return Math.hypot((touches[0]?.clientX ?? 0) - (touches[1]?.clientX ?? 0), (touches[0]?.clientY ?? 0) - (touches[1]?.clientY ?? 0));
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxFQUFDLE9BQU8sRUFBYTtJQUMzRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHR1aURpc3RhbmNlQmV0d2VlblRvdWNoZXMoe3RvdWNoZXN9OiBUb3VjaEV2ZW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5oeXBvdChcbiAgICAgICAgdG91Y2hlc1swXS5jbGllbnRYIC0gdG91Y2hlc1sxXS5jbGllbnRYLFxuICAgICAgICB0b3VjaGVzWzBdLmNsaWVudFkgLSB0b3VjaGVzWzFdLmNsaWVudFksXG4gICAgKTtcbn1cbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMvZGlzdGFuY2UtYmV0d2Vlbi10b3VjaGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxFQUFDLE9BQU8sRUFBYTtJQUMzRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQ2IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsRUFDdkQsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FDMUQsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdHVpRGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyh7dG91Y2hlc306IFRvdWNoRXZlbnQpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmh5cG90KFxuICAgICAgICAodG91Y2hlc1swXT8uY2xpZW50WCA/PyAwKSAtICh0b3VjaGVzWzFdPy5jbGllbnRYID8/IDApLFxuICAgICAgICAodG91Y2hlc1swXT8uY2xpZW50WSA/PyAwKSAtICh0b3VjaGVzWzFdPy5jbGllbnRZID8/IDApLFxuICAgICk7XG59XG4iXX0=
@@ -201,7 +201,7 @@ const TUI_USED_ICONS = [
201
201
  '@tui.clock',
202
202
  ];
203
203
 
204
- const TUI_VERSION = '4.4.0';
204
+ const TUI_VERSION = '4.4.1';
205
205
 
206
206
  /**
207
207
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.chevron-left',\n '@tui.calendar',\n '@tui.minus',\n '@tui.file',\n '@tui.trash',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.plus',\n '@tui.minimize',\n '@tui.filter',\n '@tui.move-up-right',\n '@tui.move-right',\n '@tui.move-down-right',\n '@tui.move-down',\n '@tui.move-down-left',\n '@tui.move-left',\n '@tui.move-up-left',\n '@tui.move-up',\n '@tui.clock',\n] as const;\n","export const TUI_VERSION = '4.4.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.chevron-left',\n '@tui.calendar',\n '@tui.minus',\n '@tui.file',\n '@tui.trash',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.plus',\n '@tui.minimize',\n '@tui.filter',\n '@tui.move-up-right',\n '@tui.move-right',\n '@tui.move-down-right',\n '@tui.move-down',\n '@tui.move-down-left',\n '@tui.move-left',\n '@tui.move-up-left',\n '@tui.move-up',\n '@tui.clock',\n] as const;\n","export const TUI_VERSION = '4.4.1';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,8 +14,8 @@ class TuiPanService extends Observable {
14
14
  .pipe(switchMap(() => merge(tuiTypedFromEvent(doc, 'touchmove', {
15
15
  passive: true,
16
16
  }).pipe(filter(({ touches }) => touches.length < 2), map(({ touches }) => touches[0])), tuiTypedFromEvent(doc, 'mousemove'))), pairwise(), map(([first, second]) => {
17
- const deltaX = second.clientX - first.clientX;
18
- const deltaY = second.clientY - first.clientY;
17
+ const deltaX = (second?.clientX ?? 0) - (first?.clientX ?? 0);
18
+ const deltaY = (second?.clientY ?? 0) - (first?.clientY ?? 0);
19
19
  return [deltaX, deltaY];
20
20
  }), takeUntil(merge(tuiTypedFromEvent(doc, 'touchend'), tuiTypedFromEvent(doc, 'mouseup'))), repeat())
21
21
  .subscribe(subscriber);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-pan.mjs","sources":["../../../projects/cdk/directives/pan/pan.service.ts","../../../projects/cdk/directives/pan/pan.directive.ts","../../../projects/cdk/directives/pan/taiga-ui-cdk-directives-pan.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n filter,\n map,\n merge,\n Observable,\n pairwise,\n repeat,\n switchMap,\n takeUntil,\n} from 'rxjs';\n\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor() {\n const el = tuiInjectElement();\n const doc = inject(DOCUMENT);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(el, 'mousedown'),\n )\n .pipe(\n switchMap(() =>\n merge(\n tuiTypedFromEvent(doc, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(doc, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n takeUntil(\n merge(\n tuiTypedFromEvent(doc, 'touchend'),\n tuiTypedFromEvent(doc, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiPanService} from './pan.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiPan]',\n providers: [TuiPanService],\n})\nexport class TuiPan {\n @Output()\n public readonly tuiPan = inject(TuiPanService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAeA,MACa,aAAc,SAAQ,UAAqC,CAAA;AACpE,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAC9B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE7B,QAAA,KAAK,CAAC,CAAC,UAAU,KAAI;YACjB,KAAK,CACD,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EACpD,iBAAiB,CAAC,EAAE,EAAE,WAAW,CAAC,CACrC;AACI,iBAAA,IAAI,CACD,SAAS,CAAC,MACN,KAAK,CACD,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE;AAChC,gBAAA,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC,IAAI,CACH,MAAM,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CACjC,EACD,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CACtC,CACJ,EACD,QAAQ,EAAE,EACV,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAI;gBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAE9C,gBAAA,OAAO,CAAC,MAAM,EAAE,MAAM,CAAqB,CAAC;aAC/C,CAAC,EACF,SAAS,CACL,KAAK,CACD,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,EAClC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CACpC,CACJ,EACD,MAAM,EAAE,CACX;iBACA,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACN;+GAvCQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAb,aAAa,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;ACXX,MAKa,MAAM,CAAA;AALnB,IAAA,WAAA,GAAA;AAOoB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAClD,KAAA;+GAHY,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAFJ,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEjB,MAAM,EAAA,UAAA,EAAA,CAAA;kBALlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,CAAC,aAAa,CAAC;AAC7B,iBAAA,CAAA;8BAGmB,MAAM,EAAA,CAAA;sBADrB,MAAM;;;ACVX;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-pan.mjs","sources":["../../../projects/cdk/directives/pan/pan.service.ts","../../../projects/cdk/directives/pan/pan.directive.ts","../../../projects/cdk/directives/pan/taiga-ui-cdk-directives-pan.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n filter,\n map,\n merge,\n Observable,\n pairwise,\n repeat,\n switchMap,\n takeUntil,\n} from 'rxjs';\n\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor() {\n const el = tuiInjectElement();\n const doc = inject(DOCUMENT);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(el, 'mousedown'),\n )\n .pipe(\n switchMap(() =>\n merge(\n tuiTypedFromEvent(doc, 'touchmove', {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(doc, 'mousemove'),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = (second?.clientX ?? 0) - (first?.clientX ?? 0);\n const deltaY = (second?.clientY ?? 0) - (first?.clientY ?? 0);\n\n return [deltaX, deltaY] as [number, number];\n }),\n takeUntil(\n merge(\n tuiTypedFromEvent(doc, 'touchend'),\n tuiTypedFromEvent(doc, 'mouseup'),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiPanService} from './pan.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiPan]',\n providers: [TuiPanService],\n})\nexport class TuiPan {\n @Output()\n public readonly tuiPan = inject(TuiPanService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAeA,MACa,aAAc,SAAQ,UAAqC,CAAA;AACpE,IAAA,WAAA,GAAA;AACI,QAAA,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAC9B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE7B,QAAA,KAAK,CAAC,CAAC,UAAU,KAAI;YACjB,KAAK,CACD,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,EACpD,iBAAiB,CAAC,EAAE,EAAE,WAAW,CAAC,CACrC;AACI,iBAAA,IAAI,CACD,SAAS,CAAC,MACN,KAAK,CACD,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE;AAChC,gBAAA,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC,IAAI,CACH,MAAM,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EACzC,GAAG,CAAC,CAAC,EAAC,OAAO,EAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CACjC,EACD,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CACtC,CACJ,EACD,QAAQ,EAAE,EACV,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAI;AACpB,gBAAA,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;AAC9D,gBAAA,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;AAE9D,gBAAA,OAAO,CAAC,MAAM,EAAE,MAAM,CAAqB,CAAC;aAC/C,CAAC,EACF,SAAS,CACL,KAAK,CACD,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,EAClC,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CACpC,CACJ,EACD,MAAM,EAAE,CACX;iBACA,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACN;+GAvCQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAb,aAAa,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;ACXX,MAKa,MAAM,CAAA;AALnB,IAAA,WAAA,GAAA;AAOoB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAClD,KAAA;+GAHY,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAFJ,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEjB,MAAM,EAAA,UAAA,EAAA,CAAA;kBALlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,UAAU;oBACpB,SAAS,EAAE,CAAC,aAAa,CAAC;AAC7B,iBAAA,CAAA;8BAGmB,MAAM,EAAA,CAAA;sBADrB,MAAM;;;ACVX;;AAEG;;;;"}
@@ -20,12 +20,12 @@ class TuiSwipeService extends Observable {
20
20
  super((subscriber) => {
21
21
  merge(tuiTypedFromEvent(el, 'touchstart', { passive: true }), tuiTypedFromEvent(doc, 'touchend'))
22
22
  .pipe(pairwise(), filter(([first, second]) => !!first.touches.length &&
23
- first.touches[0].identifier ===
24
- second.changedTouches[0].identifier), map(([start, end]) => {
25
- const startX = start.touches[0].clientX;
26
- const startY = start.touches[0].clientY;
27
- const endX = end.changedTouches[0].clientX;
28
- const endY = end.changedTouches[0].clientY;
23
+ first.touches[0]?.identifier ===
24
+ second.changedTouches[0]?.identifier), map(([start, end]) => {
25
+ const startX = start.touches[0]?.clientX ?? 0;
26
+ const startY = start.touches[0]?.clientY ?? 0;
27
+ const endX = end.changedTouches[0]?.clientX ?? 0;
28
+ const endY = end.changedTouches[0]?.clientY ?? 0;
29
29
  const distanceX = startX - endX;
30
30
  const distanceY = startY - endY;
31
31
  const duration = end.timeStamp - start.timeStamp;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-swipe.mjs","sources":["../../../projects/cdk/directives/swipe/swipe.options.ts","../../../projects/cdk/directives/swipe/swipe.service.ts","../../../projects/cdk/directives/swipe/swipe.directive.ts","../../../projects/cdk/directives/swipe/taiga-ui-cdk-directives-swipe.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiSwipeOptions} from './swipe.types';\n\nexport const TUI_SWIPE_OPTIONS = tuiCreateToken<TuiSwipeOptions>({\n timeout: 500,\n threshold: 30,\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {filter, map, merge, Observable, pairwise} from 'rxjs';\n\nimport {TUI_SWIPE_OPTIONS} from './swipe.options';\nimport type {TuiSwipeDirection, TuiSwipeEvent} from './swipe.types';\n\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipeEvent> {\n constructor() {\n const doc = inject(DOCUMENT);\n const el = tuiInjectElement();\n const {timeout, threshold} = inject(TUI_SWIPE_OPTIONS);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(doc, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: tuiGetSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(tuiIsPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n\nfunction tuiGetSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n }\n\n return deltaX > 0 ? 'left' : 'right';\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiSwipeService} from './swipe.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiSwipe]',\n providers: [TuiSwipeService],\n})\nexport class TuiSwipe {\n @Output()\n public readonly tuiSwipe = inject(TuiSwipeService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-swipe.mjs","sources":["../../../projects/cdk/directives/swipe/swipe.options.ts","../../../projects/cdk/directives/swipe/swipe.service.ts","../../../projects/cdk/directives/swipe/swipe.directive.ts","../../../projects/cdk/directives/swipe/taiga-ui-cdk-directives-swipe.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiSwipeOptions} from './swipe.types';\n\nexport const TUI_SWIPE_OPTIONS = tuiCreateToken<TuiSwipeOptions>({\n timeout: 500,\n threshold: 30,\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {filter, map, merge, Observable, pairwise} from 'rxjs';\n\nimport {TUI_SWIPE_OPTIONS} from './swipe.options';\nimport type {TuiSwipeDirection, TuiSwipeEvent} from './swipe.types';\n\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipeEvent> {\n constructor() {\n const doc = inject(DOCUMENT);\n const el = tuiInjectElement();\n const {timeout, threshold} = inject(TUI_SWIPE_OPTIONS);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}),\n tuiTypedFromEvent(doc, 'touchend'),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0]?.identifier ===\n second.changedTouches[0]?.identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0]?.clientX ?? 0;\n const startY = start.touches[0]?.clientY ?? 0;\n const endX = end.changedTouches[0]?.clientX ?? 0;\n const endY = end.changedTouches[0]?.clientY ?? 0;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: tuiGetSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(tuiIsPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n\nfunction tuiGetSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n }\n\n return deltaX > 0 ? 'left' : 'right';\n}\n","import {Directive, inject, Output} from '@angular/core';\n\nimport {TuiSwipeService} from './swipe.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiSwipe]',\n providers: [TuiSwipeService],\n})\nexport class TuiSwipe {\n @Output()\n public readonly tuiSwipe = inject(TuiSwipeService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -30,11 +30,11 @@ class TuiZoomService extends Observable {
30
30
  distance: tuiDistanceBetweenTouches(startEvent),
31
31
  delta: 0,
32
32
  }), map(({ event, delta }) => {
33
- const clientX = (event.touches[0].clientX +
34
- event.touches[1].clientX) /
33
+ const clientX = ((event.touches[0]?.clientX ?? 0) +
34
+ (event.touches[1]?.clientX ?? 0)) /
35
35
  2;
36
- const clientY = (event.touches[0].clientY +
37
- event.touches[1].clientY) /
36
+ const clientY = ((event.touches[0]?.clientY ?? 0) +
37
+ (event.touches[1]?.clientY ?? 0)) /
38
38
  2;
39
39
  return { clientX, clientY, delta, event };
40
40
  }), takeUntil(tuiTypedFromEvent(el, 'touchend'))))), tuiTypedFromEvent(el, 'wheel', { passive: false }).pipe(tuiPreventDefault(), map((wheel) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-zoom.mjs","sources":["../../../projects/cdk/directives/zoom/zoom.options.ts","../../../projects/cdk/directives/zoom/zoom.service.ts","../../../projects/cdk/directives/zoom/zoom.directive.ts","../../../projects/cdk/directives/zoom/taiga-ui-cdk-directives-zoom.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiZoomOptions} from './zoom.types';\n\n/**\n * Zoom options\n */\nexport const TUI_ZOOM_OPTIONS = tuiCreateToken<TuiZoomOptions>({\n wheelSensitivity: 0.01,\n});\n","import {inject, Injectable} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiDistanceBetweenTouches, tuiInjectElement} from '@taiga-ui/cdk/utils';\nimport {filter, map, merge, Observable, scan, switchMap, takeUntil} from 'rxjs';\n\nimport {TUI_ZOOM_OPTIONS} from './zoom.options';\nimport type {TuiZoomEvent} from './zoom.types';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoomEvent> {\n constructor() {\n const el = tuiInjectElement();\n const {wheelSensitivity} = inject(TUI_ZOOM_OPTIONS);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap((startEvent) =>\n tuiTypedFromEvent(el, 'touchmove', {passive: true}).pipe(\n tuiPreventDefault(),\n scan(\n (prev, event) => {\n const distance = tuiDistanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: tuiDistanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n takeUntil(tuiTypedFromEvent(el, 'touchend')),\n ),\n ),\n ),\n tuiTypedFromEvent(el, 'wheel', {passive: false}).pipe(\n tuiPreventDefault(),\n map((wheel) => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject} from '@angular/core';\n\nimport {TuiZoomService} from './zoom.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiZoom]',\n outputs: ['tuiZoom'],\n providers: [TuiZoomService],\n host: {\n '[style.touch-action]': '\"none\"',\n },\n})\nexport class TuiZoom {\n protected readonly tuiZoom = inject(TuiZoomService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-zoom.mjs","sources":["../../../projects/cdk/directives/zoom/zoom.options.ts","../../../projects/cdk/directives/zoom/zoom.service.ts","../../../projects/cdk/directives/zoom/zoom.directive.ts","../../../projects/cdk/directives/zoom/taiga-ui-cdk-directives-zoom.ts"],"sourcesContent":["import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\nimport type {TuiZoomOptions} from './zoom.types';\n\n/**\n * Zoom options\n */\nexport const TUI_ZOOM_OPTIONS = tuiCreateToken<TuiZoomOptions>({\n wheelSensitivity: 0.01,\n});\n","import {inject, Injectable} from '@angular/core';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiDistanceBetweenTouches, tuiInjectElement} from '@taiga-ui/cdk/utils';\nimport {filter, map, merge, Observable, scan, switchMap, takeUntil} from 'rxjs';\n\nimport {TUI_ZOOM_OPTIONS} from './zoom.options';\nimport type {TuiZoomEvent} from './zoom.types';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoomEvent> {\n constructor() {\n const el = tuiInjectElement();\n const {wheelSensitivity} = inject(TUI_ZOOM_OPTIONS);\n\n super((subscriber) => {\n merge(\n tuiTypedFromEvent(el, 'touchstart', {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap((startEvent) =>\n tuiTypedFromEvent(el, 'touchmove', {passive: true}).pipe(\n tuiPreventDefault(),\n scan(\n (prev, event) => {\n const distance = tuiDistanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: tuiDistanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n const clientX =\n ((event.touches[0]?.clientX ?? 0) +\n (event.touches[1]?.clientX ?? 0)) /\n 2;\n const clientY =\n ((event.touches[0]?.clientY ?? 0) +\n (event.touches[1]?.clientY ?? 0)) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n takeUntil(tuiTypedFromEvent(el, 'touchend')),\n ),\n ),\n ),\n tuiTypedFromEvent(el, 'wheel', {passive: false}).pipe(\n tuiPreventDefault(),\n map((wheel) => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n","import {Directive, inject} from '@angular/core';\n\nimport {TuiZoomService} from './zoom.service';\n\n@Directive({\n standalone: true,\n selector: '[tuiZoom]',\n outputs: ['tuiZoom'],\n providers: [TuiZoomService],\n host: {\n '[style.touch-action]': '\"none\"',\n },\n})\nexport class TuiZoom {\n protected readonly tuiZoom = inject(TuiZoomService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ function tuiParseHex(hex, alpha) {
40
40
  }
41
41
  const chunkSize = Math.floor((hex.length - 1) / 3);
42
42
  const hexArr = getChunksFromString(hex.slice(1), chunkSize);
43
- const [r, g, b, a] = hexArr?.map(convertHexUnitTo256) ?? [];
43
+ const [r = NaN, g = NaN, b = NaN, a] = hexArr?.map(convertHexUnitTo256) ?? [];
44
44
  const floatAlpha = getAlphaFloat(a, alpha);
45
45
  return [r, g, b, floatAlpha];
46
46
  }
@@ -135,8 +135,8 @@ function tuiParseGradient(input) {
135
135
  let matchColorStop = stopsRegexp.exec(stopsString);
136
136
  while (matchColorStop !== null) {
137
137
  stops = stops.concat({
138
- color: matchColorStop[1],
139
- position: getPosition(matchColorStop[2], stops.length),
138
+ color: matchColorStop[1] || '',
139
+ position: getPosition(matchColorStop[2] || '', stops.length),
140
140
  });
141
141
  matchColorStop = stopsRegexp.exec(stopsString);
142
142
  }
@@ -168,15 +168,13 @@ function tuiRgbaToHex(color) {
168
168
  if (!tuiIsValidRgba(color)) {
169
169
  throw new Error('Invalid RGBa');
170
170
  }
171
- const rgb = color
172
- .replaceAll(/\s/g, '')
173
- .match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i) ??
174
- [];
171
+ const rgb = color.replaceAll(/\s/g, '').match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i) ??
172
+ null;
175
173
  let alpha = (rgb?.[4] ?? '').toString().trim();
176
174
  let hex = rgb
177
- ? (rgb[1] | (1 << 8)).toString(16).slice(1) +
178
- (rgb[2] | (1 << 8)).toString(16).slice(1) +
179
- (rgb[3] | (1 << 8)).toString(16).slice(1)
175
+ ? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
176
+ ((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
177
+ ((parseInt(rgb?.[3] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1)
180
178
  : color;
181
179
  alpha = alpha !== '' ? alpha : 0o1;
182
180
  alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);