@taiga-ui/core 2.47.0 → 2.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-core-components-data-list.umd.js +3 -4
- package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +6 -10
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +8 -4
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.js +1 -5
- package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-constants.umd.js +1 -1
- package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +2 -1
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js +1 -1
- package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-phone.umd.js +1 -1
- package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js +1 -1
- package/bundles/taiga-ui-core-pipes-format-phone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.js +2 -2
- package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.min.js +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +7 -6
- package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-core-utils-polyfills.umd.js +2 -1
- package/bundles/taiga-ui-core-utils-polyfills.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-polyfills.umd.min.js.map +1 -1
- package/components/data-list/option/option.component.d.ts +2 -1
- package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
- package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
- package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +4 -2
- package/components/scrollbar/scrollbar.component.d.ts +1 -8
- package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
- package/constants/taiga-ui-core-constants.metadata.json +1 -1
- package/constants/version.d.ts +1 -1
- package/esm2015/components/data-list/data-list-dropdown-manager.directive.js +3 -4
- package/esm2015/components/data-list/option/option.component.js +2 -2
- package/esm2015/components/primitive-calendar/primitive-calendar.component.js +7 -11
- package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +1 -1
- package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +11 -6
- package/esm2015/components/scrollbar/scrollbar.component.js +5 -9
- package/esm2015/constants/version.js +2 -2
- package/esm2015/interfaces/dropdown-directive.js +1 -1
- package/esm2015/interfaces/notification-options.js +1 -1
- package/esm2015/interfaces/number-format-settings.js +1 -1
- package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +3 -2
- package/esm2015/pipes/format-number/format-number.pipe.js +1 -1
- package/esm2015/pipes/format-phone/format-phone.pipe.js +3 -3
- package/esm2015/tokens/data-list-host.js +1 -1
- package/esm2015/tokens/number-format.js +1 -1
- package/esm2015/utils/dom/are-css-vars-supported.js +1 -1
- package/esm2015/utils/format/format-number.js +3 -3
- package/esm2015/utils/format/format-phone.js +3 -2
- package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +4 -4
- package/esm2015/utils/mask/create-number-mask.js +5 -4
- package/esm2015/utils/mask/enable-auto-correct-decimal-symbol.js +1 -1
- package/esm2015/utils/mask/masked-money-value-is-empty.js +4 -3
- package/esm2015/utils/polyfills/inner-html.js +3 -2
- package/esm5/components/data-list/data-list-dropdown-manager.directive.js +3 -4
- package/esm5/components/data-list/option/option.component.js +2 -2
- package/esm5/components/primitive-calendar/primitive-calendar.component.js +7 -11
- package/esm5/components/primitive-textfield/primitive-textfield.directive.js +1 -1
- package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +11 -6
- package/esm5/components/scrollbar/scrollbar.component.js +5 -9
- package/esm5/constants/version.js +2 -2
- package/esm5/interfaces/dropdown-directive.js +1 -1
- package/esm5/interfaces/notification-options.js +1 -1
- package/esm5/interfaces/number-format-settings.js +1 -1
- package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +3 -2
- package/esm5/pipes/format-number/format-number.pipe.js +1 -1
- package/esm5/pipes/format-phone/format-phone.pipe.js +3 -3
- package/esm5/tokens/data-list-host.js +1 -1
- package/esm5/tokens/number-format.js +1 -1
- package/esm5/utils/dom/are-css-vars-supported.js +1 -1
- package/esm5/utils/format/format-number.js +3 -3
- package/esm5/utils/format/format-phone.js +3 -2
- package/esm5/utils/mask/create-auto-corrected-money-pipe.js +4 -4
- package/esm5/utils/mask/create-number-mask.js +5 -4
- package/esm5/utils/mask/enable-auto-correct-decimal-symbol.js +1 -1
- package/esm5/utils/mask/masked-money-value-is-empty.js +4 -3
- package/esm5/utils/polyfills/inner-html.js +3 -2
- package/fesm2015/taiga-ui-core-components-data-list.js +3 -4
- package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-calendar.js +6 -10
- package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +10 -6
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-scrollbar.js +1 -5
- package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm2015/taiga-ui-core-constants.js +1 -1
- package/fesm2015/taiga-ui-core-constants.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +2 -1
- package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
- package/fesm2015/taiga-ui-core-pipes-format-phone.js +2 -2
- package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-format.js +3 -3
- package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +8 -7
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-polyfills.js +2 -1
- package/fesm2015/taiga-ui-core-utils-polyfills.js.map +1 -1
- package/fesm5/taiga-ui-core-components-data-list.js +3 -4
- package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-calendar.js +6 -10
- package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
- package/fesm5/taiga-ui-core-components-primitive-textfield.js +10 -6
- package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm5/taiga-ui-core-components-scrollbar.js +1 -5
- package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm5/taiga-ui-core-constants.js +1 -1
- package/fesm5/taiga-ui-core-constants.js.map +1 -1
- package/fesm5/taiga-ui-core-pipes-calendar-sheet.js +2 -1
- package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
- package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
- package/fesm5/taiga-ui-core-pipes-format-phone.js +2 -2
- package/fesm5/taiga-ui-core-pipes-format-phone.js.map +1 -1
- package/fesm5/taiga-ui-core-tokens.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-format.js +3 -3
- package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-mask.js +8 -7
- package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-core-utils-polyfills.js +2 -1
- package/fesm5/taiga-ui-core-utils-polyfills.js.map +1 -1
- package/interfaces/dropdown-directive.d.ts +1 -1
- package/interfaces/notification-options.d.ts +3 -3
- package/interfaces/number-format-settings.d.ts +7 -1
- package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
- package/package.json +4 -4
- package/pipes/format-number/format-number.pipe.d.ts +2 -2
- package/pipes/format-number/taiga-ui-core-pipes-format-number.metadata.json +1 -1
- package/tokens/data-list-host.d.ts +1 -1
- package/tokens/number-format.d.ts +2 -2
- package/utils/dom/are-css-vars-supported.d.ts +1 -1
- package/utils/mask/enable-auto-correct-decimal-symbol.d.ts +2 -2
- package/utils/polyfills/inner-html.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/core/utils/mask/create-number-mask.ts","ng://@taiga-ui/core/utils/mask/masked-money-value-is-empty.ts","ng://@taiga-ui/core/utils/mask/masked-number-string-to-number.ts","ng://@taiga-ui/core/utils/mask/create-auto-corrected-money-pipe.ts","ng://@taiga-ui/core/utils/mask/create-correction-mask.ts","ng://@taiga-ui/core/utils/mask/enable-auto-correct-decimal-symbol.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","NON_ZERO_DIGIT","convertToMask","strNumber","split","map","char","TUI_DIGIT_REGEXP","test","decimalsSymbol","thousandSymbol","parseFloat","join","decimalLimit","decimalSymbol","nativeInput","allowNegative","isIOS","cdk","CHAR_NO_BREAK_SPACE","tuiAssert","assert","Number","isInteger","previousCaret","unlucky","isSafari","addEventListener","selectionStart","conformedValue","config","rawValue","isNativeFocused","caret_1","previousValue","current","tailRegex","RegExp","previousWithoutTail","replace","currentWithoutTail","Math","abs","indexOf","previous","calculateChangedTailIndex","changeLength","calculateSafariCaret","previousConformedValue","setTimeout","setSelectionRange","ownerDocument","getDocumentOrShadowRoot","currentCaretPosition","realCaretPosition_1","wereSpaces","calculateCaretGap","withDecimalSymbol","includes","addDecimalSymbolIfNeeded","decimalPart","zeroPaddingSize","repeat","allowed","correctionHandler","mask","reduce","result","index","corrected","MASK_CARET_TRAP","lastIndex","lastIndexOf","filtered","filter","item","some","_a","_b","_c","allowDecimal","_d","_e","_f","autoCorrectDecimalSymbol","_g","_h","requireDecimal","_j","_k","integerLimit","isNegative","CHAR_EN_DASH","str","isDecimalSymbol","slice","decimalIndex","max","otherDecimalSymbol","getDecimalSymbolIndex","hasDecimal","integer","thousandSeparators","match","integerCappedClean","TUI_NON_DIGITS_REGEXP","leadingZerosAmount","constants","TUI_LEADING_ZEROES_REGEXP","integerCappedZerosClean","trim","addThousandsSeparator","fraction","fractionCapped","apply","isOnlyZeroDigit","unshift","firstDigitIndex","isCaretTrap","preventLeadingZeroes","thousandSeparator","TUI_DECIMAL_SYMBOLS"],"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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert} from '@taiga-ui/cdk';\nimport {\n MASK_CARET_TRAP,\n TUI_DIGIT_REGEXP,\n TUI_LEADING_ZEROES_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n} from '@taiga-ui/core/constants';\nimport {TuiNumberMaskOptions, TuiTextMaskListHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\nimport {otherDecimalSymbol} from '@taiga-ui/core/utils/format';\n\nconst NON_ZERO_DIGIT = /[1-9]/;\n\n/**\n * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}\n */\nexport function tuiCreateNumberMask({\n allowDecimal = false,\n decimalSymbol = ',',\n thousandSymbol = CHAR_NO_BREAK_SPACE,\n autoCorrectDecimalSymbol = true,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n integerLimit = 0,\n}: TuiNumberMaskOptions = {}): TuiTextMaskListHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n tuiAssert.assert(Number.isInteger(integerLimit));\n tuiAssert.assert(integerLimit >= 0);\n\n return (rawValue, {previousConformedValue}) => {\n if (previousConformedValue && requireDecimal) {\n const conformedWithoutSeparator = rawValue.split(thousandSymbol).join('');\n const previousConformedValueWithoutDecimalSymbolAndSeparator =\n previousConformedValue\n .split(thousandSymbol)\n .join('')\n .split(decimalSymbol)\n .join('');\n\n // Forbid removal of decimal separator if decimal part is required\n if (\n conformedWithoutSeparator ===\n previousConformedValueWithoutDecimalSymbolAndSeparator\n ) {\n rawValue = previousConformedValue;\n }\n }\n\n const isNegative =\n (rawValue[0] === '-' || rawValue[0] === CHAR_EN_DASH) && allowNegative;\n\n if (\n isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&\n allowDecimal\n ) {\n return ['0', decimalSymbol, TUI_DIGIT_REGEXP];\n }\n\n if (isNegative) {\n rawValue = rawValue.slice(1);\n }\n\n const decimalIndex = getDecimalSymbolIndex(\n rawValue,\n decimalSymbol,\n autoCorrectDecimalSymbol,\n );\n const hasDecimal = decimalIndex !== -1;\n const integer = hasDecimal ? rawValue.slice(0, decimalIndex) : rawValue;\n const thousandSeparators = integer.match(new RegExp(thousandSymbol, 'g')) || [];\n const integerCapped = integerLimit\n ? integer.slice(0, integerLimit + thousandSeparators.length)\n : integer;\n const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, '');\n const [leadingZerosMatch] = integerCappedClean.match(\n TUI_LEADING_ZEROES_REGEXP,\n ) || [''];\n const leadingZerosAmount = leadingZerosMatch.length;\n const integerCappedZerosClean = integerCappedClean\n .replace(/^0+(?!\\.|$)/, '')\n .trim();\n const withSeparator = addThousandsSeparator(\n integerCappedZerosClean,\n thousandSymbol,\n );\n const mask = convertToMask(withSeparator);\n\n if ((hasDecimal && allowDecimal) || requireDecimal) {\n const fraction = hasDecimal\n ? convertToMask(\n rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP, ''),\n )\n : [];\n const fractionCapped = decimalLimit\n ? fraction.slice(0, decimalLimit)\n : fraction;\n\n if (rawValue[decimalIndex] !== otherDecimalSymbol(decimalSymbol)) {\n mask.push(MASK_CARET_TRAP);\n }\n\n mask.push(decimalSymbol, MASK_CARET_TRAP, ...fractionCapped);\n\n for (let i = 0; i < decimalLimit - fractionCapped.length; i++) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n }\n\n const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === '0';\n\n if (isNegative) {\n if (mask.length === 0) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n\n mask.unshift('-');\n }\n\n return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);\n };\n}\n\nfunction preventLeadingZeroes(\n mask: Array<string | RegExp>,\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): Array<string | RegExp> {\n if (isOnlyZeroDigit || leadingZerosAmount === 0) {\n return mask;\n }\n\n const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);\n\n if (firstDigitIndex === -1) {\n return mask;\n }\n\n const secondMaskDigit = mask[firstDigitIndex + 1];\n const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;\n\n if (isCaretTrap && leadingZerosAmount === 1) {\n return mask;\n } else if (isCaretTrap) {\n mask.unshift(NON_ZERO_DIGIT);\n\n return mask;\n }\n\n mask[firstDigitIndex] = NON_ZERO_DIGIT;\n\n return mask;\n}\n\nfunction getDecimalSymbolIndex(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): number {\n if (!autoCorrectDecimalSymbol) {\n return str.lastIndexOf(decimalSymbol);\n }\n\n return Math.max(\n str.lastIndexOf(decimalSymbol),\n str.lastIndexOf(otherDecimalSymbol(decimalSymbol)),\n );\n}\n\nfunction isDecimalSymbol(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): boolean {\n if (autoCorrectDecimalSymbol) {\n return /^[,.]$/.test(str);\n }\n\n return str === decimalSymbol;\n}\n\nfunction convertToMask(strNumber: string): Array<string | RegExp> {\n return strNumber\n .split('')\n .map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));\n}\n\nfunction addThousandsSeparator(strNumber: string, thousandSymbol: string): string {\n return strNumber.length > 3\n ? strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","export function maskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case '':\n case '-':\n case ',':\n case '-,':\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function maskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join('').split(decimalsSymbol).join('.'),\n );\n}\n","import {\n CHAR_NO_BREAK_SPACE,\n getDocumentOrShadowRoot,\n isNativeFocused,\n isSafari,\n tuiAssert,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\n/**\n * Used to finish a number with zeros to a given precision\n */\nexport function tuiCreateAutoCorrectedNumberPipe(\n decimalLimit: number = 0,\n decimalSymbol: TuiDecimalSymbol = ',',\n thousandSymbol: string = CHAR_NO_BREAK_SPACE,\n nativeInput?: HTMLInputElement | null,\n allowNegative?: boolean,\n isIOS = false,\n): TuiTextMaskPipeHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n\n // Guess for which browser I need this :)\n let previousCaret = -1;\n const unlucky = (!!nativeInput && isSafari(nativeInput)) || isIOS;\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener('beforeinput', () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === '-' && allowNegative) {\n return '-';\n }\n\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && isNativeFocused(nativeInput)) {\n const caret = calculateSafariCaret(\n config.previousConformedValue,\n conformedValue,\n previousCaret,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(caret, caret);\n });\n }\n\n if (\n nativeInput &&\n nativeInput.ownerDocument !== getDocumentOrShadowRoot(nativeInput) &&\n isNativeFocused(nativeInput) &&\n config.currentCaretPosition\n ) {\n const realCaretPosition =\n config.currentCaretPosition +\n calculateCaretGap(\n config.previousConformedValue,\n conformedValue,\n thousandSymbol,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(realCaretPosition, realCaretPosition);\n });\n }\n\n if (conformedValue === '' || !decimalLimit) {\n return {value: conformedValue};\n }\n\n const withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);\n const decimalPart = withDecimalSymbol.split(decimalSymbol)[1];\n const zeroPaddingSize = decimalLimit - decimalPart.length;\n\n return {\n value: withDecimalSymbol + '0'.repeat(zeroPaddingSize),\n };\n };\n}\n\nfunction addDecimalSymbolIfNeeded(\n value: string,\n decimalSymbol: TuiDecimalSymbol = ',',\n): string {\n return !value.includes(decimalSymbol) ? value + decimalSymbol : value;\n}\n\nfunction calculateSafariCaret(\n previousValue: string = '',\n current: string,\n previousCaret: number,\n decimalSymbol: string = ',',\n): number {\n const tailRegex = new RegExp(`${decimalSymbol}.+`);\n const previousWithoutTail = previousValue.replace(tailRegex, '');\n const currentWithoutTail = current.replace(tailRegex, '');\n\n const pasteOrCutOperation =\n Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;\n\n if (pasteOrCutOperation) {\n return current.length;\n }\n\n if (previousValue.length === current.length) {\n if (previousValue.indexOf(decimalSymbol) <= previousCaret) {\n return calculateChangedTailIndex(previousValue, current);\n }\n\n return previousWithoutTail === currentWithoutTail\n ? previousCaret - 1\n : previousCaret + 1;\n }\n\n if (previousValue.length === 0) {\n return 1;\n }\n\n const changeLength = current.length - previousValue.length;\n\n return previousCaret + changeLength;\n}\n\nfunction calculateChangedTailIndex(previous: string, current: string): number {\n for (let i = 0; i < current.length; i++) {\n if (previous[i] !== current[i]) {\n return current[i] === '0' ? i : i + 1;\n }\n }\n\n return current.length;\n}\n\nfunction calculateCaretGap(\n previousValue: string = '',\n current: string,\n thousandSymbol: string,\n): number {\n const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;\n\n if (pasteOrCutOperation) {\n return 0;\n }\n\n const wereSpaces = previousValue.split(thousandSymbol).length;\n const nowSpaces = current.split(thousandSymbol).length;\n\n return nowSpaces - wereSpaces;\n}\n","import {tuiAssert} from '@taiga-ui/cdk';\nimport {MASK_CARET_TRAP} from '@taiga-ui/core/constants';\nimport {\n TuiTextMaskCorrectionHandler,\n TuiTextMaskList,\n TuiTextMaskListHandler,\n} from '@taiga-ui/core/mask';\n\nconst ASSERTION = 'Correction function must return single char or null';\n\nexport function tuiCreateCorrectionMask(\n allowed: RegExp,\n correctionHandler: TuiTextMaskCorrectionHandler,\n): TuiTextMaskListHandler {\n return rawValue => {\n const mask = rawValue.split('').reduce<TuiTextMaskList>((result, char, index) => {\n const corrected = correctionHandler(char, index);\n\n tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);\n\n if (!allowed.test(char) && !corrected) {\n return result;\n }\n\n if (allowed.test(char)) {\n return [...result, allowed];\n }\n\n if (corrected) {\n return [...result, corrected, MASK_CARET_TRAP];\n }\n\n return result;\n }, []);\n const lastIndex = mask.lastIndexOf(MASK_CARET_TRAP);\n const filtered = mask.filter(\n (item, index) => item !== MASK_CARET_TRAP || index === lastIndex,\n );\n\n return filtered.some(item => item !== allowed)\n ? [...filtered, allowed]\n : filtered;\n };\n}\n","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: NumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/core/utils/mask/create-number-mask.ts","ng://@taiga-ui/core/utils/mask/masked-money-value-is-empty.ts","ng://@taiga-ui/core/utils/mask/masked-number-string-to-number.ts","ng://@taiga-ui/core/utils/mask/create-auto-corrected-money-pipe.ts","ng://@taiga-ui/core/utils/mask/create-correction-mask.ts","ng://@taiga-ui/core/utils/mask/enable-auto-correct-decimal-symbol.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","__spread","arguments","length","concat","NON_ZERO_DIGIT","convertToMask","strNumber","split","map","char","TUI_DIGIT_REGEXP","test","CHAR_HYPHEN","decimalsSymbol","thousandSymbol","parseFloat","join","decimalLimit","decimalSymbol","nativeInput","allowNegative","isIOS","cdk","CHAR_NO_BREAK_SPACE","tuiAssert","assert","Number","isInteger","previousCaret","unlucky","isSafari","addEventListener","selectionStart","conformedValue","config","rawValue","isNativeFocused","caret_1","previousValue","current","tailRegex","RegExp","previousWithoutTail","replace","currentWithoutTail","Math","abs","indexOf","previous","calculateChangedTailIndex","changeLength","calculateSafariCaret","previousConformedValue","setTimeout","setSelectionRange","ownerDocument","getDocumentOrShadowRoot","currentCaretPosition","realCaretPosition_1","wereSpaces","calculateCaretGap","withDecimalSymbol","includes","addDecimalSymbolIfNeeded","decimalPart","zeroPaddingSize","repeat","allowed","correctionHandler","mask","reduce","result","index","corrected","MASK_CARET_TRAP","lastIndex","lastIndexOf","filtered","filter","item","some","_a","_b","_c","allowDecimal","_d","_e","_f","autoCorrectDecimalSymbol","_g","_h","requireDecimal","_j","_k","integerLimit","isNegative","CHAR_EN_DASH","str","isDecimalSymbol","slice","decimalIndex","max","otherDecimalSymbol","getDecimalSymbolIndex","hasDecimal","integer","thousandSeparators","match","integerCappedClean","TUI_NON_DIGITS_REGEXP","leadingZerosAmount","constants","TUI_LEADING_ZEROES_REGEXP","integerCappedZerosClean","trim","addThousandsSeparator","fraction","fractionCapped","apply","isOnlyZeroDigit","unshift","firstDigitIndex","isCaretTrap","preventLeadingZeroes","thousandSeparator","TUI_DECIMAL_SYMBOLS"],"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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(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, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, 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\n/** @deprecated */\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\n/** @deprecated */\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 __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, 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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, tuiAssert} from '@taiga-ui/cdk';\nimport {\n MASK_CARET_TRAP,\n TUI_DIGIT_REGEXP,\n TUI_LEADING_ZEROES_REGEXP,\n TUI_NON_DIGITS_REGEXP,\n} from '@taiga-ui/core/constants';\nimport {TuiNumberMaskOptions, TuiTextMaskListHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\nimport {otherDecimalSymbol} from '@taiga-ui/core/utils/format';\n\nconst NON_ZERO_DIGIT = /[1-9]/;\n\n/**\n * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}\n */\nexport function tuiCreateNumberMask({\n allowDecimal = false,\n decimalSymbol = ',',\n thousandSymbol = CHAR_NO_BREAK_SPACE,\n autoCorrectDecimalSymbol = true,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n integerLimit = 0,\n}: TuiNumberMaskOptions = {}): TuiTextMaskListHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n tuiAssert.assert(Number.isInteger(integerLimit));\n tuiAssert.assert(integerLimit >= 0);\n\n return (rawValue, {previousConformedValue}) => {\n if (previousConformedValue && requireDecimal) {\n const conformedWithoutSeparator = rawValue.split(thousandSymbol).join('');\n const previousConformedValueWithoutDecimalSymbolAndSeparator =\n previousConformedValue\n .split(thousandSymbol)\n .join('')\n .split(decimalSymbol)\n .join('');\n\n // Forbid removal of decimal separator if decimal part is required\n if (\n conformedWithoutSeparator ===\n previousConformedValueWithoutDecimalSymbolAndSeparator\n ) {\n rawValue = previousConformedValue;\n }\n }\n\n const isNegative =\n (rawValue[0] === CHAR_HYPHEN || rawValue[0] === CHAR_EN_DASH) &&\n allowNegative;\n\n if (\n isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&\n allowDecimal\n ) {\n return ['0', decimalSymbol, TUI_DIGIT_REGEXP];\n }\n\n if (isNegative) {\n rawValue = rawValue.slice(1);\n }\n\n const decimalIndex = getDecimalSymbolIndex(\n rawValue,\n decimalSymbol,\n autoCorrectDecimalSymbol,\n );\n const hasDecimal = decimalIndex !== -1;\n const integer = hasDecimal ? rawValue.slice(0, decimalIndex) : rawValue;\n const thousandSeparators = integer.match(new RegExp(thousandSymbol, 'g')) || [];\n const integerCapped = integerLimit\n ? integer.slice(0, integerLimit + thousandSeparators.length)\n : integer;\n const integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, '');\n const [leadingZerosMatch] = integerCappedClean.match(\n TUI_LEADING_ZEROES_REGEXP,\n ) || [''];\n const leadingZerosAmount = leadingZerosMatch.length;\n const integerCappedZerosClean = integerCappedClean\n .replace(/^0+(?!\\.|$)/, '')\n .trim();\n const withSeparator = addThousandsSeparator(\n integerCappedZerosClean,\n thousandSymbol,\n );\n const mask = convertToMask(withSeparator);\n\n if ((hasDecimal && allowDecimal) || requireDecimal) {\n const fraction = hasDecimal\n ? convertToMask(\n rawValue.slice(decimalIndex + 1).replace(TUI_NON_DIGITS_REGEXP, ''),\n )\n : [];\n const fractionCapped = decimalLimit\n ? fraction.slice(0, decimalLimit)\n : fraction;\n\n if (rawValue[decimalIndex] !== otherDecimalSymbol(decimalSymbol)) {\n mask.push(MASK_CARET_TRAP);\n }\n\n mask.push(decimalSymbol, MASK_CARET_TRAP, ...fractionCapped);\n\n for (let i = 0; i < decimalLimit - fractionCapped.length; i++) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n }\n\n const isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === '0';\n\n if (isNegative) {\n if (mask.length === 0) {\n mask.push(TUI_DIGIT_REGEXP);\n }\n\n mask.unshift(CHAR_HYPHEN);\n }\n\n return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);\n };\n}\n\nfunction preventLeadingZeroes(\n mask: Array<string | RegExp>,\n isOnlyZeroDigit: boolean = false,\n leadingZerosAmount: number = 0,\n): Array<string | RegExp> {\n if (isOnlyZeroDigit || leadingZerosAmount === 0) {\n return mask;\n }\n\n const firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);\n\n if (firstDigitIndex === -1) {\n return mask;\n }\n\n const secondMaskDigit = mask[firstDigitIndex + 1];\n const isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;\n\n if (isCaretTrap && leadingZerosAmount === 1) {\n return mask;\n } else if (isCaretTrap) {\n mask.unshift(NON_ZERO_DIGIT);\n\n return mask;\n }\n\n mask[firstDigitIndex] = NON_ZERO_DIGIT;\n\n return mask;\n}\n\nfunction getDecimalSymbolIndex(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): number {\n if (!autoCorrectDecimalSymbol) {\n return str.lastIndexOf(decimalSymbol);\n }\n\n return Math.max(\n str.lastIndexOf(decimalSymbol),\n str.lastIndexOf(otherDecimalSymbol(decimalSymbol)),\n );\n}\n\nfunction isDecimalSymbol(\n str: string,\n decimalSymbol: TuiDecimalSymbol,\n autoCorrectDecimalSymbol: boolean,\n): boolean {\n if (autoCorrectDecimalSymbol) {\n return /^[,.]$/.test(str);\n }\n\n return str === decimalSymbol;\n}\n\nfunction convertToMask(strNumber: string): Array<string | RegExp> {\n return strNumber\n .split('')\n .map(char => (TUI_DIGIT_REGEXP.test(char) ? TUI_DIGIT_REGEXP : char));\n}\n\nfunction addThousandsSeparator(strNumber: string, thousandSymbol: string): string {\n return strNumber.length > 3\n ? strNumber.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandSymbol)\n : strNumber;\n}\n","import {CHAR_HYPHEN} from '@taiga-ui/cdk';\n\nexport function maskedMoneyValueIsEmpty(value: string): boolean {\n switch (value) {\n case '':\n case CHAR_HYPHEN:\n case ',':\n case `${CHAR_HYPHEN},`:\n return true;\n default:\n return false;\n }\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function maskedNumberStringToNumber(\n value: string,\n decimalsSymbol: TuiDecimalSymbol,\n thousandSymbol: string,\n): number {\n return parseFloat(\n value.split(thousandSymbol).join('').split(decimalsSymbol).join('.'),\n );\n}\n","import {\n CHAR_HYPHEN,\n CHAR_NO_BREAK_SPACE,\n getDocumentOrShadowRoot,\n isNativeFocused,\n isSafari,\n tuiAssert,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core/mask';\nimport {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\n/**\n * Used to finish a number with zeros to a given precision\n */\nexport function tuiCreateAutoCorrectedNumberPipe(\n decimalLimit: number = 0,\n decimalSymbol: TuiDecimalSymbol = ',',\n thousandSymbol: string = CHAR_NO_BREAK_SPACE,\n nativeInput?: HTMLInputElement | null,\n allowNegative?: boolean,\n isIOS = false,\n): TuiTextMaskPipeHandler {\n tuiAssert.assert(Number.isInteger(decimalLimit));\n tuiAssert.assert(decimalLimit >= 0);\n\n // Guess for which browser I need this :)\n let previousCaret = -1;\n const unlucky = (!!nativeInput && isSafari(nativeInput)) || isIOS;\n\n if (nativeInput && unlucky) {\n nativeInput.addEventListener('beforeinput', () => {\n previousCaret = nativeInput.selectionStart || 0;\n });\n }\n\n return (conformedValue, config) => {\n // Removing everything by selecting and pressing '-'\n if (!conformedValue && config.rawValue === CHAR_HYPHEN && allowNegative) {\n return CHAR_HYPHEN;\n }\n\n // remove these hacks after text mask library has changed\n if (nativeInput && unlucky && isNativeFocused(nativeInput)) {\n const caret = calculateSafariCaret(\n config.previousConformedValue,\n conformedValue,\n previousCaret,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(caret, caret);\n });\n }\n\n if (\n nativeInput &&\n nativeInput.ownerDocument !== getDocumentOrShadowRoot(nativeInput) &&\n isNativeFocused(nativeInput) &&\n config.currentCaretPosition\n ) {\n const realCaretPosition =\n config.currentCaretPosition +\n calculateCaretGap(\n config.previousConformedValue,\n conformedValue,\n thousandSymbol,\n );\n\n setTimeout(() => {\n nativeInput.setSelectionRange(realCaretPosition, realCaretPosition);\n });\n }\n\n if (conformedValue === '' || !decimalLimit) {\n return {value: conformedValue};\n }\n\n const withDecimalSymbol = addDecimalSymbolIfNeeded(conformedValue, decimalSymbol);\n const decimalPart = withDecimalSymbol.split(decimalSymbol)[1];\n const zeroPaddingSize = decimalLimit - decimalPart.length;\n\n return {\n value: withDecimalSymbol + '0'.repeat(zeroPaddingSize),\n };\n };\n}\n\nfunction addDecimalSymbolIfNeeded(\n value: string,\n decimalSymbol: TuiDecimalSymbol = ',',\n): string {\n return !value.includes(decimalSymbol) ? value + decimalSymbol : value;\n}\n\nfunction calculateSafariCaret(\n previousValue: string = '',\n current: string,\n previousCaret: number,\n decimalSymbol: string = ',',\n): number {\n const tailRegex = new RegExp(`${decimalSymbol}.+`);\n const previousWithoutTail = previousValue.replace(tailRegex, '');\n const currentWithoutTail = current.replace(tailRegex, '');\n\n const pasteOrCutOperation =\n Math.abs(previousWithoutTail.length - currentWithoutTail.length) > 2;\n\n if (pasteOrCutOperation) {\n return current.length;\n }\n\n if (previousValue.length === current.length) {\n if (previousValue.indexOf(decimalSymbol) <= previousCaret) {\n return calculateChangedTailIndex(previousValue, current);\n }\n\n return previousWithoutTail === currentWithoutTail\n ? previousCaret - 1\n : previousCaret + 1;\n }\n\n if (previousValue.length === 0) {\n return 1;\n }\n\n const changeLength = current.length - previousValue.length;\n\n return previousCaret + changeLength;\n}\n\nfunction calculateChangedTailIndex(previous: string, current: string): number {\n for (let i = 0; i < current.length; i++) {\n if (previous[i] !== current[i]) {\n return current[i] === '0' ? i : i + 1;\n }\n }\n\n return current.length;\n}\n\nfunction calculateCaretGap(\n previousValue: string = '',\n current: string,\n thousandSymbol: string,\n): number {\n const pasteOrCutOperation = Math.abs(previousValue.length - current.length) > 2;\n\n if (pasteOrCutOperation) {\n return 0;\n }\n\n const wereSpaces = previousValue.split(thousandSymbol).length;\n const nowSpaces = current.split(thousandSymbol).length;\n\n return nowSpaces - wereSpaces;\n}\n","import {tuiAssert} from '@taiga-ui/cdk';\nimport {MASK_CARET_TRAP} from '@taiga-ui/core/constants';\nimport {\n TuiTextMaskCorrectionHandler,\n TuiTextMaskList,\n TuiTextMaskListHandler,\n} from '@taiga-ui/core/mask';\n\nconst ASSERTION = 'Correction function must return single char or null';\n\nexport function tuiCreateCorrectionMask(\n allowed: RegExp,\n correctionHandler: TuiTextMaskCorrectionHandler,\n): TuiTextMaskListHandler {\n return rawValue => {\n const mask = rawValue.split('').reduce<TuiTextMaskList>((result, char, index) => {\n const corrected = correctionHandler(char, index);\n\n tuiAssert.assert(corrected === null || corrected.length === 1, ASSERTION);\n\n if (!allowed.test(char) && !corrected) {\n return result;\n }\n\n if (allowed.test(char)) {\n return [...result, allowed];\n }\n\n if (corrected) {\n return [...result, corrected, MASK_CARET_TRAP];\n }\n\n return result;\n }, []);\n const lastIndex = mask.lastIndexOf(MASK_CARET_TRAP);\n const filtered = mask.filter(\n (item, index) => item !== MASK_CARET_TRAP || index === lastIndex,\n );\n\n return filtered.some(item => item !== allowed)\n ? [...filtered, allowed]\n : filtered;\n };\n}\n","import {TUI_DECIMAL_SYMBOLS} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport function tuiEnableAutoCorrectDecimalSymbol({\n thousandSeparator,\n}: TuiNumberFormatSettings): boolean {\n return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-utils-polyfills.umd.js","sources":["ng://@taiga-ui/core/utils/polyfills/inner-html.ts"],"sourcesContent":["import {TuiXmlParsingException} from '@taiga-ui/cdk';\n\n/**\n * @
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-utils-polyfills.umd.js","sources":["ng://@taiga-ui/core/utils/polyfills/inner-html.ts"],"sourcesContent":["import {TuiXmlParsingException} from '@taiga-ui/cdk';\n\n/**\n * @deprecated\n * TODO: remove in v3.0\n */\nexport function innerHTML(documentRef: Document): void {\n const svg = documentRef.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\n if (svg.innerHTML !== undefined) {\n return;\n }\n\n const serializer = new XMLSerializer();\n const parser = new DOMParser();\n\n Object.defineProperty(SVGElement.prototype, 'innerHTML', {\n get: function (this: SVGElement): string {\n const result: string[] = [];\n let childNode: any = this.firstChild;\n\n while (childNode) {\n result.push(serializer.serializeToString(childNode));\n childNode = childNode.nextSibling;\n }\n\n return result.join('');\n },\n set: function (this: SVGElement, text: string) {\n while (this.firstChild) {\n this.removeChild(this.firstChild);\n }\n\n try {\n const svgDocElement = parser.parseFromString(\n text,\n 'image/svg+xml',\n ).documentElement;\n\n if (this.ownerDocument) {\n this.appendChild(this.ownerDocument.importNode(svgDocElement, true));\n }\n } catch (e) {\n throw new TuiXmlParsingException();\n }\n },\n });\n}\n"],"names":["TuiXmlParsingException"],"mappings":";;;;;;IAEA;;;;aAIgB,SAAS,CAAC,WAAqB;QAC3C,IAAM,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QAE7E,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE;YAC7B,OAAO;SACV;QAED,IAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;QACvC,IAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAE/B,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE;YACrD,GAAG,EAAE;gBACD,IAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,IAAI,SAAS,GAAQ,IAAI,CAAC,UAAU,CAAC;gBAErC,OAAO,SAAS,EAAE;oBACd,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;oBACrD,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC;iBACrC;gBAED,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC1B;YACD,GAAG,EAAE,UAA4B,IAAY;gBACzC,OAAO,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACrC;gBAED,IAAI;oBACA,IAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CACxC,IAAI,EACJ,eAAe,CAClB,CAAC,eAAe,CAAC;oBAElB,IAAI,IAAI,CAAC,aAAa,EAAE;wBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;qBACxE;iBACJ;gBAAC,OAAO,CAAC,EAAE;oBACR,MAAM,IAAIA,0BAAsB,EAAE,CAAC;iBACtC;aACJ;SACJ,CAAC,CAAC;IACP;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ng://@taiga-ui/core/utils/polyfills/inner-html.ts"],"names":["documentRef","undefined","createElementNS","innerHTML","serializer","XMLSerializer","parser","DOMParser","Object","defineProperty","SVGElement","prototype","get","result","childNode","this","firstChild","push","serializeToString","nextSibling","join","set","text","removeChild","svgDocElement","parseFromString","documentElement","ownerDocument","appendChild","importNode","e","TuiXmlParsingException"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["ng://@taiga-ui/core/utils/polyfills/inner-html.ts"],"names":["documentRef","undefined","createElementNS","innerHTML","serializer","XMLSerializer","parser","DOMParser","Object","defineProperty","SVGElement","prototype","get","result","childNode","this","firstChild","push","serializeToString","nextSibling","join","set","text","removeChild","svgDocElement","parseFromString","documentElement","ownerDocument","appendChild","importNode","e","TuiXmlParsingException"],"mappings":"ucAM0BA,GAGtB,QAAsBC,IAFVD,EAAYE,gBAAgB,6BAA8B,OAE9DC,UAAR,CAIA,IAAMC,EAAa,IAAIC,cACjBC,EAAS,IAAIC,UAEnBC,OAAOC,eAAeC,WAAWC,UAAW,YAAa,CACrDC,IAAK,WAID,IAHA,IAAMC,EAAmB,GACrBC,EAAiBC,KAAKC,WAEnBF,GACHD,EAAOI,KAAKb,EAAWc,kBAAkBJ,IACzCA,EAAYA,EAAUK,YAG1B,OAAON,EAAOO,KAAK,KAEvBC,IAAK,SAA4BC,GAC7B,KAAOP,KAAKC,YACRD,KAAKQ,YAAYR,KAAKC,YAG1B,IACI,IAAMQ,EAAgBlB,EAAOmB,gBACzBH,EACA,iBACFI,gBAEEX,KAAKY,eACLZ,KAAKa,YAAYb,KAAKY,cAAcE,WAAWL,GAAe,IAEpE,MAAOM,GACL,MAAM,IAAIC,EAAAA","sourcesContent":["import {TuiXmlParsingException} from '@taiga-ui/cdk';\n\n/**\n * @deprecated\n * TODO: remove in v3.0\n */\nexport function innerHTML(documentRef: Document): void {\n const svg = documentRef.createElementNS('http://www.w3.org/2000/svg', 'svg');\n\n if (svg.innerHTML !== undefined) {\n return;\n }\n\n const serializer = new XMLSerializer();\n const parser = new DOMParser();\n\n Object.defineProperty(SVGElement.prototype, 'innerHTML', {\n get: function (this: SVGElement): string {\n const result: string[] = [];\n let childNode: any = this.firstChild;\n\n while (childNode) {\n result.push(serializer.serializeToString(childNode));\n childNode = childNode.nextSibling;\n }\n\n return result.join('');\n },\n set: function (this: SVGElement, text: string) {\n while (this.firstChild) {\n this.removeChild(this.firstChild);\n }\n\n try {\n const svgDocElement = parser.parseFromString(\n text,\n 'image/svg+xml',\n ).documentElement;\n\n if (this.ownerDocument) {\n this.appendChild(this.ownerDocument.importNode(svgDocElement, true));\n }\n } catch (e) {\n throw new TuiXmlParsingException();\n }\n },\n });\n}\n"]}
|
|
@@ -4,6 +4,7 @@ import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
|
|
|
4
4
|
import { TuiDataListHost } from '@taiga-ui/core/interfaces';
|
|
5
5
|
import { TuiOptionRole, TuiSizeL, TuiSizeXS } from '@taiga-ui/core/types';
|
|
6
6
|
import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
|
|
7
|
+
import { TuiDataListComponent } from '../data-list.component';
|
|
7
8
|
export declare function shouldFocus({ currentTarget, }: TuiEventWith<MouseEvent, HTMLElement>): boolean;
|
|
8
9
|
export declare class TuiOptionComponent<T = unknown> implements OnDestroy {
|
|
9
10
|
readonly content: PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>> | null;
|
|
@@ -15,7 +16,7 @@ export declare class TuiOptionComponent<T = unknown> implements OnDestroy {
|
|
|
15
16
|
role: TuiOptionRole;
|
|
16
17
|
disabled: boolean;
|
|
17
18
|
value?: T;
|
|
18
|
-
constructor(content: PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>> | null, dataList:
|
|
19
|
+
constructor(content: PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>> | null, dataList: TuiDataListComponent<T>, elementRef: ElementRef<HTMLElement>, host: TuiDataListHost<T> | null, dropdown: TuiDropdownDirective | null);
|
|
19
20
|
get active(): boolean;
|
|
20
21
|
onClick(): void;
|
|
21
22
|
onMouseMove({ currentTarget }: TuiEventWith<MouseEvent, HTMLElement>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"TuiDataListComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"tui-data-list","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":39,"character":21},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":40,"character":19},"member":"None"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_DATA_LIST_ACCESSOR","line":43,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDataListComponent"}}],"template":"<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n polymorpheus-outlet\n class=\"t-empty\"\n [content]=\"emptyContent || (defaultEmptyContent$ | async)\"\n></div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n","styles":["tui-data-list{display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:.5rem 0;color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;font:var(--tui-font-text-xs);flex-direction:column;line-height:2rem}tui-opt-group:empty:after,tui-opt-group:empty:before{display:none}tui-opt-group:before{content:attr(data-label);padding:0 1rem;color:var(--tui-text-02)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:1rem}tui-opt-group:not(:empty)~tui-opt-group:after{content:'';position:absolute;left:0;right:0;top:.5rem;height:1px;background:var(--tui-base-03)}"]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":49,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiOptionComponent"},{"descendants":true}]}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":55,"character":5},"arguments":["attr.role"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":56,"character":5}}]}],"emptyContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":60,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":64,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":65,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_NOTHING_FOUND_MESSAGE","line":65,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":64,"character":68,"context":{"typeName":"HTMLElement"},"module":"./data-list.component"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]}]}],"empty$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":69,"character":5}]}],"onFocusIn":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":74,"character":5},"arguments":["focusin",["$event.relatedTarget","$event.currentTarget"]]}]}],"noop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":81,"character":5},"arguments":["mousedown.prevent"]}]}],"onKeyDownArrow":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":84,"character":5},"arguments":["keydown.arrowDown.prevent",["$event.target","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":85,"character":5},"arguments":["keydown.arrowUp.prevent",["$event.target","-1"]]}]}],"handleFocusLossIfNecessary":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":93,"character":5},"arguments":["wheel.silent.passive",["$event.currentTarget"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":94,"character":5},"arguments":["mouseleave",["$event.target"]]}]}],"getOptions":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}]}},"TuiDataListDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"ng-template[tuiDataList]"}]}],"members":{}},"TuiDataListModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":14},{"__symbolic":"reference","module":"@taiga-ui/core/components/svg","name":"TuiSvgModule","line":12,"character":28},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":12,"character":42}],"declarations":[{"__symbolic":"reference","name":"TuiDataListComponent"},{"__symbolic":"reference","name":"TuiOptionComponent"},{"__symbolic":"reference","name":"TuiOptGroupDirective"},{"__symbolic":"reference","name":"TuiDataListDirective"},{"__symbolic":"reference","name":"TuiDataListDropdownManagerDirective"}],"exports":[{"__symbolic":"reference","name":"TuiDataListComponent"},{"__symbolic":"reference","name":"TuiOptionComponent"},{"__symbolic":"reference","name":"TuiOptGroupDirective"},{"__symbolic":"reference","name":"TuiDataListDirective"},{"__symbolic":"reference","name":"TuiDataListDropdownManagerDirective"}]}]}],"members":{}},"TuiDataListDropdownManagerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":30,"character":1},"arguments":[{"selector":"tui-data-list[tuiDataListDropdownManager]"}]}],"members":{"dropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":34,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":34,"character":21},{"descendants":true}]}]}],"elements":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":37,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":37,"character":21},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":37,"character":50},"descendants":true}]}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"elements$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":84,"character":5}]}],"right$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":92,"character":5}]}],"immediate$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":109,"character":5}]}],"debounce$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":122,"character":5}]}],"notInDropdown":[{"__symbolic":"method"}],"tryToFocus":[{"__symbolic":"method"}]}},"TuiOptGroupDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"tui-opt-group","host":{"role":"group"}}]}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":11,"character":5},"arguments":["attr.data-label"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":12,"character":5}}]}]}},"shouldFocus":{"__symbolic":"function","parameters":["currentTarget"],"value":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"isNativeFocused","line":33,"character":12},"arguments":[{"__symbolic":"reference","name":"currentTarget"}]}}},"TuiOptionComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"button[tuiOption], a[tuiOption]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":41,"character":21},"member":"OnPush"},"host":{"tabIndex":"-1","type":"button","[attr.disabled]":"disabled || null","$quoted$":["[attr.disabled]"]},"template":"<span\n *ngIf=\"content; else base\"\n polymorpheus-outlet\n class=\"t-content\"\n [content]=\"content\"\n [context]=\"{$implicit: base}\"\n></span>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n","styles":[":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:padding-box;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-m);width:100%;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);outline:0;text-decoration:none;cursor:pointer}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host._with-dropdown,:host:focus{background-color:var(--tui-base-02)}:host[data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .75rem}:host[data-size='s']{min-height:2rem;padding:.3125rem .75rem}:host[data-size='m']{min-height:2.75rem;padding:.375rem 1rem}:host[data-size='l']{min-height:3.5rem;padding:.75rem 1rem}.t-content{display:flex;flex:1;max-width:100%}.t-arrow{margin:0 -.5rem 0 .75rem}"]}]}],"members":{"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":50,"character":5},"arguments":["attr.data-size"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":51,"character":5}}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":55,"character":5},"arguments":["attr.role"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":56,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":60,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":68,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":69,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_OPTION_CONTENT","line":69,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":73,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiDataListComponent"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":76,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_DATA_LIST_HOST","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":79,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":80,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":81,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"PolymorpheusContent","module":"@tinkoff/ng-polymorpheus","arguments":[{"__symbolic":"reference","name":"TuiContextWithImplicit","module":"@taiga-ui/cdk","arguments":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":71,"character":47,"context":{"typeName":"Record"},"module":"./option/option.component"}]}]}]},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":75,"character":68,"context":{"typeName":"HTMLElement"},"module":"./option/option.component"}]},{"__symbolic":"reference","name":"TuiDataListHost","module":"@taiga-ui/core/interfaces","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":78,"character":47,"context":{"typeName":"T"},"module":"./option/option.component"}]},{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":82,"character":27}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":85,"character":5},"arguments":["class._with-dropdown"]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":90,"character":5},"arguments":["click"]}]}],"onMouseMove":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@tinkoff/ng-event-plugins","name":"shouldCall","line":98,"character":5},"arguments":[{"__symbolic":"reference","name":"shouldFocus"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":99,"character":5},"arguments":["mousemove.init",["$event"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":100,"character":5},"arguments":["mousemove.silent",["$event"]]}]}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"TuiDataListComponent":"./data-list.component","TuiDataListDirective":"./data-list.directive","TuiDataListModule":"./data-list.module","TuiDataListDropdownManagerDirective":"./data-list-dropdown-manager.directive","TuiOptGroupDirective":"./opt-group.directive","shouldFocus":"./option/option.component","TuiOptionComponent":"./option/option.component"},"importAs":"@taiga-ui/core/components/data-list"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TuiDataListComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"tui-data-list","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":39,"character":21},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":40,"character":19},"member":"None"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_DATA_LIST_ACCESSOR","line":43,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDataListComponent"}}],"template":"<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n polymorpheus-outlet\n class=\"t-empty\"\n [content]=\"emptyContent || (defaultEmptyContent$ | async)\"\n></div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n","styles":["tui-data-list{display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:.5rem 0;color:var(--tui-text-03)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list>.t-empty{margin:.75rem 1rem}tui-opt-group{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;font:var(--tui-font-text-xs);flex-direction:column;line-height:2rem}tui-opt-group:empty:after,tui-opt-group:empty:before{display:none}tui-opt-group:before{content:attr(data-label);padding:0 1rem;color:var(--tui-text-02)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:1rem}tui-opt-group:not(:empty)~tui-opt-group:after{content:'';position:absolute;left:0;right:0;top:.5rem;height:1px;background:var(--tui-base-03)}"]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":49,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiOptionComponent"},{"descendants":true}]}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":55,"character":5},"arguments":["attr.role"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":56,"character":5}}]}],"emptyContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":60,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":64,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":65,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_NOTHING_FOUND_MESSAGE","line":65,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":64,"character":68,"context":{"typeName":"HTMLElement"},"module":"./data-list.component"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]}]}],"empty$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":69,"character":5}]}],"onFocusIn":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":74,"character":5},"arguments":["focusin",["$event.relatedTarget","$event.currentTarget"]]}]}],"noop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":81,"character":5},"arguments":["mousedown.prevent"]}]}],"onKeyDownArrow":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":84,"character":5},"arguments":["keydown.arrowDown.prevent",["$event.target","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":85,"character":5},"arguments":["keydown.arrowUp.prevent",["$event.target","-1"]]}]}],"handleFocusLossIfNecessary":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":93,"character":5},"arguments":["wheel.silent.passive",["$event.currentTarget"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":94,"character":5},"arguments":["mouseleave",["$event.target"]]}]}],"getOptions":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}]}},"TuiDataListDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"ng-template[tuiDataList]"}]}],"members":{}},"TuiDataListModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":14},{"__symbolic":"reference","module":"@taiga-ui/core/components/svg","name":"TuiSvgModule","line":12,"character":28},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":12,"character":42}],"declarations":[{"__symbolic":"reference","name":"TuiDataListComponent"},{"__symbolic":"reference","name":"TuiOptionComponent"},{"__symbolic":"reference","name":"TuiOptGroupDirective"},{"__symbolic":"reference","name":"TuiDataListDirective"},{"__symbolic":"reference","name":"TuiDataListDropdownManagerDirective"}],"exports":[{"__symbolic":"reference","name":"TuiDataListComponent"},{"__symbolic":"reference","name":"TuiOptionComponent"},{"__symbolic":"reference","name":"TuiOptGroupDirective"},{"__symbolic":"reference","name":"TuiDataListDirective"},{"__symbolic":"reference","name":"TuiDataListDropdownManagerDirective"}]}]}],"members":{}},"TuiDataListDropdownManagerDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":30,"character":1},"arguments":[{"selector":"tui-data-list[tuiDataListDropdownManager]"}]}],"members":{"dropdowns":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":34,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":34,"character":21},{"descendants":true}]}]}],"elements":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":37,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":37,"character":21},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":37,"character":50},"descendants":true}]}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"elements$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":84,"character":5}]}],"right$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":92,"character":5}]}],"immediate$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":109,"character":5}]}],"debounce$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":122,"character":5}]}],"notInDropdown":[{"__symbolic":"method"}],"tryToFocus":[{"__symbolic":"method"}]}},"TuiOptGroupDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"tui-opt-group","host":{"role":"group"}}]}],"members":{"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":11,"character":5},"arguments":["attr.data-label"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":12,"character":5}}]}]}},"shouldFocus":{"__symbolic":"function","parameters":["currentTarget"],"value":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"isNativeFocused","line":33,"character":12},"arguments":[{"__symbolic":"reference","name":"currentTarget"}]}}},"TuiOptionComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"button[tuiOption], a[tuiOption]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":41,"character":21},"member":"OnPush"},"host":{"tabIndex":"-1","type":"button","[attr.disabled]":"disabled || null","$quoted$":["[attr.disabled]"]},"template":"<span\n *ngIf=\"content; else base\"\n polymorpheus-outlet\n class=\"t-content\"\n [content]=\"content\"\n [context]=\"{$implicit: base}\"\n></span>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n","styles":[":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:padding-box;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-m);width:100%;align-items:center;justify-content:space-between;text-align:left;box-sizing:border-box;color:var(--tui-text-01);outline:0;text-decoration:none;cursor:pointer}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host._with-dropdown,:host:focus{background-color:var(--tui-base-02)}:host[data-size=xs]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .75rem}:host[data-size='s']{min-height:2rem;padding:.3125rem .75rem}:host[data-size='m']{min-height:2.75rem;padding:.375rem 1rem}:host[data-size='l']{min-height:3.5rem;padding:.75rem 1rem}.t-content{display:flex;flex:1;max-width:100%}.t-arrow{margin:0 -.5rem 0 .75rem}"]}]}],"members":{"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":50,"character":5},"arguments":["attr.data-size"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":51,"character":5}}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":55,"character":5},"arguments":["attr.role"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":56,"character":5}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":60,"character":5}}]}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":68,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":69,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_OPTION_CONTENT","line":69,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":73,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiDataListComponent"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":76,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/tokens","name":"TUI_DATA_LIST_HOST","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":79,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":80,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":81,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"PolymorpheusContent","module":"@tinkoff/ng-polymorpheus","arguments":[{"__symbolic":"reference","name":"TuiContextWithImplicit","module":"@taiga-ui/cdk","arguments":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":71,"character":47,"context":{"typeName":"Record"},"module":"./option/option.component"}]}]}]},{"__symbolic":"reference","name":"TuiDataListComponent"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":75,"character":68,"context":{"typeName":"HTMLElement"},"module":"./option/option.component"}]},{"__symbolic":"reference","name":"TuiDataListHost","module":"@taiga-ui/core/interfaces","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":78,"character":47,"context":{"typeName":"T"},"module":"./option/option.component"}]},{"__symbolic":"reference","module":"@taiga-ui/core/directives/dropdown","name":"TuiDropdownDirective","line":82,"character":27}]}],"active":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":85,"character":5},"arguments":["class._with-dropdown"]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":90,"character":5},"arguments":["click"]}]}],"onMouseMove":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@tinkoff/ng-event-plugins","name":"shouldCall","line":98,"character":5},"arguments":[{"__symbolic":"reference","name":"shouldFocus"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":99,"character":5},"arguments":["mousemove.init",["$event"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":100,"character":5},"arguments":["mousemove.silent",["$event"]]}]}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"TuiDataListComponent":"./data-list.component","TuiDataListDirective":"./data-list.directive","TuiDataListModule":"./data-list.module","TuiDataListDropdownManagerDirective":"./data-list-dropdown-manager.directive","TuiOptGroupDirective":"./opt-group.directive","shouldFocus":"./option/option.component","TuiOptionComponent":"./option/option.component"},"importAs":"@taiga-ui/core/components/data-list"}
|