@taiga-ui/addon-mobile 2.41.1 → 2.44.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.
Files changed (87) hide show
  1. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js +1 -1
  2. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js +1 -1
  4. package/bundles/taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.js.map +1 -1
  6. package/bundles/taiga-ui-addon-mobile-components-mobile-dialog.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js +1 -1
  8. package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.js.map +1 -1
  9. package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.min.js +1 -1
  10. package/bundles/taiga-ui-addon-mobile-components-pull-to-refresh.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-addon-mobile-components-sheet.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-mobile-components-sheet.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.js +1 -1
  14. package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.js.map +1 -1
  15. package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.min.js +1 -1
  16. package/bundles/taiga-ui-addon-mobile-directives-elastic-sticky.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js +3 -1
  18. package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.js.map +1 -1
  19. package/bundles/taiga-ui-addon-mobile-directives-ripple.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.js.map +1 -1
  21. package/bundles/taiga-ui-addon-mobile-directives-sidebar.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.js.map +1 -1
  23. package/bundles/taiga-ui-addon-mobile-directives-touchable.umd.min.js.map +1 -1
  24. package/components/mobile-calendar/taiga-ui-addon-mobile-components-mobile-calendar.metadata.json +1 -1
  25. package/components/pull-to-refresh/taiga-ui-addon-mobile-components-pull-to-refresh.metadata.json +1 -1
  26. package/components/sheet/sheet.d.ts +1 -1
  27. package/directives/sidebar/sidebar.directive.d.ts +3 -3
  28. package/directives/sidebar/taiga-ui-addon-mobile-directives-sidebar.metadata.json +1 -1
  29. package/esm2015/components/mobile-calendar/mobile-calendar.component.js +1 -1
  30. package/esm2015/components/mobile-calendar/mobile-calendar.providers.js +2 -2
  31. package/esm2015/components/mobile-calendar/mobile-calendar.strategy.js +1 -1
  32. package/esm2015/components/mobile-dialog/mobile-dialog.component.js +1 -1
  33. package/esm2015/components/pull-to-refresh/pull-to-refresh.component.js +2 -2
  34. package/esm2015/components/sheet/components/sheet/sheet.component.js +1 -1
  35. package/esm2015/components/sheet/components/sheet-bar/sheet-bar.component.js +1 -1
  36. package/esm2015/components/sheet/components/sheet-heading/sheet-heading.component.js +1 -1
  37. package/esm2015/components/sheet/components/sheets-host/sheets-host.component.js +1 -1
  38. package/esm2015/components/sheet/ios.hacks.js +1 -1
  39. package/esm2015/components/sheet/sheet.js +1 -1
  40. package/esm2015/components/sheet/sheet.service.js +1 -1
  41. package/esm2015/directives/elastic-sticky/elastic-sticky.service.js +2 -2
  42. package/esm2015/directives/ripple/ripple.directive.js +4 -2
  43. package/esm2015/directives/sidebar/sidebar.component.js +1 -1
  44. package/esm2015/directives/sidebar/sidebar.directive.js +1 -1
  45. package/esm2015/directives/touchable/touchable.directive.js +1 -1
  46. package/esm5/components/mobile-calendar/mobile-calendar.component.js +1 -1
  47. package/esm5/components/mobile-calendar/mobile-calendar.providers.js +2 -2
  48. package/esm5/components/mobile-calendar/mobile-calendar.strategy.js +1 -1
  49. package/esm5/components/mobile-dialog/mobile-dialog.component.js +1 -1
  50. package/esm5/components/pull-to-refresh/pull-to-refresh.component.js +2 -2
  51. package/esm5/components/sheet/components/sheet/sheet.component.js +1 -1
  52. package/esm5/components/sheet/components/sheet-bar/sheet-bar.component.js +1 -1
  53. package/esm5/components/sheet/components/sheet-heading/sheet-heading.component.js +1 -1
  54. package/esm5/components/sheet/components/sheets-host/sheets-host.component.js +1 -1
  55. package/esm5/components/sheet/ios.hacks.js +1 -1
  56. package/esm5/components/sheet/sheet.js +1 -1
  57. package/esm5/components/sheet/sheet.service.js +1 -1
  58. package/esm5/directives/elastic-sticky/elastic-sticky.service.js +2 -2
  59. package/esm5/directives/ripple/ripple.directive.js +4 -2
  60. package/esm5/directives/sidebar/sidebar.component.js +1 -1
  61. package/esm5/directives/sidebar/sidebar.directive.js +1 -1
  62. package/esm5/directives/touchable/touchable.directive.js +1 -1
  63. package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js +1 -1
  64. package/fesm2015/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
  65. package/fesm2015/taiga-ui-addon-mobile-components-mobile-dialog.js.map +1 -1
  66. package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js +1 -1
  67. package/fesm2015/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
  68. package/fesm2015/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
  69. package/fesm2015/taiga-ui-addon-mobile-directives-elastic-sticky.js +2 -2
  70. package/fesm2015/taiga-ui-addon-mobile-directives-elastic-sticky.js.map +1 -1
  71. package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js +3 -1
  72. package/fesm2015/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
  73. package/fesm2015/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
  74. package/fesm2015/taiga-ui-addon-mobile-directives-touchable.js.map +1 -1
  75. package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js +1 -1
  76. package/fesm5/taiga-ui-addon-mobile-components-mobile-calendar.js.map +1 -1
  77. package/fesm5/taiga-ui-addon-mobile-components-mobile-dialog.js.map +1 -1
  78. package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js +1 -1
  79. package/fesm5/taiga-ui-addon-mobile-components-pull-to-refresh.js.map +1 -1
  80. package/fesm5/taiga-ui-addon-mobile-components-sheet.js.map +1 -1
  81. package/fesm5/taiga-ui-addon-mobile-directives-elastic-sticky.js +2 -2
  82. package/fesm5/taiga-ui-addon-mobile-directives-elastic-sticky.js.map +1 -1
  83. package/fesm5/taiga-ui-addon-mobile-directives-ripple.js +3 -1
  84. package/fesm5/taiga-ui-addon-mobile-directives-ripple.js.map +1 -1
  85. package/fesm5/taiga-ui-addon-mobile-directives-sidebar.js.map +1 -1
  86. package/fesm5/taiga-ui-addon-mobile-directives-touchable.js.map +1 -1
  87. package/package.json +6 -6
@@ -395,7 +395,7 @@
395
395
  },
396
396
  ];
397
397
  function valueStreamFactory(value$, destroy$, changeDetectorRef) {
398
- return (value$ || rxjs.EMPTY).pipe(operators.takeUntil(destroy$), cdk.watch(changeDetectorRef));
398
+ return (value$ || rxjs.EMPTY).pipe(cdk.watch(changeDetectorRef), operators.takeUntil(destroy$));
399
399
  }
400
400
 
401
401
  // @dynamic
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-mobile-components-mobile-calendar.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.const.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.strategy.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.providers.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.component.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {MONTHS_IN_YEAR} from '@taiga-ui/cdk';\n\nexport const SCROLL_DEBOUNCE_TIME = 80;\nexport const YEARS_IN_ROW = 5;\nexport const STARTING_YEAR = 1900;\nexport const RANGE = 196;\nexport const BUFFER = 500;\nexport const ANDROID_LABEL = 64;\nexport const ANDROID_WEEK = 48;\nexport const IOS_LABEL = 50;\nexport const IOS_WEEK = 50;\nexport const YEARLY_CYCLE = 28;\nexport const ANDROID_CYCLE = getCycle(ANDROID_LABEL, ANDROID_WEEK);\nexport const IOS_CYCLE = getCycle(IOS_LABEL, IOS_WEEK);\n\nfunction getCycle(label: number, week: number): ReadonlyArray<readonly number[]> {\n return Array.from({length: YEARLY_CYCLE}, (_, i) =>\n Array.from(\n {length: MONTHS_IN_YEAR},\n (_, month) => label + weekCount(i, month) * week,\n ),\n );\n}\n\nfunction weekCount(year: number, month: number): number {\n const firstOfMonth = new Date(year + STARTING_YEAR, month, 1);\n const lastOfMonth = new Date(year + STARTING_YEAR, month + 1, 0);\n const days = lastOfMonth.getDate() + (firstOfMonth.getDay() || 7) - 1;\n\n return Math.ceil(days / 7);\n}\n","import {CdkVirtualScrollViewport, VirtualScrollStrategy} from '@angular/cdk/scrolling';\nimport {MONTHS_IN_YEAR, tuiPure, TuiScrollService} from '@taiga-ui/cdk';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {\n ANDROID_CYCLE,\n BUFFER,\n IOS_CYCLE,\n RANGE,\n YEARLY_CYCLE,\n} from './mobile-calendar.const';\n\nconst ANDROID_CYCLE_HEIGHT = reduceCycle(ANDROID_CYCLE);\nconst IOS_CYCLE_HEIGHT = reduceCycle(IOS_CYCLE);\n\nfunction reduceCycle(\n cycle: ReadonlyArray<readonly number[]>,\n lastYear: number = 28,\n lastMonth: number = 12,\n): number {\n return cycle.reduce(\n (total, year, yearIndex) =>\n yearIndex <= lastYear\n ? total +\n year.reduce(\n (sum, month, monthIndex) =>\n yearIndex < lastYear ||\n (yearIndex === lastYear && monthIndex < lastMonth)\n ? sum + month\n : sum,\n 0,\n )\n : total,\n 0,\n );\n}\n\n/**\n * This scroll strategy is hard wired with styles for iOS and Android.\n * It is dependent on month height on those platforms and is designed to\n * work for {@link TuiMobileCalendarComponent} with years 1906 to 2102\n */\nexport class TuiMobileCalendarStrategy implements VirtualScrollStrategy {\n private readonly index$ = new Subject<number>();\n\n private viewport: CdkVirtualScrollViewport | null = null;\n\n constructor(\n private readonly isIos: boolean,\n private readonly scrollService: TuiScrollService,\n ) {}\n\n @tuiPure\n get scrolledIndexChange(): Observable<number> {\n return this.index$.pipe(distinctUntilChanged());\n }\n\n attach(viewport: CdkVirtualScrollViewport) {\n const cycle = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n\n this.viewport = viewport;\n this.viewport.setTotalContentSize(cycle * 7);\n this.updateRenderedRange(this.viewport);\n }\n\n detach() {\n this.index$.complete();\n this.viewport = null;\n }\n\n onContentScrolled() {\n if (this.viewport) {\n this.updateRenderedRange(this.viewport);\n }\n }\n\n /** These do not matter for this case */\n onDataLengthChanged() {}\n onContentRendered() {}\n onRenderedOffsetChanged() {}\n\n scrollToIndex(index: number, behavior: ScrollBehavior) {\n if (!this.viewport) {\n return;\n }\n\n const scrollTop = this.getOffsetForIndex(index);\n\n if (behavior !== 'smooth') {\n this.viewport.scrollToOffset(scrollTop, behavior);\n\n return;\n }\n\n this.scrollService\n .scroll$(this.viewport.elementRef.nativeElement, scrollTop)\n .subscribe();\n }\n\n private getOffsetForIndex(index: number): number {\n const month = index % MONTHS_IN_YEAR;\n const year = (index - month) / MONTHS_IN_YEAR;\n\n return this.computeHeight(year, month);\n }\n\n private getIndexForOffset(offset: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const cycleHeight = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n const remainder = offset % cycleHeight;\n const years = ((offset - remainder) / cycleHeight) * YEARLY_CYCLE;\n\n let accumulator = 0;\n\n for (let year = 0; year < cycle.length; year++) {\n for (let month = 0; month < cycle[year].length; month++) {\n accumulator += cycle[year][month];\n\n if (accumulator - cycle[year][month] / 2 > remainder) {\n return Math.max((years + year) * MONTHS_IN_YEAR + month, 0);\n }\n }\n }\n\n return RANGE;\n }\n\n private computeHeight(year: number, month?: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const remainder = year % YEARLY_CYCLE;\n const remainderHeight = reduceCycle(cycle, remainder, month);\n const fullCycles = (year - remainder) / YEARLY_CYCLE;\n const fullCyclesHeight = this.isIos\n ? fullCycles * IOS_CYCLE_HEIGHT\n : fullCycles * ANDROID_CYCLE_HEIGHT;\n\n return fullCyclesHeight + remainderHeight;\n }\n\n private updateRenderedRange(viewport: CdkVirtualScrollViewport) {\n const offset = viewport.measureScrollOffset();\n const {start, end} = viewport.getRenderedRange();\n const viewportSize = viewport.getViewportSize();\n const dataLength = viewport.getDataLength();\n const newRange = {start, end};\n const firstVisibleIndex = this.getIndexForOffset(offset);\n const startBuffer = offset - this.getOffsetForIndex(start);\n\n if (startBuffer < BUFFER && start !== 0) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER * 2));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER),\n );\n } else {\n const endBuffer = this.getOffsetForIndex(end) - offset - viewportSize;\n\n if (endBuffer < BUFFER && end !== dataLength) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER * 2),\n );\n }\n }\n\n viewport.setRenderedRange(newRange);\n viewport.setRenderedContentOffset(this.getOffsetForIndex(newRange.start));\n this.index$.next(firstVisibleIndex);\n }\n}\n","import {VIRTUAL_SCROLL_STRATEGY} from '@angular/cdk/scrolling';\nimport {ChangeDetectorRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TuiDayRange,\n TuiDestroyService,\n TuiScrollService,\n watch,\n} from '@taiga-ui/cdk';\nimport {TUI_CALENDAR_DATA_STREAM} from '@taiga-ui/kit';\nimport {EMPTY, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiMobileCalendarStrategy} from './mobile-calendar.strategy';\n\nexport const TUI_VALUE_STREAM = new InjectionToken<Observable<TuiDayRange | null>>(\n 'Stream for updating value',\n);\nexport const TUI_MOBILE_CALENDAR_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiScrollService,\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n deps: [TUI_IS_IOS, TuiScrollService],\n useClass: TuiMobileCalendarStrategy,\n },\n {\n provide: TUI_VALUE_STREAM,\n deps: [\n [new Optional(), TUI_CALENDAR_DATA_STREAM],\n TuiDestroyService,\n ChangeDetectorRef,\n ],\n useFactory: valueStreamFactory,\n },\n];\n\nexport function valueStreamFactory(\n value$: Observable<TuiDayRange | null> | null,\n destroy$: Observable<void>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<TuiDayRange | null> {\n return (value$ || EMPTY).pipe(takeUntil(destroy$), watch(changeDetectorRef));\n}\n","import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n MONTHS_IN_YEAR,\n TUI_FIRST_DAY,\n TUI_IS_IOS,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiDestroyService,\n TuiMapper,\n TuiMonth,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD, TUI_ORDERED_SHORT_WEEK_DAYS} from '@taiga-ui/core';\nimport {\n TUI_CANCEL_WORD,\n TUI_CHOOSE_DAY_OR_RANGE_TEXTS,\n TUI_DONE_WORD,\n} from '@taiga-ui/kit';\nimport {identity, MonoTypeOperatorFunction, Observable, race, timer} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n flatMap,\n map,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n windowToggle,\n} from 'rxjs/operators';\n\nimport {\n RANGE,\n SCROLL_DEBOUNCE_TIME,\n STARTING_YEAR,\n YEARS_IN_ROW,\n} from './mobile-calendar.const';\nimport {\n TUI_MOBILE_CALENDAR_PROVIDERS,\n TUI_VALUE_STREAM,\n} from './mobile-calendar.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-mobile-calendar',\n templateUrl: './mobile-calendar.template.html',\n styleUrls: ['./mobile-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_MOBILE_CALENDAR_PROVIDERS,\n host: {'[class._ios]': 'isIOS'},\n})\nexport class TuiMobileCalendarComponent {\n @ViewChild('yearsScrollRef')\n private readonly yearsScrollRef?: CdkVirtualScrollViewport;\n\n @ViewChild('monthsScrollRef')\n private readonly monthsScrollRef?: CdkVirtualScrollViewport;\n\n private readonly today = TuiDay.currentLocal();\n private activeYear = this.initialYear;\n private activeMonth = this.initialMonth;\n\n @Input()\n @tuiDefaultProp()\n single = true;\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly cancel = new EventEmitter<void>();\n\n @Output()\n readonly confirm = new EventEmitter<TuiDayRange | TuiDay>();\n\n value: TuiDay | TuiDayRange | null = null;\n\n readonly years = Array.from({length: RANGE}, (_, i) => i + STARTING_YEAR);\n\n readonly months = Array.from(\n {length: RANGE * 12},\n (_, i) =>\n new TuiMonth(\n Math.floor(i / MONTHS_IN_YEAR) + STARTING_YEAR,\n i % MONTHS_IN_YEAR,\n ),\n );\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n @Inject(TUI_VALUE_STREAM) valueChanges: Observable<TuiDayRange | null>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_CANCEL_WORD) readonly cancelWord$: Observable<string>,\n @Inject(TUI_DONE_WORD) readonly doneWord$: Observable<string>,\n @Inject(TUI_ORDERED_SHORT_WEEK_DAYS)\n readonly weekDays$: Observable<\n [string, string, string, string, string, string, string]\n >,\n @Inject(TUI_CHOOSE_DAY_OR_RANGE_TEXTS)\n readonly chooseDayOrRangeTexts$: Observable<[string, string]>,\n ) {\n valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n get yearWidth(): number {\n return this.documentRef.documentElement.clientWidth / YEARS_IN_ROW;\n }\n\n ngAfterViewInit() {\n // Virtual scroll has not yet rendered items even in ngAfterViewInit\n this.waitScrolledChange();\n }\n\n onClose() {\n this.cancel.emit();\n }\n\n onConfirm() {\n if (this.value) {\n this.confirm.emit(this.value);\n } else {\n this.cancel.emit();\n }\n }\n\n onDayClick(day: TuiDay) {\n if (this.single) {\n this.value = day;\n\n return;\n }\n\n if (\n this.value === null ||\n this.value instanceof TuiDay ||\n !this.value.isSingleDay\n ) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.value = TuiDayRange.sort(this.value.from, day);\n }\n\n getState(index: number): 'active' | 'adjacent' | null {\n if (this.isYearActive(index)) {\n return 'active';\n }\n\n if (this.isYearActive(index - 1) || this.isYearActive(index + 1)) {\n return 'adjacent';\n }\n\n return null;\n }\n\n onMonthChange(month: number) {\n // Skipping initial callback where index === 0\n if (!month || this.activeMonth === month) {\n return;\n }\n\n this.activeMonth = month;\n\n const activeYear = this.monthToYear(month);\n\n if (activeYear === this.activeYear) {\n return;\n }\n\n this.activeYear = activeYear;\n this.scrollToActiveYear();\n }\n\n setYear(year: number) {\n if (this.activeYear === year) {\n return;\n }\n\n this.activeMonth += this.getMonthOffset(year);\n this.activeYear = year;\n this.scrollToActiveYear('smooth');\n\n // Delay is required to run months scroll in the next frame to prevent flicker\n setTimeout(() => {\n this.scrollToActiveMonth();\n });\n }\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) ||\n (max !== null && item.dayAfter(max)) ||\n disabledItemHandler(item);\n\n private get initialYear(): number {\n if (!this.value) {\n return this.today.year;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.year;\n }\n\n return this.value.from.year;\n }\n\n private get initialMonth(): number {\n if (!this.value) {\n return this.today.month + (this.today.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.month + (this.value.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n return (\n this.value.from.month +\n (this.value.from.year - STARTING_YEAR) * MONTHS_IN_YEAR\n );\n }\n\n private getYearsViewportSize() {\n return this.yearsScrollRef?.getViewportSize() || 0;\n }\n\n private updateViewportDimension() {\n this.yearsScrollRef?.checkViewportSize();\n this.monthsScrollRef?.checkViewportSize();\n }\n\n private lateInit(): MonoTypeOperatorFunction<number> {\n return this.getYearsViewportSize() > 0 ? identity : delay(200);\n }\n\n private waitScrolledChange() {\n this.updateViewportDimension();\n\n this.monthsScrollRef?.scrolledIndexChange\n .pipe(this.lateInit(), take(1), takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateViewportDimension();\n this.initYearScroll();\n this.initMonthScroll();\n this.scrollToActiveYear();\n this.scrollToActiveMonth();\n });\n }\n\n private initYearScroll() {\n const {yearsScrollRef} = this;\n\n if (!yearsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchstart',\n );\n const touchend$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n const click$ = typedFromEvent(yearsScrollRef.elementRef.nativeElement, 'click');\n\n // Refresh activeYear\n yearsScrollRef\n .elementScrolled()\n .pipe(\n // Ignore smooth scroll resulting from click on the exact year\n windowToggle(touchstart$, () => click$),\n flatMap(x => x),\n // Delay is required to run months scroll in the next frame to prevent flicker\n delay(0),\n map(\n () =>\n Math.round(\n yearsScrollRef.measureScrollOffset() / this.yearWidth,\n ) +\n Math.floor(YEARS_IN_ROW / 2) +\n STARTING_YEAR,\n ),\n filter(activeYear => activeYear !== this.activeYear),\n takeUntil(this.destroy$),\n )\n .subscribe(activeYear => {\n this.activeMonth += this.getMonthOffset(activeYear);\n this.activeYear = activeYear;\n this.scrollToActiveMonth();\n });\n\n // Smooth scroll to activeYear after scrolling is done\n touchstart$\n .pipe(\n switchMap(() => touchend$),\n switchMap(() =>\n race<unknown>(\n yearsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveYear('smooth');\n });\n }\n\n private initMonthScroll() {\n const {monthsScrollRef} = this;\n\n if (!monthsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchstart',\n {passive: true},\n );\n const touchend$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n\n // Smooth scroll to the closest month after scrolling is done\n touchstart$\n .pipe(\n switchMapTo(touchend$),\n switchMapTo(\n race<unknown>(\n monthsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveMonth('smooth');\n });\n }\n\n private scrollToActiveYear(behavior?: ScrollBehavior) {\n this.yearsScrollRef?.scrollToIndex(\n Math.max(this.activeYear - STARTING_YEAR - 2, 0),\n behavior,\n );\n }\n\n private scrollToActiveMonth(behavior?: ScrollBehavior) {\n this.monthsScrollRef?.scrollToIndex(this.activeMonth, behavior);\n }\n\n private isYearActive(index: number): boolean {\n return index === this.activeYear;\n }\n\n private monthToYear(month: number): number {\n return Math.ceil((month + 1) / MONTHS_IN_YEAR) + STARTING_YEAR - 1;\n }\n\n private getMonthOffset(year: number): number {\n return (year - this.activeYear) * MONTHS_IN_YEAR;\n }\n}\n","import {ScrollingModule} from '@angular/cdk/scrolling';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRippleModule} from '@taiga-ui/addon-mobile/directives/ripple';\nimport {TuiTouchableModule} from '@taiga-ui/addon-mobile/directives/touchable';\nimport {TuiPrimitiveCalendarMobileModule} from '@taiga-ui/addon-mobile/internal/primitive-calendar-mobile';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiLinkModule, TuiMonthPipeModule} from '@taiga-ui/core';\n\nimport {TuiMobileCalendarComponent} from './mobile-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ScrollingModule,\n TuiTouchableModule,\n TuiRippleModule,\n TuiMapperPipeModule,\n TuiLinkModule,\n TuiPrimitiveCalendarMobileModule,\n TuiButtonModule,\n TuiMonthPipeModule,\n ],\n declarations: [TuiMobileCalendarComponent],\n exports: [TuiMobileCalendarComponent],\n})\nexport class TuiMobileCalendarModule {}\n"],"names":["MONTHS_IN_YEAR","Subject","distinctUntilChanged","tuiPure","InjectionToken","TuiDestroyService","TuiScrollService","VIRTUAL_SCROLL_STRATEGY","TUI_IS_IOS","Optional","TUI_CALENDAR_DATA_STREAM","ChangeDetectorRef","EMPTY","takeUntil","watch","TuiDay","TUI_FIRST_DAY","TUI_LAST_DAY","ALWAYS_FALSE_HANDLER","EventEmitter","TuiMonth","TuiDayRange","identity","delay","take","typedFromEvent","windowToggle","flatMap","map","filter","switchMap","race","timer","debounceTime","switchMapTo","Inject","DOCUMENT","Observable","TUI_CLOSE_WORD","TUI_CANCEL_WORD","TUI_DONE_WORD","TUI_ORDERED_SHORT_WEEK_DAYS","TUI_CHOOSE_DAY_OR_RANGE_TEXTS","ViewChild","Input","tuiDefaultProp","Output","Component","ChangeDetectionStrategy","NgModule","CommonModule","ScrollingModule","TuiTouchableModule","TuiRippleModule","TuiMapperPipeModule","TuiLinkModule","TuiPrimitiveCalendarMobileModule","TuiButtonModule","TuiMonthPipeModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-mobile-components-mobile-calendar.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.const.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.strategy.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.providers.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.component.ts","ng://@taiga-ui/addon-mobile/components/mobile-calendar/mobile-calendar.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {MONTHS_IN_YEAR} from '@taiga-ui/cdk';\n\nexport const SCROLL_DEBOUNCE_TIME = 80;\nexport const YEARS_IN_ROW = 5;\nexport const STARTING_YEAR = 1900;\nexport const RANGE = 196;\nexport const BUFFER = 500;\nexport const ANDROID_LABEL = 64;\nexport const ANDROID_WEEK = 48;\nexport const IOS_LABEL = 50;\nexport const IOS_WEEK = 50;\nexport const YEARLY_CYCLE = 28;\nexport const ANDROID_CYCLE = getCycle(ANDROID_LABEL, ANDROID_WEEK);\nexport const IOS_CYCLE = getCycle(IOS_LABEL, IOS_WEEK);\n\nfunction getCycle(label: number, week: number): ReadonlyArray<readonly number[]> {\n return Array.from({length: YEARLY_CYCLE}, (_, i) =>\n Array.from(\n {length: MONTHS_IN_YEAR},\n (_, month) => label + weekCount(i, month) * week,\n ),\n );\n}\n\nfunction weekCount(year: number, month: number): number {\n const firstOfMonth = new Date(year + STARTING_YEAR, month, 1);\n const lastOfMonth = new Date(year + STARTING_YEAR, month + 1, 0);\n const days = lastOfMonth.getDate() + (firstOfMonth.getDay() || 7) - 1;\n\n return Math.ceil(days / 7);\n}\n","import {CdkVirtualScrollViewport, VirtualScrollStrategy} from '@angular/cdk/scrolling';\nimport {MONTHS_IN_YEAR, tuiPure, TuiScrollService} from '@taiga-ui/cdk';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {\n ANDROID_CYCLE,\n BUFFER,\n IOS_CYCLE,\n RANGE,\n YEARLY_CYCLE,\n} from './mobile-calendar.const';\n\nconst ANDROID_CYCLE_HEIGHT = reduceCycle(ANDROID_CYCLE);\nconst IOS_CYCLE_HEIGHT = reduceCycle(IOS_CYCLE);\n\nfunction reduceCycle(\n cycle: ReadonlyArray<readonly number[]>,\n lastYear: number = 28,\n lastMonth: number = 12,\n): number {\n return cycle.reduce(\n (total, year, yearIndex) =>\n yearIndex <= lastYear\n ? total +\n year.reduce(\n (sum, month, monthIndex) =>\n yearIndex < lastYear ||\n (yearIndex === lastYear && monthIndex < lastMonth)\n ? sum + month\n : sum,\n 0,\n )\n : total,\n 0,\n );\n}\n\n/**\n * This scroll strategy is hard wired with styles for iOS and Android.\n * It is dependent on month height on those platforms and is designed to\n * work for {@link TuiMobileCalendarComponent} with years 1906 to 2102\n */\nexport class TuiMobileCalendarStrategy implements VirtualScrollStrategy {\n private readonly index$ = new Subject<number>();\n\n private viewport: CdkVirtualScrollViewport | null = null;\n\n constructor(\n private readonly isIos: boolean,\n private readonly scrollService: TuiScrollService,\n ) {}\n\n @tuiPure\n get scrolledIndexChange(): Observable<number> {\n return this.index$.pipe(distinctUntilChanged());\n }\n\n attach(viewport: CdkVirtualScrollViewport): void {\n const cycle = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n\n this.viewport = viewport;\n this.viewport.setTotalContentSize(cycle * 7);\n this.updateRenderedRange(this.viewport);\n }\n\n detach(): void {\n this.index$.complete();\n this.viewport = null;\n }\n\n onContentScrolled(): void {\n if (this.viewport) {\n this.updateRenderedRange(this.viewport);\n }\n }\n\n /** These do not matter for this case */\n onDataLengthChanged(): void {}\n onContentRendered(): void {}\n onRenderedOffsetChanged(): void {}\n\n scrollToIndex(index: number, behavior: ScrollBehavior): void {\n if (!this.viewport) {\n return;\n }\n\n const scrollTop = this.getOffsetForIndex(index);\n\n if (behavior !== 'smooth') {\n this.viewport.scrollToOffset(scrollTop, behavior);\n\n return;\n }\n\n this.scrollService\n .scroll$(this.viewport.elementRef.nativeElement, scrollTop)\n .subscribe();\n }\n\n private getOffsetForIndex(index: number): number {\n const month = index % MONTHS_IN_YEAR;\n const year = (index - month) / MONTHS_IN_YEAR;\n\n return this.computeHeight(year, month);\n }\n\n private getIndexForOffset(offset: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const cycleHeight = this.isIos ? IOS_CYCLE_HEIGHT : ANDROID_CYCLE_HEIGHT;\n const remainder = offset % cycleHeight;\n const years = ((offset - remainder) / cycleHeight) * YEARLY_CYCLE;\n\n let accumulator = 0;\n\n for (let year = 0; year < cycle.length; year++) {\n for (let month = 0; month < cycle[year].length; month++) {\n accumulator += cycle[year][month];\n\n if (accumulator - cycle[year][month] / 2 > remainder) {\n return Math.max((years + year) * MONTHS_IN_YEAR + month, 0);\n }\n }\n }\n\n return RANGE;\n }\n\n private computeHeight(year: number, month?: number): number {\n const cycle = this.isIos ? IOS_CYCLE : ANDROID_CYCLE;\n const remainder = year % YEARLY_CYCLE;\n const remainderHeight = reduceCycle(cycle, remainder, month);\n const fullCycles = (year - remainder) / YEARLY_CYCLE;\n const fullCyclesHeight = this.isIos\n ? fullCycles * IOS_CYCLE_HEIGHT\n : fullCycles * ANDROID_CYCLE_HEIGHT;\n\n return fullCyclesHeight + remainderHeight;\n }\n\n private updateRenderedRange(viewport: CdkVirtualScrollViewport): void {\n const offset = viewport.measureScrollOffset();\n const {start, end} = viewport.getRenderedRange();\n const viewportSize = viewport.getViewportSize();\n const dataLength = viewport.getDataLength();\n const newRange = {start, end};\n const firstVisibleIndex = this.getIndexForOffset(offset);\n const startBuffer = offset - this.getOffsetForIndex(start);\n\n if (startBuffer < BUFFER && start !== 0) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER * 2));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER),\n );\n } else {\n const endBuffer = this.getOffsetForIndex(end) - offset - viewportSize;\n\n if (endBuffer < BUFFER && end !== dataLength) {\n newRange.start = Math.max(0, this.getIndexForOffset(offset - BUFFER));\n newRange.end = Math.min(\n dataLength,\n this.getIndexForOffset(offset + viewportSize + BUFFER * 2),\n );\n }\n }\n\n viewport.setRenderedRange(newRange);\n viewport.setRenderedContentOffset(this.getOffsetForIndex(newRange.start));\n this.index$.next(firstVisibleIndex);\n }\n}\n","import {VIRTUAL_SCROLL_STRATEGY} from '@angular/cdk/scrolling';\nimport {ChangeDetectorRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {\n TUI_IS_IOS,\n TuiDayRange,\n TuiDestroyService,\n TuiScrollService,\n watch,\n} from '@taiga-ui/cdk';\nimport {TUI_CALENDAR_DATA_STREAM} from '@taiga-ui/kit';\nimport {EMPTY, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiMobileCalendarStrategy} from './mobile-calendar.strategy';\n\nexport const TUI_VALUE_STREAM = new InjectionToken<Observable<TuiDayRange | null>>(\n 'Stream for updating value',\n);\nexport const TUI_MOBILE_CALENDAR_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiScrollService,\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n deps: [TUI_IS_IOS, TuiScrollService],\n useClass: TuiMobileCalendarStrategy,\n },\n {\n provide: TUI_VALUE_STREAM,\n deps: [\n [new Optional(), TUI_CALENDAR_DATA_STREAM],\n TuiDestroyService,\n ChangeDetectorRef,\n ],\n useFactory: valueStreamFactory,\n },\n];\n\nexport function valueStreamFactory(\n value$: Observable<TuiDayRange | null> | null,\n destroy$: Observable<void>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<TuiDayRange | null> {\n return (value$ || EMPTY).pipe(watch(changeDetectorRef), takeUntil(destroy$));\n}\n","import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n MONTHS_IN_YEAR,\n TUI_FIRST_DAY,\n TUI_IS_IOS,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiDestroyService,\n TuiMapper,\n TuiMonth,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_CLOSE_WORD, TUI_ORDERED_SHORT_WEEK_DAYS} from '@taiga-ui/core';\nimport {\n TUI_CANCEL_WORD,\n TUI_CHOOSE_DAY_OR_RANGE_TEXTS,\n TUI_DONE_WORD,\n} from '@taiga-ui/kit';\nimport {identity, MonoTypeOperatorFunction, Observable, race, timer} from 'rxjs';\nimport {\n debounceTime,\n delay,\n filter,\n flatMap,\n map,\n switchMap,\n switchMapTo,\n take,\n takeUntil,\n windowToggle,\n} from 'rxjs/operators';\n\nimport {\n RANGE,\n SCROLL_DEBOUNCE_TIME,\n STARTING_YEAR,\n YEARS_IN_ROW,\n} from './mobile-calendar.const';\nimport {\n TUI_MOBILE_CALENDAR_PROVIDERS,\n TUI_VALUE_STREAM,\n} from './mobile-calendar.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-mobile-calendar',\n templateUrl: './mobile-calendar.template.html',\n styleUrls: ['./mobile-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_MOBILE_CALENDAR_PROVIDERS,\n host: {'[class._ios]': 'isIOS'},\n})\nexport class TuiMobileCalendarComponent {\n @ViewChild('yearsScrollRef')\n private readonly yearsScrollRef?: CdkVirtualScrollViewport;\n\n @ViewChild('monthsScrollRef')\n private readonly monthsScrollRef?: CdkVirtualScrollViewport;\n\n private readonly today = TuiDay.currentLocal();\n private activeYear = this.initialYear;\n private activeMonth = this.initialMonth;\n\n @Input()\n @tuiDefaultProp()\n single = true;\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly cancel = new EventEmitter<void>();\n\n @Output()\n readonly confirm = new EventEmitter<TuiDayRange | TuiDay>();\n\n value: TuiDay | TuiDayRange | null = null;\n\n readonly years = Array.from({length: RANGE}, (_, i) => i + STARTING_YEAR);\n\n readonly months = Array.from(\n {length: RANGE * 12},\n (_, i) =>\n new TuiMonth(\n Math.floor(i / MONTHS_IN_YEAR) + STARTING_YEAR,\n i % MONTHS_IN_YEAR,\n ),\n );\n\n constructor(\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n @Inject(TUI_VALUE_STREAM) valueChanges: Observable<TuiDayRange | null>,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_CANCEL_WORD) readonly cancelWord$: Observable<string>,\n @Inject(TUI_DONE_WORD) readonly doneWord$: Observable<string>,\n @Inject(TUI_ORDERED_SHORT_WEEK_DAYS)\n readonly weekDays$: Observable<\n [string, string, string, string, string, string, string]\n >,\n @Inject(TUI_CHOOSE_DAY_OR_RANGE_TEXTS)\n readonly chooseDayOrRangeTexts$: Observable<[string, string]>,\n ) {\n valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n this.value = value;\n });\n }\n\n get yearWidth(): number {\n return this.documentRef.documentElement.clientWidth / YEARS_IN_ROW;\n }\n\n ngAfterViewInit(): void {\n // Virtual scroll has not yet rendered items even in ngAfterViewInit\n this.waitScrolledChange();\n }\n\n onClose(): void {\n this.cancel.emit();\n }\n\n onConfirm(): void {\n if (this.value) {\n this.confirm.emit(this.value);\n } else {\n this.cancel.emit();\n }\n }\n\n onDayClick(day: TuiDay): void {\n if (this.single) {\n this.value = day;\n\n return;\n }\n\n if (\n this.value === null ||\n this.value instanceof TuiDay ||\n !this.value.isSingleDay\n ) {\n this.value = new TuiDayRange(day, day);\n\n return;\n }\n\n this.value = TuiDayRange.sort(this.value.from, day);\n }\n\n getState(index: number): 'active' | 'adjacent' | null {\n if (this.isYearActive(index)) {\n return 'active';\n }\n\n if (this.isYearActive(index - 1) || this.isYearActive(index + 1)) {\n return 'adjacent';\n }\n\n return null;\n }\n\n onMonthChange(month: number): void {\n // Skipping initial callback where index === 0\n if (!month || this.activeMonth === month) {\n return;\n }\n\n this.activeMonth = month;\n\n const activeYear = this.monthToYear(month);\n\n if (activeYear === this.activeYear) {\n return;\n }\n\n this.activeYear = activeYear;\n this.scrollToActiveYear();\n }\n\n setYear(year: number): void {\n if (this.activeYear === year) {\n return;\n }\n\n this.activeMonth += this.getMonthOffset(year);\n this.activeYear = year;\n this.scrollToActiveYear('smooth');\n\n // Delay is required to run months scroll in the next frame to prevent flicker\n setTimeout(() => {\n this.scrollToActiveMonth();\n });\n }\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) ||\n (max !== null && item.dayAfter(max)) ||\n disabledItemHandler(item);\n\n private get initialYear(): number {\n if (!this.value) {\n return this.today.year;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.year;\n }\n\n return this.value.from.year;\n }\n\n private get initialMonth(): number {\n if (!this.value) {\n return this.today.month + (this.today.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n if (this.value instanceof TuiDay) {\n return this.value.month + (this.value.year - STARTING_YEAR) * MONTHS_IN_YEAR;\n }\n\n return (\n this.value.from.month +\n (this.value.from.year - STARTING_YEAR) * MONTHS_IN_YEAR\n );\n }\n\n private getYearsViewportSize(): number {\n return this.yearsScrollRef?.getViewportSize() || 0;\n }\n\n private updateViewportDimension(): void {\n this.yearsScrollRef?.checkViewportSize();\n this.monthsScrollRef?.checkViewportSize();\n }\n\n private lateInit(): MonoTypeOperatorFunction<number> {\n return this.getYearsViewportSize() > 0 ? identity : delay(200);\n }\n\n private waitScrolledChange(): void {\n this.updateViewportDimension();\n\n this.monthsScrollRef?.scrolledIndexChange\n .pipe(this.lateInit(), take(1), takeUntil(this.destroy$))\n .subscribe(() => {\n this.updateViewportDimension();\n this.initYearScroll();\n this.initMonthScroll();\n this.scrollToActiveYear();\n this.scrollToActiveMonth();\n });\n }\n\n private initYearScroll(): void {\n const {yearsScrollRef} = this;\n\n if (!yearsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchstart',\n );\n const touchend$ = typedFromEvent(\n yearsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n const click$ = typedFromEvent(yearsScrollRef.elementRef.nativeElement, 'click');\n\n // Refresh activeYear\n yearsScrollRef\n .elementScrolled()\n .pipe(\n // Ignore smooth scroll resulting from click on the exact year\n windowToggle(touchstart$, () => click$),\n flatMap(x => x),\n // Delay is required to run months scroll in the next frame to prevent flicker\n delay(0),\n map(\n () =>\n Math.round(\n yearsScrollRef.measureScrollOffset() / this.yearWidth,\n ) +\n Math.floor(YEARS_IN_ROW / 2) +\n STARTING_YEAR,\n ),\n filter(activeYear => activeYear !== this.activeYear),\n takeUntil(this.destroy$),\n )\n .subscribe(activeYear => {\n this.activeMonth += this.getMonthOffset(activeYear);\n this.activeYear = activeYear;\n this.scrollToActiveMonth();\n });\n\n // Smooth scroll to activeYear after scrolling is done\n touchstart$\n .pipe(\n switchMap(() => touchend$),\n switchMap(() =>\n race<unknown>(\n yearsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveYear('smooth');\n });\n }\n\n private initMonthScroll(): void {\n const {monthsScrollRef} = this;\n\n if (!monthsScrollRef) {\n return;\n }\n\n const touchstart$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchstart',\n {passive: true},\n );\n const touchend$ = typedFromEvent(\n monthsScrollRef.elementRef.nativeElement,\n 'touchend',\n );\n\n // Smooth scroll to the closest month after scrolling is done\n touchstart$\n .pipe(\n switchMapTo(touchend$),\n switchMapTo(\n race<unknown>(\n monthsScrollRef.elementScrolled(),\n timer(SCROLL_DEBOUNCE_TIME),\n ).pipe(\n debounceTime(SCROLL_DEBOUNCE_TIME * 2),\n take(1),\n takeUntil(touchstart$),\n ),\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.scrollToActiveMonth('smooth');\n });\n }\n\n private scrollToActiveYear(behavior?: ScrollBehavior): void {\n this.yearsScrollRef?.scrollToIndex(\n Math.max(this.activeYear - STARTING_YEAR - 2, 0),\n behavior,\n );\n }\n\n private scrollToActiveMonth(behavior?: ScrollBehavior): void {\n this.monthsScrollRef?.scrollToIndex(this.activeMonth, behavior);\n }\n\n private isYearActive(index: number): boolean {\n return index === this.activeYear;\n }\n\n private monthToYear(month: number): number {\n return Math.ceil((month + 1) / MONTHS_IN_YEAR) + STARTING_YEAR - 1;\n }\n\n private getMonthOffset(year: number): number {\n return (year - this.activeYear) * MONTHS_IN_YEAR;\n }\n}\n","import {ScrollingModule} from '@angular/cdk/scrolling';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRippleModule} from '@taiga-ui/addon-mobile/directives/ripple';\nimport {TuiTouchableModule} from '@taiga-ui/addon-mobile/directives/touchable';\nimport {TuiPrimitiveCalendarMobileModule} from '@taiga-ui/addon-mobile/internal/primitive-calendar-mobile';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiLinkModule, TuiMonthPipeModule} from '@taiga-ui/core';\n\nimport {TuiMobileCalendarComponent} from './mobile-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ScrollingModule,\n TuiTouchableModule,\n TuiRippleModule,\n TuiMapperPipeModule,\n TuiLinkModule,\n TuiPrimitiveCalendarMobileModule,\n TuiButtonModule,\n TuiMonthPipeModule,\n ],\n declarations: [TuiMobileCalendarComponent],\n exports: [TuiMobileCalendarComponent],\n})\nexport class TuiMobileCalendarModule {}\n"],"names":["MONTHS_IN_YEAR","Subject","distinctUntilChanged","tuiPure","InjectionToken","TuiDestroyService","TuiScrollService","VIRTUAL_SCROLL_STRATEGY","TUI_IS_IOS","Optional","TUI_CALENDAR_DATA_STREAM","ChangeDetectorRef","EMPTY","watch","takeUntil","TuiDay","TUI_FIRST_DAY","TUI_LAST_DAY","ALWAYS_FALSE_HANDLER","EventEmitter","TuiMonth","TuiDayRange","identity","delay","take","typedFromEvent","windowToggle","flatMap","map","filter","switchMap","race","timer","debounceTime","switchMapTo","Inject","DOCUMENT","Observable","TUI_CLOSE_WORD","TUI_CANCEL_WORD","TUI_DONE_WORD","TUI_ORDERED_SHORT_WEEK_DAYS","TUI_CHOOSE_DAY_OR_RANGE_TEXTS","ViewChild","Input","tuiDefaultProp","Output","Component","ChangeDetectionStrategy","NgModule","CommonModule","ScrollingModule","TuiTouchableModule","TuiRippleModule","TuiMapperPipeModule","TuiLinkModule","TuiPrimitiveCalendarMobileModule","TuiButtonModule","TuiMonthPipeModule"],"mappings":"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"}
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function d(e,t,i,n){var o,r=arguments.length,a=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(r<3?o(a):r>3?o(t,i,a):o(t,i))||a);return r>3&&a&&Object.defineProperty(t,i,a),a}function p(e,t){return function(i,n){t(i,n,e)}}var m=g(64,48),f=g(50,50);function g(e,t){return Array.from({length:28},(function(i,o){return Array.from({length:n.MONTHS_IN_YEAR},(function(i,n){return e+function(e,t){var i=new Date(e+1900,t,1),n=new Date(e+1900,t+1,0).getDate()+(i.getDay()||7)-1;return Math.ceil(n/7)}(o,n)*t}))}))}var v=b(m),y=b(f);function b(e,t,i){return void 0===t&&(t=28),void 0===i&&(i=12),e.reduce((function(e,n,o){return o<=t?e+n.reduce((function(e,n,r){return o<t||o===t&&r<i?e+n:e}),0):e}),0)}var I=function(){function e(e,t){this.isIos=e,this.scrollService=t,this.index$=new a.Subject,this.viewport=null}return Object.defineProperty(e.prototype,"scrolledIndexChange",{get:function(){return this.index$.pipe(s.distinctUntilChanged())},enumerable:!0,configurable:!0}),e.prototype.attach=function(e){var t=this.isIos?y:v;this.viewport=e,this.viewport.setTotalContentSize(7*t),this.updateRenderedRange(this.viewport)},e.prototype.detach=function(){this.index$.complete(),this.viewport=null},e.prototype.onContentScrolled=function(){this.viewport&&this.updateRenderedRange(this.viewport)},e.prototype.onDataLengthChanged=function(){},e.prototype.onContentRendered=function(){},e.prototype.onRenderedOffsetChanged=function(){},e.prototype.scrollToIndex=function(e,t){if(this.viewport){var i=this.getOffsetForIndex(e);"smooth"===t?this.scrollService.scroll$(this.viewport.elementRef.nativeElement,i).subscribe():this.viewport.scrollToOffset(i,t)}},e.prototype.getOffsetForIndex=function(e){var t=e%n.MONTHS_IN_YEAR,i=(e-t)/n.MONTHS_IN_YEAR;return this.computeHeight(i,t)},e.prototype.getIndexForOffset=function(e){for(var t=this.isIos?f:m,i=this.isIos?y:v,o=e%i,r=(e-o)/i*28,a=0,s=0;s<t.length;s++)for(var l=0;l<t[s].length;l++)if((a+=t[s][l])-t[s][l]/2>o)return Math.max((r+s)*n.MONTHS_IN_YEAR+l,0);return 196},e.prototype.computeHeight=function(e,t){var i=e%28,n=b(this.isIos?f:m,i,t),o=(e-i)/28;return(this.isIos?o*y:o*v)+n},e.prototype.updateRenderedRange=function(e){var t=e.measureScrollOffset(),i=e.getRenderedRange(),n=i.start,o=i.end,r=e.getViewportSize(),a=e.getDataLength(),s={start:n,end:o},l=this.getIndexForOffset(t);t-this.getOffsetForIndex(n)<500&&0!==n?(s.start=Math.max(0,this.getIndexForOffset(t-1e3)),s.end=Math.min(a,this.getIndexForOffset(t+r+500))):this.getOffsetForIndex(o)-t-r<500&&o!==a&&(s.start=Math.max(0,this.getIndexForOffset(t-500)),s.end=Math.min(a,this.getIndexForOffset(t+r+1e3)));e.setRenderedRange(s),e.setRenderedContentOffset(this.getOffsetForIndex(s.start)),this.index$.next(l)},d([n.tuiPure],e.prototype,"scrolledIndexChange",null),e}(),_=new i.InjectionToken("Stream for updating value"),T=[n.TuiDestroyService,n.TuiScrollService,{provide:l.VIRTUAL_SCROLL_STRATEGY,deps:[n.TUI_IS_IOS,n.TuiScrollService],useClass:I},{provide:_,deps:[[new i.Optional,r.TUI_CALENDAR_DATA_STREAM],n.TuiDestroyService,i.ChangeDetectorRef],useFactory:S}];function S(e,t,i){return(e||a.EMPTY).pipe(s.takeUntil(t),n.watch(i))}var R=function(){function e(e,t,o,r,a,l,c,u,h){var d=this;this.isIOS=e,this.documentRef=t,this.destroy$=o,this.closeWord$=a,this.cancelWord$=l,this.doneWord$=c,this.weekDays$=u,this.chooseDayOrRangeTexts$=h,this.today=n.TuiDay.currentLocal(),this.activeYear=this.initialYear,this.activeMonth=this.initialMonth,this.single=!0,this.min=n.TUI_FIRST_DAY,this.max=n.TUI_LAST_DAY,this.disabledItemHandler=n.ALWAYS_FALSE_HANDLER,this.cancel=new i.EventEmitter,this.confirm=new i.EventEmitter,this.value=null,this.years=Array.from({length:196},(function(e,t){return t+1900})),this.months=Array.from({length:2352},(function(e,t){return new n.TuiMonth(Math.floor(t/n.MONTHS_IN_YEAR)+1900,t%n.MONTHS_IN_YEAR)})),this.disabledItemHandlerMapper=function(e,t,i){return function(n){return n.dayBefore(t)||null!==i&&n.dayAfter(i)||e(n)}},r.pipe(s.takeUntil(this.destroy$)).subscribe((function(e){d.value=e}))}return Object.defineProperty(e.prototype,"yearWidth",{get:function(){return this.documentRef.documentElement.clientWidth/5},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.waitScrolledChange()},e.prototype.onClose=function(){this.cancel.emit()},e.prototype.onConfirm=function(){this.value?this.confirm.emit(this.value):this.cancel.emit()},e.prototype.onDayClick=function(e){this.single?this.value=e:null===this.value||this.value instanceof n.TuiDay||!this.value.isSingleDay?this.value=new n.TuiDayRange(e,e):this.value=n.TuiDayRange.sort(this.value.from,e)},e.prototype.getState=function(e){return this.isYearActive(e)?"active":this.isYearActive(e-1)||this.isYearActive(e+1)?"adjacent":null},e.prototype.onMonthChange=function(e){if(e&&this.activeMonth!==e){this.activeMonth=e;var t=this.monthToYear(e);t!==this.activeYear&&(this.activeYear=t,this.scrollToActiveYear())}},e.prototype.setYear=function(e){var t=this;this.activeYear!==e&&(this.activeMonth+=this.getMonthOffset(e),this.activeYear=e,this.scrollToActiveYear("smooth"),setTimeout((function(){t.scrollToActiveMonth()})))},Object.defineProperty(e.prototype,"initialYear",{get:function(){return this.value?this.value instanceof n.TuiDay?this.value.year:this.value.from.year:this.today.year},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"initialMonth",{get:function(){return this.value?this.value instanceof n.TuiDay?this.value.month+(this.value.year-1900)*n.MONTHS_IN_YEAR:this.value.from.month+(this.value.from.year-1900)*n.MONTHS_IN_YEAR:this.today.month+(this.today.year-1900)*n.MONTHS_IN_YEAR},enumerable:!0,configurable:!0}),e.prototype.getYearsViewportSize=function(){var e;return(null===(e=this.yearsScrollRef)||void 0===e?void 0:e.getViewportSize())||0},e.prototype.updateViewportDimension=function(){var e,t;null===(e=this.yearsScrollRef)||void 0===e||e.checkViewportSize(),null===(t=this.monthsScrollRef)||void 0===t||t.checkViewportSize()},e.prototype.lateInit=function(){return this.getYearsViewportSize()>0?a.identity:s.delay(200)},e.prototype.waitScrolledChange=function(){var e,t=this;this.updateViewportDimension(),null===(e=this.monthsScrollRef)||void 0===e||e.scrolledIndexChange.pipe(this.lateInit(),s.take(1),s.takeUntil(this.destroy$)).subscribe((function(){t.updateViewportDimension(),t.initYearScroll(),t.initMonthScroll(),t.scrollToActiveYear(),t.scrollToActiveMonth()}))},e.prototype.initYearScroll=function(){var e=this,t=this.yearsScrollRef;if(t){var i=n.typedFromEvent(t.elementRef.nativeElement,"touchstart"),o=n.typedFromEvent(t.elementRef.nativeElement,"touchend"),r=n.typedFromEvent(t.elementRef.nativeElement,"click");t.elementScrolled().pipe(s.windowToggle(i,(function(){return r})),s.flatMap((function(e){return e})),s.delay(0),s.map((function(){return Math.round(t.measureScrollOffset()/e.yearWidth)+Math.floor(2.5)+1900})),s.filter((function(t){return t!==e.activeYear})),s.takeUntil(this.destroy$)).subscribe((function(t){e.activeMonth+=e.getMonthOffset(t),e.activeYear=t,e.scrollToActiveMonth()})),i.pipe(s.switchMap((function(){return o})),s.switchMap((function(){return a.race(t.elementScrolled(),a.timer(80)).pipe(s.debounceTime(160),s.take(1),s.takeUntil(i))})),s.takeUntil(this.destroy$)).subscribe((function(){e.scrollToActiveYear("smooth")}))}},e.prototype.initMonthScroll=function(){var e=this,t=this.monthsScrollRef;if(t){var i=n.typedFromEvent(t.elementRef.nativeElement,"touchstart",{passive:!0}),o=n.typedFromEvent(t.elementRef.nativeElement,"touchend");i.pipe(s.switchMapTo(o),s.switchMapTo(a.race(t.elementScrolled(),a.timer(80)).pipe(s.debounceTime(160),s.take(1),s.takeUntil(i))),s.takeUntil(this.destroy$)).subscribe((function(){e.scrollToActiveMonth("smooth")}))}},e.prototype.scrollToActiveYear=function(e){var t;null===(t=this.yearsScrollRef)||void 0===t||t.scrollToIndex(Math.max(this.activeYear-1900-2,0),e)},e.prototype.scrollToActiveMonth=function(e){var t;null===(t=this.monthsScrollRef)||void 0===t||t.scrollToIndex(this.activeMonth,e)},e.prototype.isYearActive=function(e){return e===this.activeYear},e.prototype.monthToYear=function(e){return Math.ceil((e+1)/n.MONTHS_IN_YEAR)+1900-1},e.prototype.getMonthOffset=function(e){return(e-this.activeYear)*n.MONTHS_IN_YEAR},e.ctorParameters=function(){return[{type:Boolean,decorators:[{type:i.Inject,args:[n.TUI_IS_IOS]}]},{type:Document,decorators:[{type:i.Inject,args:[t.DOCUMENT]}]},{type:n.TuiDestroyService,decorators:[{type:i.Inject,args:[n.TuiDestroyService]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[_]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[o.TUI_CLOSE_WORD]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[r.TUI_CANCEL_WORD]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[r.TUI_DONE_WORD]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[o.TUI_ORDERED_SHORT_WEEK_DAYS]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[r.TUI_CHOOSE_DAY_OR_RANGE_TEXTS]}]}]},d([i.ViewChild("yearsScrollRef")],e.prototype,"yearsScrollRef",void 0),d([i.ViewChild("monthsScrollRef")],e.prototype,"monthsScrollRef",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"single",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"min",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"max",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"disabledItemHandler",void 0),d([i.Output()],e.prototype,"cancel",void 0),d([i.Output()],e.prototype,"confirm",void 0),e=d([i.Component({selector:"tui-mobile-calendar",template:'<header class="t-header">\n <button\n tuiIconButton\n type="button"\n automation-id="tui-mobile-calendar__cancel"\n icon="tuiIconRemoveLarge"\n shape="rounded"\n appearance=""\n tuiRipple\n class="t-close"\n [title]="closeWord$ | async"\n (click)="onClose()"\n ></button>\n <button\n tuiLink\n tuiTouchable="opacity"\n type="button"\n class="t-link t-link_close"\n (click)="onClose()"\n >\n {{ cancelWord$ | async }}\n </button>\n <h2\n *ngIf="chooseDayOrRangeTexts$ | async as texts"\n automation-id="tui-mobile-calendar__label"\n class="t-label"\n >\n {{ single ? texts[0] : texts[1] }}\n </h2>\n <button\n tuiLink\n tuiTouchable="opacity"\n type="button"\n automation-id="tui-mobile-calendar__confirm"\n class="t-link"\n (click)="onConfirm()"\n >\n {{ doneWord$ | async }}\n </button>\n</header>\n<cdk-virtual-scroll-viewport\n #yearsScrollRef\n orientation="horizontal"\n class="t-years"\n [itemSize]="yearWidth"\n>\n <div class="t-years-wrapper">\n <button\n *cdkVirtualFor="let index of years"\n class="t-year"\n [attr.data-state]="getState(index)"\n (click)="setYear(index)"\n >\n {{ index }}\n </button>\n </div>\n</cdk-virtual-scroll-viewport>\n<div class="t-week">\n <div\n *ngFor="let day of weekDays$ | async"\n class="t-day"\n >\n {{ day }}\n </div>\n</div>\n<cdk-virtual-scroll-viewport\n #monthsScrollRef\n class="t-months"\n (scrolledIndexChange)="onMonthChange($event)"\n>\n <section\n *cdkVirtualFor="let month of months; templateCacheSize: 10"\n class="t-month-wrapper"\n >\n <h2 class="t-month">{{ month | tuiMonth | async }}</h2>\n <tui-primitive-calendar-mobile\n class="t-calendar"\n [month]="month"\n [value]="value"\n [disabledItemHandler]="disabledItemHandler | tuiMapper: disabledItemHandlerMapper:min:max"\n (dayClick)="onDayClick($event)"\n ></tui-primitive-calendar-mobile>\n </section>\n</cdk-virtual-scroll-viewport>\n',changeDetection:i.ChangeDetectionStrategy.OnPush,providers:T,host:{"[class._ios]":"isIOS"},styles:[":host{display:block;height:100%;font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif;color:var(--tui-text-01);-webkit-tap-highlight-color:transparent}.t-header{position:relative;display:flex;align-items:center;height:3.5rem;padding:0 1rem;border-bottom:.5px solid var(--tui-base-03)}:host._ios .t-header{height:2.75rem;border-bottom:none}.t-close{width:1.5rem;height:1.5rem;margin-right:2rem}:host._ios .t-close{display:none}.t-link{margin-left:auto;flex-shrink:0;font-size:.875rem;line-height:1rem;font-weight:500;text-transform:uppercase;color:var(--tui-link)}.t-link_close{display:none}:host._ios .t-link{min-width:3.75rem;text-align:right;font-size:.9375rem;line-height:1.125rem;font-weight:400;letter-spacing:.018125rem;text-transform:none}:host._ios .t-link_close{display:block;margin:0 auto 0 0;text-align:left}.t-label{position:relative;overflow:hidden;flex-grow:1;margin:0;font-size:1.25rem;line-height:3.5rem;font-weight:500;letter-spacing:-.0125rem;white-space:nowrap}.t-label:after{content:'';position:absolute;top:0;right:0;width:1.875rem;height:100%;background-image:linear-gradient(to right,transparent 0,var(--tui-base-01) 80%,var(--tui-base-01) 100%);pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,0) 0,var(--tui-base-01) 80%,var(--tui-base-01) 100%)}:host._ios .t-label{font-size:1.0625rem;font-weight:600;letter-spacing:-.025625rem;text-align:center}:host-context([data-mode=onDark]) .t-label:after{background-image:linear-gradient(to right,rgba(34,34,34,0) 0,var(--tui-base-01) 80%,var(--tui-base-01) 100%)}.t-years{scrollbar-width:none;-ms-overflow-style:none;height:4.0625rem;background-color:var(--tui-base-01);box-shadow:0 .5px var(--tui-base-03)}.t-years::-webkit-scrollbar,.t-years::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._ios .t-years{background-color:transparent}.t-years-wrapper{display:flex;height:4.0625rem}.t-year{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;line-height:inherit;outline:0;width:20vw;flex-shrink:0;font-size:.9375rem;font-weight:700;letter-spacing:.015625rem;cursor:pointer;opacity:.1;transform:scale(.73);transition:color,opacity,transform .2s}.t-year[data-state=adjacent]{transform:scale(.86);opacity:.3}.t-year[data-state=active]{color:var(--tui-link);opacity:1;transform:scale(1)}.t-week{display:flex;align-items:center;height:1.875rem;width:20.75rem;max-width:100%;margin:0 auto;font-size:.75rem}:host._ios .t-week{width:22.625rem;font-size:.6875rem;font-weight:500;color:var(--tui-text-02)}.t-day{flex:1;text-align:center}.t-months{scrollbar-width:none;-ms-overflow-style:none;height:calc(100% - 9.5rem);box-shadow:0 -1px var(--tui-base-03);overflow-x:hidden}.t-months::-webkit-scrollbar,.t-months::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._ios .t-months{height:calc(100% - 8.75rem)}.t-month-wrapper{margin:.625rem 0 -.625rem}.t-month{height:2.75rem;line-height:2.75rem;padding-left:1rem;font-size:.875rem;font-weight:500;text-transform:uppercase;margin:0 0 1.25rem;box-sizing:border-box;border-bottom:.5px solid var(--tui-base-03)}:host._ios .t-month{height:3.125rem;margin:0;border-bottom:none;text-transform:none;font-size:1.375rem;line-height:3.125rem;letter-spacing:.02rem;font-weight:700}.t-calendar{margin:0 auto;font-family:inherit;font-size:1.125rem;transition:opacity .2s}:host._ios .t-calendar{font-size:1.0625rem}"]}),p(0,i.Inject(n.TUI_IS_IOS)),p(1,i.Inject(t.DOCUMENT)),p(2,i.Inject(n.TuiDestroyService)),p(3,i.Inject(_)),p(4,i.Inject(o.TUI_CLOSE_WORD)),p(5,i.Inject(r.TUI_CANCEL_WORD)),p(6,i.Inject(r.TUI_DONE_WORD)),p(7,i.Inject(o.TUI_ORDERED_SHORT_WEEK_DAYS)),p(8,i.Inject(r.TUI_CHOOSE_DAY_OR_RANGE_TEXTS))],e)}(),w=function(){function e(){}return e=d([i.NgModule({imports:[t.CommonModule,l.ScrollingModule,u.TuiTouchableModule,c.TuiRippleModule,n.TuiMapperPipeModule,o.TuiLinkModule,h.TuiPrimitiveCalendarMobileModule,o.TuiButtonModule,o.TuiMonthPipeModule],declarations:[R],exports:[R]})],e)}();e.ANDROID_CYCLE=m,e.ANDROID_LABEL=64,e.ANDROID_WEEK=48,e.BUFFER=500,e.IOS_CYCLE=f,e.IOS_LABEL=50,e.IOS_WEEK=50,e.RANGE=196,e.SCROLL_DEBOUNCE_TIME=80,e.STARTING_YEAR=1900,e.TUI_MOBILE_CALENDAR_PROVIDERS=T,e.TUI_VALUE_STREAM=_,e.TuiMobileCalendarComponent=R,e.TuiMobileCalendarModule=w,e.TuiMobileCalendarStrategy=I,e.YEARLY_CYCLE=28,e.YEARS_IN_ROW=5,e.valueStreamFactory=S,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function d(e,t,i,n){var o,r=arguments.length,a=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(r<3?o(a):r>3?o(t,i,a):o(t,i))||a);return r>3&&a&&Object.defineProperty(t,i,a),a}function p(e,t){return function(i,n){t(i,n,e)}}var m=g(64,48),f=g(50,50);function g(e,t){return Array.from({length:28},(function(i,o){return Array.from({length:n.MONTHS_IN_YEAR},(function(i,n){return e+function(e,t){var i=new Date(e+1900,t,1),n=new Date(e+1900,t+1,0).getDate()+(i.getDay()||7)-1;return Math.ceil(n/7)}(o,n)*t}))}))}var v=b(m),y=b(f);function b(e,t,i){return void 0===t&&(t=28),void 0===i&&(i=12),e.reduce((function(e,n,o){return o<=t?e+n.reduce((function(e,n,r){return o<t||o===t&&r<i?e+n:e}),0):e}),0)}var I=function(){function e(e,t){this.isIos=e,this.scrollService=t,this.index$=new a.Subject,this.viewport=null}return Object.defineProperty(e.prototype,"scrolledIndexChange",{get:function(){return this.index$.pipe(s.distinctUntilChanged())},enumerable:!0,configurable:!0}),e.prototype.attach=function(e){var t=this.isIos?y:v;this.viewport=e,this.viewport.setTotalContentSize(7*t),this.updateRenderedRange(this.viewport)},e.prototype.detach=function(){this.index$.complete(),this.viewport=null},e.prototype.onContentScrolled=function(){this.viewport&&this.updateRenderedRange(this.viewport)},e.prototype.onDataLengthChanged=function(){},e.prototype.onContentRendered=function(){},e.prototype.onRenderedOffsetChanged=function(){},e.prototype.scrollToIndex=function(e,t){if(this.viewport){var i=this.getOffsetForIndex(e);"smooth"===t?this.scrollService.scroll$(this.viewport.elementRef.nativeElement,i).subscribe():this.viewport.scrollToOffset(i,t)}},e.prototype.getOffsetForIndex=function(e){var t=e%n.MONTHS_IN_YEAR,i=(e-t)/n.MONTHS_IN_YEAR;return this.computeHeight(i,t)},e.prototype.getIndexForOffset=function(e){for(var t=this.isIos?f:m,i=this.isIos?y:v,o=e%i,r=(e-o)/i*28,a=0,s=0;s<t.length;s++)for(var l=0;l<t[s].length;l++)if((a+=t[s][l])-t[s][l]/2>o)return Math.max((r+s)*n.MONTHS_IN_YEAR+l,0);return 196},e.prototype.computeHeight=function(e,t){var i=e%28,n=b(this.isIos?f:m,i,t),o=(e-i)/28;return(this.isIos?o*y:o*v)+n},e.prototype.updateRenderedRange=function(e){var t=e.measureScrollOffset(),i=e.getRenderedRange(),n=i.start,o=i.end,r=e.getViewportSize(),a=e.getDataLength(),s={start:n,end:o},l=this.getIndexForOffset(t);t-this.getOffsetForIndex(n)<500&&0!==n?(s.start=Math.max(0,this.getIndexForOffset(t-1e3)),s.end=Math.min(a,this.getIndexForOffset(t+r+500))):this.getOffsetForIndex(o)-t-r<500&&o!==a&&(s.start=Math.max(0,this.getIndexForOffset(t-500)),s.end=Math.min(a,this.getIndexForOffset(t+r+1e3)));e.setRenderedRange(s),e.setRenderedContentOffset(this.getOffsetForIndex(s.start)),this.index$.next(l)},d([n.tuiPure],e.prototype,"scrolledIndexChange",null),e}(),_=new i.InjectionToken("Stream for updating value"),T=[n.TuiDestroyService,n.TuiScrollService,{provide:l.VIRTUAL_SCROLL_STRATEGY,deps:[n.TUI_IS_IOS,n.TuiScrollService],useClass:I},{provide:_,deps:[[new i.Optional,r.TUI_CALENDAR_DATA_STREAM],n.TuiDestroyService,i.ChangeDetectorRef],useFactory:S}];function S(e,t,i){return(e||a.EMPTY).pipe(n.watch(i),s.takeUntil(t))}var R=function(){function e(e,t,o,r,a,l,c,u,h){var d=this;this.isIOS=e,this.documentRef=t,this.destroy$=o,this.closeWord$=a,this.cancelWord$=l,this.doneWord$=c,this.weekDays$=u,this.chooseDayOrRangeTexts$=h,this.today=n.TuiDay.currentLocal(),this.activeYear=this.initialYear,this.activeMonth=this.initialMonth,this.single=!0,this.min=n.TUI_FIRST_DAY,this.max=n.TUI_LAST_DAY,this.disabledItemHandler=n.ALWAYS_FALSE_HANDLER,this.cancel=new i.EventEmitter,this.confirm=new i.EventEmitter,this.value=null,this.years=Array.from({length:196},(function(e,t){return t+1900})),this.months=Array.from({length:2352},(function(e,t){return new n.TuiMonth(Math.floor(t/n.MONTHS_IN_YEAR)+1900,t%n.MONTHS_IN_YEAR)})),this.disabledItemHandlerMapper=function(e,t,i){return function(n){return n.dayBefore(t)||null!==i&&n.dayAfter(i)||e(n)}},r.pipe(s.takeUntil(this.destroy$)).subscribe((function(e){d.value=e}))}return Object.defineProperty(e.prototype,"yearWidth",{get:function(){return this.documentRef.documentElement.clientWidth/5},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.waitScrolledChange()},e.prototype.onClose=function(){this.cancel.emit()},e.prototype.onConfirm=function(){this.value?this.confirm.emit(this.value):this.cancel.emit()},e.prototype.onDayClick=function(e){this.single?this.value=e:null===this.value||this.value instanceof n.TuiDay||!this.value.isSingleDay?this.value=new n.TuiDayRange(e,e):this.value=n.TuiDayRange.sort(this.value.from,e)},e.prototype.getState=function(e){return this.isYearActive(e)?"active":this.isYearActive(e-1)||this.isYearActive(e+1)?"adjacent":null},e.prototype.onMonthChange=function(e){if(e&&this.activeMonth!==e){this.activeMonth=e;var t=this.monthToYear(e);t!==this.activeYear&&(this.activeYear=t,this.scrollToActiveYear())}},e.prototype.setYear=function(e){var t=this;this.activeYear!==e&&(this.activeMonth+=this.getMonthOffset(e),this.activeYear=e,this.scrollToActiveYear("smooth"),setTimeout((function(){t.scrollToActiveMonth()})))},Object.defineProperty(e.prototype,"initialYear",{get:function(){return this.value?this.value instanceof n.TuiDay?this.value.year:this.value.from.year:this.today.year},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"initialMonth",{get:function(){return this.value?this.value instanceof n.TuiDay?this.value.month+(this.value.year-1900)*n.MONTHS_IN_YEAR:this.value.from.month+(this.value.from.year-1900)*n.MONTHS_IN_YEAR:this.today.month+(this.today.year-1900)*n.MONTHS_IN_YEAR},enumerable:!0,configurable:!0}),e.prototype.getYearsViewportSize=function(){var e;return(null===(e=this.yearsScrollRef)||void 0===e?void 0:e.getViewportSize())||0},e.prototype.updateViewportDimension=function(){var e,t;null===(e=this.yearsScrollRef)||void 0===e||e.checkViewportSize(),null===(t=this.monthsScrollRef)||void 0===t||t.checkViewportSize()},e.prototype.lateInit=function(){return this.getYearsViewportSize()>0?a.identity:s.delay(200)},e.prototype.waitScrolledChange=function(){var e,t=this;this.updateViewportDimension(),null===(e=this.monthsScrollRef)||void 0===e||e.scrolledIndexChange.pipe(this.lateInit(),s.take(1),s.takeUntil(this.destroy$)).subscribe((function(){t.updateViewportDimension(),t.initYearScroll(),t.initMonthScroll(),t.scrollToActiveYear(),t.scrollToActiveMonth()}))},e.prototype.initYearScroll=function(){var e=this,t=this.yearsScrollRef;if(t){var i=n.typedFromEvent(t.elementRef.nativeElement,"touchstart"),o=n.typedFromEvent(t.elementRef.nativeElement,"touchend"),r=n.typedFromEvent(t.elementRef.nativeElement,"click");t.elementScrolled().pipe(s.windowToggle(i,(function(){return r})),s.flatMap((function(e){return e})),s.delay(0),s.map((function(){return Math.round(t.measureScrollOffset()/e.yearWidth)+Math.floor(2.5)+1900})),s.filter((function(t){return t!==e.activeYear})),s.takeUntil(this.destroy$)).subscribe((function(t){e.activeMonth+=e.getMonthOffset(t),e.activeYear=t,e.scrollToActiveMonth()})),i.pipe(s.switchMap((function(){return o})),s.switchMap((function(){return a.race(t.elementScrolled(),a.timer(80)).pipe(s.debounceTime(160),s.take(1),s.takeUntil(i))})),s.takeUntil(this.destroy$)).subscribe((function(){e.scrollToActiveYear("smooth")}))}},e.prototype.initMonthScroll=function(){var e=this,t=this.monthsScrollRef;if(t){var i=n.typedFromEvent(t.elementRef.nativeElement,"touchstart",{passive:!0}),o=n.typedFromEvent(t.elementRef.nativeElement,"touchend");i.pipe(s.switchMapTo(o),s.switchMapTo(a.race(t.elementScrolled(),a.timer(80)).pipe(s.debounceTime(160),s.take(1),s.takeUntil(i))),s.takeUntil(this.destroy$)).subscribe((function(){e.scrollToActiveMonth("smooth")}))}},e.prototype.scrollToActiveYear=function(e){var t;null===(t=this.yearsScrollRef)||void 0===t||t.scrollToIndex(Math.max(this.activeYear-1900-2,0),e)},e.prototype.scrollToActiveMonth=function(e){var t;null===(t=this.monthsScrollRef)||void 0===t||t.scrollToIndex(this.activeMonth,e)},e.prototype.isYearActive=function(e){return e===this.activeYear},e.prototype.monthToYear=function(e){return Math.ceil((e+1)/n.MONTHS_IN_YEAR)+1900-1},e.prototype.getMonthOffset=function(e){return(e-this.activeYear)*n.MONTHS_IN_YEAR},e.ctorParameters=function(){return[{type:Boolean,decorators:[{type:i.Inject,args:[n.TUI_IS_IOS]}]},{type:Document,decorators:[{type:i.Inject,args:[t.DOCUMENT]}]},{type:n.TuiDestroyService,decorators:[{type:i.Inject,args:[n.TuiDestroyService]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[_]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[o.TUI_CLOSE_WORD]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[r.TUI_CANCEL_WORD]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[r.TUI_DONE_WORD]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[o.TUI_ORDERED_SHORT_WEEK_DAYS]}]},{type:a.Observable,decorators:[{type:i.Inject,args:[r.TUI_CHOOSE_DAY_OR_RANGE_TEXTS]}]}]},d([i.ViewChild("yearsScrollRef")],e.prototype,"yearsScrollRef",void 0),d([i.ViewChild("monthsScrollRef")],e.prototype,"monthsScrollRef",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"single",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"min",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"max",void 0),d([i.Input(),n.tuiDefaultProp()],e.prototype,"disabledItemHandler",void 0),d([i.Output()],e.prototype,"cancel",void 0),d([i.Output()],e.prototype,"confirm",void 0),e=d([i.Component({selector:"tui-mobile-calendar",template:'<header class="t-header">\n <button\n tuiIconButton\n type="button"\n automation-id="tui-mobile-calendar__cancel"\n icon="tuiIconRemoveLarge"\n shape="rounded"\n appearance=""\n tuiRipple\n class="t-close"\n [title]="closeWord$ | async"\n (click)="onClose()"\n ></button>\n <button\n tuiLink\n tuiTouchable="opacity"\n type="button"\n class="t-link t-link_close"\n (click)="onClose()"\n >\n {{ cancelWord$ | async }}\n </button>\n <h2\n *ngIf="chooseDayOrRangeTexts$ | async as texts"\n automation-id="tui-mobile-calendar__label"\n class="t-label"\n >\n {{ single ? texts[0] : texts[1] }}\n </h2>\n <button\n tuiLink\n tuiTouchable="opacity"\n type="button"\n automation-id="tui-mobile-calendar__confirm"\n class="t-link"\n (click)="onConfirm()"\n >\n {{ doneWord$ | async }}\n </button>\n</header>\n<cdk-virtual-scroll-viewport\n #yearsScrollRef\n orientation="horizontal"\n class="t-years"\n [itemSize]="yearWidth"\n>\n <div class="t-years-wrapper">\n <button\n *cdkVirtualFor="let index of years"\n class="t-year"\n [attr.data-state]="getState(index)"\n (click)="setYear(index)"\n >\n {{ index }}\n </button>\n </div>\n</cdk-virtual-scroll-viewport>\n<div class="t-week">\n <div\n *ngFor="let day of weekDays$ | async"\n class="t-day"\n >\n {{ day }}\n </div>\n</div>\n<cdk-virtual-scroll-viewport\n #monthsScrollRef\n class="t-months"\n (scrolledIndexChange)="onMonthChange($event)"\n>\n <section\n *cdkVirtualFor="let month of months; templateCacheSize: 10"\n class="t-month-wrapper"\n >\n <h2 class="t-month">{{ month | tuiMonth | async }}</h2>\n <tui-primitive-calendar-mobile\n class="t-calendar"\n [month]="month"\n [value]="value"\n [disabledItemHandler]="disabledItemHandler | tuiMapper: disabledItemHandlerMapper:min:max"\n (dayClick)="onDayClick($event)"\n ></tui-primitive-calendar-mobile>\n </section>\n</cdk-virtual-scroll-viewport>\n',changeDetection:i.ChangeDetectionStrategy.OnPush,providers:T,host:{"[class._ios]":"isIOS"},styles:[":host{display:block;height:100%;font-family:-apple-system,BlinkMacSystemFont,Roboto,sans-serif;color:var(--tui-text-01);-webkit-tap-highlight-color:transparent}.t-header{position:relative;display:flex;align-items:center;height:3.5rem;padding:0 1rem;border-bottom:.5px solid var(--tui-base-03)}:host._ios .t-header{height:2.75rem;border-bottom:none}.t-close{width:1.5rem;height:1.5rem;margin-right:2rem}:host._ios .t-close{display:none}.t-link{margin-left:auto;flex-shrink:0;font-size:.875rem;line-height:1rem;font-weight:500;text-transform:uppercase;color:var(--tui-link)}.t-link_close{display:none}:host._ios .t-link{min-width:3.75rem;text-align:right;font-size:.9375rem;line-height:1.125rem;font-weight:400;letter-spacing:.018125rem;text-transform:none}:host._ios .t-link_close{display:block;margin:0 auto 0 0;text-align:left}.t-label{position:relative;overflow:hidden;flex-grow:1;margin:0;font-size:1.25rem;line-height:3.5rem;font-weight:500;letter-spacing:-.0125rem;white-space:nowrap}.t-label:after{content:'';position:absolute;top:0;right:0;width:1.875rem;height:100%;background-image:linear-gradient(to right,transparent 0,var(--tui-base-01) 80%,var(--tui-base-01) 100%);pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,0) 0,var(--tui-base-01) 80%,var(--tui-base-01) 100%)}:host._ios .t-label{font-size:1.0625rem;font-weight:600;letter-spacing:-.025625rem;text-align:center}:host-context([data-mode=onDark]) .t-label:after{background-image:linear-gradient(to right,rgba(34,34,34,0) 0,var(--tui-base-01) 80%,var(--tui-base-01) 100%)}.t-years{scrollbar-width:none;-ms-overflow-style:none;height:4.0625rem;background-color:var(--tui-base-01);box-shadow:0 .5px var(--tui-base-03)}.t-years::-webkit-scrollbar,.t-years::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._ios .t-years{background-color:transparent}.t-years-wrapper{display:flex;height:4.0625rem}.t-year{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;line-height:inherit;outline:0;width:20vw;flex-shrink:0;font-size:.9375rem;font-weight:700;letter-spacing:.015625rem;cursor:pointer;opacity:.1;transform:scale(.73);transition:color,opacity,transform .2s}.t-year[data-state=adjacent]{transform:scale(.86);opacity:.3}.t-year[data-state=active]{color:var(--tui-link);opacity:1;transform:scale(1)}.t-week{display:flex;align-items:center;height:1.875rem;width:20.75rem;max-width:100%;margin:0 auto;font-size:.75rem}:host._ios .t-week{width:22.625rem;font-size:.6875rem;font-weight:500;color:var(--tui-text-02)}.t-day{flex:1;text-align:center}.t-months{scrollbar-width:none;-ms-overflow-style:none;height:calc(100% - 9.5rem);box-shadow:0 -1px var(--tui-base-03);overflow-x:hidden}.t-months::-webkit-scrollbar,.t-months::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._ios .t-months{height:calc(100% - 8.75rem)}.t-month-wrapper{margin:.625rem 0 -.625rem}.t-month{height:2.75rem;line-height:2.75rem;padding-left:1rem;font-size:.875rem;font-weight:500;text-transform:uppercase;margin:0 0 1.25rem;box-sizing:border-box;border-bottom:.5px solid var(--tui-base-03)}:host._ios .t-month{height:3.125rem;margin:0;border-bottom:none;text-transform:none;font-size:1.375rem;line-height:3.125rem;letter-spacing:.02rem;font-weight:700}.t-calendar{margin:0 auto;font-family:inherit;font-size:1.125rem;transition:opacity .2s}:host._ios .t-calendar{font-size:1.0625rem}"]}),p(0,i.Inject(n.TUI_IS_IOS)),p(1,i.Inject(t.DOCUMENT)),p(2,i.Inject(n.TuiDestroyService)),p(3,i.Inject(_)),p(4,i.Inject(o.TUI_CLOSE_WORD)),p(5,i.Inject(r.TUI_CANCEL_WORD)),p(6,i.Inject(r.TUI_DONE_WORD)),p(7,i.Inject(o.TUI_ORDERED_SHORT_WEEK_DAYS)),p(8,i.Inject(r.TUI_CHOOSE_DAY_OR_RANGE_TEXTS))],e)}(),w=function(){function e(){}return e=d([i.NgModule({imports:[t.CommonModule,l.ScrollingModule,u.TuiTouchableModule,c.TuiRippleModule,n.TuiMapperPipeModule,o.TuiLinkModule,h.TuiPrimitiveCalendarMobileModule,o.TuiButtonModule,o.TuiMonthPipeModule],declarations:[R],exports:[R]})],e)}();e.ANDROID_CYCLE=m,e.ANDROID_LABEL=64,e.ANDROID_WEEK=48,e.BUFFER=500,e.IOS_CYCLE=f,e.IOS_LABEL=50,e.IOS_WEEK=50,e.RANGE=196,e.SCROLL_DEBOUNCE_TIME=80,e.STARTING_YEAR=1900,e.TUI_MOBILE_CALENDAR_PROVIDERS=T,e.TUI_VALUE_STREAM=_,e.TuiMobileCalendarComponent=R,e.TuiMobileCalendarModule=w,e.TuiMobileCalendarStrategy=I,e.YEARLY_CYCLE=28,e.YEARS_IN_ROW=5,e.valueStreamFactory=S,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=taiga-ui-addon-mobile-components-mobile-calendar.umd.min.js.map