@taiga-ui/cdk 4.62.0 → 4.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "4.62.0";
1
+ export declare const TUI_VERSION = "4.64.0";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '4.62.0';
4
+ exports.TUI_VERSION = '4.64.0';
5
5
  //# sourceMappingURL=version.js.map
@@ -1,2 +1,2 @@
1
- export const TUI_VERSION = '4.62.0';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuNjIuMCc7XG4iXX0=
1
+ export const TUI_VERSION = '4.64.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuNjQuMCc7XG4iXX0=
@@ -55,9 +55,8 @@ export class TuiTime {
55
55
  * Calculates TuiTime from milliseconds
56
56
  */
57
57
  static fromAbsoluteMilliseconds(milliseconds) {
58
- ngDevMode && console.assert(Number.isInteger(milliseconds));
59
58
  ngDevMode &&
60
- console.assert(tuiInRange(milliseconds, 0, MILLISECONDS_IN_DAY), `Milliseconds must be below ${MILLISECONDS_IN_DAY} (milliseconds in a day).`);
59
+ console.assert(Number.isInteger(milliseconds) && milliseconds >= 0, 'Milliseconds must be a non-negative integer.');
61
60
  const hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);
62
61
  const minutes = Math.floor((milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE);
63
62
  const seconds = Math.floor(((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000) || 0;
@@ -158,4 +157,4 @@ export class TuiTime {
158
157
  return ((value % modulus) + modulus) % modulus;
159
158
  }
160
159
  }
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kYXRlLXRpbWUvdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFFeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRXBELE9BQU8sRUFDSCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFHckI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNoQixZQUNvQixLQUFhLEVBQ2IsT0FBZSxFQUNmLFVBQVUsQ0FBQyxFQUNYLEtBQUssQ0FBQztRQUhOLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBSTtRQUNYLE9BQUUsR0FBRixFQUFFLENBQUk7UUFFdEIsU0FBUztZQUNMLE9BQU8sQ0FBQyxNQUFNO1lBQ1Ysb0RBQW9EO1lBQ3BELG1GQUFtRjtZQUNuRixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDbkIsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDO2dCQUM5QixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFDekIsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFDekIsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsaUJBQWlCLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNwQixVQUFVLENBQUMsRUFBRSxF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dHNjb25maWcvbmctZGV2LW1vZGVcIiAvPlxuXG5pbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0V9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpSW5SYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtcbiAgICBIT1VSU19JTl9EQVksXG4gICAgTUlMTElTRUNPTkRTX0lOX0RBWSxcbiAgICBNSUxMSVNFQ09ORFNfSU5fSE9VUixcbiAgICBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFLFxuICAgIE1JTExJU0VDT05EU19JTl9TRUNPTkQsXG4gICAgTUlOVVRFU19JTl9IT1VSLFxuICAgIFNFQ09ORFNfSU5fTUlOVVRFLFxufSBmcm9tICcuL2RhdGUtdGltZSc7XG5pbXBvcnQge3R5cGUgVHVpVGltZUxpa2UsIHR5cGUgVHVpVGltZU1vZGV9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEltbXV0YWJsZSB0aW1lIG9iamVjdCB3aXRoIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzIGFuZCBtc1xuICovXG5leHBvcnQgY2xhc3MgVHVpVGltZSBpbXBsZW1lbnRzIFR1aVRpbWVMaWtlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGhvdXJzOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzZWNvbmRzID0gMCxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IG1zID0gMCxcbiAgICApIHtcbiAgICAgICAgbmdEZXZNb2RlICYmXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChcbiAgICAgICAgICAgICAgICAvLyBDdXJyZW50bHkgYFR1aVRpbWVgIGNvdWxkIGhhdmUgaG91cnMgbW9yZSB0aGFuIDIzXG4gICAgICAgICAgICAgICAgLy8gaW4gb3JkZXIgdG8gbm90IGJyZWFrIGN1cnJlbnQgYmVoYXZpb3VyIG9mIGBpc1ZhbGlkVGltZWAgdGhlIGxvZ2ljIGlzIGR1cGxpY2F0ZWRcbiAgICAgICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKGhvdXJzKSAmJlxuICAgICAgICAgICAgICAgICAgICB0dWlJblJhbmdlKGhvdXJzLCAwLCBJbmZpbml0eSkgJiZcbiAgICAgICAgICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihtaW51dGVzKSAmJlxuICAgICAgICAgICAgICAgICAgICB0dWlJblJhbmdlKG1pbnV0ZXMsIDAsIE1JTlVURVNfSU5fSE9VUikgJiZcbiAgICAgICAgICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihzZWNvbmRzKSAmJlxuICAgICAgICAgICAgICAgICAgICB0dWlJblJhbmdlKHNlY29uZHMsIDAsIFNFQ09ORFNfSU5fTUlOVVRFKSAmJlxuICAgICAgICAgICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKG1zKSAmJlxuICAgICAgICAgICAgICAgICAgICB0dWlJblJhbmdlKG1zLCAwLCAxMDAwKSxcbiAgICAgICAgICAgICAgICAnVGltZSBtdXN0IGJlIHJlYWwsIGJ1dCBnb3Q6JyxcbiAgICAgICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgICAgIHNlY29uZHMsXG4gICAgICAgICAgICAgICAgbXMsXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aW1lIGlzIHZhbGlkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBpc1ZhbGlkVGltZShcbiAgICAgICAgaG91cnM6IG51bWJlcixcbiAgICAgICAgbWludXRlczogbnVtYmVyLFxuICAgICAgICBzZWNvbmRzID0gMCxcbiAgICAgICAgbXMgPSAwLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihob3VycykgJiZcbiAgICAgICAgICAgIHR1aUluUmFuZ2UoaG91cnMsIDAsIEhPVVJTX0lOX0RBWSkgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIobWludXRlcykgJiZcbiAgICAgICAgICAgIHR1aUluUmFuZ2UobWludXRlcywgMCwgTUlOVVRFU19JTl9IT1VSKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihzZWNvbmRzKSAmJlxuICAgICAgICAgICAgdHVpSW5SYW5nZShzZWNvbmRzLCAwLCBTRUNPTkRTX0lOX01JTlVURSkgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIobXMpICYmXG4gICAgICAgICAgICB0dWlJblJhbmdlKG1zLCAwLCAxMDAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgVVRDIHRpbWUuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBjdXJyZW50KCk6IFR1aVRpbWUge1xuICAgICAgICByZXR1cm4gVHVpVGltZS5mcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMoRGF0ZS5ub3coKSAlIE1JTExJU0VDT05EU19JTl9EQVkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgdGltZSBpbiBsb2NhbCB0aW1lem9uZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgY3VycmVudExvY2FsKCk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcblxuICAgICAgICByZXR1cm4gVHVpVGltZS5mcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMoXG4gICAgICAgICAgICAoRGF0ZS5ub3coKSAtIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIE1JTExJU0VDT05EU19JTl9NSU5VVEUpICVcbiAgICAgICAgICAgICAgICBNSUxMSVNFQ09ORFNfSU5fREFZLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgVHVpVGltZSBmcm9tIG1pbGxpc2Vjb25kc1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kczogbnVtYmVyKTogVHVpVGltZSB7XG4gICAgICAgIG5nRGV2TW9kZSAmJiBjb25zb2xlLmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKG1pbGxpc2Vjb25kcykpO1xuICAgICAgICBuZ0Rldk1vZGUgJiZcbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxuICAgICAgICAgICAgICAgIHR1aUluUmFuZ2UobWlsbGlzZWNvbmRzLCAwLCBNSUxMSVNFQ09ORFNfSU5fREFZKSxcbiAgICAgICAgICAgICAgICBgTWlsbGlzZWNvbmRzIG11c3QgYmUgYmVsb3cgJHtNSUxMSVNFQ09ORFNfSU5fREFZfSAobWlsbGlzZWNvbmRzIGluIGEgZGF5KS5gLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWlsbGlzZWNvbmRzIC8gTUlMTElTRUNPTkRTX0lOX0hPVVIpO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihcbiAgICAgICAgICAgIChtaWxsaXNlY29uZHMgJSBNSUxMSVNFQ09ORFNfSU5fSE9VUikgLyBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzZWNvbmRzID1cbiAgICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICAgICAgKChtaWxsaXNlY29uZHMgJSBNSUxMSVNFQ09ORFNfSU5fSE9VUikgJSBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFKSAvIDEwMDAsXG4gICAgICAgICAgICApIHx8IDA7XG4gICAgICAgIGNvbnN0IG1zID1cbiAgICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICAgICAgKChtaWxsaXNlY29uZHMgJSBNSUxMSVNFQ09ORFNfSU5fSE9VUikgJSBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFKSAlIDEwMDAsXG4gICAgICAgICAgICApIHx8IDA7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFyc2VzIHN0cmluZyBpbnRvIFR1aVRpbWUgb2JqZWN0XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmcm9tU3RyaW5nKHRpbWU6IHN0cmluZyk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBob3VycyA9IHRoaXMucGFyc2VIb3Vycyh0aW1lKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IE51bWJlcih0aW1lLnNsaWNlKDMsIDUpKSB8fCAwO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gTnVtYmVyKHRpbWUuc2xpY2UoNiwgOCkpIHx8IDA7XG4gICAgICAgIGNvbnN0IG1zID0gTnVtYmVyKHRpbWUuc2xpY2UoOSwgMTIpKSB8fCAwO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIERhdGUgb2JqZWN0IGludG8gVHVpVGltZVxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmcm9tTG9jYWxOYXRpdmVEYXRlKGRhdGU6IERhdGUpOiBUdWlUaW1lIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKFxuICAgICAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcGFyc2VNZXJpZGllbVBlcmlvZCh0aW1lOiBzdHJpbmcpOiAnQU0nIHwgJ1BNJyB8IG51bGwge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKC9bQVBdTS8uZXhlYyh0aW1lLnRvVXBwZXJDYXNlKCkucmVwbGFjZUFsbCgvXFxXL2csICcnKSk/LlswXSBhc1xuICAgICAgICAgICAgICAgIHwgJ0FNJ1xuICAgICAgICAgICAgICAgIHwgJ1BNJykgfHwgbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHBhcnNlSG91cnModGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgaG91cnMgPSBOdW1iZXIodGltZS5zbGljZSgwLCAyKSk7XG4gICAgICAgIGNvbnN0IG1lcmlkaWVtID0gdGhpcy5wYXJzZU1lcmlkaWVtUGVyaW9kKHRpbWUpO1xuXG4gICAgICAgIGlmICghbWVyaWRpZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBob3VycztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3VycyA9PT0gMTIpIHtcbiAgICAgICAgICAgIHJldHVybiBtZXJpZGllbSA9PT0gJ0FNJyA/IDAgOiAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtZXJpZGllbSA9PT0gJ1BNJyA/IGhvdXJzICsgMTIgOiBob3VycztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaGlmdHMgdGltZSBieSBob3VycyBhbmQgbWludXRlc1xuICAgICAqL1xuICAgIHB1YmxpYyBzaGlmdCh7aG91cnMgPSAwLCBtaW51dGVzID0gMCwgc2Vjb25kcyA9IDAsIG1zID0gMH06IFR1aVRpbWVMaWtlKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IHRvdGFsTXMgPVxuICAgICAgICAgICAgdGhpcy50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCkgK1xuICAgICAgICAgICAgaG91cnMgKiBNSUxMSVNFQ09ORFNfSU5fSE9VUiArXG4gICAgICAgICAgICBtaW51dGVzICogTUlMTElTRUNPTkRTX0lOX01JTlVURSArXG4gICAgICAgICAgICBzZWNvbmRzICogTUlMTElTRUNPTkRTX0lOX1NFQ09ORCArXG4gICAgICAgICAgICBtcztcbiAgICAgICAgY29uc3QgdG90YWxTZWNvbmRzID0gTWF0aC5mbG9vcih0b3RhbE1zIC8gTUlMTElTRUNPTkRTX0lOX1NFQ09ORCk7XG4gICAgICAgIGNvbnN0IHRvdGFsTWludXRlcyA9IE1hdGguZmxvb3IodG90YWxTZWNvbmRzIC8gU0VDT05EU19JTl9NSU5VVEUpO1xuICAgICAgICBjb25zdCB0b3RhbEhvdXJzID0gTWF0aC5mbG9vcih0b3RhbE1pbnV0ZXMgLyBNSU5VVEVTX0lOX0hPVVIpO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShcbiAgICAgICAgICAgIHRoaXMubm9ybWFsaXplVG9SYW5nZSh0b3RhbEhvdXJzLCBIT1VSU19JTl9EQVkpLFxuICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVUb1JhbmdlKHRvdGFsTWludXRlcywgTUlOVVRFU19JTl9IT1VSKSxcbiAgICAgICAgICAgIHRoaXMubm9ybWFsaXplVG9SYW5nZSh0b3RhbFNlY29uZHMsIFNFQ09ORFNfSU5fTUlOVVRFKSxcbiAgICAgICAgICAgIHRoaXMubm9ybWFsaXplVG9SYW5nZSh0b3RhbE1zLCBNSUxMSVNFQ09ORFNfSU5fU0VDT05EKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBUdWlUaW1lIHRvIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyB0b1N0cmluZyhcbiAgICAgICAgbW9kZT86IFR1aVRpbWVNb2RlLCAvLyBUT0RPKHY1KTogcmVtb3ZlIHVzYWdlIG9mIGBUdWlUaW1lTW9kZWAgYW5kIGlubGluZSBhbGwgbW9kZXMgYXMgaHVnZSB1bmlvbiB0eXBlXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbmVlZEFkZE1zID0gbW9kZT8uc3RhcnRzV2l0aCgnSEg6TU06U1MuTVNTJykgfHwgKCFtb2RlICYmIHRoaXMubXMgPiAwKTtcbiAgICAgICAgY29uc3QgbmVlZEFkZFNlY29uZHMgPVxuICAgICAgICAgICAgbmVlZEFkZE1zIHx8IG1vZGU/LnN0YXJ0c1dpdGgoJ0hIOk1NOlNTJykgfHwgKCFtb2RlICYmIHRoaXMuc2Vjb25kcyA+IDApO1xuICAgICAgICBjb25zdCB7aG91cnMgPSB0aGlzLmhvdXJzLCBtZXJpZGllbSA9ICcnfSA9IG1vZGU/LmluY2x1ZGVzKCdBQScpXG4gICAgICAgICAgICA/IHRoaXMudG9Ud2VsdmVIb3VyKHRoaXMuaG91cnMpXG4gICAgICAgICAgICA6IHt9O1xuICAgICAgICBjb25zdCBoaE1tID0gYCR7dGhpcy5mb3JtYXRUaW1lKGhvdXJzKX06JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5taW51dGVzKX1gO1xuICAgICAgICBjb25zdCBzcyA9IG5lZWRBZGRTZWNvbmRzID8gYDoke3RoaXMuZm9ybWF0VGltZSh0aGlzLnNlY29uZHMpfWAgOiAnJztcbiAgICAgICAgY29uc3QgbXNzID0gbmVlZEFkZE1zID8gYC4ke3RoaXMuZm9ybWF0VGltZSh0aGlzLm1zLCAzKX1gIDogJyc7XG4gICAgICAgIGNvbnN0IGFhID0gbWVyaWRpZW0gJiYgYCR7Q0hBUl9OT19CUkVBS19TUEFDRX0ke21lcmlkaWVtfWA7XG5cbiAgICAgICAgcmV0dXJuIGAke2hoTW19JHtzc30ke21zc30ke2FhfWA7XG4gICAgfVxuXG4gICAgcHVibGljIHZhbHVlT2YoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHByaW1pdGl2ZSB2YWx1ZSBvZiB0aGUgZ2l2ZW4gRGF0ZSBvYmplY3QuXG4gICAgICogRGVwZW5kaW5nIG9uIHRoZSBhcmd1bWVudCwgdGhlIG1ldGhvZCBjYW4gcmV0dXJuIGVpdGhlciBhIHN0cmluZyBvciBhIG51bWJlci5cbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGUvQEB0b1ByaW1pdGl2ZVxuICAgICAqL1xuICAgIHB1YmxpYyBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBzdHJpbmcpOiBudW1iZXIgfCBzdHJpbmcge1xuICAgICAgICByZXR1cm4gRGF0ZS5wcm90b3R5cGVbU3ltYm9sLnRvUHJpbWl0aXZlXS5jYWxsKHRoaXMsIGhpbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIFR1aVRpbWUgdG8gbWlsbGlzZWNvbmRzXG4gICAgICovXG4gICAgcHVibGljIHRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaG91cnMgKiBNSUxMSVNFQ09ORFNfSU5fSE9VUiArXG4gICAgICAgICAgICB0aGlzLm1pbnV0ZXMgKiBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFICtcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kcyAqIDEwMDAgK1xuICAgICAgICAgICAgdGhpcy5tc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VGltZSh0aW1lOiBudW1iZXIsIGRpZ2l0cyA9IDIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHRpbWUpLnBhZFN0YXJ0KGRpZ2l0cywgJzAnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvVHdlbHZlSG91cihob3VyczogbnVtYmVyKToge2hvdXJzOiBudW1iZXI7IG1lcmlkaWVtOiBzdHJpbmd9IHtcbiAgICAgICAgY29uc3QgbWVyaWRpZW0gPSBob3VycyA+PSAxMiA/ICdQTScgOiAnQU0nO1xuXG4gICAgICAgIGlmIChob3VycyA9PT0gMCB8fCBob3VycyA9PT0gMTIpIHtcbiAgICAgICAgICAgIHJldHVybiB7bWVyaWRpZW0sIGhvdXJzOiAxMn07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge21lcmlkaWVtLCBob3VyczogaG91cnMgJSAxMn07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3JtYWxpemVUb1JhbmdlKHZhbHVlOiBudW1iZXIsIG1vZHVsdXM6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoKHZhbHVlICUgbW9kdWx1cykgKyBtb2R1bHVzKSAlIG1vZHVsdXM7XG4gICAgfVxufVxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kYXRlLXRpbWUvdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFFeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRXBELE9BQU8sRUFDSCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFHckI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNoQixZQUNvQixLQUFhLEVBQ2IsT0FBZSxFQUNmLFVBQVUsQ0FBQyxFQUNYLEtBQUssQ0FBQztRQUhOLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBSTtRQUNYLE9BQUUsR0FBRixFQUFFLENBQUk7UUFFdEIsU0FBUztZQUNMLE9BQU8sQ0FBQyxNQUFNO1lBQ1Ysb0RBQW9EO1lBQ3BELG1GQUFtRjtZQUNuRixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDbkIsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDO2dCQUM5QixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFDekIsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFDekIsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsaUJBQWlCLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNwQixVQUFVLENBQUMsRUFBRSxF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QyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQkFBc0I7UUFDekIsT0FBTyxDQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsb0JBQW9CO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsc0JBQXNCO1lBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSTtZQUNuQixJQUFJLENBQUMsRUFBRSxDQUNWLENBQUM7SUFDTixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVksRUFBRSxNQUFNLEdBQUcsQ0FBQztRQUN2QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUUzQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztTQUNoQztRQUVELE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDbkQsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUNuRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIkB0YWlnYS11aS90c2NvbmZpZy9uZy1kZXYtbW9kZVwiIC8+XG5cbmltcG9ydCB7Q0hBUl9OT19CUkVBS19TUEFDRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlJblJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuXG5pbXBvcnQge1xuICAgIEhPVVJTX0lOX0RBWSxcbiAgICBNSUxMSVNFQ09ORFNfSU5fREFZLFxuICAgIE1JTExJU0VDT05EU19JTl9IT1VSLFxuICAgIE1JTExJU0VDT05EU19JTl9NSU5VVEUsXG4gICAgTUlMTElTRUNPTkRTX0lOX1NFQ09ORCxcbiAgICBNSU5VVEVTX0lOX0hPVVIsXG4gICAgU0VDT05EU19JTl9NSU5VVEUsXG59IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7dHlwZSBUdWlUaW1lTGlrZSwgdHlwZSBUdWlUaW1lTW9kZX0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHRpbWUgb2JqZWN0IHdpdGggaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMgYW5kIG1zXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlUaW1lIGltcGxlbWVudHMgVHVpVGltZUxpa2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgaG91cnM6IG51bWJlcixcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IG1pbnV0ZXM6IG51bWJlcixcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHNlY29uZHMgPSAwLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgbXMgPSAwLFxuICAgICkge1xuICAgICAgICBuZ0Rldk1vZGUgJiZcbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KFxuICAgICAgICAgICAgICAgIC8vIEN1cnJlbnRseSBgVHVpVGltZWAgY291bGQgaGF2ZSBob3VycyBtb3JlIHRoYW4gMjNcbiAgICAgICAgICAgICAgICAvLyBpbiBvcmRlciB0byBub3QgYnJlYWsgY3VycmVudCBiZWhhdmlvdXIgb2YgYGlzVmFsaWRUaW1lYCB0aGUgbG9naWMgaXMgZHVwbGljYXRlZFxuICAgICAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIoaG91cnMpICYmXG4gICAgICAgICAgICAgICAgICAgIHR1aUluUmFuZ2UoaG91cnMsIDAsIEluZmluaXR5KSAmJlxuICAgICAgICAgICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKG1pbnV0ZXMpICYmXG4gICAgICAgICAgICAgICAgICAgIHR1aUluUmFuZ2UobWludXRlcywgMCwgTUlOVVRFU19JTl9IT1VSKSAmJlxuICAgICAgICAgICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKHNlY29uZHMpICYmXG4gICAgICAgICAgICAgICAgICAgIHR1aUluUmFuZ2Uoc2Vjb25kcywgMCwgU0VDT05EU19JTl9NSU5VVEUpICYmXG4gICAgICAgICAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIobXMpICYmXG4gICAgICAgICAgICAgICAgICAgIHR1aUluUmFuZ2UobXMsIDAsIDEwMDApLFxuICAgICAgICAgICAgICAgICdUaW1lIG11c3QgYmUgcmVhbCwgYnV0IGdvdDonLFxuICAgICAgICAgICAgICAgIGhvdXJzLFxuICAgICAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICAgICAgc2Vjb25kcyxcbiAgICAgICAgICAgICAgICBtcyxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRpbWUgaXMgdmFsaWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGlzVmFsaWRUaW1lKFxuICAgICAgICBob3VyczogbnVtYmVyLFxuICAgICAgICBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHNlY29uZHMgPSAwLFxuICAgICAgICBtcyA9IDAsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKGhvdXJzKSAmJlxuICAgICAgICAgICAgdHVpSW5SYW5nZShob3VycywgMCwgSE9VUlNfSU5fREFZKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihtaW51dGVzKSAmJlxuICAgICAgICAgICAgdHVpSW5SYW5nZShtaW51dGVzLCAwLCBNSU5VVEVTX0lOX0hPVVIpICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKHNlY29uZHMpICYmXG4gICAgICAgICAgICB0dWlJblJhbmdlKHNlY29uZHMsIDAsIFNFQ09ORFNfSU5fTUlOVVRFKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihtcykgJiZcbiAgICAgICAgICAgIHR1aUluUmFuZ2UobXMsIDAsIDEwMDApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3VycmVudCBVVEMgdGltZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGN1cnJlbnQoKTogVHVpVGltZSB7XG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhEYXRlLm5vdygpICUgTUlMTElTRUNPTkRTX0lOX0RBWSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3VycmVudCB0aW1lIGluIGxvY2FsIHRpbWV6b25lXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBjdXJyZW50TG9jYWwoKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhcbiAgICAgICAgICAgIChEYXRlLm5vdygpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogTUlMTElTRUNPTkRTX0lOX01JTlVURSkgJVxuICAgICAgICAgICAgICAgIE1JTExJU0VDT05EU19JTl9EQVksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyBUdWlUaW1lIGZyb20gbWlsbGlzZWNvbmRzXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMobWlsbGlzZWNvbmRzOiBudW1iZXIpOiBUdWlUaW1lIHtcbiAgICAgICAgbmdEZXZNb2RlICYmXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChcbiAgICAgICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKG1pbGxpc2Vjb25kcykgJiYgbWlsbGlzZWNvbmRzID49IDAsXG4gICAgICAgICAgICAgICAgJ01pbGxpc2Vjb25kcyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIuJyxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKG1pbGxpc2Vjb25kcyAvIE1JTExJU0VDT05EU19JTl9IT1VSKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoXG4gICAgICAgICAgICAobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpIC8gTUlMTElTRUNPTkRTX0lOX01JTlVURSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kcyA9XG4gICAgICAgICAgICBNYXRoLmZsb29yKFxuICAgICAgICAgICAgICAgICgobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpICUgTUlMTElTRUNPTkRTX0lOX01JTlVURSkgLyAxMDAwLFxuICAgICAgICAgICAgKSB8fCAwO1xuICAgICAgICBjb25zdCBtcyA9XG4gICAgICAgICAgICBNYXRoLmZsb29yKFxuICAgICAgICAgICAgICAgICgobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpICUgTUlMTElTRUNPTkRTX0lOX01JTlVURSkgJSAxMDAwLFxuICAgICAgICAgICAgKSB8fCAwO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhcnNlcyBzdHJpbmcgaW50byBUdWlUaW1lIG9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbVN0cmluZyh0aW1lOiBzdHJpbmcpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgaG91cnMgPSB0aGlzLnBhcnNlSG91cnModGltZSk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBOdW1iZXIodGltZS5zbGljZSgzLCA1KSkgfHwgMDtcbiAgICAgICAgY29uc3Qgc2Vjb25kcyA9IE51bWJlcih0aW1lLnNsaWNlKDYsIDgpKSB8fCAwO1xuICAgICAgICBjb25zdCBtcyA9IE51bWJlcih0aW1lLnNsaWNlKDksIDEyKSkgfHwgMDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBEYXRlIG9iamVjdCBpbnRvIFR1aVRpbWVcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUxvY2FsTmF0aXZlRGF0ZShkYXRlOiBEYXRlKTogVHVpVGltZSB7XG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShcbiAgICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRTZWNvbmRzKCksXG4gICAgICAgICAgICBkYXRlLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHBhcnNlTWVyaWRpZW1QZXJpb2QodGltZTogc3RyaW5nKTogJ0FNJyB8ICdQTScgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICgvW0FQXU0vLmV4ZWModGltZS50b1VwcGVyQ2FzZSgpLnJlcGxhY2VBbGwoL1xcVy9nLCAnJykpPy5bMF0gYXNcbiAgICAgICAgICAgICAgICB8ICdBTSdcbiAgICAgICAgICAgICAgICB8ICdQTScpIHx8IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBwYXJzZUhvdXJzKHRpbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gTnVtYmVyKHRpbWUuc2xpY2UoMCwgMikpO1xuICAgICAgICBjb25zdCBtZXJpZGllbSA9IHRoaXMucGFyc2VNZXJpZGllbVBlcmlvZCh0aW1lKTtcblxuICAgICAgICBpZiAoIW1lcmlkaWVtKSB7XG4gICAgICAgICAgICByZXR1cm4gaG91cnM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG91cnMgPT09IDEyKSB7XG4gICAgICAgICAgICByZXR1cm4gbWVyaWRpZW0gPT09ICdBTScgPyAwIDogMTI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWVyaWRpZW0gPT09ICdQTScgPyBob3VycyArIDEyIDogaG91cnM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hpZnRzIHRpbWUgYnkgaG91cnMgYW5kIG1pbnV0ZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hpZnQoe2hvdXJzID0gMCwgbWludXRlcyA9IDAsIHNlY29uZHMgPSAwLCBtcyA9IDB9OiBUdWlUaW1lTGlrZSk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCB0b3RhbE1zID1cbiAgICAgICAgICAgIHRoaXMudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpICtcbiAgICAgICAgICAgIGhvdXJzICogTUlMTElTRUNPTkRTX0lOX0hPVVIgK1xuICAgICAgICAgICAgbWludXRlcyAqIE1JTExJU0VDT05EU19JTl9NSU5VVEUgK1xuICAgICAgICAgICAgc2Vjb25kcyAqIE1JTExJU0VDT05EU19JTl9TRUNPTkQgK1xuICAgICAgICAgICAgbXM7XG4gICAgICAgIGNvbnN0IHRvdGFsU2Vjb25kcyA9IE1hdGguZmxvb3IodG90YWxNcyAvIE1JTExJU0VDT05EU19JTl9TRUNPTkQpO1xuICAgICAgICBjb25zdCB0b3RhbE1pbnV0ZXMgPSBNYXRoLmZsb29yKHRvdGFsU2Vjb25kcyAvIFNFQ09ORFNfSU5fTUlOVVRFKTtcbiAgICAgICAgY29uc3QgdG90YWxIb3VycyA9IE1hdGguZmxvb3IodG90YWxNaW51dGVzIC8gTUlOVVRFU19JTl9IT1VSKTtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUoXG4gICAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVRvUmFuZ2UodG90YWxIb3VycywgSE9VUlNfSU5fREFZKSxcbiAgICAgICAgICAgIHRoaXMubm9ybWFsaXplVG9SYW5nZSh0b3RhbE1pbnV0ZXMsIE1JTlVURVNfSU5fSE9VUiksXG4gICAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVRvUmFuZ2UodG90YWxTZWNvbmRzLCBTRUNPTkRTX0lOX01JTlVURSksXG4gICAgICAgICAgICB0aGlzLm5vcm1hbGl6ZVRvUmFuZ2UodG90YWxNcywgTUlMTElTRUNPTkRTX0lOX1NFQ09ORCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgVHVpVGltZSB0byBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgdG9TdHJpbmcoXG4gICAgICAgIG1vZGU/OiBUdWlUaW1lTW9kZSwgLy8gVE9ETyh2NSk6IHJlbW92ZSB1c2FnZSBvZiBgVHVpVGltZU1vZGVgIGFuZCBpbmxpbmUgYWxsIG1vZGVzIGFzIGh1Z2UgdW5pb24gdHlwZVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG5lZWRBZGRNcyA9IG1vZGU/LnN0YXJ0c1dpdGgoJ0hIOk1NOlNTLk1TUycpIHx8ICghbW9kZSAmJiB0aGlzLm1zID4gMCk7XG4gICAgICAgIGNvbnN0IG5lZWRBZGRTZWNvbmRzID1cbiAgICAgICAgICAgIG5lZWRBZGRNcyB8fCBtb2RlPy5zdGFydHNXaXRoKCdISDpNTTpTUycpIHx8ICghbW9kZSAmJiB0aGlzLnNlY29uZHMgPiAwKTtcbiAgICAgICAgY29uc3Qge2hvdXJzID0gdGhpcy5ob3VycywgbWVyaWRpZW0gPSAnJ30gPSBtb2RlPy5pbmNsdWRlcygnQUEnKVxuICAgICAgICAgICAgPyB0aGlzLnRvVHdlbHZlSG91cih0aGlzLmhvdXJzKVxuICAgICAgICAgICAgOiB7fTtcbiAgICAgICAgY29uc3QgaGhNbSA9IGAke3RoaXMuZm9ybWF0VGltZShob3Vycyl9OiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMubWludXRlcyl9YDtcbiAgICAgICAgY29uc3Qgc3MgPSBuZWVkQWRkU2Vjb25kcyA/IGA6JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5zZWNvbmRzKX1gIDogJyc7XG4gICAgICAgIGNvbnN0IG1zcyA9IG5lZWRBZGRNcyA/IGAuJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5tcywgMyl9YCA6ICcnO1xuICAgICAgICBjb25zdCBhYSA9IG1lcmlkaWVtICYmIGAke0NIQVJfTk9fQlJFQUtfU1BBQ0V9JHttZXJpZGllbX1gO1xuXG4gICAgICAgIHJldHVybiBgJHtoaE1tfSR7c3N9JHttc3N9JHthYX1gO1xuICAgIH1cblxuICAgIHB1YmxpYyB2YWx1ZU9mKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgdGhlIGdpdmVuIERhdGUgb2JqZWN0LlxuICAgICAqIERlcGVuZGluZyBvbiB0aGUgYXJndW1lbnQsIHRoZSBtZXRob2QgY2FuIHJldHVybiBlaXRoZXIgYSBzdHJpbmcgb3IgYSBudW1iZXIuXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL0BAdG9QcmltaXRpdmVcbiAgICAgKi9cbiAgICBwdWJsaWMgW1N5bWJvbC50b1ByaW1pdGl2ZV0oaGludDogc3RyaW5nKTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIERhdGUucHJvdG90eXBlW1N5bWJvbC50b1ByaW1pdGl2ZV0uY2FsbCh0aGlzLCBoaW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBUdWlUaW1lIHRvIG1pbGxpc2Vjb25kc1xuICAgICAqL1xuICAgIHB1YmxpYyB0b0Fic29sdXRlTWlsbGlzZWNvbmRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmhvdXJzICogTUlMTElTRUNPTkRTX0lOX0hPVVIgK1xuICAgICAgICAgICAgdGhpcy5taW51dGVzICogTUlMTElTRUNPTkRTX0lOX01JTlVURSArXG4gICAgICAgICAgICB0aGlzLnNlY29uZHMgKiAxMDAwICtcbiAgICAgICAgICAgIHRoaXMubXNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFRpbWUodGltZTogbnVtYmVyLCBkaWdpdHMgPSAyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyh0aW1lKS5wYWRTdGFydChkaWdpdHMsICcwJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b1R3ZWx2ZUhvdXIoaG91cnM6IG51bWJlcik6IHtob3VyczogbnVtYmVyOyBtZXJpZGllbTogc3RyaW5nfSB7XG4gICAgICAgIGNvbnN0IG1lcmlkaWVtID0gaG91cnMgPj0gMTIgPyAnUE0nIDogJ0FNJztcblxuICAgICAgICBpZiAoaG91cnMgPT09IDAgfHwgaG91cnMgPT09IDEyKSB7XG4gICAgICAgICAgICByZXR1cm4ge21lcmlkaWVtLCBob3VyczogMTJ9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHttZXJpZGllbSwgaG91cnM6IGhvdXJzICUgMTJ9O1xuICAgIH1cblxuICAgIHByaXZhdGUgbm9ybWFsaXplVG9SYW5nZSh2YWx1ZTogbnVtYmVyLCBtb2R1bHVzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKCh2YWx1ZSAlIG1vZHVsdXMpICsgbW9kdWx1cykgJSBtb2R1bHVzO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { isPlatformServer } from '@angular/common';
2
- import { afterNextRender, ApplicationRef, Directive, inject, PLATFORM_ID, ViewContainerRef, } from '@angular/core';
2
+ import { afterNextRender, Directive, inject, PLATFORM_ID, ViewContainerRef, } from '@angular/core';
3
3
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
4
  import * as i0 from "@angular/core";
5
5
  export const TUI_ENTER = 'tui-enter';
@@ -52,7 +52,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
52
52
  }], ctorParameters: function () { return []; } });
53
53
  function wrap(renderer) {
54
54
  const { removeChild } = renderer;
55
- const app = inject(ApplicationRef);
56
55
  return (parent, el, host) => {
57
56
  const remove = () => removeChild.call(renderer, parent, el, host);
58
57
  const elements = renderer.data[TUI_LEAVE];
@@ -69,7 +68,6 @@ function wrap(renderer) {
69
68
  const finish = () => {
70
69
  if (!parent || parent.contains(el)) {
71
70
  remove();
72
- app.tick();
73
71
  }
74
72
  };
75
73
  if (animations.length > length && last) {
@@ -81,4 +79,4 @@ function wrap(renderer) {
81
79
  }
82
80
  };
83
81
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQvYW5pbWF0ZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxlQUFlLEVBQ2YsY0FBYyxFQUNkLFNBQVMsRUFDVCxNQUFNLEVBRU4sV0FBVyxFQUVYLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFekQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBRXJDLE1BU2EsV0FBVztJQUtwQjtRQUpBLDJHQUEyRztRQUMxRixhQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckQsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFHckMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO1lBQ3pELE9BQU87U0FDVjtRQUVELGtEQUFrRDtRQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRXpELElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElB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QUFDO1FBRUYsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7U0FDMUI7YUFBTTtZQUNILE1BQU0sRUFBRSxDQUFDO1NBQ1o7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1BsYXRmb3JtU2VydmVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgQXBwbGljYXRpb25SZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICB0eXBlIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbiAgICB0eXBlIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuXG5leHBvcnQgY29uc3QgVFVJX0VOVEVSID0gJ3R1aS1lbnRlcic7XG5leHBvcnQgY29uc3QgVFVJX0xFQVZFID0gJ3R1aS1sZWF2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpQW5pbWF0ZWRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiBUVUlfRU5URVIsXG4gICAgICAgICcoYW5pbWF0aW9uZW5kLnNlbGYpJzogJ3JlbW92ZSgpJyxcbiAgICAgICAgJyhhbmltYXRpb25jYW5jZWwuc2VsZiknOiAncmVtb3ZlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFuaW1hdGVkIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvLyBAdHMtaWdub3JlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYWluL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy92aWV3LnRzI0w1NlxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZikuX2hvc3RMVmlldz8uWzExXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB0aGlzLnJlbW92ZSgpKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVuZGVyZXIgfHwgaXNQbGF0Zm9ybVNlcnZlcihpbmplY3QoUExBVEZPUk1fSUQpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZGVsZWdhdGUgaXMgdXNlZCBpbiBBbmd1bGFyIEFuaW1hdGlvbnMgcmVuZGVyZXJcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyLmRlbGVnYXRlIHx8IHRoaXMucmVuZGVyZXI7XG5cbiAgICAgICAgaWYgKHJlbmRlcmVyLmRhdGFbVFVJX0xFQVZFXSkge1xuICAgICAgICAgICAgcmVuZGVyZXIuZGF0YVtUVUlfTEVBVkVdLnB1c2godGhpcy5lbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJlci5kYXRhW1RVSV9MRUFWRV0gPSBbdGhpcy5lbF07XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZCA9IHdyYXAocmVuZGVyZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yZW5kZXJlcj8uZGF0YSB8fCB7W1RVSV9MRUFWRV06IFtdfTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGRhdGFbVFVJX0xFQVZFXSA9IGRhdGFbVFVJX0xFQVZFXT8uZmlsdGVyKChlOiBFbGVtZW50KSA9PiBlICE9PSB0aGlzLmVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWwuaXNDb25uZWN0ZWQgJiYgIXRoaXMuZWwuZ2V0QW5pbWF0aW9ucz8uKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmVsLmNsYXNzTGlzdC5yZW1vdmUoVFVJX0VOVEVSKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JhcChyZW5kZXJlcjogUmVuZGVyZXIyKTogYW55IHtcbiAgICBjb25zdCB7cmVtb3ZlQ2hpbGR9ID0gcmVuZGVyZXI7XG4gICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcblxuICAgIHJldHVybiAocGFyZW50OiBOb2RlLCBlbDogTm9kZSwgaG9zdD86IGJvb2xlYW4pID0+IHtcbiAgICAgICAgY29uc3QgcmVtb3ZlID0gKCk6IHZvaWQgPT4gcmVtb3ZlQ2hpbGQuY2FsbChyZW5kZXJlciwgcGFyZW50LCBlbCwgaG9zdCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzOiBFbGVtZW50W10gPSByZW5kZXJlci5kYXRhW1RVSV9MRUFWRV07XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50cy5maW5kKChsZWF2ZSkgPT4gZWwuY29udGFpbnMobGVhdmUpKTtcblxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJlbW92ZSgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoVFVJX0VOVEVSKTtcblxuICAgICAgICBjb25zdCB7bGVuZ3RofSA9IGVsZW1lbnQuZ2V0QW5pbWF0aW9ucz8uKCkgfHwgW107XG5cbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKFRVSV9MRUFWRSk7XG5cbiAgICAgICAgY29uc3QgYW5pbWF0aW9ucyA9IGVsZW1lbnQuZ2V0QW5pbWF0aW9ucz8uKCkgPz8gW107XG4gICAgICAgIGNvbnN0IGxhc3QgPSBhbmltYXRpb25zW2FuaW1hdGlvbnMubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGZpbmlzaCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmICghcGFyZW50IHx8IHBhcmVudC5jb250YWlucyhlbCkpIHtcbiAgICAgICAgICAgICAgICByZW1vdmUoKTtcbiAgICAgICAgICAgICAgICBhcHAudGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChhbmltYXRpb25zLmxlbmd0aCA+IGxlbmd0aCAmJiBsYXN0KSB7XG4gICAgICAgICAgICBsYXN0Lm9uZmluaXNoID0gZmluaXNoO1xuICAgICAgICAgICAgbGFzdC5vbmNhbmNlbCA9IGZpbmlzaDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQvYW5pbWF0ZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFFTixXQUFXLEVBRVgsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUM7QUFFckMsTUFTYSxXQUFXO0lBS3BCO1FBSkEsMkdBQTJHO1FBQzFGLGFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRCxPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUdyQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUU7WUFDekQsT0FBTztTQUNWO1FBRUQsa0RBQWtEO1FBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFekQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElB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QUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7U0FDMUI7YUFBTTtZQUNILE1BQU0sRUFBRSxDQUFDO1NBQ1o7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1BsYXRmb3JtU2VydmVyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICB0eXBlIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbiAgICB0eXBlIFJlbmRlcmVyMixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuXG5leHBvcnQgY29uc3QgVFVJX0VOVEVSID0gJ3R1aS1lbnRlcic7XG5leHBvcnQgY29uc3QgVFVJX0xFQVZFID0gJ3R1aS1sZWF2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpQW5pbWF0ZWRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiBUVUlfRU5URVIsXG4gICAgICAgICcoYW5pbWF0aW9uZW5kLnNlbGYpJzogJ3JlbW92ZSgpJyxcbiAgICAgICAgJyhhbmltYXRpb25jYW5jZWwuc2VsZiknOiAncmVtb3ZlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFuaW1hdGVkIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICAvLyBAdHMtaWdub3JlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYWluL3BhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaW50ZXJmYWNlcy92aWV3LnRzI0w1NlxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZikuX2hvc3RMVmlldz8uWzExXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB0aGlzLnJlbW92ZSgpKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVuZGVyZXIgfHwgaXNQbGF0Zm9ybVNlcnZlcihpbmplY3QoUExBVEZPUk1fSUQpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZGVsZWdhdGUgaXMgdXNlZCBpbiBBbmd1bGFyIEFuaW1hdGlvbnMgcmVuZGVyZXJcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyLmRlbGVnYXRlIHx8IHRoaXMucmVuZGVyZXI7XG5cbiAgICAgICAgaWYgKHJlbmRlcmVyLmRhdGFbVFVJX0xFQVZFXSkge1xuICAgICAgICAgICAgcmVuZGVyZXIuZGF0YVtUVUlfTEVBVkVdLnB1c2godGhpcy5lbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJlci5kYXRhW1RVSV9MRUFWRV0gPSBbdGhpcy5lbF07XG4gICAgICAgICAgICByZW5kZXJlci5yZW1vdmVDaGlsZCA9IHdyYXAocmVuZGVyZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yZW5kZXJlcj8uZGF0YSB8fCB7W1RVSV9MRUFWRV06IFtdfTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGRhdGFbVFVJX0xFQVZFXSA9IGRhdGFbVFVJX0xFQVZFXT8uZmlsdGVyKChlOiBFbGVtZW50KSA9PiBlICE9PSB0aGlzLmVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWwuaXNDb25uZWN0ZWQgJiYgIXRoaXMuZWwuZ2V0QW5pbWF0aW9ucz8uKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmVsLmNsYXNzTGlzdC5yZW1vdmUoVFVJX0VOVEVSKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JhcChyZW5kZXJlcjogUmVuZGVyZXIyKTogYW55IHtcbiAgICBjb25zdCB7cmVtb3ZlQ2hpbGR9ID0gcmVuZGVyZXI7XG5cbiAgICByZXR1cm4gKHBhcmVudDogTm9kZSwgZWw6IE5vZGUsIGhvc3Q/OiBib29sZWFuKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlbW92ZSA9ICgpOiB2b2lkID0+IHJlbW92ZUNoaWxkLmNhbGwocmVuZGVyZXIsIHBhcmVudCwgZWwsIGhvc3QpO1xuICAgICAgICBjb25zdCBlbGVtZW50czogRWxlbWVudFtdID0gcmVuZGVyZXIuZGF0YVtUVUlfTEVBVkVdO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHMuZmluZCgobGVhdmUpID0+IGVsLmNvbnRhaW5zKGxlYXZlKSk7XG5cbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZW1vdmUoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFRVSV9FTlRFUik7XG5cbiAgICAgICAgY29uc3Qge2xlbmd0aH0gPSBlbGVtZW50LmdldEFuaW1hdGlvbnM/LigpIHx8IFtdO1xuXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChUVUlfTEVBVkUpO1xuXG4gICAgICAgIGNvbnN0IGFuaW1hdGlvbnMgPSBlbGVtZW50LmdldEFuaW1hdGlvbnM/LigpID8/IFtdO1xuICAgICAgICBjb25zdCBsYXN0ID0gYW5pbWF0aW9uc1thbmltYXRpb25zLmxlbmd0aCAtIDFdO1xuICAgICAgICBjb25zdCBmaW5pc2ggPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBpZiAoIXBhcmVudCB8fCBwYXJlbnQuY29udGFpbnMoZWwpKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGFuaW1hdGlvbnMubGVuZ3RoID4gbGVuZ3RoICYmIGxhc3QpIHtcbiAgICAgICAgICAgIGxhc3Qub25maW5pc2ggPSBmaW5pc2g7XG4gICAgICAgICAgICBsYXN0Lm9uY2FuY2VsID0gZmluaXNoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuIl19
@@ -215,7 +215,7 @@ const TUI_USED_ICONS = [
215
215
  '@tui.move-up',
216
216
  ];
217
217
 
218
- const TUI_VERSION = '4.62.0';
218
+ const TUI_VERSION = '4.64.0';
219
219
 
220
220
  /**
221
221
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/allow-signal-writes.ts","../../../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 {type CreateEffectOptions, VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","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 * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking\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, type 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.external-link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.a-large-small',\n '@tui.arrow-right-left',\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.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.file',\n '@tui.calendar',\n '@tui.plus',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.minimize',\n '@tui.filter',\n '@tui.layout-grid',\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] as const;\n","export const TUI_VERSION = '4.62.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/allow-signal-writes.ts","../../../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 {type CreateEffectOptions, VERSION} from '@angular/core';\n\nexport const TUI_ALLOW_SIGNAL_WRITES: CreateEffectOptions =\n parseInt(VERSION.major, 10) >= 19 ? {} : {allowSignalWrites: true};\n","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 * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking\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, type 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.external-link',\n '@tui.languages',\n '@tui.shrink',\n '@tui.expand',\n '@tui.a-large-small',\n '@tui.arrow-right-left',\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.ellipsis',\n '@tui.chevron-left',\n '@tui.clock',\n '@tui.trash',\n '@tui.minus',\n '@tui.file',\n '@tui.calendar',\n '@tui.plus',\n '@tui.phone',\n '@tui.heart',\n '@tui.heart-filled',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.minimize',\n '@tui.filter',\n '@tui.layout-grid',\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] as const;\n","export const TUI_VERSION = '4.64.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -789,9 +789,8 @@ class TuiTime {
789
789
  * Calculates TuiTime from milliseconds
790
790
  */
791
791
  static fromAbsoluteMilliseconds(milliseconds) {
792
- ngDevMode && console.assert(Number.isInteger(milliseconds));
793
792
  ngDevMode &&
794
- console.assert(tuiInRange(milliseconds, 0, MILLISECONDS_IN_DAY), `Milliseconds must be below ${MILLISECONDS_IN_DAY} (milliseconds in a day).`);
793
+ console.assert(Number.isInteger(milliseconds) && milliseconds >= 0, 'Milliseconds must be a non-negative integer.');
795
794
  const hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);
796
795
  const minutes = Math.floor((milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE);
797
796
  const seconds = Math.floor(((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000) || 0;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-date-time.mjs","sources":["../../../projects/cdk/date-time/date-clamp.ts","../../../projects/cdk/date-time/date-time.ts","../../../projects/cdk/date-time/date-fillers.ts","../../../projects/cdk/date-time/day-of-week.ts","../../../projects/cdk/date-time/month-number.ts","../../../projects/cdk/date-time/year.ts","../../../projects/cdk/date-time/month.ts","../../../projects/cdk/date-time/day.ts","../../../projects/cdk/date-time/month-range.ts","../../../projects/cdk/date-time/day-range.ts","../../../projects/cdk/date-time/days.const.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/date-time/taiga-ui-cdk-date-time.ts"],"sourcesContent":["import {type TuiYear} from './year';\n\nexport function tuiDateClamp<T extends TuiYear>(date: T, min?: T, max?: T): T {\n if (max && max < date) {\n return max;\n }\n\n if (min && min > date) {\n return min;\n }\n\n return date;\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\n\nexport const DAYS_IN_WEEK = 7;\n\nexport const DAYS_IN_NORMAL_YEAR = 365;\n\nexport const DAYS_IN_LEAP_YEAR = 366;\n\nexport const MONTHS_IN_YEAR = 12;\n\nexport const MIN_DAY = 1;\n\nexport const MIN_MONTH = 0;\n\nexport const MAX_MONTH = 11;\n\nexport const MIN_YEAR = 0;\n\nexport const MAX_YEAR = 9999;\n\nexport const MAX_DISPLAYED_YEAR = 2099;\n\nexport const RANGE_SEPARATOR_CHAR = `${CHAR_NO_BREAK_SPACE}${CHAR_EN_DASH}${CHAR_NO_BREAK_SPACE}`;\n\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const SECONDS_IN_MINUTE = 60;\n\nexport const MINUTES_IN_HOUR = 60;\n\nexport const HOURS_IN_DAY = 24;\n\nexport const MILLISECONDS_IN_MINUTE = MILLISECONDS_IN_SECOND * SECONDS_IN_MINUTE;\n\nexport const MILLISECONDS_IN_HOUR = MILLISECONDS_IN_MINUTE * MINUTES_IN_HOUR;\n\nexport const MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * HOURS_IN_DAY;\n","import {RANGE_SEPARATOR_CHAR} from './date-time';\n\n/**\n * @internal 'dd.mm.yyyy'.length\n * Used in:\n * - {@link TuiInputDateComponent}\n * - {@link TuiInputDateRangeComponent}\n * - {@link TuiInputDateTimeComponent}\n */\nexport const DATE_FILLER_LENGTH = 10;\n/**\n * @internal\n * Used in {@link TuiInputDateRangeComponent}\n */\nexport const DATE_RANGE_FILLER_LENGTH =\n 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;\n","export const TuiDayOfWeek = {\n Sunday: 0,\n Monday: 1,\n Tuesday: 2,\n Wednesday: 3,\n Thursday: 4,\n Friday: 5,\n Saturday: 6,\n} as const;\n","export const TuiMonthNumber = {\n January: 0,\n February: 1,\n March: 2,\n April: 3,\n May: 4,\n June: 5,\n July: 6,\n August: 7,\n September: 8,\n October: 9,\n November: 10,\n December: 11,\n} as const;\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_YEAR, MIN_YEAR} from './date-time';\nimport {type TuiYearLike} from './types';\n\n/**\n * Immutable year object\n * @nosideeffects\n */\nexport class TuiYear implements TuiYearLike {\n constructor(public readonly year: number) {\n ngDevMode && console.assert(TuiYear.isValidYear(year));\n }\n\n /**\n * Checks year for validity\n */\n public static isValidYear(year: number): boolean {\n return Number.isInteger(year) && tuiInRange(year, MIN_YEAR, MAX_YEAR + 1);\n }\n\n /**\n * Check if passed year is a leap year\n */\n public static isLeapYear(year: number): boolean {\n ngDevMode && console.assert(TuiYear.isValidYear(year));\n\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n }\n\n /**\n * Returns amount of leap years from year 0 to the passed one\n */\n public static getAbsoluteLeapYears(year: number): number {\n ngDevMode && console.assert(TuiYear.isValidYear(year));\n\n return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));\n }\n\n public static lengthBetween(from: TuiYear, to: TuiYear): number {\n return to.year - from.year;\n }\n\n /**\n * Normalizes year by clamping it between min and max years\n */\n public static normalizeYearPart(year: number): number {\n return tuiNormalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);\n }\n\n public get formattedYear(): string {\n return String(this.year).padStart(4, '0');\n }\n\n public get isLeapYear(): boolean {\n return TuiYear.isLeapYear(this.year);\n }\n\n /**\n * Returns amount of leap years from year 0 to current\n */\n public get absoluteLeapYears(): number {\n return TuiYear.getAbsoluteLeapYears(this.year);\n }\n\n /**\n * Passed year is after current\n */\n public yearBefore({year}: TuiYear): boolean {\n return this.year < year;\n }\n\n /**\n * Passed year is the same or after current\n */\n public yearSameOrBefore({year}: TuiYear): boolean {\n return this.year <= year;\n }\n\n /**\n * Passed year is the same as current\n */\n public yearSame({year}: TuiYear): boolean {\n return this.year === year;\n }\n\n /**\n * Passed year is either the same of before the current\n */\n public yearSameOrAfter({year}: TuiYear): boolean {\n return this.year >= year;\n }\n\n /**\n * Passed year is before current\n */\n public yearAfter({year}: TuiYear): boolean {\n return this.year > year;\n }\n\n /**\n * Immutably offsets year\n */\n public append({year = 0}: TuiYearLike): TuiYear {\n ngDevMode && console.assert(Number.isInteger(year));\n\n const resultYear = this.year + year;\n\n ngDevMode && console.assert(TuiYear.isValidYear(resultYear));\n\n return new TuiYear(resultYear);\n }\n\n public toString(): string {\n return this.formattedYear;\n }\n\n public valueOf(): number {\n return this.year;\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n public [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n public toJSON(): string {\n return this.formattedYear;\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_MONTH, MIN_MONTH, MONTHS_IN_YEAR} from './date-time';\nimport {TuiMonthNumber} from './month-number';\nimport {type TuiMonthLike} from './types';\nimport {TuiYear} from './year';\n\n/**\n * Immutable object consisting of year and month\n */\nexport class TuiMonth extends TuiYear implements TuiMonthLike {\n /**\n * @param year\n * @param month (starting with 0)\n */\n constructor(\n year: number,\n public readonly month: number,\n ) {\n super(year);\n ngDevMode && console.assert(TuiMonth.isValidMonth(year, month));\n }\n\n /**\n * Tests month and year for validity\n */\n public static isValidMonth(year: number, month: number): boolean {\n return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);\n }\n\n /**\n * Returns number of days in a month\n */\n public static getMonthDaysCount(month: number, isLeapYear: boolean): number {\n ngDevMode && console.assert(TuiMonth.isValidMonthPart(month));\n\n switch (month) {\n case TuiMonthNumber.April:\n case TuiMonthNumber.June:\n case TuiMonthNumber.November:\n case TuiMonthNumber.September:\n return 30;\n case TuiMonthNumber.February:\n return isLeapYear ? 29 : 28;\n default:\n return 31;\n }\n }\n\n /**\n * Returns current month and year based on local time zone\n * @nosideeffects\n */\n public static currentLocal(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getFullYear(), nativeDate.getMonth());\n }\n\n /**\n * Returns current month and year based on UTC\n */\n public static currentUtc(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getUTCFullYear(), nativeDate.getUTCMonth());\n }\n\n public static override lengthBetween(from: TuiMonth, to: TuiMonth): number {\n const absoluteFrom = from.month + from.year * 12;\n const absoluteTo = to.month + to.year * 12;\n\n return absoluteTo - absoluteFrom;\n }\n\n /**\n * Normalizes number by clamping it between min and max month\n */\n public static normalizeMonthPart(month: number): number {\n return tuiNormalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);\n }\n\n /**\n * Tests month for validity\n */\n private static isValidMonthPart(month: number): boolean {\n return Number.isInteger(month) && tuiInRange(month, MIN_MONTH, MAX_MONTH + 1);\n }\n\n public get formattedMonthPart(): string {\n return String(this.month + 1).padStart(2, '0');\n }\n\n /**\n * Returns days in a month\n */\n public get daysCount(): number {\n return TuiMonth.getMonthDaysCount(this.month, this.isLeapYear);\n }\n\n /**\n * Passed month and year are after current\n */\n public monthBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month < another.month)\n );\n }\n\n /**\n * Passed month and year are after or the same as current\n */\n public monthSameOrBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month <= another.month)\n );\n }\n\n /**\n * Passed month and year are the same as current\n */\n public monthSame(another: TuiMonth): boolean {\n return this.yearSame(another) && this.month === another.month;\n }\n\n /**\n * Passed month and year are either before or equal to current\n */\n public monthSameOrAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month >= another.month)\n );\n }\n\n /**\n * Passed month and year are before current\n */\n public monthAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month > another.month)\n );\n }\n\n /**\n * Immutably alters current month and year by passed offset\n *\n * @param offset\n * @return new month and year object as a result of offsetting current\n */\n public override append({year = 0, month = 0}: TuiMonthLike): TuiMonth {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n\n return new TuiMonth(\n Math.floor(totalMonths / MONTHS_IN_YEAR),\n totalMonths % MONTHS_IN_YEAR,\n );\n }\n\n public override toString(): string {\n return `${this.formattedMonthPart}.${this.formattedYear}`;\n }\n\n public override valueOf(): number {\n return this.toLocalNativeDate().valueOf();\n }\n\n public override toJSON(): string {\n return `${super.toJSON()}-${this.formattedMonthPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n public toLocalNativeDate(): Date {\n const date = new Date(this.year, this.month);\n\n // for years less than 1900\n date.setFullYear(this.year);\n\n return date;\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n public toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month));\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DATE_FILLER_LENGTH} from './date-fillers';\nimport {MIN_DAY, MONTHS_IN_YEAR} from './date-time';\nimport {TuiDayOfWeek} from './day-of-week';\nimport {TuiMonth} from './month';\nimport {TuiMonthNumber} from './month-number';\nimport {type TuiDateMode, type TuiDayLike} from './types';\nimport {TuiYear} from './year';\n\n/**\n * Immutable date object, consisting of day, month and year\n */\nexport class TuiDay extends TuiMonth {\n /**\n * @param year\n * @param month (starting with 0)\n * @param day\n */\n constructor(\n year: number,\n month: number,\n public readonly day: number,\n ) {\n super(year, month);\n ngDevMode && console.assert(TuiDay.isValidDay(year, month, day));\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} based on local time zone\n */\n public static fromLocalNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} using UTC\n */\n public static fromUtcNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n }\n\n /**\n * Check validity of year, month and day\n *\n * @param year\n * @param month\n * @param day\n * @return boolean validity\n */\n public static isValidDay(year: number, month: number, day: number): boolean {\n return (\n TuiMonth.isValidMonth(year, month) &&\n Number.isInteger(day) &&\n tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n );\n }\n\n /**\n * Current day based on local time zone\n */\n public static override currentLocal(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getFullYear();\n const month = nativeDate.getMonth();\n const day = nativeDate.getDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Returns current day based on UTC\n */\n public static override currentUtc(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getUTCFullYear();\n const month = nativeDate.getUTCMonth();\n const day = nativeDate.getUTCDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.\n *\n * @param year any year value, including invalid\n * @param month any month value, including invalid (months start with 0)\n * @param day any day value, including invalid\n * @return normalized date\n */\n public static normalizeOf(year: number, month: number, day: number): TuiDay {\n const normalizedYear = TuiYear.normalizeYearPart(year);\n const normalizedMonth = TuiMonth.normalizeMonthPart(month);\n const normalizedDay = TuiDay.normalizeDayPart(\n day,\n normalizedMonth,\n normalizedYear,\n );\n\n return new TuiDay(normalizedYear, normalizedMonth, normalizedDay);\n }\n\n public static override lengthBetween(from: TuiDay, to: TuiDay): number {\n return Math.round(\n (to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /\n (1000 * 60 * 60 * 24),\n );\n }\n\n public static parseRawDateString(\n date: string,\n dateMode: TuiDateMode = 'DMY',\n ): {day: number; month: number; year: number} {\n ngDevMode &&\n console.assert(\n date.length === DATE_FILLER_LENGTH,\n '[parseRawDateString]: wrong date string length',\n );\n\n switch (dateMode) {\n case 'MDY':\n return {\n day: parseInt(date.slice(3, 5), 10),\n month: parseInt(date.slice(0, 2), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n\n case 'YMD':\n return {\n day: parseInt(date.slice(8, 10), 10),\n month: parseInt(date.slice(5, 7), 10) - 1,\n year: parseInt(date.slice(0, 4), 10),\n };\n\n case 'DMY':\n default:\n return {\n day: parseInt(date.slice(0, 2), 10),\n month: parseInt(date.slice(3, 5), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n }\n }\n\n // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param rawDate date string\n * @param dateMode date format of the date string (DMY | MDY | YMD)\n * @return normalized date\n */\n public static normalizeParse(rawDate: string, dateMode: TuiDateMode = 'DMY'): TuiDay {\n const {day, month, year} = this.parseRawDateString(rawDate, dateMode);\n\n return TuiDay.normalizeOf(year, month, day);\n }\n\n /**\n * Parsing a date stringified in a toJSON format\n * @param yearMonthDayString date string in format of YYYY-MM-DD\n * @return date\n * @throws exceptions if any part of the date is invalid\n */\n public static jsonParse(yearMonthDayString: string): TuiDay {\n const {day, month, year} = this.parseRawDateString(yearMonthDayString, 'YMD');\n\n if (\n !TuiMonth.isValidMonth(year, month) ||\n !Number.isInteger(day) ||\n !tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n ) {\n throw new TuiInvalidDayException(year, month, day);\n }\n\n return new TuiDay(year, month, day);\n }\n\n public static normalizeDayPart(day: number, month: number, year: number): number {\n ngDevMode && console.assert(TuiMonth.isValidMonth(year, month));\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n month,\n TuiYear.isLeapYear(year),\n );\n\n return tuiNormalizeToIntNumber(day, 1, monthDaysCount);\n }\n\n public get formattedDayPart(): string {\n return String(this.day).padStart(2, '0');\n }\n\n public get isWeekend(): boolean {\n const dayOfWeek = this.dayOfWeek(false);\n\n return dayOfWeek === TuiDayOfWeek.Saturday || dayOfWeek === TuiDayOfWeek.Sunday;\n }\n\n /**\n * Returns day of week\n *\n * @param startFromMonday whether week starts from Monday and not from Sunday\n * @return day of week (from 0 to 6)\n */\n public dayOfWeek(startFromMonday = true): number {\n const dayOfWeek = startFromMonday\n ? this.toLocalNativeDate().getDay() - 1\n : this.toLocalNativeDate().getDay();\n\n return dayOfWeek < 0 ? 6 : dayOfWeek;\n }\n\n /**\n * Passed date is after current\n */\n public dayBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day < another.day)\n );\n }\n\n /**\n * Passed date is after or equals to current\n */\n public daySameOrBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day <= another.day)\n );\n }\n\n /**\n * Passed date is the same as current\n */\n public daySame(another: TuiDay): boolean {\n return this.monthSame(another) && this.day === another.day;\n }\n\n /**\n * Passed date is either before or the same as current\n */\n public daySameOrAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day >= another.day)\n );\n }\n\n /**\n * Passed date is before current\n */\n public dayAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day > another.day)\n );\n }\n\n /**\n * Clamping date between two limits\n *\n * @param min\n * @param max\n * @return clamped date\n */\n public dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDay {\n if (min !== null && this.dayBefore(min)) {\n return min;\n }\n\n if (max !== null && this.dayAfter(max)) {\n return max;\n }\n\n return this;\n }\n\n /**\n * Immutably alters current day by passed offset\n *\n * If resulting month has more days than original one, date is rounded to the maximum day\n * in the resulting month. Offset of days will be calculated based on the resulted year and month\n * to not interfere with parent classes methods\n *\n * @param offset\n * @return new date object as a result of offsetting current\n */\n public override append({year = 0, month = 0, day = 0}: TuiDayLike): TuiDay {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n let years = Math.floor(totalMonths / MONTHS_IN_YEAR);\n let months = totalMonths % MONTHS_IN_YEAR;\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n months,\n TuiYear.isLeapYear(years),\n );\n const currentMonthDaysCount = TuiMonth.getMonthDaysCount(\n this.month,\n TuiYear.isLeapYear(years),\n );\n let days = day;\n\n if (this.day >= monthDaysCount) {\n days += this.day - (currentMonthDaysCount - monthDaysCount);\n } else if (\n currentMonthDaysCount < monthDaysCount &&\n this.day === currentMonthDaysCount\n ) {\n days += this.day + (monthDaysCount - currentMonthDaysCount);\n } else {\n days += this.day;\n }\n\n while (days > TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years))) {\n days -= TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n\n if (months === TuiMonthNumber.December) {\n years++;\n months = TuiMonthNumber.January;\n } else {\n months++;\n }\n }\n\n while (days < MIN_DAY) {\n if (months === TuiMonthNumber.January) {\n years--;\n months = TuiMonthNumber.December;\n } else {\n months--;\n }\n\n days += TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n }\n\n return new TuiDay(years, months, days);\n }\n\n /**\n * Returns formatted whole date\n */\n public getFormattedDay(dateFormat: TuiDateMode, separator: string): string {\n ngDevMode &&\n console.assert(\n separator.length === 1,\n 'Separator should consist of only 1 symbol',\n );\n\n const dd = this.formattedDayPart;\n const mm = this.formattedMonthPart;\n const yyyy = this.formattedYear;\n\n switch (dateFormat) {\n case 'MDY':\n return `${mm}${separator}${dd}${separator}${yyyy}`;\n case 'YMD':\n return `${yyyy}${separator}${mm}${separator}${dd}`;\n case 'DMY':\n default:\n return `${dd}${separator}${mm}${separator}${yyyy}`;\n }\n }\n\n public override toString(dateFormat: TuiDateMode = 'DMY', separator = '.'): string {\n return this.getFormattedDay(dateFormat, separator);\n }\n\n public override toJSON(): string {\n return `${super.toJSON()}-${this.formattedDayPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n public override toLocalNativeDate(): Date {\n const date = super.toLocalNativeDate();\n\n date.setDate(this.day);\n\n return date;\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n public override toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month, this.day));\n }\n}\n\nexport class TuiInvalidDayException extends Error {\n constructor(year: number, month: number, day: number) {\n super(ngDevMode ? `Invalid day: ${year}-${month}-${day}` : '');\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {type TuiMonth} from './month';\n\n/**\n * An immutable range of two {@link TuiMonth} objects\n */\nexport class TuiMonthRange {\n constructor(\n public readonly from: TuiMonth,\n public readonly to: TuiMonth,\n ) {\n ngDevMode && console.assert(from.monthSameOrBefore(to));\n }\n\n public static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange {\n return month1.monthSameOrBefore(month2)\n ? new TuiMonthRange(month1, month2)\n : new TuiMonthRange(month2, month1);\n }\n\n public get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n public monthSame(another: TuiMonthRange): boolean {\n return this.from.monthSame(another.from) && this.to.monthSame(another.to);\n }\n\n public toString(): string {\n return `${this.from}${RANGE_SEPARATOR_CHAR}${this.to}`;\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH} from './date-fillers';\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiDay} from './day';\nimport {TuiMonthRange} from './month-range';\nimport {type TuiDateMode} from './types';\n\n/**\n * An immutable range of two {@link TuiDay} objects\n */\nexport class TuiDayRange extends TuiMonthRange {\n constructor(\n public override readonly from: TuiDay,\n public override readonly to: TuiDay,\n ) {\n super(from, to);\n\n ngDevMode && console.assert(from.daySameOrBefore(to));\n }\n\n /**\n * Creates range from two days after sorting them\n *\n * @param day1\n * @param day2\n * @return new range with sorted days\n */\n public static override sort(day1: TuiDay, day2: TuiDay): TuiDayRange {\n return day1.daySameOrBefore(day2)\n ? new TuiDayRange(day1, day2)\n : new TuiDayRange(day2, day1);\n }\n\n /**\n * Parse and correct a day range in string format\n *\n * @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy\n * @param dateMode {@link TuiDateMode}\n * @return normalized day range object\n */\n public static normalizeParse(\n rangeString: string,\n dateMode: TuiDateMode = 'DMY',\n ): TuiDayRange {\n const leftDay = TuiDay.normalizeParse(\n rangeString.slice(0, DATE_FILLER_LENGTH),\n dateMode,\n );\n\n if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {\n return new TuiDayRange(leftDay, leftDay);\n }\n\n return TuiDayRange.sort(\n leftDay,\n TuiDay.normalizeParse(\n rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n dateMode,\n ),\n );\n }\n\n public get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Tests ranges for identity\n *\n * @param another second range to test against current\n * @return `true` if days are identical\n */\n public daySame(another: TuiDayRange): boolean {\n return this.from.daySame(another.from) && this.to.daySame(another.to);\n }\n\n /**\n * Locks range between two days included, or limits from one side if the other is null\n *\n * @param min\n * @param max\n * @return range — clamped range\n */\n public dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange {\n return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));\n }\n\n /**\n * Human readable format.\n */\n public getFormattedDayRange(dateFormat: TuiDateMode, dateSeparator: string): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n\n public override toString(\n dateFormat: TuiDateMode = 'DMY',\n dateSeparator = '.',\n ): string {\n return this.getFormattedDayRange(dateFormat, dateSeparator);\n }\n\n public toArray(): readonly TuiDay[] {\n const {from, to} = this;\n const arr = [];\n\n for (\n const day = from.toUtcNativeDate();\n day <= to.toUtcNativeDate();\n day.setDate(day.getDate() + 1)\n ) {\n arr.push(TuiDay.fromLocalNativeDate(day));\n }\n\n return arr;\n }\n}\n","import {\n MAX_DISPLAYED_YEAR,\n MAX_MONTH,\n MAX_YEAR,\n MIN_DAY,\n MIN_MONTH,\n MIN_YEAR,\n} from './date-time';\nimport {TuiDay} from './day';\n\nexport const TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);\n\nexport const TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);\n\nexport const TUI_LAST_DISPLAYED_DAY = new TuiDay(MAX_DISPLAYED_YEAR, MAX_MONTH, 31);\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\nimport {\n HOURS_IN_DAY,\n MILLISECONDS_IN_DAY,\n MILLISECONDS_IN_HOUR,\n MILLISECONDS_IN_MINUTE,\n MILLISECONDS_IN_SECOND,\n MINUTES_IN_HOUR,\n SECONDS_IN_MINUTE,\n} from './date-time';\nimport {type TuiTimeLike, type TuiTimeMode} from './types';\n\n/**\n * Immutable time object with hours, minutes, seconds and ms\n */\nexport class TuiTime implements TuiTimeLike {\n constructor(\n public readonly hours: number,\n public readonly minutes: number,\n public readonly seconds = 0,\n public readonly ms = 0,\n ) {\n ngDevMode &&\n console.assert(\n // Currently `TuiTime` could have hours more than 23\n // in order to not break current behaviour of `isValidTime` the logic is duplicated\n Number.isInteger(hours) &&\n tuiInRange(hours, 0, Infinity) &&\n Number.isInteger(minutes) &&\n tuiInRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n tuiInRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n tuiInRange(ms, 0, 1000),\n 'Time must be real, but got:',\n hours,\n minutes,\n seconds,\n ms,\n );\n }\n\n /**\n * Checks if time is valid\n */\n public static isValidTime(\n hours: number,\n minutes: number,\n seconds = 0,\n ms = 0,\n ): boolean {\n return (\n Number.isInteger(hours) &&\n tuiInRange(hours, 0, HOURS_IN_DAY) &&\n Number.isInteger(minutes) &&\n tuiInRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n tuiInRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n tuiInRange(ms, 0, 1000)\n );\n }\n\n /**\n * Current UTC time.\n */\n public static current(): TuiTime {\n return TuiTime.fromAbsoluteMilliseconds(Date.now() % MILLISECONDS_IN_DAY);\n }\n\n /**\n * Current time in local timezone\n */\n public static currentLocal(): TuiTime {\n const date = new Date();\n\n return TuiTime.fromAbsoluteMilliseconds(\n (Date.now() - date.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) %\n MILLISECONDS_IN_DAY,\n );\n }\n\n /**\n * Calculates TuiTime from milliseconds\n */\n public static fromAbsoluteMilliseconds(milliseconds: number): TuiTime {\n ngDevMode && console.assert(Number.isInteger(milliseconds));\n ngDevMode &&\n console.assert(\n tuiInRange(milliseconds, 0, MILLISECONDS_IN_DAY),\n `Milliseconds must be below ${MILLISECONDS_IN_DAY} (milliseconds in a day).`,\n );\n\n const hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);\n const minutes = Math.floor(\n (milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE,\n );\n const seconds =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000,\n ) || 0;\n const ms =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) % 1000,\n ) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Parses string into TuiTime object\n */\n public static fromString(time: string): TuiTime {\n const hours = this.parseHours(time);\n const minutes = Number(time.slice(3, 5)) || 0;\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Converts Date object into TuiTime\n * @param date\n */\n public static fromLocalNativeDate(date: Date): TuiTime {\n return new TuiTime(\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n }\n\n private static parseMeridiemPeriod(time: string): 'AM' | 'PM' | null {\n return (\n (/[AP]M/.exec(time.toUpperCase().replaceAll(/\\W/g, ''))?.[0] as\n | 'AM'\n | 'PM') || null\n );\n }\n\n private static parseHours(time: string): number {\n const hours = Number(time.slice(0, 2));\n const meridiem = this.parseMeridiemPeriod(time);\n\n if (!meridiem) {\n return hours;\n }\n\n if (hours === 12) {\n return meridiem === 'AM' ? 0 : 12;\n }\n\n return meridiem === 'PM' ? hours + 12 : hours;\n }\n\n /**\n * Shifts time by hours and minutes\n */\n public shift({hours = 0, minutes = 0, seconds = 0, ms = 0}: TuiTimeLike): TuiTime {\n const totalMs =\n this.toAbsoluteMilliseconds() +\n hours * MILLISECONDS_IN_HOUR +\n minutes * MILLISECONDS_IN_MINUTE +\n seconds * MILLISECONDS_IN_SECOND +\n ms;\n const totalSeconds = Math.floor(totalMs / MILLISECONDS_IN_SECOND);\n const totalMinutes = Math.floor(totalSeconds / SECONDS_IN_MINUTE);\n const totalHours = Math.floor(totalMinutes / MINUTES_IN_HOUR);\n\n return new TuiTime(\n this.normalizeToRange(totalHours, HOURS_IN_DAY),\n this.normalizeToRange(totalMinutes, MINUTES_IN_HOUR),\n this.normalizeToRange(totalSeconds, SECONDS_IN_MINUTE),\n this.normalizeToRange(totalMs, MILLISECONDS_IN_SECOND),\n );\n }\n\n /**\n * Converts TuiTime to string\n */\n public toString(\n mode?: TuiTimeMode, // TODO(v5): remove usage of `TuiTimeMode` and inline all modes as huge union type\n ): string {\n const needAddMs = mode?.startsWith('HH:MM:SS.MSS') || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode?.startsWith('HH:MM:SS') || (!mode && this.seconds > 0);\n const {hours = this.hours, meridiem = ''} = mode?.includes('AA')\n ? this.toTwelveHour(this.hours)\n : {};\n const hhMm = `${this.formatTime(hours)}:${this.formatTime(this.minutes)}`;\n const ss = needAddSeconds ? `:${this.formatTime(this.seconds)}` : '';\n const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';\n const aa = meridiem && `${CHAR_NO_BREAK_SPACE}${meridiem}`;\n\n return `${hhMm}${ss}${mss}${aa}`;\n }\n\n public valueOf(): number {\n return this.toAbsoluteMilliseconds();\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n public [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n /**\n * Converts TuiTime to milliseconds\n */\n public toAbsoluteMilliseconds(): number {\n return (\n this.hours * MILLISECONDS_IN_HOUR +\n this.minutes * MILLISECONDS_IN_MINUTE +\n this.seconds * 1000 +\n this.ms\n );\n }\n\n private formatTime(time: number, digits = 2): string {\n return String(time).padStart(digits, '0');\n }\n\n private toTwelveHour(hours: number): {hours: number; meridiem: string} {\n const meridiem = hours >= 12 ? 'PM' : 'AM';\n\n if (hours === 0 || hours === 12) {\n return {meridiem, hours: 12};\n }\n\n return {meridiem, hours: hours % 12};\n }\n\n private normalizeToRange(value: number, modulus: number): number {\n return ((value % modulus) + modulus) % modulus;\n }\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-date-time.mjs","sources":["../../../projects/cdk/date-time/date-clamp.ts","../../../projects/cdk/date-time/date-time.ts","../../../projects/cdk/date-time/date-fillers.ts","../../../projects/cdk/date-time/day-of-week.ts","../../../projects/cdk/date-time/month-number.ts","../../../projects/cdk/date-time/year.ts","../../../projects/cdk/date-time/month.ts","../../../projects/cdk/date-time/day.ts","../../../projects/cdk/date-time/month-range.ts","../../../projects/cdk/date-time/day-range.ts","../../../projects/cdk/date-time/days.const.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/date-time/taiga-ui-cdk-date-time.ts"],"sourcesContent":["import {type TuiYear} from './year';\n\nexport function tuiDateClamp<T extends TuiYear>(date: T, min?: T, max?: T): T {\n if (max && max < date) {\n return max;\n }\n\n if (min && min > date) {\n return min;\n }\n\n return date;\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\n\nexport const DAYS_IN_WEEK = 7;\n\nexport const DAYS_IN_NORMAL_YEAR = 365;\n\nexport const DAYS_IN_LEAP_YEAR = 366;\n\nexport const MONTHS_IN_YEAR = 12;\n\nexport const MIN_DAY = 1;\n\nexport const MIN_MONTH = 0;\n\nexport const MAX_MONTH = 11;\n\nexport const MIN_YEAR = 0;\n\nexport const MAX_YEAR = 9999;\n\nexport const MAX_DISPLAYED_YEAR = 2099;\n\nexport const RANGE_SEPARATOR_CHAR = `${CHAR_NO_BREAK_SPACE}${CHAR_EN_DASH}${CHAR_NO_BREAK_SPACE}`;\n\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const SECONDS_IN_MINUTE = 60;\n\nexport const MINUTES_IN_HOUR = 60;\n\nexport const HOURS_IN_DAY = 24;\n\nexport const MILLISECONDS_IN_MINUTE = MILLISECONDS_IN_SECOND * SECONDS_IN_MINUTE;\n\nexport const MILLISECONDS_IN_HOUR = MILLISECONDS_IN_MINUTE * MINUTES_IN_HOUR;\n\nexport const MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * HOURS_IN_DAY;\n","import {RANGE_SEPARATOR_CHAR} from './date-time';\n\n/**\n * @internal 'dd.mm.yyyy'.length\n * Used in:\n * - {@link TuiInputDateComponent}\n * - {@link TuiInputDateRangeComponent}\n * - {@link TuiInputDateTimeComponent}\n */\nexport const DATE_FILLER_LENGTH = 10;\n/**\n * @internal\n * Used in {@link TuiInputDateRangeComponent}\n */\nexport const DATE_RANGE_FILLER_LENGTH =\n 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;\n","export const TuiDayOfWeek = {\n Sunday: 0,\n Monday: 1,\n Tuesday: 2,\n Wednesday: 3,\n Thursday: 4,\n Friday: 5,\n Saturday: 6,\n} as const;\n","export const TuiMonthNumber = {\n January: 0,\n February: 1,\n March: 2,\n April: 3,\n May: 4,\n June: 5,\n July: 6,\n August: 7,\n September: 8,\n October: 9,\n November: 10,\n December: 11,\n} as const;\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_YEAR, MIN_YEAR} from './date-time';\nimport {type TuiYearLike} from './types';\n\n/**\n * Immutable year object\n * @nosideeffects\n */\nexport class TuiYear implements TuiYearLike {\n constructor(public readonly year: number) {\n ngDevMode && console.assert(TuiYear.isValidYear(year));\n }\n\n /**\n * Checks year for validity\n */\n public static isValidYear(year: number): boolean {\n return Number.isInteger(year) && tuiInRange(year, MIN_YEAR, MAX_YEAR + 1);\n }\n\n /**\n * Check if passed year is a leap year\n */\n public static isLeapYear(year: number): boolean {\n ngDevMode && console.assert(TuiYear.isValidYear(year));\n\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n }\n\n /**\n * Returns amount of leap years from year 0 to the passed one\n */\n public static getAbsoluteLeapYears(year: number): number {\n ngDevMode && console.assert(TuiYear.isValidYear(year));\n\n return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));\n }\n\n public static lengthBetween(from: TuiYear, to: TuiYear): number {\n return to.year - from.year;\n }\n\n /**\n * Normalizes year by clamping it between min and max years\n */\n public static normalizeYearPart(year: number): number {\n return tuiNormalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);\n }\n\n public get formattedYear(): string {\n return String(this.year).padStart(4, '0');\n }\n\n public get isLeapYear(): boolean {\n return TuiYear.isLeapYear(this.year);\n }\n\n /**\n * Returns amount of leap years from year 0 to current\n */\n public get absoluteLeapYears(): number {\n return TuiYear.getAbsoluteLeapYears(this.year);\n }\n\n /**\n * Passed year is after current\n */\n public yearBefore({year}: TuiYear): boolean {\n return this.year < year;\n }\n\n /**\n * Passed year is the same or after current\n */\n public yearSameOrBefore({year}: TuiYear): boolean {\n return this.year <= year;\n }\n\n /**\n * Passed year is the same as current\n */\n public yearSame({year}: TuiYear): boolean {\n return this.year === year;\n }\n\n /**\n * Passed year is either the same of before the current\n */\n public yearSameOrAfter({year}: TuiYear): boolean {\n return this.year >= year;\n }\n\n /**\n * Passed year is before current\n */\n public yearAfter({year}: TuiYear): boolean {\n return this.year > year;\n }\n\n /**\n * Immutably offsets year\n */\n public append({year = 0}: TuiYearLike): TuiYear {\n ngDevMode && console.assert(Number.isInteger(year));\n\n const resultYear = this.year + year;\n\n ngDevMode && console.assert(TuiYear.isValidYear(resultYear));\n\n return new TuiYear(resultYear);\n }\n\n public toString(): string {\n return this.formattedYear;\n }\n\n public valueOf(): number {\n return this.year;\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n public [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n public toJSON(): string {\n return this.formattedYear;\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_MONTH, MIN_MONTH, MONTHS_IN_YEAR} from './date-time';\nimport {TuiMonthNumber} from './month-number';\nimport {type TuiMonthLike} from './types';\nimport {TuiYear} from './year';\n\n/**\n * Immutable object consisting of year and month\n */\nexport class TuiMonth extends TuiYear implements TuiMonthLike {\n /**\n * @param year\n * @param month (starting with 0)\n */\n constructor(\n year: number,\n public readonly month: number,\n ) {\n super(year);\n ngDevMode && console.assert(TuiMonth.isValidMonth(year, month));\n }\n\n /**\n * Tests month and year for validity\n */\n public static isValidMonth(year: number, month: number): boolean {\n return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);\n }\n\n /**\n * Returns number of days in a month\n */\n public static getMonthDaysCount(month: number, isLeapYear: boolean): number {\n ngDevMode && console.assert(TuiMonth.isValidMonthPart(month));\n\n switch (month) {\n case TuiMonthNumber.April:\n case TuiMonthNumber.June:\n case TuiMonthNumber.November:\n case TuiMonthNumber.September:\n return 30;\n case TuiMonthNumber.February:\n return isLeapYear ? 29 : 28;\n default:\n return 31;\n }\n }\n\n /**\n * Returns current month and year based on local time zone\n * @nosideeffects\n */\n public static currentLocal(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getFullYear(), nativeDate.getMonth());\n }\n\n /**\n * Returns current month and year based on UTC\n */\n public static currentUtc(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getUTCFullYear(), nativeDate.getUTCMonth());\n }\n\n public static override lengthBetween(from: TuiMonth, to: TuiMonth): number {\n const absoluteFrom = from.month + from.year * 12;\n const absoluteTo = to.month + to.year * 12;\n\n return absoluteTo - absoluteFrom;\n }\n\n /**\n * Normalizes number by clamping it between min and max month\n */\n public static normalizeMonthPart(month: number): number {\n return tuiNormalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);\n }\n\n /**\n * Tests month for validity\n */\n private static isValidMonthPart(month: number): boolean {\n return Number.isInteger(month) && tuiInRange(month, MIN_MONTH, MAX_MONTH + 1);\n }\n\n public get formattedMonthPart(): string {\n return String(this.month + 1).padStart(2, '0');\n }\n\n /**\n * Returns days in a month\n */\n public get daysCount(): number {\n return TuiMonth.getMonthDaysCount(this.month, this.isLeapYear);\n }\n\n /**\n * Passed month and year are after current\n */\n public monthBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month < another.month)\n );\n }\n\n /**\n * Passed month and year are after or the same as current\n */\n public monthSameOrBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month <= another.month)\n );\n }\n\n /**\n * Passed month and year are the same as current\n */\n public monthSame(another: TuiMonth): boolean {\n return this.yearSame(another) && this.month === another.month;\n }\n\n /**\n * Passed month and year are either before or equal to current\n */\n public monthSameOrAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month >= another.month)\n );\n }\n\n /**\n * Passed month and year are before current\n */\n public monthAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month > another.month)\n );\n }\n\n /**\n * Immutably alters current month and year by passed offset\n *\n * @param offset\n * @return new month and year object as a result of offsetting current\n */\n public override append({year = 0, month = 0}: TuiMonthLike): TuiMonth {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n\n return new TuiMonth(\n Math.floor(totalMonths / MONTHS_IN_YEAR),\n totalMonths % MONTHS_IN_YEAR,\n );\n }\n\n public override toString(): string {\n return `${this.formattedMonthPart}.${this.formattedYear}`;\n }\n\n public override valueOf(): number {\n return this.toLocalNativeDate().valueOf();\n }\n\n public override toJSON(): string {\n return `${super.toJSON()}-${this.formattedMonthPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n public toLocalNativeDate(): Date {\n const date = new Date(this.year, this.month);\n\n // for years less than 1900\n date.setFullYear(this.year);\n\n return date;\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n public toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month));\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DATE_FILLER_LENGTH} from './date-fillers';\nimport {MIN_DAY, MONTHS_IN_YEAR} from './date-time';\nimport {TuiDayOfWeek} from './day-of-week';\nimport {TuiMonth} from './month';\nimport {TuiMonthNumber} from './month-number';\nimport {type TuiDateMode, type TuiDayLike} from './types';\nimport {TuiYear} from './year';\n\n/**\n * Immutable date object, consisting of day, month and year\n */\nexport class TuiDay extends TuiMonth {\n /**\n * @param year\n * @param month (starting with 0)\n * @param day\n */\n constructor(\n year: number,\n month: number,\n public readonly day: number,\n ) {\n super(year, month);\n ngDevMode && console.assert(TuiDay.isValidDay(year, month, day));\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} based on local time zone\n */\n public static fromLocalNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} using UTC\n */\n public static fromUtcNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n }\n\n /**\n * Check validity of year, month and day\n *\n * @param year\n * @param month\n * @param day\n * @return boolean validity\n */\n public static isValidDay(year: number, month: number, day: number): boolean {\n return (\n TuiMonth.isValidMonth(year, month) &&\n Number.isInteger(day) &&\n tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n );\n }\n\n /**\n * Current day based on local time zone\n */\n public static override currentLocal(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getFullYear();\n const month = nativeDate.getMonth();\n const day = nativeDate.getDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Returns current day based on UTC\n */\n public static override currentUtc(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getUTCFullYear();\n const month = nativeDate.getUTCMonth();\n const day = nativeDate.getUTCDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.\n *\n * @param year any year value, including invalid\n * @param month any month value, including invalid (months start with 0)\n * @param day any day value, including invalid\n * @return normalized date\n */\n public static normalizeOf(year: number, month: number, day: number): TuiDay {\n const normalizedYear = TuiYear.normalizeYearPart(year);\n const normalizedMonth = TuiMonth.normalizeMonthPart(month);\n const normalizedDay = TuiDay.normalizeDayPart(\n day,\n normalizedMonth,\n normalizedYear,\n );\n\n return new TuiDay(normalizedYear, normalizedMonth, normalizedDay);\n }\n\n public static override lengthBetween(from: TuiDay, to: TuiDay): number {\n return Math.round(\n (to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /\n (1000 * 60 * 60 * 24),\n );\n }\n\n public static parseRawDateString(\n date: string,\n dateMode: TuiDateMode = 'DMY',\n ): {day: number; month: number; year: number} {\n ngDevMode &&\n console.assert(\n date.length === DATE_FILLER_LENGTH,\n '[parseRawDateString]: wrong date string length',\n );\n\n switch (dateMode) {\n case 'MDY':\n return {\n day: parseInt(date.slice(3, 5), 10),\n month: parseInt(date.slice(0, 2), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n\n case 'YMD':\n return {\n day: parseInt(date.slice(8, 10), 10),\n month: parseInt(date.slice(5, 7), 10) - 1,\n year: parseInt(date.slice(0, 4), 10),\n };\n\n case 'DMY':\n default:\n return {\n day: parseInt(date.slice(0, 2), 10),\n month: parseInt(date.slice(3, 5), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n }\n }\n\n // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param rawDate date string\n * @param dateMode date format of the date string (DMY | MDY | YMD)\n * @return normalized date\n */\n public static normalizeParse(rawDate: string, dateMode: TuiDateMode = 'DMY'): TuiDay {\n const {day, month, year} = this.parseRawDateString(rawDate, dateMode);\n\n return TuiDay.normalizeOf(year, month, day);\n }\n\n /**\n * Parsing a date stringified in a toJSON format\n * @param yearMonthDayString date string in format of YYYY-MM-DD\n * @return date\n * @throws exceptions if any part of the date is invalid\n */\n public static jsonParse(yearMonthDayString: string): TuiDay {\n const {day, month, year} = this.parseRawDateString(yearMonthDayString, 'YMD');\n\n if (\n !TuiMonth.isValidMonth(year, month) ||\n !Number.isInteger(day) ||\n !tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n ) {\n throw new TuiInvalidDayException(year, month, day);\n }\n\n return new TuiDay(year, month, day);\n }\n\n public static normalizeDayPart(day: number, month: number, year: number): number {\n ngDevMode && console.assert(TuiMonth.isValidMonth(year, month));\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n month,\n TuiYear.isLeapYear(year),\n );\n\n return tuiNormalizeToIntNumber(day, 1, monthDaysCount);\n }\n\n public get formattedDayPart(): string {\n return String(this.day).padStart(2, '0');\n }\n\n public get isWeekend(): boolean {\n const dayOfWeek = this.dayOfWeek(false);\n\n return dayOfWeek === TuiDayOfWeek.Saturday || dayOfWeek === TuiDayOfWeek.Sunday;\n }\n\n /**\n * Returns day of week\n *\n * @param startFromMonday whether week starts from Monday and not from Sunday\n * @return day of week (from 0 to 6)\n */\n public dayOfWeek(startFromMonday = true): number {\n const dayOfWeek = startFromMonday\n ? this.toLocalNativeDate().getDay() - 1\n : this.toLocalNativeDate().getDay();\n\n return dayOfWeek < 0 ? 6 : dayOfWeek;\n }\n\n /**\n * Passed date is after current\n */\n public dayBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day < another.day)\n );\n }\n\n /**\n * Passed date is after or equals to current\n */\n public daySameOrBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day <= another.day)\n );\n }\n\n /**\n * Passed date is the same as current\n */\n public daySame(another: TuiDay): boolean {\n return this.monthSame(another) && this.day === another.day;\n }\n\n /**\n * Passed date is either before or the same as current\n */\n public daySameOrAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day >= another.day)\n );\n }\n\n /**\n * Passed date is before current\n */\n public dayAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day > another.day)\n );\n }\n\n /**\n * Clamping date between two limits\n *\n * @param min\n * @param max\n * @return clamped date\n */\n public dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDay {\n if (min !== null && this.dayBefore(min)) {\n return min;\n }\n\n if (max !== null && this.dayAfter(max)) {\n return max;\n }\n\n return this;\n }\n\n /**\n * Immutably alters current day by passed offset\n *\n * If resulting month has more days than original one, date is rounded to the maximum day\n * in the resulting month. Offset of days will be calculated based on the resulted year and month\n * to not interfere with parent classes methods\n *\n * @param offset\n * @return new date object as a result of offsetting current\n */\n public override append({year = 0, month = 0, day = 0}: TuiDayLike): TuiDay {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n let years = Math.floor(totalMonths / MONTHS_IN_YEAR);\n let months = totalMonths % MONTHS_IN_YEAR;\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n months,\n TuiYear.isLeapYear(years),\n );\n const currentMonthDaysCount = TuiMonth.getMonthDaysCount(\n this.month,\n TuiYear.isLeapYear(years),\n );\n let days = day;\n\n if (this.day >= monthDaysCount) {\n days += this.day - (currentMonthDaysCount - monthDaysCount);\n } else if (\n currentMonthDaysCount < monthDaysCount &&\n this.day === currentMonthDaysCount\n ) {\n days += this.day + (monthDaysCount - currentMonthDaysCount);\n } else {\n days += this.day;\n }\n\n while (days > TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years))) {\n days -= TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n\n if (months === TuiMonthNumber.December) {\n years++;\n months = TuiMonthNumber.January;\n } else {\n months++;\n }\n }\n\n while (days < MIN_DAY) {\n if (months === TuiMonthNumber.January) {\n years--;\n months = TuiMonthNumber.December;\n } else {\n months--;\n }\n\n days += TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n }\n\n return new TuiDay(years, months, days);\n }\n\n /**\n * Returns formatted whole date\n */\n public getFormattedDay(dateFormat: TuiDateMode, separator: string): string {\n ngDevMode &&\n console.assert(\n separator.length === 1,\n 'Separator should consist of only 1 symbol',\n );\n\n const dd = this.formattedDayPart;\n const mm = this.formattedMonthPart;\n const yyyy = this.formattedYear;\n\n switch (dateFormat) {\n case 'MDY':\n return `${mm}${separator}${dd}${separator}${yyyy}`;\n case 'YMD':\n return `${yyyy}${separator}${mm}${separator}${dd}`;\n case 'DMY':\n default:\n return `${dd}${separator}${mm}${separator}${yyyy}`;\n }\n }\n\n public override toString(dateFormat: TuiDateMode = 'DMY', separator = '.'): string {\n return this.getFormattedDay(dateFormat, separator);\n }\n\n public override toJSON(): string {\n return `${super.toJSON()}-${this.formattedDayPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n public override toLocalNativeDate(): Date {\n const date = super.toLocalNativeDate();\n\n date.setDate(this.day);\n\n return date;\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n public override toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month, this.day));\n }\n}\n\nexport class TuiInvalidDayException extends Error {\n constructor(year: number, month: number, day: number) {\n super(ngDevMode ? `Invalid day: ${year}-${month}-${day}` : '');\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {type TuiMonth} from './month';\n\n/**\n * An immutable range of two {@link TuiMonth} objects\n */\nexport class TuiMonthRange {\n constructor(\n public readonly from: TuiMonth,\n public readonly to: TuiMonth,\n ) {\n ngDevMode && console.assert(from.monthSameOrBefore(to));\n }\n\n public static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange {\n return month1.monthSameOrBefore(month2)\n ? new TuiMonthRange(month1, month2)\n : new TuiMonthRange(month2, month1);\n }\n\n public get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n public monthSame(another: TuiMonthRange): boolean {\n return this.from.monthSame(another.from) && this.to.monthSame(another.to);\n }\n\n public toString(): string {\n return `${this.from}${RANGE_SEPARATOR_CHAR}${this.to}`;\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH} from './date-fillers';\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiDay} from './day';\nimport {TuiMonthRange} from './month-range';\nimport {type TuiDateMode} from './types';\n\n/**\n * An immutable range of two {@link TuiDay} objects\n */\nexport class TuiDayRange extends TuiMonthRange {\n constructor(\n public override readonly from: TuiDay,\n public override readonly to: TuiDay,\n ) {\n super(from, to);\n\n ngDevMode && console.assert(from.daySameOrBefore(to));\n }\n\n /**\n * Creates range from two days after sorting them\n *\n * @param day1\n * @param day2\n * @return new range with sorted days\n */\n public static override sort(day1: TuiDay, day2: TuiDay): TuiDayRange {\n return day1.daySameOrBefore(day2)\n ? new TuiDayRange(day1, day2)\n : new TuiDayRange(day2, day1);\n }\n\n /**\n * Parse and correct a day range in string format\n *\n * @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy\n * @param dateMode {@link TuiDateMode}\n * @return normalized day range object\n */\n public static normalizeParse(\n rangeString: string,\n dateMode: TuiDateMode = 'DMY',\n ): TuiDayRange {\n const leftDay = TuiDay.normalizeParse(\n rangeString.slice(0, DATE_FILLER_LENGTH),\n dateMode,\n );\n\n if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {\n return new TuiDayRange(leftDay, leftDay);\n }\n\n return TuiDayRange.sort(\n leftDay,\n TuiDay.normalizeParse(\n rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n dateMode,\n ),\n );\n }\n\n public get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Tests ranges for identity\n *\n * @param another second range to test against current\n * @return `true` if days are identical\n */\n public daySame(another: TuiDayRange): boolean {\n return this.from.daySame(another.from) && this.to.daySame(another.to);\n }\n\n /**\n * Locks range between two days included, or limits from one side if the other is null\n *\n * @param min\n * @param max\n * @return range — clamped range\n */\n public dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange {\n return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));\n }\n\n /**\n * Human readable format.\n */\n public getFormattedDayRange(dateFormat: TuiDateMode, dateSeparator: string): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n\n public override toString(\n dateFormat: TuiDateMode = 'DMY',\n dateSeparator = '.',\n ): string {\n return this.getFormattedDayRange(dateFormat, dateSeparator);\n }\n\n public toArray(): readonly TuiDay[] {\n const {from, to} = this;\n const arr = [];\n\n for (\n const day = from.toUtcNativeDate();\n day <= to.toUtcNativeDate();\n day.setDate(day.getDate() + 1)\n ) {\n arr.push(TuiDay.fromLocalNativeDate(day));\n }\n\n return arr;\n }\n}\n","import {\n MAX_DISPLAYED_YEAR,\n MAX_MONTH,\n MAX_YEAR,\n MIN_DAY,\n MIN_MONTH,\n MIN_YEAR,\n} from './date-time';\nimport {TuiDay} from './day';\n\nexport const TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);\n\nexport const TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);\n\nexport const TUI_LAST_DISPLAYED_DAY = new TuiDay(MAX_DISPLAYED_YEAR, MAX_MONTH, 31);\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\nimport {\n HOURS_IN_DAY,\n MILLISECONDS_IN_DAY,\n MILLISECONDS_IN_HOUR,\n MILLISECONDS_IN_MINUTE,\n MILLISECONDS_IN_SECOND,\n MINUTES_IN_HOUR,\n SECONDS_IN_MINUTE,\n} from './date-time';\nimport {type TuiTimeLike, type TuiTimeMode} from './types';\n\n/**\n * Immutable time object with hours, minutes, seconds and ms\n */\nexport class TuiTime implements TuiTimeLike {\n constructor(\n public readonly hours: number,\n public readonly minutes: number,\n public readonly seconds = 0,\n public readonly ms = 0,\n ) {\n ngDevMode &&\n console.assert(\n // Currently `TuiTime` could have hours more than 23\n // in order to not break current behaviour of `isValidTime` the logic is duplicated\n Number.isInteger(hours) &&\n tuiInRange(hours, 0, Infinity) &&\n Number.isInteger(minutes) &&\n tuiInRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n tuiInRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n tuiInRange(ms, 0, 1000),\n 'Time must be real, but got:',\n hours,\n minutes,\n seconds,\n ms,\n );\n }\n\n /**\n * Checks if time is valid\n */\n public static isValidTime(\n hours: number,\n minutes: number,\n seconds = 0,\n ms = 0,\n ): boolean {\n return (\n Number.isInteger(hours) &&\n tuiInRange(hours, 0, HOURS_IN_DAY) &&\n Number.isInteger(minutes) &&\n tuiInRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n tuiInRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n tuiInRange(ms, 0, 1000)\n );\n }\n\n /**\n * Current UTC time.\n */\n public static current(): TuiTime {\n return TuiTime.fromAbsoluteMilliseconds(Date.now() % MILLISECONDS_IN_DAY);\n }\n\n /**\n * Current time in local timezone\n */\n public static currentLocal(): TuiTime {\n const date = new Date();\n\n return TuiTime.fromAbsoluteMilliseconds(\n (Date.now() - date.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) %\n MILLISECONDS_IN_DAY,\n );\n }\n\n /**\n * Calculates TuiTime from milliseconds\n */\n public static fromAbsoluteMilliseconds(milliseconds: number): TuiTime {\n ngDevMode &&\n console.assert(\n Number.isInteger(milliseconds) && milliseconds >= 0,\n 'Milliseconds must be a non-negative integer.',\n );\n\n const hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);\n const minutes = Math.floor(\n (milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE,\n );\n const seconds =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000,\n ) || 0;\n const ms =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) % 1000,\n ) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Parses string into TuiTime object\n */\n public static fromString(time: string): TuiTime {\n const hours = this.parseHours(time);\n const minutes = Number(time.slice(3, 5)) || 0;\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Converts Date object into TuiTime\n * @param date\n */\n public static fromLocalNativeDate(date: Date): TuiTime {\n return new TuiTime(\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n }\n\n private static parseMeridiemPeriod(time: string): 'AM' | 'PM' | null {\n return (\n (/[AP]M/.exec(time.toUpperCase().replaceAll(/\\W/g, ''))?.[0] as\n | 'AM'\n | 'PM') || null\n );\n }\n\n private static parseHours(time: string): number {\n const hours = Number(time.slice(0, 2));\n const meridiem = this.parseMeridiemPeriod(time);\n\n if (!meridiem) {\n return hours;\n }\n\n if (hours === 12) {\n return meridiem === 'AM' ? 0 : 12;\n }\n\n return meridiem === 'PM' ? hours + 12 : hours;\n }\n\n /**\n * Shifts time by hours and minutes\n */\n public shift({hours = 0, minutes = 0, seconds = 0, ms = 0}: TuiTimeLike): TuiTime {\n const totalMs =\n this.toAbsoluteMilliseconds() +\n hours * MILLISECONDS_IN_HOUR +\n minutes * MILLISECONDS_IN_MINUTE +\n seconds * MILLISECONDS_IN_SECOND +\n ms;\n const totalSeconds = Math.floor(totalMs / MILLISECONDS_IN_SECOND);\n const totalMinutes = Math.floor(totalSeconds / SECONDS_IN_MINUTE);\n const totalHours = Math.floor(totalMinutes / MINUTES_IN_HOUR);\n\n return new TuiTime(\n this.normalizeToRange(totalHours, HOURS_IN_DAY),\n this.normalizeToRange(totalMinutes, MINUTES_IN_HOUR),\n this.normalizeToRange(totalSeconds, SECONDS_IN_MINUTE),\n this.normalizeToRange(totalMs, MILLISECONDS_IN_SECOND),\n );\n }\n\n /**\n * Converts TuiTime to string\n */\n public toString(\n mode?: TuiTimeMode, // TODO(v5): remove usage of `TuiTimeMode` and inline all modes as huge union type\n ): string {\n const needAddMs = mode?.startsWith('HH:MM:SS.MSS') || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode?.startsWith('HH:MM:SS') || (!mode && this.seconds > 0);\n const {hours = this.hours, meridiem = ''} = mode?.includes('AA')\n ? this.toTwelveHour(this.hours)\n : {};\n const hhMm = `${this.formatTime(hours)}:${this.formatTime(this.minutes)}`;\n const ss = needAddSeconds ? `:${this.formatTime(this.seconds)}` : '';\n const mss = needAddMs ? `.${this.formatTime(this.ms, 3)}` : '';\n const aa = meridiem && `${CHAR_NO_BREAK_SPACE}${meridiem}`;\n\n return `${hhMm}${ss}${mss}${aa}`;\n }\n\n public valueOf(): number {\n return this.toAbsoluteMilliseconds();\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n public [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n /**\n * Converts TuiTime to milliseconds\n */\n public toAbsoluteMilliseconds(): number {\n return (\n this.hours * MILLISECONDS_IN_HOUR +\n this.minutes * MILLISECONDS_IN_MINUTE +\n this.seconds * 1000 +\n this.ms\n );\n }\n\n private formatTime(time: number, digits = 2): string {\n return String(time).padStart(digits, '0');\n }\n\n private toTwelveHour(hours: number): {hours: number; meridiem: string} {\n const meridiem = hours >= 12 ? 'PM' : 'AM';\n\n if (hours === 0 || hours === 12) {\n return {meridiem, hours: 12};\n }\n\n return {meridiem, hours: hours % 12};\n }\n\n private normalizeToRange(value: number, modulus: number): number {\n return ((value % modulus) + modulus) % modulus;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { isPlatformServer } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, ViewContainerRef, afterNextRender, PLATFORM_ID, Directive, ApplicationRef, Renderer2 } from '@angular/core';
3
+ import { inject, ViewContainerRef, afterNextRender, PLATFORM_ID, Directive, Renderer2 } from '@angular/core';
4
4
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
5
5
  import * as i2 from '@ng-web-apis/mutation-observer';
6
6
  import { provideMutationObserverInit, WaMutationObserver } from '@ng-web-apis/mutation-observer';
@@ -54,7 +54,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
54
  }], ctorParameters: function () { return []; } });
55
55
  function wrap(renderer) {
56
56
  const { removeChild } = renderer;
57
- const app = inject(ApplicationRef);
58
57
  return (parent, el, host) => {
59
58
  const remove = () => removeChild.call(renderer, parent, el, host);
60
59
  const elements = renderer.data[TUI_LEAVE];
@@ -71,7 +70,6 @@ function wrap(renderer) {
71
70
  const finish = () => {
72
71
  if (!parent || parent.contains(el)) {
73
72
  remove();
74
- app.tick();
75
73
  }
76
74
  };
77
75
  if (animations.length > length && last) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-animated.mjs","sources":["../../../projects/cdk/directives/animated/animated.directive.ts","../../../projects/cdk/directives/animated/animated-parent.directive.ts","../../../projects/cdk/directives/animated/taiga-ui-cdk-directives-animated.ts"],"sourcesContent":["import {isPlatformServer} from '@angular/common';\nimport {\n afterNextRender,\n ApplicationRef,\n Directive,\n inject,\n type OnDestroy,\n PLATFORM_ID,\n type Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nexport const TUI_ENTER = 'tui-enter';\nexport const TUI_LEAVE = 'tui-leave';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimated]',\n host: {\n class: TUI_ENTER,\n '(animationend.self)': 'remove()',\n '(animationcancel.self)': 'remove()',\n },\n})\nexport class TuiAnimated implements OnDestroy {\n // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56\n private readonly renderer = inject(ViewContainerRef)._hostLView?.[11];\n private readonly el = tuiInjectElement();\n\n constructor() {\n afterNextRender(() => this.remove());\n\n if (!this.renderer || isPlatformServer(inject(PLATFORM_ID))) {\n return;\n }\n\n // delegate is used in Angular Animations renderer\n const renderer = this.renderer.delegate || this.renderer;\n\n if (renderer.data[TUI_LEAVE]) {\n renderer.data[TUI_LEAVE].push(this.el);\n } else {\n renderer.data[TUI_LEAVE] = [this.el];\n renderer.removeChild = wrap(renderer);\n }\n }\n\n public ngOnDestroy(): void {\n const data = this.renderer?.data || {[TUI_LEAVE]: []};\n\n setTimeout(() => {\n data[TUI_LEAVE] = data[TUI_LEAVE]?.filter((e: Element) => e !== this.el);\n });\n }\n\n protected remove(): void {\n if (this.el.isConnected && !this.el.getAnimations?.().length) {\n this.el.classList.remove(TUI_ENTER);\n }\n }\n}\n\nfunction wrap(renderer: Renderer2): any {\n const {removeChild} = renderer;\n const app = inject(ApplicationRef);\n\n return (parent: Node, el: Node, host?: boolean) => {\n const remove = (): void => removeChild.call(renderer, parent, el, host);\n const elements: Element[] = renderer.data[TUI_LEAVE];\n const element = elements.find((leave) => el.contains(leave));\n\n if (!element) {\n remove();\n\n return;\n }\n\n element.classList.remove(TUI_ENTER);\n\n const {length} = element.getAnimations?.() || [];\n\n element.classList.add(TUI_LEAVE);\n\n const animations = element.getAnimations?.() ?? [];\n const last = animations[animations.length - 1];\n const finish = (): void => {\n if (!parent || parent.contains(el)) {\n remove();\n app.tick();\n }\n };\n\n if (animations.length > length && last) {\n last.onfinish = finish;\n last.oncancel = finish;\n } else {\n remove();\n }\n };\n}\n","import {Directive, inject, Renderer2} from '@angular/core';\nimport {\n provideMutationObserverInit,\n WaMutationObserver,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TUI_ENTER, TUI_LEAVE, TuiAnimated} from './animated.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimatedParent]',\n providers: [provideMutationObserverInit({childList: true})],\n hostDirectives: [\n TuiAnimated,\n {\n directive: WaMutationObserver,\n outputs: ['waMutationObserver'],\n },\n ],\n host: {\n '(waMutationObserver)': 'handle()',\n },\n})\nexport class TuiAnimatedParent {\n private readonly el = tuiInjectElement();\n private readonly renderer = inject(Renderer2);\n\n protected handle(): void {\n this.el.classList.remove(TUI_ENTER);\n this.renderer.data[TUI_LEAVE] = Array.from(this.el.children);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiAnimated"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-animated.mjs","sources":["../../../projects/cdk/directives/animated/animated.directive.ts","../../../projects/cdk/directives/animated/animated-parent.directive.ts","../../../projects/cdk/directives/animated/taiga-ui-cdk-directives-animated.ts"],"sourcesContent":["import {isPlatformServer} from '@angular/common';\nimport {\n afterNextRender,\n Directive,\n inject,\n type OnDestroy,\n PLATFORM_ID,\n type Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nexport const TUI_ENTER = 'tui-enter';\nexport const TUI_LEAVE = 'tui-leave';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimated]',\n host: {\n class: TUI_ENTER,\n '(animationend.self)': 'remove()',\n '(animationcancel.self)': 'remove()',\n },\n})\nexport class TuiAnimated implements OnDestroy {\n // @ts-ignore https://github.com/angular/angular/blob/main/packages/core/src/render3/interfaces/view.ts#L56\n private readonly renderer = inject(ViewContainerRef)._hostLView?.[11];\n private readonly el = tuiInjectElement();\n\n constructor() {\n afterNextRender(() => this.remove());\n\n if (!this.renderer || isPlatformServer(inject(PLATFORM_ID))) {\n return;\n }\n\n // delegate is used in Angular Animations renderer\n const renderer = this.renderer.delegate || this.renderer;\n\n if (renderer.data[TUI_LEAVE]) {\n renderer.data[TUI_LEAVE].push(this.el);\n } else {\n renderer.data[TUI_LEAVE] = [this.el];\n renderer.removeChild = wrap(renderer);\n }\n }\n\n public ngOnDestroy(): void {\n const data = this.renderer?.data || {[TUI_LEAVE]: []};\n\n setTimeout(() => {\n data[TUI_LEAVE] = data[TUI_LEAVE]?.filter((e: Element) => e !== this.el);\n });\n }\n\n protected remove(): void {\n if (this.el.isConnected && !this.el.getAnimations?.().length) {\n this.el.classList.remove(TUI_ENTER);\n }\n }\n}\n\nfunction wrap(renderer: Renderer2): any {\n const {removeChild} = renderer;\n\n return (parent: Node, el: Node, host?: boolean) => {\n const remove = (): void => removeChild.call(renderer, parent, el, host);\n const elements: Element[] = renderer.data[TUI_LEAVE];\n const element = elements.find((leave) => el.contains(leave));\n\n if (!element) {\n remove();\n\n return;\n }\n\n element.classList.remove(TUI_ENTER);\n\n const {length} = element.getAnimations?.() || [];\n\n element.classList.add(TUI_LEAVE);\n\n const animations = element.getAnimations?.() ?? [];\n const last = animations[animations.length - 1];\n const finish = (): void => {\n if (!parent || parent.contains(el)) {\n remove();\n }\n };\n\n if (animations.length > length && last) {\n last.onfinish = finish;\n last.oncancel = finish;\n } else {\n remove();\n }\n };\n}\n","import {Directive, inject, Renderer2} from '@angular/core';\nimport {\n provideMutationObserverInit,\n WaMutationObserver,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {TUI_ENTER, TUI_LEAVE, TuiAnimated} from './animated.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiAnimatedParent]',\n providers: [provideMutationObserverInit({childList: true})],\n hostDirectives: [\n TuiAnimated,\n {\n directive: WaMutationObserver,\n outputs: ['waMutationObserver'],\n },\n ],\n host: {\n '(waMutationObserver)': 'handle()',\n },\n})\nexport class TuiAnimatedParent {\n private readonly el = tuiInjectElement();\n private readonly renderer = inject(Renderer2);\n\n protected handle(): void {\n this.el.classList.remove(TUI_ENTER);\n this.renderer.data[TUI_LEAVE] = Array.from(this.el.children);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiAnimated"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "4.62.0",
3
+ "version": "4.64.0",
4
4
  "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
5
  "keywords": [
6
6
  "angular",
@@ -31,18 +31,18 @@
31
31
  "esm": "./esm2022/classes/taiga-ui-cdk-classes.mjs",
32
32
  "default": "./fesm2022/taiga-ui-cdk-classes.mjs"
33
33
  },
34
- "./constants": {
35
- "types": "./constants/index.d.ts",
36
- "esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
37
- "esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
38
- "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
39
- },
40
34
  "./date-time": {
41
35
  "types": "./date-time/index.d.ts",
42
36
  "esm2022": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
43
37
  "esm": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
44
38
  "default": "./fesm2022/taiga-ui-cdk-date-time.mjs"
45
39
  },
40
+ "./constants": {
41
+ "types": "./constants/index.d.ts",
42
+ "esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
43
+ "esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
44
+ "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
45
+ },
46
46
  "./directives": {
47
47
  "types": "./directives/index.d.ts",
48
48
  "esm2022": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
@@ -941,16 +941,6 @@ exports.IDENTIFIERS_TO_REPLACE = [
941
941
  moduleSpecifier: '@taiga-ui/proprietary',
942
942
  },
943
943
  },
944
- {
945
- from: {
946
- name: 'TuiBackModule',
947
- moduleSpecifier: '@taiga-ui/proprietary-core',
948
- },
949
- to: {
950
- name: 'TuiBlockerComponent',
951
- moduleSpecifier: '@taiga-ui/proprietary',
952
- },
953
- },
954
944
  {
955
945
  from: {
956
946
  name: 'TuiConfirmationModule',
@@ -1056,8 +1046,8 @@ exports.IDENTIFIERS_TO_REPLACE = [
1056
1046
  moduleSpecifier: '@taiga-ui/proprietary-banking',
1057
1047
  },
1058
1048
  to: {
1059
- name: 'TuiSignalComponent',
1060
- moduleSpecifier: '@taiga-ui/proprietary',
1049
+ name: 'TuiPulse',
1050
+ moduleSpecifier: '@taiga-ui/kit',
1061
1051
  },
1062
1052
  },
1063
1053
  {
@@ -1101,16 +1091,6 @@ exports.IDENTIFIERS_TO_REPLACE = [
1101
1091
  moduleSpecifier: '@taiga-ui/proprietary',
1102
1092
  },
1103
1093
  },
1104
- {
1105
- from: {
1106
- name: 'ProductsNavigationModule',
1107
- moduleSpecifier: '@taiga-ui/proprietary-navigation',
1108
- },
1109
- to: {
1110
- name: 'ProductsNavigationComponent',
1111
- moduleSpecifier: '@taiga-ui/proprietary',
1112
- },
1113
- },
1114
1094
  {
1115
1095
  from: {
1116
1096
  name: 'TuiDropdownSecureModule',
@@ -1178,20 +1158,10 @@ exports.IDENTIFIERS_TO_REPLACE = [
1178
1158
  name: 'TuiTimelineStepsModule',
1179
1159
  moduleSpecifier: '@taiga-ui/proprietary-banking',
1180
1160
  },
1181
- to: [
1182
- {
1183
- name: 'TuiTimelineStepsComponent',
1184
- moduleSpecifier: '@taiga-ui/proprietary',
1185
- },
1186
- {
1187
- name: 'TuiTimelineStepComponent',
1188
- moduleSpecifier: '@taiga-ui/proprietary',
1189
- },
1190
- {
1191
- name: 'TuiTimelineStepDirective',
1192
- moduleSpecifier: '@taiga-ui/proprietary',
1193
- },
1194
- ],
1161
+ to: {
1162
+ name: 'TuiTimelineSteps',
1163
+ moduleSpecifier: '@taiga-ui/proprietary',
1164
+ },
1195
1165
  },
1196
1166
  {
1197
1167
  from: {
@@ -1 +1 @@
1
- {"version":3,"file":"identifiers-to-replace.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v4/steps/constants/identifiers-to-replace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identifiers-to-replace.js","sourceRoot":"","sources":["../../../../../../../projects/cdk/schematics/ng-update/v4/steps/constants/identifiers-to-replace.ts"],"names":[],"mappings":"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"}