@taiga-ui/kit 2.18.0 → 2.19.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 (44) hide show
  1. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  2. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +5 -1
  6. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +3 -0
  10. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-file.umd.js +4 -1
  14. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  17. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  18. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  19. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  20. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  21. package/esm2015/components/data-list-wrapper/data-list-wrapper.module.js +7 -3
  22. package/esm2015/components/input-date-range/input-date-range.component.js +4 -1
  23. package/esm2015/components/input-file/input-file.component.js +5 -2
  24. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  25. package/esm5/components/data-list-wrapper/data-list-wrapper.module.js +7 -3
  26. package/esm5/components/input-date-range/input-date-range.component.js +4 -1
  27. package/esm5/components/input-file/input-file.component.js +5 -2
  28. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  29. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  30. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +6 -2
  31. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  32. package/fesm2015/taiga-ui-kit-components-input-date-range.js +3 -0
  33. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  34. package/fesm2015/taiga-ui-kit-components-input-file.js +4 -1
  35. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  36. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  37. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  38. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +6 -2
  39. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  40. package/fesm5/taiga-ui-kit-components-input-date-range.js +3 -0
  41. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  42. package/fesm5/taiga-ui-kit-components-input-file.js +4 -1
  43. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  44. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-file/input-file.component.ts","ng://@taiga-ui/kit/components/input-file/file/file.component.ts","ng://@taiga-ui/kit/components/input-file/input-file.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","__spread","concat","TuiInputFileComponent","control","changeDetectorRef","isMobile","inputFileTexts$","mode$","units$","_this","_super","this","link","label","accept","multiple","size","showSize","maxFileSize","loadingFiles","rejectedFiles","rejectedFilesChange","EventEmitter","dataTransfer","__","constructor","prototype","create","__extends","input","nativeElement","isNativeFocused","nativeFocusableElement","computedDisabled","readOnly","computeLink$","fileDragged","computeLabel$","indexOf","types","getAcceptArray","getValueArray","getReadyFiles","arrayValue","getLoadingFiles","onHovered","hovered","updateHovered","onFocused","focused","updateFocused","onPressed","pressed","updatePressed","onFilesSelected","texts","units","processSelectedFiles","files","onDropped","event","onDragOver","removeFile","removedFile","updateValue","filter","file","removeRejectedFile","updateRejectedFiles","getAppearance","mode","of","pipe","map","defaultLinkMultiple","defaultLinkSingle","dropMultiple","drop","defaultLabelMultiple","defaultLabelSingle","EMPTY_ARRAY","loading","toLowerCase","split","newFiles","from","tooBigFiles","wrongFormatFiles","isFormatAcceptable","acceptedFiles","name","type","content","maxSizeRejectionReason","formatSize","formatRejectionReason","extension","pop","acceptArray","some","format","emit","NgControl","Optional","Self","Inject","args","ChangeDetectorRef","TUI_IS_MOBILE","Observable","TUI_INPUT_FILE_TEXTS","TUI_MODE","TUI_DIGITAL_INFORMATION_UNITS","Input","tuiDefaultProp","Output","ViewChild","tuiPure","TuiInputFileComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","MODE_PROVIDER","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","AbstractTuiNullableControl","TuiFileComponent","sanitizer","fileTexts$","state","allowDelete","fileRemoved","isBig","createPreview","src","slice","join","calculateContent$","calculateFileSize$","onRemoveClick","onFocusVisible","focusVisible","loadingError","File","startsWith","bypassSecurityTrustUrl","URL","createObjectURL","DomSanitizer","TUI_FILE_TEXTS","HostBinding","TuiInputFileModule","NgModule","imports","CommonModule","PolymorpheusModule","TuiLetModule","TuiFocusedModule","TuiFocusVisibleModule","TuiPressedModule","TuiHoveredModule","TuiFocusableModule","TuiDroppableModule","TuiWrapperModule","TuiSvgModule","TuiLinkModule","TuiLoaderModule","TuiButtonModule","TuiPreventDefaultModule","TuiGroupModule","declarations","exports"],"mappings":"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","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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n EMPTY_ARRAY,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_MODE,\n TuiAppearance,\n TuiBrightness,\n TuiSizeL,\n} from '@taiga-ui/core';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_INPUT_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst DEFAULT_MAX_SIZE = 30 * 1000 * 1000; // 30 MB\n\n// @dynamic\n@Component({\n selector: 'tui-input-file',\n templateUrl: './input-file.template.html',\n styleUrls: ['./input-file.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MODE_PROVIDER,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputFileComponent),\n },\n ],\n})\nexport class TuiInputFileComponent\n extends AbstractTuiNullableControl<TuiFileLike | ReadonlyArray<TuiFileLike>>\n implements TuiFocusableElementAccessor {\n @Input()\n @tuiDefaultProp()\n link: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n label: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n accept = '';\n\n @Input()\n @tuiDefaultProp()\n multiple = false;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n maxFileSize = DEFAULT_MAX_SIZE;\n\n @Input()\n @tuiDefaultProp()\n loadingFiles: ReadonlyArray<TuiFileLike> = [];\n\n @Input()\n @tuiDefaultProp()\n rejectedFiles: ReadonlyArray<TuiFileLike> = [];\n\n @Output()\n rejectedFilesChange = new EventEmitter<ReadonlyArray<TuiFileLike>>();\n\n @ViewChild('input')\n readonly input?: ElementRef<HTMLInputElement>;\n\n private dataTransfer: DataTransfer | null = null;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n readonly isMobile: boolean,\n @Inject(TUI_INPUT_FILE_TEXTS)\n readonly inputFileTexts$: Observable<\n Record<\n | 'defaultLabelSingle'\n | 'defaultLabelMultiple'\n | 'defaultLinkSingle'\n | 'defaultLinkMultiple'\n | 'maxSizeRejectionReason'\n | 'formatRejectionReason'\n | 'drop'\n | 'dropMultiple',\n string\n >\n >,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n readonly units$: Observable<[string, string, string]>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.input ? this.input.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get allowDelete(): boolean {\n return !this.computedDisabled && !this.readOnly;\n }\n\n get computedLink$(): Observable<PolymorpheusContent> {\n return this.computeLink$(this.fileDragged, this.multiple, this.link);\n }\n\n get computedLabel$(): Observable<PolymorpheusContent> {\n return this.computeLabel$(\n this.isMobile,\n this.fileDragged,\n this.multiple,\n this.label,\n );\n }\n\n // @bad TODO: refactor after IE is dropped\n get fileDragged(): boolean {\n return (\n !!this.dataTransfer &&\n Array.prototype.indexOf.call(this.dataTransfer.types, 'Files') !== -1\n );\n }\n\n get acceptArray(): readonly string[] {\n return this.getAcceptArray(this.accept);\n }\n\n get arrayValue(): ReadonlyArray<TuiFileLike> {\n return this.getValueArray(this.value);\n }\n\n get readyFiles(): ReadonlyArray<TuiFileLike> {\n return this.getReadyFiles(this.arrayValue, this.loadingFiles);\n }\n\n get computedLoading(): ReadonlyArray<TuiFileLike> {\n return this.getLoadingFiles(this.arrayValue, this.loadingFiles);\n }\n\n get hasFiles(): boolean {\n return !!this.rejectedFiles.length || !!this.arrayValue.length;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n // TODO: refactor i18n messages\n onFilesSelected(\n input: HTMLInputElement,\n texts: Record<'maxSizeRejectionReason' | 'formatRejectionReason', string>,\n units: [string, string, string],\n ) {\n this.processSelectedFiles(input.files, texts, units);\n input.value = '';\n }\n\n onDropped(\n event: DataTransfer,\n texts: Record<'maxSizeRejectionReason' | 'formatRejectionReason', string>,\n units: [string, string, string],\n ) {\n this.processSelectedFiles(event.files, texts, units);\n }\n\n onDragOver(dataTransfer: DataTransfer | null) {\n this.dataTransfer = dataTransfer;\n }\n\n removeFile(removedFile: TuiFileLike) {\n this.updateValue(\n this.multiple ? this.arrayValue.filter(file => file !== removedFile) : null,\n );\n }\n\n removeRejectedFile(removedFile: TuiFileLike) {\n this.updateRejectedFiles(this.rejectedFiles.filter(file => file !== removedFile));\n }\n\n getAppearance(mode: null | unknown): string {\n return mode === null ? '' : TuiAppearance.Outline;\n }\n\n @tuiPure\n private computeLink$(\n fileDragged: boolean,\n multiple: boolean,\n link: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n if (fileDragged) {\n return of('');\n }\n\n return this.inputFileTexts$.pipe(\n map(texts =>\n multiple && link === ''\n ? texts.defaultLinkMultiple\n : link || texts.defaultLinkSingle,\n ),\n );\n }\n\n @tuiPure\n private computeLabel$(\n isMobile: boolean,\n fileDragged: boolean,\n multiple: boolean,\n label: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n if (isMobile) {\n return of('');\n }\n\n if (fileDragged) {\n return this.inputFileTexts$.pipe(\n map(texts => (multiple ? texts.dropMultiple : texts.drop)),\n );\n }\n\n return this.inputFileTexts$.pipe(\n map(texts =>\n multiple && label === ''\n ? texts.defaultLabelMultiple\n : label || texts.defaultLabelSingle,\n ),\n );\n }\n\n @tuiPure\n private getValueArray(\n value: TuiFileLike | ReadonlyArray<TuiFileLike> | null,\n ): ReadonlyArray<TuiFileLike> {\n if (!value) {\n return EMPTY_ARRAY;\n }\n\n return value instanceof Array ? value : [value];\n }\n\n @tuiPure\n private getReadyFiles(\n value: ReadonlyArray<TuiFileLike>,\n loading: ReadonlyArray<TuiFileLike>,\n ): ReadonlyArray<TuiFileLike> {\n return value.filter(file => loading.indexOf(file) === -1);\n }\n\n @tuiPure\n private getLoadingFiles(\n value: ReadonlyArray<TuiFileLike>,\n loading: ReadonlyArray<TuiFileLike>,\n ): ReadonlyArray<TuiFileLike> {\n return loading.filter(file => value.indexOf(file) !== -1);\n }\n\n @tuiPure\n private getAcceptArray(accept: string): readonly string[] {\n return accept.toLowerCase().split(',');\n }\n\n private processSelectedFiles(\n files: FileList | null,\n texts: Record<'maxSizeRejectionReason' | 'formatRejectionReason', string>,\n units: [string, string, string],\n ) {\n // IE11 after selecting a file through the open dialog generates a second event passing an empty FileList.\n if (files === null || files.length === 0) {\n return;\n }\n\n const newFiles = this.multiple ? Array.from(files) : [files[0]];\n const tooBigFiles = newFiles.filter(file => file.size > this.maxFileSize);\n const wrongFormatFiles = newFiles.filter(\n file => !this.isFormatAcceptable(file) && tooBigFiles.indexOf(file) === -1,\n );\n const acceptedFiles = newFiles.filter(\n file =>\n tooBigFiles.indexOf(file) === -1 && wrongFormatFiles.indexOf(file) === -1,\n );\n\n this.updateRejectedFiles([\n ...tooBigFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content:\n texts.maxSizeRejectionReason + formatSize(units, this.maxFileSize),\n })),\n ...wrongFormatFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content: texts.formatRejectionReason,\n })),\n ]);\n this.updateValue(\n this.multiple\n ? [...this.arrayValue, ...acceptedFiles]\n : acceptedFiles[0] || null,\n );\n }\n\n private isFormatAcceptable(file: File): boolean {\n if (!this.accept) {\n return true;\n }\n\n const extension = '.' + (file.name.split('.').pop() || '').toLowerCase();\n\n return this.acceptArray.some(\n format =>\n format === extension ||\n format === file.type ||\n (format.split('/')[1] === '*' &&\n file.type.split('/')[0] === format.split('/')[0]),\n );\n }\n\n private updateRejectedFiles(rejectedFiles: ReadonlyArray<TuiFileLike>) {\n this.rejectedFiles = rejectedFiles;\n this.rejectedFilesChange.emit(rejectedFiles);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// @dynamic\n@Component({\n selector: 'tui-file',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './file.template.html',\n styleUrls: ['./file.style.less'],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ''};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileState = TuiFileState.Normal;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n allowDelete = true;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Output()\n readonly fileRemoved = new EventEmitter<void>();\n\n @HostBinding('class._focused')\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<\n Record<'loadingError' | 'preview' | 'remove', string>\n >,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : '';\n }\n\n get isBig(): boolean {\n return this.size === 'l';\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return 'tuiIconDefaultDocLarge';\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return 'tuiIconTrashLarge';\n case TuiFileState.Error:\n return 'tuiIconAlertCircleLarge';\n default:\n return 'tuiIconCheckCircleLarge';\n }\n }\n\n @HostBinding('class._link')\n get src(): string {\n return this.file.src || '';\n }\n\n get name(): string {\n return this.file.name.split('.').slice(0, -1).join('.');\n }\n\n get type(): string {\n return '.' + this.file.name.split('.').pop() || '';\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick() {\n this.fileRemoved.emit();\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileState,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || '');\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith('image/')) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiDroppableModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiGroupModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiSvgModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiInputFileComponent} from './input-file.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPressedModule,\n TuiHoveredModule,\n TuiFocusableModule,\n TuiDroppableModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiButtonModule,\n TuiPreventDefaultModule,\n TuiGroupModule,\n ],\n declarations: [TuiFileComponent, TuiInputFileComponent],\n exports: [TuiInputFileComponent],\n})\nexport class TuiInputFileModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-file/input-file.component.ts","ng://@taiga-ui/kit/components/input-file/file/file.component.ts","ng://@taiga-ui/kit/components/input-file/input-file.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","__spread","concat","TuiInputFileComponent","control","changeDetectorRef","isMobile","inputFileTexts$","mode$","units$","_this","_super","this","link","label","accept","multiple","size","showSize","maxFileSize","loadingFiles","rejectedFiles","rejectedFilesChange","EventEmitter","dataTransfer","__","constructor","prototype","create","__extends","input","nativeElement","isNativeFocused","nativeFocusableElement","computedDisabled","readOnly","computeLink$","fileDragged","computeLabel$","indexOf","types","getAcceptArray","getValueArray","getReadyFiles","arrayValue","getLoadingFiles","onHovered","hovered","updateHovered","onFocused","focused","updateFocused","onPressed","pressed","updatePressed","onFilesSelected","texts","units","processSelectedFiles","files","onDropped","event","onDragOver","removeFile","removedFile","updateValue","filter","file","removeRejectedFile","updateRejectedFiles","getAppearance","mode","of","pipe","map","defaultLinkMultiple","defaultLinkSingle","dropMultiple","drop","defaultLabelMultiple","defaultLabelSingle","EMPTY_ARRAY","loading","toLowerCase","split","format","trim","newFiles","from","tooBigFiles","wrongFormatFiles","isFormatAcceptable","acceptedFiles","name","type","content","maxSizeRejectionReason","formatSize","formatRejectionReason","extension","pop","acceptArray","some","emit","NgControl","Optional","Self","Inject","args","ChangeDetectorRef","TUI_IS_MOBILE","Observable","TUI_INPUT_FILE_TEXTS","TUI_MODE","TUI_DIGITAL_INFORMATION_UNITS","Input","tuiDefaultProp","Output","ViewChild","tuiPure","TuiInputFileComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","MODE_PROVIDER","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","AbstractTuiNullableControl","TuiFileComponent","sanitizer","fileTexts$","state","allowDelete","fileRemoved","isBig","createPreview","src","slice","join","calculateContent$","calculateFileSize$","onRemoveClick","onFocusVisible","focusVisible","loadingError","File","startsWith","bypassSecurityTrustUrl","URL","createObjectURL","DomSanitizer","TUI_FILE_TEXTS","HostBinding","TuiInputFileModule","NgModule","imports","CommonModule","PolymorpheusModule","TuiLetModule","TuiFocusedModule","TuiFocusVisibleModule","TuiPressedModule","TuiHoveredModule","TuiFocusableModule","TuiDroppableModule","TuiWrapperModule","TuiSvgModule","TuiLinkModule","TuiLoaderModule","TuiButtonModule","TuiPreventDefaultModule","TuiGroupModule","declarations","exports"],"mappings":"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","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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n EMPTY_ARRAY,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_MODE,\n TuiAppearance,\n TuiBrightness,\n TuiSizeL,\n} from '@taiga-ui/core';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_INPUT_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst DEFAULT_MAX_SIZE = 30 * 1000 * 1000; // 30 MB\n\n// @dynamic\n@Component({\n selector: 'tui-input-file',\n templateUrl: './input-file.template.html',\n styleUrls: ['./input-file.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MODE_PROVIDER,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputFileComponent),\n },\n ],\n})\nexport class TuiInputFileComponent\n extends AbstractTuiNullableControl<TuiFileLike | ReadonlyArray<TuiFileLike>>\n implements TuiFocusableElementAccessor {\n @Input()\n @tuiDefaultProp()\n link: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n label: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n accept = '';\n\n @Input()\n @tuiDefaultProp()\n multiple = false;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n maxFileSize = DEFAULT_MAX_SIZE;\n\n @Input()\n @tuiDefaultProp()\n loadingFiles: ReadonlyArray<TuiFileLike> = [];\n\n @Input()\n @tuiDefaultProp()\n rejectedFiles: ReadonlyArray<TuiFileLike> = [];\n\n @Output()\n rejectedFilesChange = new EventEmitter<ReadonlyArray<TuiFileLike>>();\n\n @ViewChild('input')\n readonly input?: ElementRef<HTMLInputElement>;\n\n private dataTransfer: DataTransfer | null = null;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n readonly isMobile: boolean,\n @Inject(TUI_INPUT_FILE_TEXTS)\n readonly inputFileTexts$: Observable<\n Record<\n | 'defaultLabelSingle'\n | 'defaultLabelMultiple'\n | 'defaultLinkSingle'\n | 'defaultLinkMultiple'\n | 'maxSizeRejectionReason'\n | 'formatRejectionReason'\n | 'drop'\n | 'dropMultiple',\n string\n >\n >,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n readonly units$: Observable<[string, string, string]>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.input ? this.input.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get allowDelete(): boolean {\n return !this.computedDisabled && !this.readOnly;\n }\n\n get computedLink$(): Observable<PolymorpheusContent> {\n return this.computeLink$(this.fileDragged, this.multiple, this.link);\n }\n\n get computedLabel$(): Observable<PolymorpheusContent> {\n return this.computeLabel$(\n this.isMobile,\n this.fileDragged,\n this.multiple,\n this.label,\n );\n }\n\n // @bad TODO: refactor after IE is dropped\n get fileDragged(): boolean {\n return (\n !!this.dataTransfer &&\n Array.prototype.indexOf.call(this.dataTransfer.types, 'Files') !== -1\n );\n }\n\n get acceptArray(): readonly string[] {\n return this.getAcceptArray(this.accept);\n }\n\n get arrayValue(): ReadonlyArray<TuiFileLike> {\n return this.getValueArray(this.value);\n }\n\n get readyFiles(): ReadonlyArray<TuiFileLike> {\n return this.getReadyFiles(this.arrayValue, this.loadingFiles);\n }\n\n get computedLoading(): ReadonlyArray<TuiFileLike> {\n return this.getLoadingFiles(this.arrayValue, this.loadingFiles);\n }\n\n get hasFiles(): boolean {\n return !!this.rejectedFiles.length || !!this.arrayValue.length;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n // TODO: refactor i18n messages\n onFilesSelected(\n input: HTMLInputElement,\n texts: Record<'maxSizeRejectionReason' | 'formatRejectionReason', string>,\n units: [string, string, string],\n ) {\n this.processSelectedFiles(input.files, texts, units);\n input.value = '';\n }\n\n onDropped(\n event: DataTransfer,\n texts: Record<'maxSizeRejectionReason' | 'formatRejectionReason', string>,\n units: [string, string, string],\n ) {\n this.processSelectedFiles(event.files, texts, units);\n }\n\n onDragOver(dataTransfer: DataTransfer | null) {\n this.dataTransfer = dataTransfer;\n }\n\n removeFile(removedFile: TuiFileLike) {\n this.updateValue(\n this.multiple ? this.arrayValue.filter(file => file !== removedFile) : null,\n );\n }\n\n removeRejectedFile(removedFile: TuiFileLike) {\n this.updateRejectedFiles(this.rejectedFiles.filter(file => file !== removedFile));\n }\n\n getAppearance(mode: null | unknown): string {\n return mode === null ? '' : TuiAppearance.Outline;\n }\n\n @tuiPure\n private computeLink$(\n fileDragged: boolean,\n multiple: boolean,\n link: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n if (fileDragged) {\n return of('');\n }\n\n return this.inputFileTexts$.pipe(\n map(texts =>\n multiple && link === ''\n ? texts.defaultLinkMultiple\n : link || texts.defaultLinkSingle,\n ),\n );\n }\n\n @tuiPure\n private computeLabel$(\n isMobile: boolean,\n fileDragged: boolean,\n multiple: boolean,\n label: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n if (isMobile) {\n return of('');\n }\n\n if (fileDragged) {\n return this.inputFileTexts$.pipe(\n map(texts => (multiple ? texts.dropMultiple : texts.drop)),\n );\n }\n\n return this.inputFileTexts$.pipe(\n map(texts =>\n multiple && label === ''\n ? texts.defaultLabelMultiple\n : label || texts.defaultLabelSingle,\n ),\n );\n }\n\n @tuiPure\n private getValueArray(\n value: TuiFileLike | ReadonlyArray<TuiFileLike> | null,\n ): ReadonlyArray<TuiFileLike> {\n if (!value) {\n return EMPTY_ARRAY;\n }\n\n return value instanceof Array ? value : [value];\n }\n\n @tuiPure\n private getReadyFiles(\n value: ReadonlyArray<TuiFileLike>,\n loading: ReadonlyArray<TuiFileLike>,\n ): ReadonlyArray<TuiFileLike> {\n return value.filter(file => loading.indexOf(file) === -1);\n }\n\n @tuiPure\n private getLoadingFiles(\n value: ReadonlyArray<TuiFileLike>,\n loading: ReadonlyArray<TuiFileLike>,\n ): ReadonlyArray<TuiFileLike> {\n return loading.filter(file => value.indexOf(file) !== -1);\n }\n\n @tuiPure\n private getAcceptArray(accept: string): readonly string[] {\n return accept\n .toLowerCase()\n .split(',')\n .map(format => format.trim());\n }\n\n private processSelectedFiles(\n files: FileList | null,\n texts: Record<'maxSizeRejectionReason' | 'formatRejectionReason', string>,\n units: [string, string, string],\n ) {\n // IE11 after selecting a file through the open dialog generates a second event passing an empty FileList.\n if (files === null || files.length === 0) {\n return;\n }\n\n const newFiles = this.multiple ? Array.from(files) : [files[0]];\n const tooBigFiles = newFiles.filter(file => file.size > this.maxFileSize);\n const wrongFormatFiles = newFiles.filter(\n file => !this.isFormatAcceptable(file) && tooBigFiles.indexOf(file) === -1,\n );\n const acceptedFiles = newFiles.filter(\n file =>\n tooBigFiles.indexOf(file) === -1 && wrongFormatFiles.indexOf(file) === -1,\n );\n\n this.updateRejectedFiles([\n ...tooBigFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content:\n texts.maxSizeRejectionReason + formatSize(units, this.maxFileSize),\n })),\n ...wrongFormatFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content: texts.formatRejectionReason,\n })),\n ]);\n this.updateValue(\n this.multiple\n ? [...this.arrayValue, ...acceptedFiles]\n : acceptedFiles[0] || null,\n );\n }\n\n private isFormatAcceptable(file: File): boolean {\n if (!this.accept) {\n return true;\n }\n\n const extension = '.' + (file.name.split('.').pop() || '').toLowerCase();\n\n return this.acceptArray.some(\n format =>\n format === extension ||\n format === file.type ||\n (format.split('/')[1] === '*' &&\n file.type.split('/')[0] === format.split('/')[0]),\n );\n }\n\n private updateRejectedFiles(rejectedFiles: ReadonlyArray<TuiFileLike>) {\n this.rejectedFiles = rejectedFiles;\n this.rejectedFilesChange.emit(rejectedFiles);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// @dynamic\n@Component({\n selector: 'tui-file',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './file.template.html',\n styleUrls: ['./file.style.less'],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ''};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileState = TuiFileState.Normal;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n allowDelete = true;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Output()\n readonly fileRemoved = new EventEmitter<void>();\n\n @HostBinding('class._focused')\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<\n Record<'loadingError' | 'preview' | 'remove', string>\n >,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : '';\n }\n\n get isBig(): boolean {\n return this.size === 'l';\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return 'tuiIconDefaultDocLarge';\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return 'tuiIconTrashLarge';\n case TuiFileState.Error:\n return 'tuiIconAlertCircleLarge';\n default:\n return 'tuiIconCheckCircleLarge';\n }\n }\n\n @HostBinding('class._link')\n get src(): string {\n return this.file.src || '';\n }\n\n get name(): string {\n return this.file.name.split('.').slice(0, -1).join('.');\n }\n\n get type(): string {\n return '.' + this.file.name.split('.').pop() || '';\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick() {\n this.fileRemoved.emit();\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileState,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || '');\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith('image/')) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiDroppableModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiGroupModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiSvgModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiInputFileComponent} from './input-file.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPressedModule,\n TuiHoveredModule,\n TuiFocusableModule,\n TuiDroppableModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiButtonModule,\n TuiPreventDefaultModule,\n TuiGroupModule,\n ],\n declarations: [TuiFileComponent, TuiInputFileComponent],\n exports: [TuiInputFileComponent],\n})\nexport class TuiInputFileModule {}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiCalendarMonthComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"tui-calendar-month","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":35,"character":21},"member":"OnPush"},"template":"<tui-scrollbar *ngIf=\"isYearPickerShown; else monthSelect\" class=\"scrollbar\">\n <tui-primitive-year-picker\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"previousYearDisabled\"\n [rightDisabled]=\"nextYearDisabled\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button tuiLink [tuiFocusable]=\"false\" (click)=\"onYearClick()\">\n {{year.formattedYear}}\n </button>\n </tui-primitive-spin-button>\n <div class=\"row\">\n <ng-container\n *ngFor=\"let month of (months$ | async); let index = index\"\n >\n <div\n *tuiLet=\"getTuiMonth(index, year.year) as item\"\n class=\"cell\"\n [class.cell_today]=\"isItemToday(item)\"\n [class.cell_interval]=\"isItemInsideRange(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemHovered($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"item\">{{month}}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n","styles":[":host{font:var(--tui-font-text-m)}.row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.item:after,.item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.6875rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent;box-sizing:content-box}.cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.cell_interval:before{background:var(--tui-base-02)}:host._single .cell_interval:before{background:var(--tui-secondary-hover)}.cell_interval:not(:last-child):before{right:-3.6875rem}.cell_interval:last-child:first-child:before{right:0}.cell_interval:first-child>.item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.cell_interval:last-child>.item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.cell_interval>.item{border-radius:0}.cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.cell[data-tui-element-range]>.item{color:var(--tui-primary-text)}.cell[data-tui-element-range]>.item:after,.cell[data-tui-element-range]>.item:before{background-color:var(--tui-primary)}.cell[data-tui-element-range][data-tui-element-state=hovered]>.item:after,.cell[data-tui-element-range][data-tui-element-state=hovered]>.item:before{background-color:var(--tui-primary-hover)}.cell[data-tui-element-range][data-tui-element-state=pressed]>.item:after,.cell[data-tui-element-range][data-tui-element-state=pressed]>.item:before{background-color:var(--tui-primary-active)}.cell[data-tui-element-range=end]>.item:before{left:.25rem}.cell[data-tui-element-range=end]>.item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.cell[data-tui-element-range=start]>.item:before{right:.25rem}.cell[data-tui-element-range=start]>.item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.cell[data-tui-element-state=disabled]{pointer-events:none}.cell[data-tui-element-state=disabled]>.item{opacity:.36}.cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.item{background-color:var(--tui-secondary-hover)}.cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.item{background-color:var(--tui-secondary-active)}:host{display:block;height:13.625rem;width:15.75rem;padding:1.125rem;box-sizing:content-box}.row{flex-wrap:wrap;margin-top:1.4375rem}.cell:nth-child(n+5){margin-top:1.75rem}.cell_interval:nth-child(4n):before{right:0}.scrollbar{height:inherit;width:inherit}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":39,"character":5}}]}],"year":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":43,"character":5}}]}],"disabledItemHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":47,"character":5}}]}],"min":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":54,"character":5}}]}],"max":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":58,"character":5}}]}],"monthClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":5}}]}],"hoveredItemChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":5}}]}],"yearChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":67,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_CALENDAR_MONTHS","line":76,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":76,"character":66,"module":"./calendar-month.component"}]}]}],"isSingle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":79,"character":5},"arguments":["class._single"]}]}],"getItemState":[{"__symbolic":"method"}],"getItemRange":[{"__symbolic":"method"}],"getTuiMonth":[{"__symbolic":"method"}],"isItemToday":[{"__symbolic":"method"}],"isItemInsideRange":[{"__symbolic":"method"}],"onPickerYearClick":[{"__symbolic":"method"}],"onItemClick":[{"__symbolic":"method"}],"onYearClick":[{"__symbolic":"method"}],"onNextYear":[{"__symbolic":"method"}],"onPreviousYear":[{"__symbolic":"method"}],"onItemHovered":[{"__symbolic":"method"}],"onItemPressed":[{"__symbolic":"method"}],"updateHoveredItem":[{"__symbolic":"method"}],"updatePressedItem":[{"__symbolic":"method"}],"calculateDisabledItemHandlerWithMinMax":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":246,"character":5}]}]}},"TuiCalendarMonthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveYearPickerModule","line":19,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveSpinButtonModule","line":20,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiScrollbarModule","line":21,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":22,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":23,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredModule","line":24,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPressedModule","line":25,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":26,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiCalendarMonthComponent"}],"exports":[{"__symbolic":"reference","name":"TuiCalendarMonthComponent"}]}]}],"members":{}}},"origins":{"TuiCalendarMonthComponent":"./calendar-month.component","TuiCalendarMonthModule":"./calendar-month.module"},"importAs":"@taiga-ui/kit/components/calendar-month"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiCalendarMonthComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"tui-calendar-month","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":35,"character":21},"member":"OnPush"},"template":"<tui-scrollbar *ngIf=\"isYearPickerShown; else monthSelect\" class=\"t-scrollbar\">\n <tui-primitive-year-picker\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"previousYearDisabled\"\n [rightDisabled]=\"nextYearDisabled\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button tuiLink [tuiFocusable]=\"false\" (click)=\"onYearClick()\">\n {{year.formattedYear}}\n </button>\n </tui-primitive-spin-button>\n <div class=\"t-row\">\n <ng-container\n *ngFor=\"let month of (months$ | async); let index = index\"\n >\n <div\n *tuiLet=\"getTuiMonth(index, year.year) as item\"\n class=\"t-cell\"\n [class.t-cell_today]=\"isItemToday(item)\"\n [class.t-cell_interval]=\"isItemInsideRange(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemHovered($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{month}}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n","styles":[":host{font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.6875rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent;box-sizing:content-box}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-3.6875rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item:after,.t-cell[data-tui-element-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-tui-element-range=end]>.t-item:before{left:.25rem}.t-cell[data-tui-element-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-range=start]>.t-item:before{right:.25rem}.t-cell[data-tui-element-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-state=disabled]{pointer-events:none}.t-cell[data-tui-element-state=disabled]>.t-item{opacity:.36}.t-cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-active)}:host{display:block;height:13.625rem;width:15.75rem;padding:1.125rem;box-sizing:content-box}.t-row{flex-wrap:wrap;margin-top:1.4375rem}.t-cell:nth-child(n+5){margin-top:1.75rem}.t-cell_interval:nth-child(4n):before{right:0}.t-scrollbar{height:inherit;width:inherit}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":39,"character":5}}]}],"year":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":43,"character":5}}]}],"disabledItemHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":47,"character":5}}]}],"min":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":54,"character":5}}]}],"max":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":58,"character":5}}]}],"monthClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":5}}]}],"hoveredItemChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":5}}]}],"yearChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":67,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_CALENDAR_MONTHS","line":76,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":76,"character":66,"module":"./calendar-month.component"}]}]}],"isSingle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":79,"character":5},"arguments":["class._single"]}]}],"getItemState":[{"__symbolic":"method"}],"getItemRange":[{"__symbolic":"method"}],"getTuiMonth":[{"__symbolic":"method"}],"isItemToday":[{"__symbolic":"method"}],"isItemInsideRange":[{"__symbolic":"method"}],"onPickerYearClick":[{"__symbolic":"method"}],"onItemClick":[{"__symbolic":"method"}],"onYearClick":[{"__symbolic":"method"}],"onNextYear":[{"__symbolic":"method"}],"onPreviousYear":[{"__symbolic":"method"}],"onItemHovered":[{"__symbolic":"method"}],"onItemPressed":[{"__symbolic":"method"}],"updateHoveredItem":[{"__symbolic":"method"}],"updatePressedItem":[{"__symbolic":"method"}],"calculateDisabledItemHandlerWithMinMax":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":246,"character":5}]}]}},"TuiCalendarMonthModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveYearPickerModule","line":19,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveSpinButtonModule","line":20,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiScrollbarModule","line":21,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":22,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":23,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredModule","line":24,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPressedModule","line":25,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableModule","line":26,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiCalendarMonthComponent"}],"exports":[{"__symbolic":"reference","name":"TuiCalendarMonthComponent"}]}]}],"members":{}}},"origins":{"TuiCalendarMonthComponent":"./calendar-month.component","TuiCalendarMonthModule":"./calendar-month.module"},"importAs":"@taiga-ui/kit/components/calendar-month"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiDataListGroupWrapperComponent":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"TuiDataListWrapperComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"tui-data-list-wrapper[labels]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":9,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_ACCESSOR","line":12,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDataListGroupWrapperComponent"}}],"template":"<tui-data-list *ngIf=\"items else loading\" [emptyContent]=\"emptyContent\">\n <tui-opt-group\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n >\n <button\n *ngFor=\"let item of group\"\n #elementRef=\"elementRef\"\n tuiElement\n tuiOption\n automation-id=\"tui-data-list-wrapper__option\"\n [size]=\"size\"\n [value]=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n >\n <span\n polymorpheus-outlet\n class=\"content\"\n [content]=\"itemContent\"\n [context]=\"getContext(item, elementRef)\"\n ></span>\n </button>\n </tui-opt-group>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader class=\"tui-space_vertical-3\"></tui-loader>\n</ng-template>\n","styles":[":host{display:block}.content{flex:1}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":21,"character":5}}]}],"labels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":25,"character":5}}]}]}},"TuiDataListWrapperComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"tui-data-list-wrapper:not([labels])","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":32,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_ACCESSOR","line":35,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDataListWrapperComponent"}}],"template":"<tui-data-list *ngIf=\"items else loading\" [emptyContent]=\"emptyContent\">\n <button\n *ngFor=\"let item of items\"\n #elementRef=\"elementRef\"\n tuiElement\n tuiOption\n automation-id=\"tui-data-list-wrapper__option\"\n [size]=\"size\"\n [value]=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n >\n <span\n polymorpheus-outlet\n class=\"content\"\n [content]=\"itemContent\"\n [context]=\"getContext(item, elementRef)\"\n ></span>\n </button>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader\n class=\"tui-space_vertical-3\"\n automation-id=\"tui-data-list-wrapper__loader\"\n ></tui-loader>\n</ng-template>\n","styles":[":host{display:block}.content{flex:1}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":42,"character":5}}]}],"disabledItemHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":46,"character":5}}]}],"emptyContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":50,"character":5}}]}],"itemContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":54,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":59,"character":5}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":62,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiOptionComponent","line":62,"character":35}]}]}],"getContext":[{"__symbolic":"method"}],"getOptions":[{"__symbolic":"method"}]}},"TuiDataListWrapperModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":11,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiElementModule","line":12,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLoaderModule","line":14,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDataListWrapperComponent"},{"__symbolic":"reference","name":"TuiDataListGroupWrapperComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDataListWrapperComponent"},{"__symbolic":"reference","name":"TuiDataListGroupWrapperComponent"}]}]}],"members":{}}},"origins":{"TuiDataListGroupWrapperComponent":"./data-list-group-wrapper.component","TuiDataListWrapperComponent":"./data-list-wrapper.component","TuiDataListWrapperModule":"./data-list-wrapper.module"},"importAs":"@taiga-ui/kit/components/data-list-wrapper"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiDataListGroupWrapperComponent":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"TuiDataListWrapperComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"tui-data-list-wrapper[labels]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":9,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_ACCESSOR","line":12,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDataListGroupWrapperComponent"}}],"template":"<tui-data-list *ngIf=\"items else loading\" [emptyContent]=\"emptyContent\">\n <tui-opt-group\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n >\n <button\n *ngFor=\"let item of group\"\n #elementRef=\"elementRef\"\n tuiElement\n tuiOption\n automation-id=\"tui-data-list-wrapper__option\"\n [size]=\"size\"\n [value]=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n >\n <span\n polymorpheus-outlet\n class=\"content\"\n [content]=\"itemContent\"\n [context]=\"getContext(item, elementRef)\"\n ></span>\n </button>\n </tui-opt-group>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader class=\"tui-space_vertical-3\"></tui-loader>\n</ng-template>\n","styles":[":host{display:block}.content{flex:1}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":21,"character":5}}]}],"labels":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":25,"character":5}}]}]}},"TuiDataListWrapperComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"tui-data-list-wrapper:not([labels])","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":32,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_ACCESSOR","line":35,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDataListWrapperComponent"}}],"template":"<tui-data-list *ngIf=\"items else loading\" [emptyContent]=\"emptyContent\">\n <button\n *ngFor=\"let item of items\"\n #elementRef=\"elementRef\"\n tuiElement\n tuiOption\n automation-id=\"tui-data-list-wrapper__option\"\n [size]=\"size\"\n [value]=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n >\n <span\n polymorpheus-outlet\n class=\"content\"\n [content]=\"itemContent\"\n [context]=\"getContext(item, elementRef)\"\n ></span>\n </button>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader\n class=\"tui-space_vertical-3\"\n automation-id=\"tui-data-list-wrapper__loader\"\n ></tui-loader>\n</ng-template>\n","styles":[":host{display:block}.content{flex:1}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":42,"character":5}}]}],"disabledItemHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":46,"character":5}}]}],"emptyContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":50,"character":5}}]}],"itemContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":54,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":59,"character":5}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":62,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiOptionComponent","line":62,"character":35}]}]}],"getContext":[{"__symbolic":"method"}],"getOptions":[{"__symbolic":"method"}]}},"TuiDataListWrapperModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":11,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiElementModule","line":12,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLoaderModule","line":14,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDataListWrapperComponent"},{"__symbolic":"reference","name":"TuiDataListGroupWrapperComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDataListWrapperComponent"},{"__symbolic":"reference","name":"TuiDataListGroupWrapperComponent"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListDirective","line":20,"character":8}]}]}],"members":{}}},"origins":{"TuiDataListGroupWrapperComponent":"./data-list-group-wrapper.component","TuiDataListWrapperComponent":"./data-list-wrapper.component","TuiDataListWrapperModule":"./data-list-wrapper.module"},"importAs":"@taiga-ui/kit/components/data-list-wrapper"}
@@ -46,7 +46,7 @@ export declare class TuiInputDateRangeComponent extends AbstractTuiNullableContr
46
46
  onClick(): void;
47
47
  onOpenChange(open: boolean): void;
48
48
  onValueChange(value: string): void;
49
- onRangeChange(range: TuiDayRange): void;
49
+ onRangeChange(range: TuiDayRange | null): void;
50
50
  onItemSelect(item: string | TuiDayRangePeriod): void;
51
51
  onHovered(hovered: boolean): void;
52
52
  onPressed(pressed: boolean): void;
@@ -185,11 +185,11 @@ __decorate([
185
185
  TuiCalendarMonthComponent = __decorate([
186
186
  Component({
187
187
  selector: 'tui-calendar-month',
188
- template: "<tui-scrollbar *ngIf=\"isYearPickerShown; else monthSelect\" class=\"scrollbar\">\n <tui-primitive-year-picker\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"previousYearDisabled\"\n [rightDisabled]=\"nextYearDisabled\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button tuiLink [tuiFocusable]=\"false\" (click)=\"onYearClick()\">\n {{year.formattedYear}}\n </button>\n </tui-primitive-spin-button>\n <div class=\"row\">\n <ng-container\n *ngFor=\"let month of (months$ | async); let index = index\"\n >\n <div\n *tuiLet=\"getTuiMonth(index, year.year) as item\"\n class=\"cell\"\n [class.cell_today]=\"isItemToday(item)\"\n [class.cell_interval]=\"isItemInsideRange(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemHovered($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"item\">{{month}}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n",
188
+ template: "<tui-scrollbar *ngIf=\"isYearPickerShown; else monthSelect\" class=\"t-scrollbar\">\n <tui-primitive-year-picker\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"previousYearDisabled\"\n [rightDisabled]=\"nextYearDisabled\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button tuiLink [tuiFocusable]=\"false\" (click)=\"onYearClick()\">\n {{year.formattedYear}}\n </button>\n </tui-primitive-spin-button>\n <div class=\"t-row\">\n <ng-container\n *ngFor=\"let month of (months$ | async); let index = index\"\n >\n <div\n *tuiLet=\"getTuiMonth(index, year.year) as item\"\n class=\"t-cell\"\n [class.t-cell_today]=\"isItemToday(item)\"\n [class.t-cell_interval]=\"isItemInsideRange(item)\"\n [attr.data-tui-element-range]=\"getItemRange(item)\"\n [attr.data-tui-element-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemHovered($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{month}}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n",
189
189
  changeDetection: ChangeDetectionStrategy.OnPush,
190
- styles: [":host{font:var(--tui-font-text-m)}.row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.item:after,.item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.6875rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent;box-sizing:content-box}.cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.cell_interval:before{background:var(--tui-base-02)}:host._single .cell_interval:before{background:var(--tui-secondary-hover)}.cell_interval:not(:last-child):before{right:-3.6875rem}.cell_interval:last-child:first-child:before{right:0}.cell_interval:first-child>.item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.cell_interval:last-child>.item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.cell_interval>.item{border-radius:0}.cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.cell[data-tui-element-range]>.item{color:var(--tui-primary-text)}.cell[data-tui-element-range]>.item:after,.cell[data-tui-element-range]>.item:before{background-color:var(--tui-primary)}.cell[data-tui-element-range][data-tui-element-state=hovered]>.item:after,.cell[data-tui-element-range][data-tui-element-state=hovered]>.item:before{background-color:var(--tui-primary-hover)}.cell[data-tui-element-range][data-tui-element-state=pressed]>.item:after,.cell[data-tui-element-range][data-tui-element-state=pressed]>.item:before{background-color:var(--tui-primary-active)}.cell[data-tui-element-range=end]>.item:before{left:.25rem}.cell[data-tui-element-range=end]>.item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.cell[data-tui-element-range=start]>.item:before{right:.25rem}.cell[data-tui-element-range=start]>.item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.cell[data-tui-element-state=disabled]{pointer-events:none}.cell[data-tui-element-state=disabled]>.item{opacity:.36}.cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.item{background-color:var(--tui-secondary-hover)}.cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.item{background-color:var(--tui-secondary-active)}:host{display:block;height:13.625rem;width:15.75rem;padding:1.125rem;box-sizing:content-box}.row{flex-wrap:wrap;margin-top:1.4375rem}.cell:nth-child(n+5){margin-top:1.75rem}.cell_interval:nth-child(4n):before{right:0}.scrollbar{height:inherit;width:inherit}"]
190
+ styles: [":host{font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:after,.t-item:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.6875rem;text-align:center;outline:0;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:2px solid transparent;box-sizing:content-box}.t-cell:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%,0);content:'';bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-02)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-3.6875rem}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-tui-element-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-tui-element-range]>.t-item:after,.t-cell[data-tui-element-range]>.t-item:before{background-color:var(--tui-primary)}.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=hovered]>.t-item:before{background-color:var(--tui-primary-hover)}.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:after,.t-cell[data-tui-element-range][data-tui-element-state=pressed]>.t-item:before{background-color:var(--tui-primary-active)}.t-cell[data-tui-element-range=end]>.t-item:before{left:.25rem}.t-cell[data-tui-element-range=end]>.t-item:after{left:-2rem;right:100%;transform:translateX(1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-range=start]>.t-item:before{right:.25rem}.t-cell[data-tui-element-range=start]>.t-item:after{left:100%;right:-2rem;transform:translateX(-1.4375rem) scaleY(.6) scaleX(.4) rotate(45deg)}.t-cell[data-tui-element-state=disabled]{pointer-events:none}.t-cell[data-tui-element-state=disabled]>.t-item{opacity:.36}.t-cell[data-tui-element-state=hovered]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-tui-element-state=pressed]:hover:not([data-tui-element-range])>.t-item{background-color:var(--tui-secondary-active)}:host{display:block;height:13.625rem;width:15.75rem;padding:1.125rem;box-sizing:content-box}.t-row{flex-wrap:wrap;margin-top:1.4375rem}.t-cell:nth-child(n+5){margin-top:1.75rem}.t-cell_interval:nth-child(4n):before{right:0}.t-scrollbar{height:inherit;width:inherit}"]
191
191
  }),
192
192
  __param(0, Inject(TUI_CALENDAR_MONTHS))
193
193
  ], TuiCalendarMonthComponent);
194
194
  export { TuiCalendarMonthComponent };
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoLyIsInNvdXJjZXMiOlsiY2FsZW5kYXItbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUVwQyxXQUFXO0FBT1gsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFzQ2xDLFlBQzBDLE9BQXNDO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQStCO1FBcENoRixVQUFLLEdBQW9DLElBQUksQ0FBQztRQUk5QyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBSXRCLHdCQUFtQixHQUdmLG9CQUFvQixDQUFDO1FBSXpCLFFBQUcsR0FBYSxhQUFhLENBQUM7UUFJOUIsUUFBRyxHQUFhLFlBQVksQ0FBQztRQUdwQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUcxQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUd4RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRCxzQkFBaUIsR0FBRyxLQUFLLENB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QjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtzREFDWTtBQUc3QjtJQURDLE1BQU0sRUFBRTs2REFDMEM7QUFHbkQ7SUFEQyxNQUFNLEVBQUU7b0VBQ3dEO0FBR2pFO0lBREMsTUFBTSxFQUFFOzZEQUN5QztBQVlsRDtJQURDLFdBQVcsQ0FBQyxlQUFlLENBQUM7eURBTTVCO0FBa0tEO0lBREMsT0FBTzt1RkFXUDtBQTVOUSx5QkFBeUI7SUFOckMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5Qiwra0RBQTZDO1FBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBd0NPLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7R0F2Q3ZCLHlCQUF5QixDQTZOckM7U0E3TlkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBudWxsYWJsZVNhbWUsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZSwgVHVpV2l0aE9wdGlvbmFsTWluTWF4fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aU1vbnRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0NBTEVOREFSX01PTlRIU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IFRPREFZID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2FsZW5kYXItbW9udGgnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1tb250aC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1tb250aC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IFR1aU1vbnRoUmFuZ2UgfCBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHllYXI6IFR1aVllYXIgPSBUT0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFxuICAgICAgICBUdWlNb250aCxcbiAgICAgICAgVHVpTW9udGhDb250ZXh0XG4gICAgPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpTW9udGggPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBtb250aENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aCB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB5ZWFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlZZWFyPigpO1xuXG4gICAgaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgIGhvdmVyZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuICAgIHByZXNzZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0NBTEVOREFSX01PTlRIUykgcmVhZG9ubHkgbW9udGhzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBzdHJpbmdbXT4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoIHx8IHRoaXMudmFsdWUuaXNTaW5nbGVNb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcHJldmlvdXNZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckJlZm9yZSh0aGlzLm1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG5leHRZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckFmdGVyKHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBnZXRJdGVtU3RhdGUoaXRlbTogVHVpTW9udGgpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCwgcHJlc3NlZEl0ZW0sIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGRpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSAhPT0gbnVsbCAmJiBwcmVzc2VkSXRlbS5tb250aFNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLlByZXNzZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiYgaG92ZXJlZEl0ZW0ubW9udGhTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IFR1aU1vbnRoKTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubW9udGhTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGhlRmlyc3RPZlJhbmdlID0gdmFsdWUuZnJvbS5tb250aFNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtQWZ0ZXJGcm9tID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aEFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZUZyb20gPVxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0ubW9udGhCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUZpcnN0T2ZSYW5nZSB8fCBob3ZlcmVkSXRlbUFmdGVyRnJvbSB8fCBob3ZlcmVkSXRlbUlzQ2FuZGlkYXRUb0JlRnJvbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aGVMYXN0T2ZSYW5nZSA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1CZWZvcmVUbyA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoQWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUxhc3RPZlJhbmdlIHx8IGhvdmVyZWRJdGVtQmVmb3JlVG8gfHwgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVNb250aCAmJiB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKVxuICAgICAgICAgICAgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldFR1aU1vbnRoKG1vbnRoTnVtYmVyOiBudW1iZXIsIHllYXJOdW1iZXI6IG51bWJlcik6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aCh5ZWFyTnVtYmVyLCBtb250aE51bWJlcik7XG4gICAgfVxuXG4gICAgaXNJdGVtVG9kYXkoaXRlbTogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFRPREFZLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpc0l0ZW1JbnNpZGVSYW5nZShtb250aDogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlTW9udGgpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiB2YWx1ZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBUdWlNb250aFJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiByYW5nZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICB9XG5cbiAgICBvblBpY2tlclllYXJDbGljayh5ZWFyOiBUdWlZZWFyKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy55ZWFyLnllYXJTYW1lKHllYXIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdCh5ZWFyKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhtb250aDogVHVpTW9udGgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgobW9udGgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vbnRoQ2xpY2suZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgb25ZZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTmV4dFllYXIoKSB7XG4gICAgICAgIHRoaXMueWVhciA9IHRoaXMueWVhci5hcHBlbmQoe3llYXI6IDF9KTtcbiAgICB9XG5cbiAgICBvblByZXZpb3VzWWVhcigpIHtcbiAgICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyLmFwcGVuZCh7eWVhcjogLTF9KTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCgpOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heChcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0aGlzLm1pbixcbiAgICAgICAgICAgIHRoaXMubWF4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0obW9udGg6IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICBpZiAobnVsbGFibGVTYW1lKHRoaXMuaG92ZXJlZEl0ZW0sIG1vbnRoLCAoYSwgYikgPT4gYS5tb250aFNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gbW9udGg7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1DaGFuZ2UuZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcmVzc2VkSXRlbShpdGVtOiBUdWlNb250aCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IGl0ZW07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFR1aU1vbnRoLCBUdWlNb250aENvbnRleHQ+LFxuICAgICAgICB2YWx1ZTogVHVpTW9udGggfCBUdWlNb250aFJhbmdlIHwgbnVsbCxcbiAgICAgICAgbWluOiBUdWlNb250aCxcbiAgICAgICAgbWF4OiBUdWlNb250aCxcbiAgICApOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gaXRlbSA9PlxuICAgICAgICAgICAgaXRlbS5tb250aEJlZm9yZShtaW4pIHx8XG4gICAgICAgICAgICBpdGVtLm1vbnRoQWZ0ZXIobWF4KSB8fFxuICAgICAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtLCB7dmFsdWV9KTtcbiAgICB9XG59XG4iXX0=
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoLyIsInNvdXJjZXMiOlsiY2FsZW5kYXItbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUVwQyxXQUFXO0FBT1gsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBeUI7SUFzQ2xDLFlBQzBDLE9BQXNDO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQStCO1FBcENoRixVQUFLLEdBQW9DLElBQUksQ0FBQztRQUk5QyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBSXRCLHdCQUFtQixHQUdmLG9CQUFvQixDQUFDO1FBSXpCLFFBQUcsR0FBYSxhQUFhLENBQUM7UUFJOUIsUUFBRyxHQUFhLFlBQVksQ0FBQztRQUdwQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUcxQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUd4RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRCxzQkFBaUIsR0FBRyxLQUFLLENB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QjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtzREFDWTtBQUc3QjtJQURDLE1BQU0sRUFBRTs2REFDMEM7QUFHbkQ7SUFEQyxNQUFNLEVBQUU7b0VBQ3dEO0FBR2pFO0lBREMsTUFBTSxFQUFFOzZEQUN5QztBQVlsRDtJQURDLFdBQVcsQ0FBQyxlQUFlLENBQUM7eURBTTVCO0FBa0tEO0lBREMsT0FBTzt1RkFXUDtBQTVOUSx5QkFBeUI7SUFOckMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLG9CQUFvQjtRQUM5QiwybERBQTZDO1FBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBd0NPLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7R0F2Q3ZCLHlCQUF5QixDQTZOckM7U0E3TlkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBudWxsYWJsZVNhbWUsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZSwgVHVpV2l0aE9wdGlvbmFsTWluTWF4fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aU1vbnRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0NBTEVOREFSX01PTlRIU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IFRPREFZID0gVHVpRGF5LmN1cnJlbnRMb2NhbCgpO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2FsZW5kYXItbW9udGgnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1tb250aC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1tb250aC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IFR1aU1vbnRoUmFuZ2UgfCBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHllYXI6IFR1aVllYXIgPSBUT0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFxuICAgICAgICBUdWlNb250aCxcbiAgICAgICAgVHVpTW9udGhDb250ZXh0XG4gICAgPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpTW9udGggPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBtb250aENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aCB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB5ZWFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlZZWFyPigpO1xuXG4gICAgaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgIGhvdmVyZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuICAgIHByZXNzZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0NBTEVOREFSX01PTlRIUykgcmVhZG9ubHkgbW9udGhzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBzdHJpbmdbXT4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoIHx8IHRoaXMudmFsdWUuaXNTaW5nbGVNb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcHJldmlvdXNZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckJlZm9yZSh0aGlzLm1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG5leHRZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckFmdGVyKHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBnZXRJdGVtU3RhdGUoaXRlbTogVHVpTW9udGgpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCwgcHJlc3NlZEl0ZW0sIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGRpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSAhPT0gbnVsbCAmJiBwcmVzc2VkSXRlbS5tb250aFNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLlByZXNzZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiYgaG92ZXJlZEl0ZW0ubW9udGhTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IFR1aU1vbnRoKTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubW9udGhTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGhlRmlyc3RPZlJhbmdlID0gdmFsdWUuZnJvbS5tb250aFNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtQWZ0ZXJGcm9tID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aEFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZUZyb20gPVxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0ubW9udGhCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUZpcnN0T2ZSYW5nZSB8fCBob3ZlcmVkSXRlbUFmdGVyRnJvbSB8fCBob3ZlcmVkSXRlbUlzQ2FuZGlkYXRUb0JlRnJvbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aGVMYXN0T2ZSYW5nZSA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1CZWZvcmVUbyA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoQWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUxhc3RPZlJhbmdlIHx8IGhvdmVyZWRJdGVtQmVmb3JlVG8gfHwgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVNb250aCAmJiB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKVxuICAgICAgICAgICAgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldFR1aU1vbnRoKG1vbnRoTnVtYmVyOiBudW1iZXIsIHllYXJOdW1iZXI6IG51bWJlcik6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aCh5ZWFyTnVtYmVyLCBtb250aE51bWJlcik7XG4gICAgfVxuXG4gICAgaXNJdGVtVG9kYXkoaXRlbTogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFRPREFZLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpc0l0ZW1JbnNpZGVSYW5nZShtb250aDogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlTW9udGgpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiB2YWx1ZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBUdWlNb250aFJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiByYW5nZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICB9XG5cbiAgICBvblBpY2tlclllYXJDbGljayh5ZWFyOiBUdWlZZWFyKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy55ZWFyLnllYXJTYW1lKHllYXIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdCh5ZWFyKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhtb250aDogVHVpTW9udGgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgobW9udGgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vbnRoQ2xpY2suZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgb25ZZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTmV4dFllYXIoKSB7XG4gICAgICAgIHRoaXMueWVhciA9IHRoaXMueWVhci5hcHBlbmQoe3llYXI6IDF9KTtcbiAgICB9XG5cbiAgICBvblByZXZpb3VzWWVhcigpIHtcbiAgICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyLmFwcGVuZCh7eWVhcjogLTF9KTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCgpOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heChcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0aGlzLm1pbixcbiAgICAgICAgICAgIHRoaXMubWF4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0obW9udGg6IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICBpZiAobnVsbGFibGVTYW1lKHRoaXMuaG92ZXJlZEl0ZW0sIG1vbnRoLCAoYSwgYikgPT4gYS5tb250aFNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gbW9udGg7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1DaGFuZ2UuZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcmVzc2VkSXRlbShpdGVtOiBUdWlNb250aCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IGl0ZW07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFR1aU1vbnRoLCBUdWlNb250aENvbnRleHQ+LFxuICAgICAgICB2YWx1ZTogVHVpTW9udGggfCBUdWlNb250aFJhbmdlIHwgbnVsbCxcbiAgICAgICAgbWluOiBUdWlNb250aCxcbiAgICAgICAgbWF4OiBUdWlNb250aCxcbiAgICApOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gaXRlbSA9PlxuICAgICAgICAgICAgaXRlbS5tb250aEJlZm9yZShtaW4pIHx8XG4gICAgICAgICAgICBpdGVtLm1vbnRoQWZ0ZXIobWF4KSB8fFxuICAgICAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtLCB7dmFsdWV9KTtcbiAgICB9XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NgModule } from '@angular/core';
4
4
  import { TuiElementModule } from '@taiga-ui/cdk';
5
- import { TuiDataListModule, TuiLoaderModule } from '@taiga-ui/core';
5
+ import { TuiDataListDirective, TuiDataListModule, TuiLoaderModule } from '@taiga-ui/core';
6
6
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
7
  import { TuiDataListGroupWrapperComponent } from './data-list-group-wrapper.component';
8
8
  import { TuiDataListWrapperComponent } from './data-list-wrapper.component';
@@ -18,8 +18,12 @@ TuiDataListWrapperModule = __decorate([
18
18
  TuiLoaderModule,
19
19
  ],
20
20
  declarations: [TuiDataListWrapperComponent, TuiDataListGroupWrapperComponent],
21
- exports: [TuiDataListWrapperComponent, TuiDataListGroupWrapperComponent],
21
+ exports: [
22
+ TuiDataListWrapperComponent,
23
+ TuiDataListGroupWrapperComponent,
24
+ TuiDataListDirective,
25
+ ],
22
26
  })
23
27
  ], TuiDataListWrapperModule);
24
28
  export { TuiDataListWrapperModule };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LXdyYXBwZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyLyIsInNvdXJjZXMiOlsiZGF0YS1saXN0LXdyYXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBYTFFLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0NBQUcsQ0FBQTtBQUEzQix3QkFBd0I7SUFYcEMsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFO1lBQ0wsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGVBQWU7U0FDbEI7UUFDRCxZQUFZLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxnQ0FBZ0MsQ0FBQztRQUM3RSxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxnQ0FBZ0MsQ0FBQztLQUMzRSxDQUFDO0dBQ1csd0JBQXdCLENBQUc7U0FBM0Isd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRWxlbWVudE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aURhdGFMaXN0TW9kdWxlLCBUdWlMb2FkZXJNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdEdyb3VwV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi9kYXRhLWxpc3QtZ3JvdXAtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdFdyYXBwZXJDb21wb25lbnR9IGZyb20gJy4vZGF0YS1saXN0LXdyYXBwZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlFbGVtZW50TW9kdWxlLFxuICAgICAgICBUdWlEYXRhTGlzdE1vZHVsZSxcbiAgICAgICAgVHVpTG9hZGVyTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpRGF0YUxpc3RXcmFwcGVyQ29tcG9uZW50LCBUdWlEYXRhTGlzdEdyb3VwV3JhcHBlckNvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW1R1aURhdGFMaXN0V3JhcHBlckNvbXBvbmVudCwgVHVpRGF0YUxpc3RHcm91cFdyYXBwZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUge31cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LXdyYXBwZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyLyIsInNvdXJjZXMiOlsiZGF0YS1saXN0LXdyYXBwZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBaUIxRSxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtDQUFHLENBQUE7QUFBM0Isd0JBQXdCO0lBZnBDLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRTtZQUNMLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixlQUFlO1NBQ2xCO1FBQ0QsWUFBWSxFQUFFLENBQUMsMkJBQTJCLEVBQUUsZ0NBQWdDLENBQUM7UUFDN0UsT0FBTyxFQUFFO1lBQ0wsMkJBQTJCO1lBQzNCLGdDQUFnQztZQUNoQyxvQkFBb0I7U0FDdkI7S0FDSixDQUFDO0dBQ1csd0JBQXdCLENBQUc7U0FBM0Isd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRWxlbWVudE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aURhdGFMaXN0RGlyZWN0aXZlLCBUdWlEYXRhTGlzdE1vZHVsZSwgVHVpTG9hZGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7VHVpRGF0YUxpc3RHcm91cFdyYXBwZXJDb21wb25lbnR9IGZyb20gJy4vZGF0YS1saXN0LWdyb3VwLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7VHVpRGF0YUxpc3RXcmFwcGVyQ29tcG9uZW50fSBmcm9tICcuL2RhdGEtbGlzdC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICAgICAgVHVpRWxlbWVudE1vZHVsZSxcbiAgICAgICAgVHVpRGF0YUxpc3RNb2R1bGUsXG4gICAgICAgIFR1aUxvYWRlck1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aURhdGFMaXN0V3JhcHBlckNvbXBvbmVudCwgVHVpRGF0YUxpc3RHcm91cFdyYXBwZXJDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHVpRGF0YUxpc3RXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgICBUdWlEYXRhTGlzdEdyb3VwV3JhcHBlckNvbXBvbmVudCxcbiAgICAgICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3RXcmFwcGVyTW9kdWxlIHt9XG4iXX0=