diff --git a/4047-es2015.28e6ce6ce0651ff4b2dd.js b/4047-es2015.28e6ce6ce0651ff4b2dd.js deleted file mode 100644 index 55dbc24ae..000000000 --- a/4047-es2015.28e6ce6ce0651ff4b2dd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkmaskito=self.webpackChunkmaskito||[]).push([[4047],{24047:function(t){t.exports="# Changelog\n\nAll notable changes to this project will be documented in this file. See\n[standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.\n\n## [1.5.0](https://github.com/taiga-family/maskito/compare/v1.4.0...v1.5.0) (2023-09-04)\n\n### Features\n\n- **core:** add IME composition support ([#467](https://github.com/taiga-family/maskito/issues/467))\n ([e7d664b](https://github.com/taiga-family/maskito/commit/e7d664b66a008a742c0a532e341b0e0bb0a0f759))\n- **demo:** documentation is now available at https://maskito.dev\n ([#392](https://github.com/taiga-family/maskito/issues/392))\n ([355f87f](https://github.com/taiga-family/maskito/commit/355f87fd536758bc2db59f760ed114d28264122a))\n\n### Bug Fixes\n\n- **kit:** `maskitoCaretGuard` doesn't work after focus on ``\n ([#462](https://github.com/taiga-family/maskito/issues/462))\n ([9f456da](https://github.com/taiga-family/maskito/commit/9f456dad7f7f9d02db4eb5993ecb5fb5aabfe613))\n- **kit:** `Number` should drop items from `decimalPseudoSeparators` if any is equal to `thousandSeparator`\n ([#390](https://github.com/taiga-family/maskito/issues/390))\n ([2107adc](https://github.com/taiga-family/maskito/commit/2107adc445ed26ce1507c5e0c534b668d7ae5b12))\n\n## [1.4.0](https://github.com/taiga-family/maskito/compare/v1.3.0...v1.4.0) (2023-07-27)\n\n### Features\n\n- **kit:** `Date` & `DateRange` support new modes `yyyy`, `mm/yyyy`, `yyyy/mm`\n ([#384](https://github.com/taiga-family/maskito/issues/384))\n ([7886d50](https://github.com/taiga-family/maskito/commit/7886d50012a76fec872816b6d5e2b7e67c931dd7))\n- **kit:** `Time` supports new mode `HH` ([#385](https://github.com/taiga-family/maskito/issues/385))\n ([3c7a3f6](https://github.com/taiga-family/maskito/commit/3c7a3f65a0013152473ba57af8da28012cb58f32))\n\n## [1.3.0](https://github.com/taiga-family/maskito/compare/v1.2.2...v1.3.0) (2023-07-24)\n\n### Features\n\n- **kit:** `DateRange` add configurable parameter `rangeSeparator`\n ([#376](https://github.com/taiga-family/maskito/issues/376))\n ([d904842](https://github.com/taiga-family/maskito/commit/d90484214da76f4c73ad925eef5fe391a154c499))\n\n### Bug Fixes\n\n- **kit:** `Number` has problems with run-time updates of postfix\n ([#380](https://github.com/taiga-family/maskito/issues/380))\n ([8210896](https://github.com/taiga-family/maskito/commit/8210896d2095a44e79a27a38e4c8745e2beccdb7))\n\n### [1.2.2](https://github.com/taiga-family/maskito/compare/v1.2.1...v1.2.2) (2023-07-19)\n\n### Bug Fixes\n\n- **kit:** `maskitoCaretGuard` should wait for `mouseup` before execution\n ([#372](https://github.com/taiga-family/maskito/issues/372))\n ([8554fea](https://github.com/taiga-family/maskito/commit/8554fead2a2474104f0674fb597cf86467274943))\n- **kit:** `Number` should remove repeated leading zeroes for integer part only on `blur`-event\n ([#373](https://github.com/taiga-family/maskito/issues/373))\n ([7cf4938](https://github.com/taiga-family/maskito/commit/7cf4938853ccbd049b89482f8eb22ab4e71fe01f))\n\n### [1.2.1](https://github.com/taiga-family/maskito/compare/v1.2.0...v1.2.1) (2023-07-11)\n\n### Bug Fixes\n\n- **kit:** `Number` with `postfix` should be compatible with `decimalZeroPadding`\n ([#364](https://github.com/taiga-family/maskito/issues/364))\n ([501cf9c](https://github.com/taiga-family/maskito/commit/501cf9c747229d1776fb62cc04fbc8879990c617))\n- **kit:** `Prefix`/`Postfix` is incompatible if they end/start with the same character\n ([#366](https://github.com/taiga-family/maskito/issues/366))\n ([06afbcb](https://github.com/taiga-family/maskito/commit/06afbcb4a2c5c15e2ef9dc81db4309adf01aa8ef))\n\n## [1.2.0](https://github.com/taiga-family/maskito/compare/v1.1.1...v1.2.0) (2023-07-03)\n\n### Features\n\n- **kit:** `maskitoCaretGuard`'s function has the 2nd argument with current selection range\n ([#358](https://github.com/taiga-family/maskito/issues/358))\n ([eedc4d6](https://github.com/taiga-family/maskito/commit/eedc4d610efaf36b98a4049f5c5334561b5b21c5))\n\n### Bug Fixes\n\n- **kit:** `maskitoCaretGuard` incorrectly validates the left side of constraints\n ([#356](https://github.com/taiga-family/maskito/issues/356))\n ([17ee90f](https://github.com/taiga-family/maskito/commit/17ee90fe055f6a8370d6ea75ff2b236fd498441e))\n- **kit:** `Number` should skip min/max validation if value does not contain any digits\n ([#359](https://github.com/taiga-family/maskito/issues/359))\n ([ed8221e](https://github.com/taiga-family/maskito/commit/ed8221e14eca62334af41b4c8e571eb86ed68247))\n\n### [1.1.1](https://github.com/taiga-family/maskito/compare/v1.1.0...v1.1.1) (2023-06-29)\n\n### Bug Fixes\n\n- **core:** don't ignore native attribute `maxlength` ([#350](https://github.com/taiga-family/maskito/issues/350))\n ([8504f49](https://github.com/taiga-family/maskito/commit/8504f497152931da06dd745763be2505587f97b4))\n- **kit:** `Number` should ignore new typed decimal separator if it already exists in text field\n ([#351](https://github.com/taiga-family/maskito/issues/351))\n ([4ccfdc8](https://github.com/taiga-family/maskito/commit/4ccfdc86ff08bcebfd18c04403aa9c9c83cbbd02))\n\n## [1.1.0](https://github.com/taiga-family/maskito/compare/v1.0.0...v1.1.0) (2023-06-23)\n\n### Features\n\n- **kit:** `maskitoEventHandler` accepts `AddEventListenerOptions` as the 3d optional argument\n ([#346](https://github.com/taiga-family/maskito/issues/346))\n ([1d5866e](https://github.com/taiga-family/maskito/commit/1d5866efa5e0e4736dd735ae006e027e9bd01e31))\n- **kit:** use capturing phase for `focus`/`blur` events in plugins\n ([#347](https://github.com/taiga-family/maskito/issues/347))\n ([ef539e1](https://github.com/taiga-family/maskito/commit/ef539e160f601023e513036d704f7daff9689286))\n\n### Bug Fixes\n\n- **kit:** `Date` allows to replace the whole selection range with zero\n ([#345](https://github.com/taiga-family/maskito/issues/345))\n ([98fd21d](https://github.com/taiga-family/maskito/commit/98fd21d50899db365b864faf597fad9a21a3db06))\n\n## [1.0.0](https://github.com/taiga-family/maskito/compare/v0.16.0...v1.0.0) (2023-06-21)\n\n### \u26a0 BREAKING CHANGES\n\n- **core:** delete deprecated `preprocessor` & `postprocessor` from `MaskitoOptions`\n ([#337](https://github.com/taiga-family/maskito/issues/337))\n ([0b6aad2](https://github.com/taiga-family/maskito/commit/0b6aad2622ed152d12c91f8ca64b767709ecdbc2))\n- **kit:** delete deprecated `isNegativeAllowed` parameter from `Number` mask\n ([#338](https://github.com/taiga-family/maskito/issues/338))\n ([9fd3005](https://github.com/taiga-family/maskito/commit/9fd30055b3157072076f7a8567045fac05b6af9e))\n\n## [0.16.0](https://github.com/taiga-family/maskito/compare/v0.15.0...v0.16.0) (2023-06-20)\n\n### Features\n\n- **vue:** support async predicate ([#336](https://github.com/taiga-family/maskito/issues/336))\n ([d1452b5](https://github.com/taiga-family/maskito/commit/d1452b5f1b2f8a252dfd05a5c1eb04ba971a1970))\n\n### Bug Fixes\n\n- **kit:** `Number` fails to parse small number on blur (exponential notation problem)\n ([#339](https://github.com/taiga-family/maskito/issues/339))\n ([7f83a7f](https://github.com/taiga-family/maskito/commit/7f83a7f170906c1911eb4444da2d636c0338ed4a))\n\n## [0.15.0](https://github.com/taiga-family/maskito/compare/v0.14.0...v0.15.0) (2023-06-14)\n\n### Features\n\n- **core:** add new parameters `preprocessors` & `postprocessors` and deprecate `preprocessor` & `postprocessor`\n ([#333](https://github.com/taiga-family/maskito/issues/333))\n ([0137775](https://github.com/taiga-family/maskito/commit/01377751a9875143257930934b1e2a9143b6da03))\n\n### Bug Fixes\n\n- **kit:** `maskitoParseNumber` should return `NaN` for all strings with no digits\n ([#331](https://github.com/taiga-family/maskito/issues/331))\n ([d1ebcec](https://github.com/taiga-family/maskito/commit/d1ebceceedf418b21a68082f7350002d09159ebf))\n- **kit:** `Number` incorrectly implements `min`/`max` behaviour\n ([#334](https://github.com/taiga-family/maskito/issues/334))\n ([9876d88](https://github.com/taiga-family/maskito/commit/9876d885f98f86d18db04d723460b468bca3837d))\n\n## [0.14.0](https://github.com/taiga-family/maskito/compare/v0.13.0...v0.14.0) (2023-06-09)\n\n### Features\n\n- **angular:** `[maskitoElement]` can accept asynchronous predicate\n ([#316](https://github.com/taiga-family/maskito/issues/316))\n ([3d8949e](https://github.com/taiga-family/maskito/commit/3d8949e878e644079b7f5404cb9ebf6c5eadab86))\n- **kit:** `Number` pads empty integer part with zero on blur (if decimal part exists)\n ([#328](https://github.com/taiga-family/maskito/issues/328))\n ([bd01967](https://github.com/taiga-family/maskito/commit/bd01967fba38be26a3c8f0d2f23c0ced12d3b1c2))\n\n## [0.13.0](https://github.com/taiga-family/maskito/compare/v0.12.1...v0.13.0) (2023-06-02)\n\n### Features\n\n- **core:** better layout-independent way to detect `Undo` and `Redo`\n ([#320](https://github.com/taiga-family/maskito/issues/320))\n ([4c5a7f6](https://github.com/taiga-family/maskito/commit/4c5a7f64b9a8ac209584c75e17ec022674b87c1b))\n- **vue:** add dedicated Vue package ([#321](https://github.com/taiga-family/maskito/issues/321))\n ([f6ffb24](https://github.com/taiga-family/maskito/commit/f6ffb24eca5f1a1a57a93103b9e74cdf410e4132))\n\n### [0.12.1](https://github.com/taiga-family/maskito/compare/v0.12.0...v0.12.1) (2023-05-25)\n\n### Bug Fixes\n\n- **kit:** `DateTime` validate min / max if date is complete\n ([#314](https://github.com/taiga-family/maskito/issues/314))\n ([5783e76](https://github.com/taiga-family/maskito/commit/5783e766a657abcf0fc7f8a8d12ac1bf412dc18a))\n- **kit:** `Time` & `DateTime` should accept time segment separator typed by user\n ([#317](https://github.com/taiga-family/maskito/issues/317))\n ([3bcac7f](https://github.com/taiga-family/maskito/commit/3bcac7f6566043991a9211f04db744a5ec6f019f))\n\n## [0.12.0](https://github.com/taiga-family/maskito/compare/v0.11.1...v0.12.0) (2023-05-19)\n\n### Features\n\n- **core:** add `plugins` to `MaskitoOptions` ([#305](https://github.com/taiga-family/maskito/issues/305))\n ([b512ae2](https://github.com/taiga-family/maskito/commit/b512ae2c64b2a2c6560e2e5c68d8c72952474c71))\n- **core:** expose `MaskitoMask`, `MaskitoPreprocessor`, `MaskitoPostprocessor` and `MaskitoPlugin`\n ([#307](https://github.com/taiga-family/maskito/issues/307))\n ([9315a9f](https://github.com/taiga-family/maskito/commit/9315a9f4620b3be86cf3b7af993861664f281a19))\n- **kit:** new `maskitoWithPlaceholder` utility ([#299](https://github.com/taiga-family/maskito/issues/299))\n ([21eb69c](https://github.com/taiga-family/maskito/commit/21eb69cfeb73bbe645d5a5879659ab8b6aadbf0c))\n\n### [0.11.1](https://github.com/taiga-family/maskito/compare/v0.11.0...v0.11.1) (2023-05-11)\n\n### Bug Fixes\n\n- **core:** `insertFromDrop` action behaves now in the same way as `insertFromPaste`\n ([#291](https://github.com/taiga-family/maskito/issues/291))\n ([58e0fcc](https://github.com/taiga-family/maskito/commit/58e0fccb7ddd3c741ffa3c8b99efbcf4571aab37))\n- **kit:** `Time` doesn't validate time segments on `drop` event\n ([#289](https://github.com/taiga-family/maskito/issues/289))\n ([0c6d1b9](https://github.com/taiga-family/maskito/commit/0c6d1b9917d0c86a98c0d215c38a0e2076ff5680))\n\n## [0.11.0](https://github.com/taiga-family/maskito/compare/v0.10.0...v0.11.0) (2023-05-02)\n\n### Features\n\n- **react:** new library `@maskito/react` ([#273](https://github.com/taiga-family/maskito/issues/273))\n ([4c2f755](https://github.com/taiga-family/maskito/commit/4c2f755bac9513689964af7fdb7f4deec56bfb52))\n\n## [0.10.0](https://github.com/taiga-family/maskito/compare/v0.9.0...v0.10.0) (2023-04-25)\n\n### Features\n\n- **kit:** `Number` keeps untouched decimal part if `precision: Infinity`\n ([#253](https://github.com/taiga-family/maskito/issues/253))\n ([261779e](https://github.com/taiga-family/maskito/commit/261779ead327397a61b27e634bc827ee70b718f4))\n- **kit:** `Number` supports new `prefix` & `postfix` parameters\n ([#264](https://github.com/taiga-family/maskito/issues/264))\n ([6e78581](https://github.com/taiga-family/maskito/commit/6e785818dabcde623d8c1c40a584166a0a66f5b6))\n- **kit:** new `maskitoPostfixPostprocessorGenerator` ([#257](https://github.com/taiga-family/maskito/issues/257))\n ([fdc86db](https://github.com/taiga-family/maskito/commit/fdc86dbad368bfc17efd1047b7d68d9622968bb0))\n\n### Bug Fixes\n\n- **kit:** `Number` fails to trim leading zeroes after deleting of leading digit\n ([#268](https://github.com/taiga-family/maskito/issues/268))\n ([4ae0010](https://github.com/taiga-family/maskito/commit/4ae0010ef2149694d22d7ae9eb8c9880120c8c75))\n- **kit:** `Number` should trim redundant thousand separators\n ([#267](https://github.com/taiga-family/maskito/issues/267))\n ([100b793](https://github.com/taiga-family/maskito/commit/100b79317a420103ca98a3b43fe646a6f77d19d5))\n- **kit:** fix first zero in short-format date-mask ([#251](https://github.com/taiga-family/maskito/issues/251))\n ([08bdfd2](https://github.com/taiga-family/maskito/commit/08bdfd26727777c3a6fc870e433003be2b64cc0e))\n\n## [0.9.0](https://github.com/taiga-family/maskito/compare/v0.8.1...v0.9.0) (2023-03-31)\n\n### Features\n\n- **kit:** new `maskitoPrefixPostprocessorGenerator` ([#235](https://github.com/taiga-family/maskito/issues/235))\n ([50f0d58](https://github.com/taiga-family/maskito/commit/50f0d58ccbfa22d15174d76479a9d642687db099))\n\n### Bug Fixes\n\n- **angular:** Jest throws `Class constructor DefaultValueAccessor cannot be invoked without 'new'`\n ([#232](https://github.com/taiga-family/maskito/issues/232))\n ([5089612](https://github.com/taiga-family/maskito/commit/508961288898a5fdd21cc0e26b23ecc8845f9068))\n\n### [0.8.1](https://github.com/taiga-family/maskito/compare/v0.8.0...v0.8.1) (2023-03-27)\n\n### Bug Fixes\n\n- `@maskito/core` & `@maskito/kit` now include both `UMD` and `ESM` module formats\n ([#227](https://github.com/taiga-family/maskito/issues/227))\n ([fa1c514](https://github.com/taiga-family/maskito/commit/fa1c514a5753e3bca20e8b0994e4bf9f1c0ab6a4))\n\n## [0.8.0](https://github.com/taiga-family/maskito/compare/v0.7.2...v0.8.0) (2023-03-23)\n\n### Features\n\n- **kit:** `DateRange` swaps dates if the 2nd date is less than the 1st one\n ([#212](https://github.com/taiga-family/maskito/issues/212))\n ([3efbb42](https://github.com/taiga-family/maskito/commit/3efbb42f2dd5c4e43ff514da7a82abfc7c4b3a38))\n\n### Bug Fixes\n\n- **core:** incorrect order of actions during update of native element\n ([#225](https://github.com/taiga-family/maskito/issues/225))\n ([394d5d9](https://github.com/taiga-family/maskito/commit/394d5d996bdb9d21229ea0301eb3f776bee05d30))\n\n### [0.7.2](https://github.com/taiga-family/maskito/compare/v0.7.1...v0.7.2) (2023-03-23)\n\n### Bug Fixes\n\n- **angular:** `@maskito/angular` should not depend on `@maskito/kit`\n ([#221](https://github.com/taiga-family/maskito/issues/221))\n ([0ae7b20](https://github.com/taiga-family/maskito/commit/0ae7b2089ec0436caa8dbb14d5c696ae93e9e7ed))\n- **angular:** `npm i @maskito/angular` throws `unable to resolve dependency tree`\n ([#220](https://github.com/taiga-family/maskito/issues/220))\n ([8b4d6e6](https://github.com/taiga-family/maskito/commit/8b4d6e6186db47f97d328186b7afd9af75a3889b))\n\n### [0.7.1](https://github.com/taiga-family/maskito/compare/v0.7.0...v0.7.1) (2023-03-22)\n\n### Bug Fixes\n\n- **angular:** use `@nrwl/angular:package` executor instead of `@nrwl/angular:ng-packagr-lite`\n ([#216](https://github.com/taiga-family/maskito/issues/216))\n ([164d015](https://github.com/taiga-family/maskito/commit/164d015c2f18a279e195b45329e84c0d023c9483))\n- **kit:** `Number` broken `Delete`-button navigation if `decimalZeroPadding=true`\n ([#211](https://github.com/taiga-family/maskito/issues/211))\n ([1b750d1](https://github.com/taiga-family/maskito/commit/1b750d135ebd53bfeda2ca734425de08a808b1af))\n\n## [0.7.0](https://github.com/taiga-family/maskito/compare/v0.6.0...v0.7.0) (2023-03-20)\n\n### Features\n\n- **core:** add `deleteSoftLineBackward` & `deleteSoftLineForward` support\n ([#207](https://github.com/taiga-family/maskito/issues/207))\n ([cbd5479](https://github.com/taiga-family/maskito/commit/cbd5479c04c07113804eee6ea6c9838ee8681597))\n- **kit:** use 1 as min segment value in `Date`-related masks\n ([#197](https://github.com/taiga-family/maskito/issues/197))\n ([c85ca23](https://github.com/taiga-family/maskito/commit/c85ca2355cb0b6fcef73f3e7497f7c31fa82c87c))\n\n### Bug Fixes\n\n- **core:** `Maskito` losses valid characters on invalid insertion (`overwriteMode: replace`)\n ([#208](https://github.com/taiga-family/maskito/issues/208))\n ([ef183b4](https://github.com/taiga-family/maskito/commit/ef183b454e4a7db5b2cb48cbe26129bf303f676a))\n- **kit:** `Number` should drop leading zeroes for negative numbers\n ([#204](https://github.com/taiga-family/maskito/issues/204))\n ([6e9adf7](https://github.com/taiga-family/maskito/commit/6e9adf758aa585944ee08f2e2aff81a5664adefd))\n\n## [0.6.0](https://github.com/taiga-family/maskito/compare/v0.5.0...v0.6.0) (2023-03-15)\n\n### Features\n\n- **angular:** add CVA and pipe ([#187](https://github.com/taiga-family/maskito/issues/187))\n ([a099257](https://github.com/taiga-family/maskito/commit/a099257a16b569444cdae9276ce66e9a806f531e))\n- **core:** add `deleteWordBackward` & `deleteWordForward` support\n ([#193](https://github.com/taiga-family/maskito/issues/193))\n ([24b761c](https://github.com/taiga-family/maskito/commit/24b761c84d0947df5e4c78a2114f1de8f6ca20f4))\n\n### Bug Fixes\n\n- **core:** show trailing fixed characters + duplicated fixed character on `Drop`\n ([#185](https://github.com/taiga-family/maskito/issues/185))\n ([c7f6a1b](https://github.com/taiga-family/maskito/commit/c7f6a1bb8098b5641ed8c6921c2ebc86c6135b58))\n- **kit:** `maskitoParseNumber` incorrectly parses negative numbers\n ([#190](https://github.com/taiga-family/maskito/issues/190))\n ([d713bd1](https://github.com/taiga-family/maskito/commit/d713bd143e5090870a406ea14498cb99843bb9d0))\n- **kit:** `Number` should drop decimal part on paste from clipboard if `precision=0`\n ([#195](https://github.com/taiga-family/maskito/issues/195))\n ([ba85c38](https://github.com/taiga-family/maskito/commit/ba85c38ec0c81a22ff758f4ba386d045ac49ffd5))\n\n## [0.5.0](https://github.com/taiga-family/maskito/compare/v0.4.0...v0.5.0) (2023-03-09)\n\n### Features\n\n- **core:** new utility `maskitoTransform(value, maskitoOptions)`\n ([#177](https://github.com/taiga-family/maskito/issues/177))\n ([20316f1](https://github.com/taiga-family/maskito/commit/20316f15e153bfeeb45eda6406b8792e00f3238f))\n- **kit:** new utility `maskitoParseNumber` ([#178](https://github.com/taiga-family/maskito/issues/178))\n ([fc58141](https://github.com/taiga-family/maskito/commit/fc58141625ecbdc7d804aa382a69b38bf7146fc4))\n\n### Bug Fixes\n\n- **kit:** `Number` mask throws an error on empty string in `thousandSeparator`\n ([#176](https://github.com/taiga-family/maskito/issues/176))\n ([cd52fad](https://github.com/taiga-family/maskito/commit/cd52fad80bc278f171dafa1709c54cba3f8fbc81))\n\n## [0.4.0](https://github.com/taiga-family/maskito/compare/v0.3.0...v0.4.0) (2023-03-02)\n\n### Features\n\n- **angular:** `maskitoElement` add new input ([#164](https://github.com/taiga-family/maskito/issues/164))\n ([407c131](https://github.com/taiga-family/maskito/commit/407c131d2d8f8514173ad7a5e248759e2d4f8abc))\n\n### Bug Fixes\n\n- **kit:** `Number` pads empty integer part when paste from clipboard\n ([#168](https://github.com/taiga-family/maskito/issues/168))\n ([d043a82](https://github.com/taiga-family/maskito/commit/d043a82561cbed94b19d59d174fa6da7f08d49d4))\n\n## [0.3.0](https://github.com/taiga-family/maskito/compare/v0.2.0...v0.3.0) (2023-03-01)\n\n### Features\n\n- **angular:** add other maskito packages to `ng-update.packageGroup` of `package.json`\n ([#161](https://github.com/taiga-family/maskito/issues/161))\n ([bdecdaa](https://github.com/taiga-family/maskito/commit/bdecdaa9cac2681e35191cabd2d5d853eb97a09d))\n\n### Bug Fixes\n\n- **kit:** `Date`-mask fix wrong year that appears using the min property\n ([#157](https://github.com/taiga-family/maskito/issues/157))\n ([544e891](https://github.com/taiga-family/maskito/commit/544e8912d2752e0fc8f77757e935070b94823f65))\n\n## [0.2.0](https://github.com/taiga-family/maskito/compare/v0.1.1...v0.2.0) (2023-02-28)\n\n### Features\n\n- **kit:** new `DateTime` mask ([#146](https://github.com/taiga-family/maskito/issues/146))\n ([6d6b2c1](https://github.com/taiga-family/maskito/commit/6d6b2c17b5c0f62bc804451524cd4b2ce3e50660))\n\n### Bug Fixes\n\n- **kit:** `Number` is now replacing hyphen, en-dash and em-dash with minus sign\n ([#153](https://github.com/taiga-family/maskito/issues/153))\n ([1f21f11](https://github.com/taiga-family/maskito/commit/1f21f1159baadcef65e49bacaec77eba3b6f36d8))\n\n### [0.1.1](https://github.com/taiga-family/maskito/compare/v0.1.0...v0.1.1) (2023-02-15)\n\n### Bug Fixes\n\n- **core:** `Module parse failed: 'import' and 'export' may appear only with 'sourceType: module'`\n ([#131](https://github.com/taiga-family/maskito/issues/131))\n ([41e05c0](https://github.com/taiga-family/maskito/commit/41e05c09e41ed611e0c2b9aa07a953dfbe049da7))\n\n## 0.1.0 (2023-02-14)\n\nThis release introduces the first publishing of the following packages:\n\n- `@maskito/core`
It is the main zero-dependency and framework-agnostic package. It can be used alone in Vanilla\n JavaScript project. It listens `beforeinput` and `input` events to validate and calibrate textfield's value.
\n Read more: https://maskito.dev/core-concepts/overview\n- `@maskito/kit`
The optional framework-agnostic package. It contains ready-to-use masks with configurable\n parameters. This release introduces the following masks:\n - [Number](https://maskito.dev/kit/number)\n - [Time](https://maskito.dev/kit/time)\n - [Date](https://maskito.dev/kit/date)\n - [DateRange](https://maskito.dev/kit/date-range)\n- `@maskito/angular`
The Angular-specific library. It provides two convenient ways of using Maskito:\n - Basic directive approach (when developer has direct access to native input element).\n - Dependency Injection approach (when native input element is hidden somewhere deep inside another component).\n"}}]); \ No newline at end of file diff --git a/4047-es5.28e6ce6ce0651ff4b2dd.js b/4047-es5.28e6ce6ce0651ff4b2dd.js deleted file mode 100644 index 4b070d87e..000000000 --- a/4047-es5.28e6ce6ce0651ff4b2dd.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";(self.webpackChunkmaskito=self.webpackChunkmaskito||[]).push([[4047],{24047:function(t){t.exports="# Changelog\n\nAll notable changes to this project will be documented in this file. See\n[standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.\n\n## [1.5.0](https://github.com/taiga-family/maskito/compare/v1.4.0...v1.5.0) (2023-09-04)\n\n### Features\n\n- **core:** add IME composition support ([#467](https://github.com/taiga-family/maskito/issues/467))\n ([e7d664b](https://github.com/taiga-family/maskito/commit/e7d664b66a008a742c0a532e341b0e0bb0a0f759))\n- **demo:** documentation is now available at https://maskito.dev\n ([#392](https://github.com/taiga-family/maskito/issues/392))\n ([355f87f](https://github.com/taiga-family/maskito/commit/355f87fd536758bc2db59f760ed114d28264122a))\n\n### Bug Fixes\n\n- **kit:** `maskitoCaretGuard` doesn't work after focus on ``\n ([#462](https://github.com/taiga-family/maskito/issues/462))\n ([9f456da](https://github.com/taiga-family/maskito/commit/9f456dad7f7f9d02db4eb5993ecb5fb5aabfe613))\n- **kit:** `Number` should drop items from `decimalPseudoSeparators` if any is equal to `thousandSeparator`\n ([#390](https://github.com/taiga-family/maskito/issues/390))\n ([2107adc](https://github.com/taiga-family/maskito/commit/2107adc445ed26ce1507c5e0c534b668d7ae5b12))\n\n## [1.4.0](https://github.com/taiga-family/maskito/compare/v1.3.0...v1.4.0) (2023-07-27)\n\n### Features\n\n- **kit:** `Date` & `DateRange` support new modes `yyyy`, `mm/yyyy`, `yyyy/mm`\n ([#384](https://github.com/taiga-family/maskito/issues/384))\n ([7886d50](https://github.com/taiga-family/maskito/commit/7886d50012a76fec872816b6d5e2b7e67c931dd7))\n- **kit:** `Time` supports new mode `HH` ([#385](https://github.com/taiga-family/maskito/issues/385))\n ([3c7a3f6](https://github.com/taiga-family/maskito/commit/3c7a3f65a0013152473ba57af8da28012cb58f32))\n\n## [1.3.0](https://github.com/taiga-family/maskito/compare/v1.2.2...v1.3.0) (2023-07-24)\n\n### Features\n\n- **kit:** `DateRange` add configurable parameter `rangeSeparator`\n ([#376](https://github.com/taiga-family/maskito/issues/376))\n ([d904842](https://github.com/taiga-family/maskito/commit/d90484214da76f4c73ad925eef5fe391a154c499))\n\n### Bug Fixes\n\n- **kit:** `Number` has problems with run-time updates of postfix\n ([#380](https://github.com/taiga-family/maskito/issues/380))\n ([8210896](https://github.com/taiga-family/maskito/commit/8210896d2095a44e79a27a38e4c8745e2beccdb7))\n\n### [1.2.2](https://github.com/taiga-family/maskito/compare/v1.2.1...v1.2.2) (2023-07-19)\n\n### Bug Fixes\n\n- **kit:** `maskitoCaretGuard` should wait for `mouseup` before execution\n ([#372](https://github.com/taiga-family/maskito/issues/372))\n ([8554fea](https://github.com/taiga-family/maskito/commit/8554fead2a2474104f0674fb597cf86467274943))\n- **kit:** `Number` should remove repeated leading zeroes for integer part only on `blur`-event\n ([#373](https://github.com/taiga-family/maskito/issues/373))\n ([7cf4938](https://github.com/taiga-family/maskito/commit/7cf4938853ccbd049b89482f8eb22ab4e71fe01f))\n\n### [1.2.1](https://github.com/taiga-family/maskito/compare/v1.2.0...v1.2.1) (2023-07-11)\n\n### Bug Fixes\n\n- **kit:** `Number` with `postfix` should be compatible with `decimalZeroPadding`\n ([#364](https://github.com/taiga-family/maskito/issues/364))\n ([501cf9c](https://github.com/taiga-family/maskito/commit/501cf9c747229d1776fb62cc04fbc8879990c617))\n- **kit:** `Prefix`/`Postfix` is incompatible if they end/start with the same character\n ([#366](https://github.com/taiga-family/maskito/issues/366))\n ([06afbcb](https://github.com/taiga-family/maskito/commit/06afbcb4a2c5c15e2ef9dc81db4309adf01aa8ef))\n\n## [1.2.0](https://github.com/taiga-family/maskito/compare/v1.1.1...v1.2.0) (2023-07-03)\n\n### Features\n\n- **kit:** `maskitoCaretGuard`'s function has the 2nd argument with current selection range\n ([#358](https://github.com/taiga-family/maskito/issues/358))\n ([eedc4d6](https://github.com/taiga-family/maskito/commit/eedc4d610efaf36b98a4049f5c5334561b5b21c5))\n\n### Bug Fixes\n\n- **kit:** `maskitoCaretGuard` incorrectly validates the left side of constraints\n ([#356](https://github.com/taiga-family/maskito/issues/356))\n ([17ee90f](https://github.com/taiga-family/maskito/commit/17ee90fe055f6a8370d6ea75ff2b236fd498441e))\n- **kit:** `Number` should skip min/max validation if value does not contain any digits\n ([#359](https://github.com/taiga-family/maskito/issues/359))\n ([ed8221e](https://github.com/taiga-family/maskito/commit/ed8221e14eca62334af41b4c8e571eb86ed68247))\n\n### [1.1.1](https://github.com/taiga-family/maskito/compare/v1.1.0...v1.1.1) (2023-06-29)\n\n### Bug Fixes\n\n- **core:** don't ignore native attribute `maxlength` ([#350](https://github.com/taiga-family/maskito/issues/350))\n ([8504f49](https://github.com/taiga-family/maskito/commit/8504f497152931da06dd745763be2505587f97b4))\n- **kit:** `Number` should ignore new typed decimal separator if it already exists in text field\n ([#351](https://github.com/taiga-family/maskito/issues/351))\n ([4ccfdc8](https://github.com/taiga-family/maskito/commit/4ccfdc86ff08bcebfd18c04403aa9c9c83cbbd02))\n\n## [1.1.0](https://github.com/taiga-family/maskito/compare/v1.0.0...v1.1.0) (2023-06-23)\n\n### Features\n\n- **kit:** `maskitoEventHandler` accepts `AddEventListenerOptions` as the 3d optional argument\n ([#346](https://github.com/taiga-family/maskito/issues/346))\n ([1d5866e](https://github.com/taiga-family/maskito/commit/1d5866efa5e0e4736dd735ae006e027e9bd01e31))\n- **kit:** use capturing phase for `focus`/`blur` events in plugins\n ([#347](https://github.com/taiga-family/maskito/issues/347))\n ([ef539e1](https://github.com/taiga-family/maskito/commit/ef539e160f601023e513036d704f7daff9689286))\n\n### Bug Fixes\n\n- **kit:** `Date` allows to replace the whole selection range with zero\n ([#345](https://github.com/taiga-family/maskito/issues/345))\n ([98fd21d](https://github.com/taiga-family/maskito/commit/98fd21d50899db365b864faf597fad9a21a3db06))\n\n## [1.0.0](https://github.com/taiga-family/maskito/compare/v0.16.0...v1.0.0) (2023-06-21)\n\n### \u26a0 BREAKING CHANGES\n\n- **core:** delete deprecated `preprocessor` & `postprocessor` from `MaskitoOptions`\n ([#337](https://github.com/taiga-family/maskito/issues/337))\n ([0b6aad2](https://github.com/taiga-family/maskito/commit/0b6aad2622ed152d12c91f8ca64b767709ecdbc2))\n- **kit:** delete deprecated `isNegativeAllowed` parameter from `Number` mask\n ([#338](https://github.com/taiga-family/maskito/issues/338))\n ([9fd3005](https://github.com/taiga-family/maskito/commit/9fd30055b3157072076f7a8567045fac05b6af9e))\n\n## [0.16.0](https://github.com/taiga-family/maskito/compare/v0.15.0...v0.16.0) (2023-06-20)\n\n### Features\n\n- **vue:** support async predicate ([#336](https://github.com/taiga-family/maskito/issues/336))\n ([d1452b5](https://github.com/taiga-family/maskito/commit/d1452b5f1b2f8a252dfd05a5c1eb04ba971a1970))\n\n### Bug Fixes\n\n- **kit:** `Number` fails to parse small number on blur (exponential notation problem)\n ([#339](https://github.com/taiga-family/maskito/issues/339))\n ([7f83a7f](https://github.com/taiga-family/maskito/commit/7f83a7f170906c1911eb4444da2d636c0338ed4a))\n\n## [0.15.0](https://github.com/taiga-family/maskito/compare/v0.14.0...v0.15.0) (2023-06-14)\n\n### Features\n\n- **core:** add new parameters `preprocessors` & `postprocessors` and deprecate `preprocessor` & `postprocessor`\n ([#333](https://github.com/taiga-family/maskito/issues/333))\n ([0137775](https://github.com/taiga-family/maskito/commit/01377751a9875143257930934b1e2a9143b6da03))\n\n### Bug Fixes\n\n- **kit:** `maskitoParseNumber` should return `NaN` for all strings with no digits\n ([#331](https://github.com/taiga-family/maskito/issues/331))\n ([d1ebcec](https://github.com/taiga-family/maskito/commit/d1ebceceedf418b21a68082f7350002d09159ebf))\n- **kit:** `Number` incorrectly implements `min`/`max` behaviour\n ([#334](https://github.com/taiga-family/maskito/issues/334))\n ([9876d88](https://github.com/taiga-family/maskito/commit/9876d885f98f86d18db04d723460b468bca3837d))\n\n## [0.14.0](https://github.com/taiga-family/maskito/compare/v0.13.0...v0.14.0) (2023-06-09)\n\n### Features\n\n- **angular:** `[maskitoElement]` can accept asynchronous predicate\n ([#316](https://github.com/taiga-family/maskito/issues/316))\n ([3d8949e](https://github.com/taiga-family/maskito/commit/3d8949e878e644079b7f5404cb9ebf6c5eadab86))\n- **kit:** `Number` pads empty integer part with zero on blur (if decimal part exists)\n ([#328](https://github.com/taiga-family/maskito/issues/328))\n ([bd01967](https://github.com/taiga-family/maskito/commit/bd01967fba38be26a3c8f0d2f23c0ced12d3b1c2))\n\n## [0.13.0](https://github.com/taiga-family/maskito/compare/v0.12.1...v0.13.0) (2023-06-02)\n\n### Features\n\n- **core:** better layout-independent way to detect `Undo` and `Redo`\n ([#320](https://github.com/taiga-family/maskito/issues/320))\n ([4c5a7f6](https://github.com/taiga-family/maskito/commit/4c5a7f64b9a8ac209584c75e17ec022674b87c1b))\n- **vue:** add dedicated Vue package ([#321](https://github.com/taiga-family/maskito/issues/321))\n ([f6ffb24](https://github.com/taiga-family/maskito/commit/f6ffb24eca5f1a1a57a93103b9e74cdf410e4132))\n\n### [0.12.1](https://github.com/taiga-family/maskito/compare/v0.12.0...v0.12.1) (2023-05-25)\n\n### Bug Fixes\n\n- **kit:** `DateTime` validate min / max if date is complete\n ([#314](https://github.com/taiga-family/maskito/issues/314))\n ([5783e76](https://github.com/taiga-family/maskito/commit/5783e766a657abcf0fc7f8a8d12ac1bf412dc18a))\n- **kit:** `Time` & `DateTime` should accept time segment separator typed by user\n ([#317](https://github.com/taiga-family/maskito/issues/317))\n ([3bcac7f](https://github.com/taiga-family/maskito/commit/3bcac7f6566043991a9211f04db744a5ec6f019f))\n\n## [0.12.0](https://github.com/taiga-family/maskito/compare/v0.11.1...v0.12.0) (2023-05-19)\n\n### Features\n\n- **core:** add `plugins` to `MaskitoOptions` ([#305](https://github.com/taiga-family/maskito/issues/305))\n ([b512ae2](https://github.com/taiga-family/maskito/commit/b512ae2c64b2a2c6560e2e5c68d8c72952474c71))\n- **core:** expose `MaskitoMask`, `MaskitoPreprocessor`, `MaskitoPostprocessor` and `MaskitoPlugin`\n ([#307](https://github.com/taiga-family/maskito/issues/307))\n ([9315a9f](https://github.com/taiga-family/maskito/commit/9315a9f4620b3be86cf3b7af993861664f281a19))\n- **kit:** new `maskitoWithPlaceholder` utility ([#299](https://github.com/taiga-family/maskito/issues/299))\n ([21eb69c](https://github.com/taiga-family/maskito/commit/21eb69cfeb73bbe645d5a5879659ab8b6aadbf0c))\n\n### [0.11.1](https://github.com/taiga-family/maskito/compare/v0.11.0...v0.11.1) (2023-05-11)\n\n### Bug Fixes\n\n- **core:** `insertFromDrop` action behaves now in the same way as `insertFromPaste`\n ([#291](https://github.com/taiga-family/maskito/issues/291))\n ([58e0fcc](https://github.com/taiga-family/maskito/commit/58e0fccb7ddd3c741ffa3c8b99efbcf4571aab37))\n- **kit:** `Time` doesn't validate time segments on `drop` event\n ([#289](https://github.com/taiga-family/maskito/issues/289))\n ([0c6d1b9](https://github.com/taiga-family/maskito/commit/0c6d1b9917d0c86a98c0d215c38a0e2076ff5680))\n\n## [0.11.0](https://github.com/taiga-family/maskito/compare/v0.10.0...v0.11.0) (2023-05-02)\n\n### Features\n\n- **react:** new library `@maskito/react` ([#273](https://github.com/taiga-family/maskito/issues/273))\n ([4c2f755](https://github.com/taiga-family/maskito/commit/4c2f755bac9513689964af7fdb7f4deec56bfb52))\n\n## [0.10.0](https://github.com/taiga-family/maskito/compare/v0.9.0...v0.10.0) (2023-04-25)\n\n### Features\n\n- **kit:** `Number` keeps untouched decimal part if `precision: Infinity`\n ([#253](https://github.com/taiga-family/maskito/issues/253))\n ([261779e](https://github.com/taiga-family/maskito/commit/261779ead327397a61b27e634bc827ee70b718f4))\n- **kit:** `Number` supports new `prefix` & `postfix` parameters\n ([#264](https://github.com/taiga-family/maskito/issues/264))\n ([6e78581](https://github.com/taiga-family/maskito/commit/6e785818dabcde623d8c1c40a584166a0a66f5b6))\n- **kit:** new `maskitoPostfixPostprocessorGenerator` ([#257](https://github.com/taiga-family/maskito/issues/257))\n ([fdc86db](https://github.com/taiga-family/maskito/commit/fdc86dbad368bfc17efd1047b7d68d9622968bb0))\n\n### Bug Fixes\n\n- **kit:** `Number` fails to trim leading zeroes after deleting of leading digit\n ([#268](https://github.com/taiga-family/maskito/issues/268))\n ([4ae0010](https://github.com/taiga-family/maskito/commit/4ae0010ef2149694d22d7ae9eb8c9880120c8c75))\n- **kit:** `Number` should trim redundant thousand separators\n ([#267](https://github.com/taiga-family/maskito/issues/267))\n ([100b793](https://github.com/taiga-family/maskito/commit/100b79317a420103ca98a3b43fe646a6f77d19d5))\n- **kit:** fix first zero in short-format date-mask ([#251](https://github.com/taiga-family/maskito/issues/251))\n ([08bdfd2](https://github.com/taiga-family/maskito/commit/08bdfd26727777c3a6fc870e433003be2b64cc0e))\n\n## [0.9.0](https://github.com/taiga-family/maskito/compare/v0.8.1...v0.9.0) (2023-03-31)\n\n### Features\n\n- **kit:** new `maskitoPrefixPostprocessorGenerator` ([#235](https://github.com/taiga-family/maskito/issues/235))\n ([50f0d58](https://github.com/taiga-family/maskito/commit/50f0d58ccbfa22d15174d76479a9d642687db099))\n\n### Bug Fixes\n\n- **angular:** Jest throws `Class constructor DefaultValueAccessor cannot be invoked without 'new'`\n ([#232](https://github.com/taiga-family/maskito/issues/232))\n ([5089612](https://github.com/taiga-family/maskito/commit/508961288898a5fdd21cc0e26b23ecc8845f9068))\n\n### [0.8.1](https://github.com/taiga-family/maskito/compare/v0.8.0...v0.8.1) (2023-03-27)\n\n### Bug Fixes\n\n- `@maskito/core` & `@maskito/kit` now include both `UMD` and `ESM` module formats\n ([#227](https://github.com/taiga-family/maskito/issues/227))\n ([fa1c514](https://github.com/taiga-family/maskito/commit/fa1c514a5753e3bca20e8b0994e4bf9f1c0ab6a4))\n\n## [0.8.0](https://github.com/taiga-family/maskito/compare/v0.7.2...v0.8.0) (2023-03-23)\n\n### Features\n\n- **kit:** `DateRange` swaps dates if the 2nd date is less than the 1st one\n ([#212](https://github.com/taiga-family/maskito/issues/212))\n ([3efbb42](https://github.com/taiga-family/maskito/commit/3efbb42f2dd5c4e43ff514da7a82abfc7c4b3a38))\n\n### Bug Fixes\n\n- **core:** incorrect order of actions during update of native element\n ([#225](https://github.com/taiga-family/maskito/issues/225))\n ([394d5d9](https://github.com/taiga-family/maskito/commit/394d5d996bdb9d21229ea0301eb3f776bee05d30))\n\n### [0.7.2](https://github.com/taiga-family/maskito/compare/v0.7.1...v0.7.2) (2023-03-23)\n\n### Bug Fixes\n\n- **angular:** `@maskito/angular` should not depend on `@maskito/kit`\n ([#221](https://github.com/taiga-family/maskito/issues/221))\n ([0ae7b20](https://github.com/taiga-family/maskito/commit/0ae7b2089ec0436caa8dbb14d5c696ae93e9e7ed))\n- **angular:** `npm i @maskito/angular` throws `unable to resolve dependency tree`\n ([#220](https://github.com/taiga-family/maskito/issues/220))\n ([8b4d6e6](https://github.com/taiga-family/maskito/commit/8b4d6e6186db47f97d328186b7afd9af75a3889b))\n\n### [0.7.1](https://github.com/taiga-family/maskito/compare/v0.7.0...v0.7.1) (2023-03-22)\n\n### Bug Fixes\n\n- **angular:** use `@nrwl/angular:package` executor instead of `@nrwl/angular:ng-packagr-lite`\n ([#216](https://github.com/taiga-family/maskito/issues/216))\n ([164d015](https://github.com/taiga-family/maskito/commit/164d015c2f18a279e195b45329e84c0d023c9483))\n- **kit:** `Number` broken `Delete`-button navigation if `decimalZeroPadding=true`\n ([#211](https://github.com/taiga-family/maskito/issues/211))\n ([1b750d1](https://github.com/taiga-family/maskito/commit/1b750d135ebd53bfeda2ca734425de08a808b1af))\n\n## [0.7.0](https://github.com/taiga-family/maskito/compare/v0.6.0...v0.7.0) (2023-03-20)\n\n### Features\n\n- **core:** add `deleteSoftLineBackward` & `deleteSoftLineForward` support\n ([#207](https://github.com/taiga-family/maskito/issues/207))\n ([cbd5479](https://github.com/taiga-family/maskito/commit/cbd5479c04c07113804eee6ea6c9838ee8681597))\n- **kit:** use 1 as min segment value in `Date`-related masks\n ([#197](https://github.com/taiga-family/maskito/issues/197))\n ([c85ca23](https://github.com/taiga-family/maskito/commit/c85ca2355cb0b6fcef73f3e7497f7c31fa82c87c))\n\n### Bug Fixes\n\n- **core:** `Maskito` losses valid characters on invalid insertion (`overwriteMode: replace`)\n ([#208](https://github.com/taiga-family/maskito/issues/208))\n ([ef183b4](https://github.com/taiga-family/maskito/commit/ef183b454e4a7db5b2cb48cbe26129bf303f676a))\n- **kit:** `Number` should drop leading zeroes for negative numbers\n ([#204](https://github.com/taiga-family/maskito/issues/204))\n ([6e9adf7](https://github.com/taiga-family/maskito/commit/6e9adf758aa585944ee08f2e2aff81a5664adefd))\n\n## [0.6.0](https://github.com/taiga-family/maskito/compare/v0.5.0...v0.6.0) (2023-03-15)\n\n### Features\n\n- **angular:** add CVA and pipe ([#187](https://github.com/taiga-family/maskito/issues/187))\n ([a099257](https://github.com/taiga-family/maskito/commit/a099257a16b569444cdae9276ce66e9a806f531e))\n- **core:** add `deleteWordBackward` & `deleteWordForward` support\n ([#193](https://github.com/taiga-family/maskito/issues/193))\n ([24b761c](https://github.com/taiga-family/maskito/commit/24b761c84d0947df5e4c78a2114f1de8f6ca20f4))\n\n### Bug Fixes\n\n- **core:** show trailing fixed characters + duplicated fixed character on `Drop`\n ([#185](https://github.com/taiga-family/maskito/issues/185))\n ([c7f6a1b](https://github.com/taiga-family/maskito/commit/c7f6a1bb8098b5641ed8c6921c2ebc86c6135b58))\n- **kit:** `maskitoParseNumber` incorrectly parses negative numbers\n ([#190](https://github.com/taiga-family/maskito/issues/190))\n ([d713bd1](https://github.com/taiga-family/maskito/commit/d713bd143e5090870a406ea14498cb99843bb9d0))\n- **kit:** `Number` should drop decimal part on paste from clipboard if `precision=0`\n ([#195](https://github.com/taiga-family/maskito/issues/195))\n ([ba85c38](https://github.com/taiga-family/maskito/commit/ba85c38ec0c81a22ff758f4ba386d045ac49ffd5))\n\n## [0.5.0](https://github.com/taiga-family/maskito/compare/v0.4.0...v0.5.0) (2023-03-09)\n\n### Features\n\n- **core:** new utility `maskitoTransform(value, maskitoOptions)`\n ([#177](https://github.com/taiga-family/maskito/issues/177))\n ([20316f1](https://github.com/taiga-family/maskito/commit/20316f15e153bfeeb45eda6406b8792e00f3238f))\n- **kit:** new utility `maskitoParseNumber` ([#178](https://github.com/taiga-family/maskito/issues/178))\n ([fc58141](https://github.com/taiga-family/maskito/commit/fc58141625ecbdc7d804aa382a69b38bf7146fc4))\n\n### Bug Fixes\n\n- **kit:** `Number` mask throws an error on empty string in `thousandSeparator`\n ([#176](https://github.com/taiga-family/maskito/issues/176))\n ([cd52fad](https://github.com/taiga-family/maskito/commit/cd52fad80bc278f171dafa1709c54cba3f8fbc81))\n\n## [0.4.0](https://github.com/taiga-family/maskito/compare/v0.3.0...v0.4.0) (2023-03-02)\n\n### Features\n\n- **angular:** `maskitoElement` add new input ([#164](https://github.com/taiga-family/maskito/issues/164))\n ([407c131](https://github.com/taiga-family/maskito/commit/407c131d2d8f8514173ad7a5e248759e2d4f8abc))\n\n### Bug Fixes\n\n- **kit:** `Number` pads empty integer part when paste from clipboard\n ([#168](https://github.com/taiga-family/maskito/issues/168))\n ([d043a82](https://github.com/taiga-family/maskito/commit/d043a82561cbed94b19d59d174fa6da7f08d49d4))\n\n## [0.3.0](https://github.com/taiga-family/maskito/compare/v0.2.0...v0.3.0) (2023-03-01)\n\n### Features\n\n- **angular:** add other maskito packages to `ng-update.packageGroup` of `package.json`\n ([#161](https://github.com/taiga-family/maskito/issues/161))\n ([bdecdaa](https://github.com/taiga-family/maskito/commit/bdecdaa9cac2681e35191cabd2d5d853eb97a09d))\n\n### Bug Fixes\n\n- **kit:** `Date`-mask fix wrong year that appears using the min property\n ([#157](https://github.com/taiga-family/maskito/issues/157))\n ([544e891](https://github.com/taiga-family/maskito/commit/544e8912d2752e0fc8f77757e935070b94823f65))\n\n## [0.2.0](https://github.com/taiga-family/maskito/compare/v0.1.1...v0.2.0) (2023-02-28)\n\n### Features\n\n- **kit:** new `DateTime` mask ([#146](https://github.com/taiga-family/maskito/issues/146))\n ([6d6b2c1](https://github.com/taiga-family/maskito/commit/6d6b2c17b5c0f62bc804451524cd4b2ce3e50660))\n\n### Bug Fixes\n\n- **kit:** `Number` is now replacing hyphen, en-dash and em-dash with minus sign\n ([#153](https://github.com/taiga-family/maskito/issues/153))\n ([1f21f11](https://github.com/taiga-family/maskito/commit/1f21f1159baadcef65e49bacaec77eba3b6f36d8))\n\n### [0.1.1](https://github.com/taiga-family/maskito/compare/v0.1.0...v0.1.1) (2023-02-15)\n\n### Bug Fixes\n\n- **core:** `Module parse failed: 'import' and 'export' may appear only with 'sourceType: module'`\n ([#131](https://github.com/taiga-family/maskito/issues/131))\n ([41e05c0](https://github.com/taiga-family/maskito/commit/41e05c09e41ed611e0c2b9aa07a953dfbe049da7))\n\n## 0.1.0 (2023-02-14)\n\nThis release introduces the first publishing of the following packages:\n\n- `@maskito/core`
It is the main zero-dependency and framework-agnostic package. It can be used alone in Vanilla\n JavaScript project. It listens `beforeinput` and `input` events to validate and calibrate textfield's value.
\n Read more: https://maskito.dev/core-concepts/overview\n- `@maskito/kit`
The optional framework-agnostic package. It contains ready-to-use masks with configurable\n parameters. This release introduces the following masks:\n - [Number](https://maskito.dev/kit/number)\n - [Time](https://maskito.dev/kit/time)\n - [Date](https://maskito.dev/kit/date)\n - [DateRange](https://maskito.dev/kit/date-range)\n- `@maskito/angular`
The Angular-specific library. It provides two convenient ways of using Maskito:\n - Basic directive approach (when developer has direct access to native input element).\n - Dependency Injection approach (when native input element is hidden somewhere deep inside another component).\n"}}])}(); \ No newline at end of file diff --git a/addons/phone/index.html b/addons/phone/index.html index dd39ca7a6..48b984a25 100644 --- a/addons/phone/index.html +++ b/addons/phone/index.html @@ -22,8 +22,8 @@ -

Phone
PHONE

This mask is based on the libphonenumber-js package.

Use maskitoPhoneOptionsGenerator to create a mask for phone input.
Coming soon

Basic

Kazakhstan phone example

Validation

For validating phone number you can use isValidPhoneNumber , isPossiblePhoneNumber functions from libphonenumber-js package. Read more

Below is an example of a Hungarian phone mask with an angular validator.

- +

Phone
PHONE

This mask is based on the libphonenumber-js package.

Use maskitoPhoneOptionsGenerator to create a mask for phone input.
Coming soon

Basic

Kazakhstan phone example

Validation

For validating phone number you can use isValidPhoneNumber , isPossiblePhoneNumber functions from libphonenumber-js package. Read more

Below is an example of a Hungarian phone mask with an angular validator.

+ \ No newline at end of file diff --git a/browser-support/index.html b/browser-support/index.html index e7f09462b..bf4a55d10 100644 --- a/browser-support/index.html +++ b/browser-support/index.html @@ -22,8 +22,8 @@ -

Browser support

Desktop

BrowserVersion
Google Chrome 74+
Mozilla Firefox 55+
Safari 12.1+
Opera 62+
Edge (Chromium) 74+
Microsoft Internet ExplorerNot supported
Edge (EdgeHTML)Not supported

Mobile

BrowserVersion
Google Chrome90+
Mozilla Firefox99+
Safari12.2+
Opera64+
- +

Browser support

Desktop

BrowserVersion
Google Chrome 74+
Mozilla Firefox 55+
Safari 12.1+
Opera 62+
Edge (Chromium) 74+
Microsoft Internet ExplorerNot supported
Edge (EdgeHTML)Not supported

Mobile

BrowserVersion
Google Chrome90+
Mozilla Firefox99+
Safari12.2+
Opera64+
+ \ No newline at end of file diff --git a/changelog/index.html b/changelog/index.html index 714c66f60..6d307fd17 100644 --- a/changelog/index.html +++ b/changelog/index.html @@ -23,9 +23,16 @@ -

Changelog

Changelog

+

Changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

+

1.5.1 (2023-09-08)

+

Bug Fixes

+
    +
  • vue: elementPredicate should accept MaskitoElementPredicateAsync type +(#487) +(fe7e9dc)
  • +

1.5.0 (2023-09-04)

Features

-

Bug Fixes

+

Bug Fixes

  • kit: maskitoCaretGuard doesn't work after focus on <select /> (#462) @@ -60,14 +67,14 @@

    Features

    (#376) (d904842)
-

Bug Fixes

+

Bug Fixes

  • kit: Number has problems with run-time updates of postfix (#380) (8210896)

1.2.2 (2023-07-19)

-

Bug Fixes

+

Bug Fixes

  • kit: maskitoCaretGuard should wait for mouseup before execution (#372) @@ -77,7 +84,7 @@

    Bug Fixes

    (7cf4938)

1.2.1 (2023-07-11)

-

Bug Fixes

+

Bug Fixes

  • kit: Number with postfix should be compatible with decimalZeroPadding (#364) @@ -93,7 +100,7 @@

    Features

    (#358) (eedc4d6)
-

Bug Fixes

+

Bug Fixes

  • kit: maskitoCaretGuard incorrectly validates the left side of constraints (#356) @@ -103,7 +110,7 @@

    Bug Fixes

    (ed8221e)

1.1.1 (2023-06-29)

-

Bug Fixes

+

Bug Fixes

  • core: don't ignore native attribute maxlength (#350) (8504f49)
  • @@ -121,7 +128,7 @@

    Features

    (#347) (ef539e1)
-

Bug Fixes

+

Bug Fixes

  • kit: Date allows to replace the whole selection range with zero (#345) @@ -143,7 +150,7 @@

    Features

  • vue: support async predicate (#336) (d1452b5)
-

Bug Fixes

+

Bug Fixes

  • kit: Number fails to parse small number on blur (exponential notation problem) (#339) @@ -156,7 +163,7 @@

    Features

    (#333) (0137775)
-

Bug Fixes

+

Bug Fixes

  • kit: maskitoParseNumber should return NaN for all strings with no digits (#331) @@ -185,7 +192,7 @@

    Features

    (f6ffb24)

0.12.1 (2023-05-25)

-

Bug Fixes

+

Bug Fixes

  • kit: DateTime validate min / max if date is complete (#314) @@ -206,7 +213,7 @@

    Features

    (21eb69c)

0.11.1 (2023-05-11)

-

Bug Fixes

+

Bug Fixes

  • core: insertFromDrop action behaves now in the same way as insertFromPaste (#291) @@ -233,7 +240,7 @@

    Features

  • kit: new maskitoPostfixPostprocessorGenerator (#257) (fdc86db)
-

Bug Fixes

+

Bug Fixes

  • kit: Number fails to trim leading zeroes after deleting of leading digit (#268) @@ -250,14 +257,14 @@

    Features

  • kit: new maskitoPrefixPostprocessorGenerator (#235) (50f0d58)
-

Bug Fixes

+

Bug Fixes

  • angular: Jest throws Class constructor DefaultValueAccessor cannot be invoked without 'new' (#232) (5089612)

0.8.1 (2023-03-27)

-

Bug Fixes

+

Bug Fixes

  • @maskito/core & @maskito/kit now include both UMD and ESM module formats (#227) @@ -270,14 +277,14 @@

    Features

    (#212) (3efbb42)
-

Bug Fixes

+

Bug Fixes

  • core: incorrect order of actions during update of native element (#225) (394d5d9)

0.7.2 (2023-03-23)

-

Bug Fixes

+

Bug Fixes

  • angular: @maskito/angular should not depend on @maskito/kit (#221) @@ -287,7 +294,7 @@

    Bug Fixes

    (8b4d6e6)

0.7.1 (2023-03-22)

-

Bug Fixes

+

Bug Fixes

  • angular: use @nrwl/angular:package executor instead of @nrwl/angular:ng-packagr-lite (#216) @@ -306,7 +313,7 @@

    Features

    (#197) (c85ca23)
-

Bug Fixes

+

Bug Fixes

  • core: Maskito losses valid characters on invalid insertion (overwriteMode: replace) (#208) @@ -324,7 +331,7 @@

    Features

    (#193) (24b761c)
-

Bug Fixes

+

Bug Fixes

  • core: show trailing fixed characters + duplicated fixed character on Drop (#185) @@ -345,7 +352,7 @@

    Features

  • kit: new utility maskitoParseNumber (#178) (fc58141)
-

Bug Fixes

+

Bug Fixes

  • kit: Number mask throws an error on empty string in thousandSeparator (#176) @@ -357,7 +364,7 @@

    Features

  • angular: maskitoElement add new input (#164) (407c131)
-

Bug Fixes

+

Bug Fixes

  • kit: Number pads empty integer part when paste from clipboard (#168) @@ -370,7 +377,7 @@

    Features

    (#161) (bdecdaa)
-

Bug Fixes

+

Bug Fixes

  • kit: Date-mask fix wrong year that appears using the min property (#157) @@ -382,14 +389,14 @@

    Features

  • kit: new DateTime mask (#146) (6d6b2c1)
-

Bug Fixes

+

Bug Fixes

  • kit: Number is now replacing hyphen, en-dash and em-dash with minus sign (#153) (1f21f11)

0.1.1 (2023-02-15)

-

Bug Fixes

+

Bug Fixes

  • core: Module parse failed: 'import' and 'export' may appear only with 'sourceType: module' (#131) @@ -416,7 +423,7 @@

    0.1.0 (2023-02-14)

- + \ No newline at end of file diff --git a/core-concepts/element-state/index.html b/core-concepts/element-state/index.html index a02670930..4009f8571 100644 --- a/core-concepts/element-state/index.html +++ b/core-concepts/element-state/index.html @@ -22,8 +22,8 @@ -

Element state

Element state is a concept which describes the main properties of the masked element at the certain period of time.

It is an object which implements the following interface:

This concept is actively used throughout Maskito libraries, and you can find its usage in the following topics:

- +

Element state

Element state is a concept which describes the main properties of the masked element at the certain period of time.

It is an object which implements the following interface:

This concept is actively used throughout Maskito libraries, and you can find its usage in the following topics:

+ \ No newline at end of file diff --git a/core-concepts/mask-expression/index.html b/core-concepts/mask-expression/index.html index 5fcf94ccc..bd71729d8 100644 --- a/core-concepts/mask-expression/index.html +++ b/core-concepts/mask-expression/index.html @@ -22,8 +22,8 @@ -

Mask expression

Mask expression is the the main concept of Maskito core library. It provides the developer with opportunity to predefine format of user's input. For example, you can set mask expression to accept only digits, only Latin letters or you can configure more complex patterns like a date string.

You can set mask expression using mask parameter of MaskitoOptions .

Types of mask expression

  • RegExp mask expression

    The most basic and comprehensible type. The only required knowledge is understanding of native JavaScript Regular expression .

    See the following example:

    Make sure that mask expression works with any of intermediate states, not just the final value.

    For example, imagine that you have to create mask for 4-digits PIN code.

    /^\d{4}$/ is a wrong mask expression. It does not match intermediate states (you cannot complete 4-digit string without possibility to type 1-, 2- or 3-digit string).

    /^\d{0,4}$/ is the right solution for our example.

  • Pattern mask expression

    It is a good choice for more complex masks that are fixed in size. This type of mask expression is presented as array. Each element in the array has to be either a string or a regular expression. Each string is a fixed character and each regular expression is validator of character at the same index.

    Fixed character — a predefined character at a certain position (the same as its index inside mask expression array). It is automatically added when user forgets to type it. It cannot be erased or replaced with another character.

    For example, imagine that you have to create mask for a time-string with HH:MM format. It consists of 4 digits and 1 fixed-character separator : .

    This mask expression forbids anything excepts digits and limits length of the value to 5 characters.

    Also, it manages user interactions with fixed character.

    For example, user can just type four digits 1159 and the value becomes 11:59

    Another example, if caret position is after the colon and user presses Backspace , the input's value will not change but caret will be moved to the left of the colon.

  • Dynamic mask expression

    mask parameter can also accepts function which generates mask expression. This function will be called every time before input changes to generate a new version of mask expression.

    An "Element state" object with raw value and current selection is passed as an argument to the function.
    Be careful! It can be not performance-friendly to generate new mask expression on every input change.

    Think about optimization and memoization of the such function.

Next steps

The following sections are recommended to explore core concepts further:

- +

Mask expression

Mask expression is the the main concept of Maskito core library. It provides the developer with opportunity to predefine format of user's input. For example, you can set mask expression to accept only digits, only Latin letters or you can configure more complex patterns like a date string.

You can set mask expression using mask parameter of MaskitoOptions .

Types of mask expression

  • RegExp mask expression

    The most basic and comprehensible type. The only required knowledge is understanding of native JavaScript Regular expression .

    See the following example:

    Make sure that mask expression works with any of intermediate states, not just the final value.

    For example, imagine that you have to create mask for 4-digits PIN code.

    /^\d{4}$/ is a wrong mask expression. It does not match intermediate states (you cannot complete 4-digit string without possibility to type 1-, 2- or 3-digit string).

    /^\d{0,4}$/ is the right solution for our example.

  • Pattern mask expression

    It is a good choice for more complex masks that are fixed in size. This type of mask expression is presented as array. Each element in the array has to be either a string or a regular expression. Each string is a fixed character and each regular expression is validator of character at the same index.

    Fixed character — a predefined character at a certain position (the same as its index inside mask expression array). It is automatically added when user forgets to type it. It cannot be erased or replaced with another character.

    For example, imagine that you have to create mask for a time-string with HH:MM format. It consists of 4 digits and 1 fixed-character separator : .

    This mask expression forbids anything excepts digits and limits length of the value to 5 characters.

    Also, it manages user interactions with fixed character.

    For example, user can just type four digits 1159 and the value becomes 11:59

    Another example, if caret position is after the colon and user presses Backspace , the input's value will not change but caret will be moved to the left of the colon.

  • Dynamic mask expression

    mask parameter can also accepts function which generates mask expression. This function will be called every time before input changes to generate a new version of mask expression.

    An "Element state" object with raw value and current selection is passed as an argument to the function.
    Be careful! It can be not performance-friendly to generate new mask expression on every input change.

    Think about optimization and memoization of the such function.

Next steps

The following sections are recommended to explore core concepts further:

+ \ No newline at end of file diff --git a/core-concepts/overview/index.html b/core-concepts/overview/index.html index 310a32753..a2d4a77a0 100644 --- a/core-concepts/overview/index.html +++ b/core-concepts/overview/index.html @@ -22,8 +22,8 @@ -

Core concepts

The main entity of Maskito core library is Maskito class which accepts 2 arguments in constructor:

  1. native HTMLInputElement or HTMLTextAreaElement
  2. set of configurable MaskitoOptions
Avoid wasting computation power or memory resources!

The only available public method destroy removes all created event listeners. Call it to clean everything up when the work is finished.

To understand the capabilities of the Maskito library, you need to learn about the following features and concepts:

- +

Core concepts

The main entity of Maskito core library is Maskito class which accepts 2 arguments in constructor:

  1. native HTMLInputElement or HTMLTextAreaElement
  2. set of configurable MaskitoOptions
Avoid wasting computation power or memory resources!

The only available public method destroy removes all created event listeners. Call it to clean everything up when the work is finished.

To understand the capabilities of the Maskito library, you need to learn about the following features and concepts:

+ \ No newline at end of file diff --git a/core-concepts/overwrite-mode/index.html b/core-concepts/overwrite-mode/index.html index 2c6cab980..e9ed9cbcb 100644 --- a/core-concepts/overwrite-mode/index.html +++ b/core-concepts/overwrite-mode/index.html @@ -22,8 +22,8 @@ -

Overwrite mode

Overwrite mode regulates behaviour of the mask when user inserts a new character somewhere in the middle of text field, overwriting the character at the current index.

overwriteMode can be of a following type:

  • shift (default)
  • replace
  • function that receives element state as an argument and returns shift or replace

Shift mode

The classic mode that everyone is used to. Inserting a new character in the middle of the text field value shifts all following characters to the right.

Replace mode

All new inserted characters replace the old characters at the same position. No character shifts. The length of the value remains the same after inserting new character somewhere in middle of the text field.

Dynamically detected mode

Parameter overwriteMode also accepts function that will called before each insertion of new characters. This function has one argument — current element state (read more about it in the "Element state" section). And this function should return one of two possible values: shift or replace .

Next steps

The following sections are recommended to explore core concepts further:

- +

Overwrite mode

Overwrite mode regulates behaviour of the mask when user inserts a new character somewhere in the middle of text field, overwriting the character at the current index.

overwriteMode can be of a following type:

  • shift (default)
  • replace
  • function that receives element state as an argument and returns shift or replace

Shift mode

The classic mode that everyone is used to. Inserting a new character in the middle of the text field value shifts all following characters to the right.

Replace mode

All new inserted characters replace the old characters at the same position. No character shifts. The length of the value remains the same after inserting new character somewhere in middle of the text field.

Dynamically detected mode

Parameter overwriteMode also accepts function that will called before each insertion of new characters. This function has one argument — current element state (read more about it in the "Element state" section). And this function should return one of two possible values: shift or replace .

Next steps

The following sections are recommended to explore core concepts further:

+ \ No newline at end of file diff --git a/core-concepts/plugins/index.html b/core-concepts/plugins/index.html index 6827234b9..e62b8134c 100644 --- a/core-concepts/plugins/index.html +++ b/core-concepts/plugins/index.html @@ -22,8 +22,8 @@ -

Plugins

Plugins are functions that are called with input/textarea element and mask options as arguments upon mask initialization. They can optionally return cleanup logic and allow you to extend mask with arbitrary additional behavior.

Visualize rejected characters

This plugin is available as maskitoRejectEvent in @maskito/kit

Next steps

The following sections are recommended to explore core concepts further:

- +

Plugins

Plugins are functions that are called with input/textarea element and mask options as arguments upon mask initialization. They can optionally return cleanup logic and allow you to extend mask with arbitrary additional behavior.

Visualize rejected characters

This plugin is available as maskitoRejectEvent in @maskito/kit

Next steps

The following sections are recommended to explore core concepts further:

+ \ No newline at end of file diff --git a/core-concepts/processors/index.html b/core-concepts/processors/index.html index dc971999f..754373b5a 100644 --- a/core-concepts/processors/index.html +++ b/core-concepts/processors/index.html @@ -22,8 +22,8 @@ -

Processors

MaskitoOptions have optional parameters preprocessors and postprocessors . Both accept array of pure functions. These functions are triggered on every user's input ( beforeinput and input events). They provide an opportunity to modify value before / after the mask is applied.

Preprocessors and postprocessors accept different types of arguments but they have two important similarities:

  • The first argument always contains object with information that you can change. Object with the same properties and updated values can be returned from the processor. It means that you can keep all properties untouched or you can change any or all of these properties.
  • The rest arguments contain information that can be useful to build some complex logic, but you cannot change it.
Before you learn more about processors, you should learn a single prerequisite — meaning of the term "Element state" .

Preprocessors

Each preprocessor is a function that is called before mask is applied.

For example, if user types a new character, all preprocessors will be called first, and only then final value that they returned will be passed into the mask, and finally the mask will accept or reject new typed character and update actual value of the text field.

Preprocessor accepts two arguments:

  1. Object with two properties: elementState and data . Object of the same interface with updated or unchanged properties can be returned from the preprocessor.
  2. Name of the action which triggers current execution. It can be one of the following possible values:

Preprocessor returns an objects of the same interface as the first argument.

Postprocessors

Each postprocessor is a function that is called after the mask is applied. When all preprocessors are already called, all mask operations happened and the input's value is about to be updated. You can change everything manually inside a postprocessor.

Postprocessor accepts two arguments:

  1. Element state after mask had been applied. Postprocessor can return updated element state which would then be reflected by the actual text field.
  2. Initial element state before preprocessors and mask execution. It is a readonly argument, the past cannot be changed...

Postprocessor returns an objects of the same interface as the first argument.

With great power comes great responsibility!

Postprocessor is the final step before input's value update which gives a lot of flexibility. Use postprocessor wisely and return a valid value!

Stacking of multiple processors

The Maskito team likes code decomposition and promotes it! Don't put all complex logic inside a single processor. Both parameters preprocessors and postprocessors accepts array of same type processors. Break your code into the several independent processors so that each processor implements only a single task.

Next steps

The following sections are recommended to explore core concepts further:

- +

Processors

MaskitoOptions have optional parameters preprocessors and postprocessors . Both accept array of pure functions. These functions are triggered on every user's input ( beforeinput and input events). They provide an opportunity to modify value before / after the mask is applied.

Preprocessors and postprocessors accept different types of arguments but they have two important similarities:

  • The first argument always contains object with information that you can change. Object with the same properties and updated values can be returned from the processor. It means that you can keep all properties untouched or you can change any or all of these properties.
  • The rest arguments contain information that can be useful to build some complex logic, but you cannot change it.
Before you learn more about processors, you should learn a single prerequisite — meaning of the term "Element state" .

Preprocessors

Each preprocessor is a function that is called before mask is applied.

For example, if user types a new character, all preprocessors will be called first, and only then final value that they returned will be passed into the mask, and finally the mask will accept or reject new typed character and update actual value of the text field.

Preprocessor accepts two arguments:

  1. Object with two properties: elementState and data . Object of the same interface with updated or unchanged properties can be returned from the preprocessor.
  2. Name of the action which triggers current execution. It can be one of the following possible values:

Preprocessor returns an objects of the same interface as the first argument.

Postprocessors

Each postprocessor is a function that is called after the mask is applied. When all preprocessors are already called, all mask operations happened and the input's value is about to be updated. You can change everything manually inside a postprocessor.

Postprocessor accepts two arguments:

  1. Element state after mask had been applied. Postprocessor can return updated element state which would then be reflected by the actual text field.
  2. Initial element state before preprocessors and mask execution. It is a readonly argument, the past cannot be changed...

Postprocessor returns an objects of the same interface as the first argument.

With great power comes great responsibility!

Postprocessor is the final step before input's value update which gives a lot of flexibility. Use postprocessor wisely and return a valid value!

Stacking of multiple processors

The Maskito team likes code decomposition and promotes it! Don't put all complex logic inside a single processor. Both parameters preprocessors and postprocessors accepts array of same type processors. Break your code into the several independent processors so that each processor implements only a single task.

Next steps

The following sections are recommended to explore core concepts further:

+ \ No newline at end of file diff --git a/core-concepts/transformer/index.html b/core-concepts/transformer/index.html index e67c9612d..28bff67c0 100644 --- a/core-concepts/transformer/index.html +++ b/core-concepts/transformer/index.html @@ -22,8 +22,8 @@ -

Transformer
CORE

Maskito libraries were created to prevent user from typing invalid value.
Maskito listens beforeinput and input events. Programmatic (by developer) changes of input's value don't trigger these events!

Maskito is based on the assumption that developer is capable to programmatically patch input with valid value!

If you need to programmatically patch input's value but you are not sure that your value is valid (for example, you get it from the server), you should use maskitoTransform utility .

Next steps

The following sections are recommended to explore core concepts further:

- +

Transformer
CORE

Maskito libraries were created to prevent user from typing invalid value.
Maskito listens beforeinput and input events. Programmatic (by developer) changes of input's value don't trigger these events!

Maskito is based on the assumption that developer is capable to programmatically patch input with valid value!

If you need to programmatically patch input's value but you are not sure that your value is valid (for example, you get it from the server), you should use maskitoTransform utility .

Next steps

The following sections are recommended to explore core concepts further:

+ \ No newline at end of file diff --git a/cypress/index.html b/cypress/index.html index 3e31d5ac6..03841ec2d 100644 --- a/cypress/index.html +++ b/cypress/index.html @@ -22,8 +22,8 @@ -

Cypress

- +

Cypress

+ \ No newline at end of file diff --git a/frameworks/angular/Setup/index.html b/frameworks/angular/Setup/index.html index faaf67134..b4f310c13 100644 --- a/frameworks/angular/Setup/index.html +++ b/frameworks/angular/Setup/index.html @@ -22,10 +22,10 @@ -

Angular

  1. Install libraries

    /your/project/path> +

    Angular

    1. Install libraries

      /your/project/path>

    2. Import MaskitoModule to your module

      your.module.ts

    - + \ No newline at end of file diff --git a/frameworks/angular/index.html b/frameworks/angular/index.html index 6b411cc71..1db68010e 100644 --- a/frameworks/angular/index.html +++ b/frameworks/angular/index.html @@ -22,14 +22,14 @@ -

    Angular

    @maskito/angular is a light-weighted library to use Maskito in an Angular-way.
    Prerequisites

    To get the most out of this guide, you should review the topic "Core Concepts" first.

    Write less code

    • No need to query element from DOM. Just pass all required options to [maskito] directive.
    • No need to worry about clean-ups. All created event listeners are automatically removed after element is detached from DOM.

    Basic directive approach

    Use it when you have direct access to native input element.

    your.component.ts +

    Angular

    @maskito/angular is a light-weighted library to use Maskito in an Angular-way.
    Prerequisites

    To get the most out of this guide, you should review the topic "Core Concepts" first.

    Write less code

    • No need to query element from DOM. Just pass all required options to [maskito] directive.
    • No need to worry about clean-ups. All created event listeners are automatically removed after element is detached from DOM.

    Basic directive approach

    Use it when you have direct access to native input element.

    your.component.ts

    Nested input element

    Pass a predicate to maskito to find input element for you, if you do not have a direct access to it.

    By default maskito will try to find input/textarea by querying its host: host.querySelector('input,textarea') so that might be sufficient. Use custom predicate if you need custom logic.

    your.component.ts -

    Custom input

    See querying nested input in action

    Default behavior is enough for Taiga UI inputs
    Custom predicate is required if target input is not the first on in the DOM

    Custom input

    See querying nested input in action

    Default behavior is enough for Taiga UI inputs
    Custom predicate is required if target input is not the first on in the DOM

    Form controls

    When directly on native input/textarea tag, maskito directive formats value set programmatically with Angular forms.

    Pipe

    Format arbitrary value with the same options

    Balance: $12 345.67
    - + \ No newline at end of file diff --git a/frameworks/react/index.html b/frameworks/react/index.html index 6d6bcbf06..d0096fcef 100644 --- a/frameworks/react/index.html +++ b/frameworks/react/index.html @@ -22,8 +22,8 @@ -

    React

    @maskito/react is a light-weighted library to use Maskito in an React-way.

    Prerequisites

    To get the most out of this guide, you should review the topic "Core Concepts" first.

    Getting Started

    Install libraries

    and use Maskito

    Query nested input element

    Pass a predicate to elementPredicate to find input element for you, if you do not have a direct access to it. For example, you use component from some UI Kit library.

    By default Maskito will try to find input/textarea by querying its host: host.querySelector('input,textarea') so that might be sufficient. Use custom predicate if you need custom logic.

    Controlled masked input

    Maskito core is developed as framework-agnostic library. It does not depend on any JS-framework's peculiarities. It uses only native browser API. That is why you should use native onInput instead of React-specific onChange event. Do not worry, both events works similarly! Read more about it in the official React documentation.

    Best practices & Anti-Patterns

    Pass named variables to avoid unnecessary hook runs with Maskito recreation:

    - +

    React

    @maskito/react is a light-weighted library to use Maskito in an React-way.

    Prerequisites

    To get the most out of this guide, you should review the topic "Core Concepts" first.

    Getting Started

    Install libraries

    and use Maskito

    Query nested input element

    Pass a predicate to elementPredicate to find input element for you, if you do not have a direct access to it. For example, you use component from some UI Kit library.

    By default Maskito will try to find input/textarea by querying its host: host.querySelector('input,textarea') so that might be sufficient. Use custom predicate if you need custom logic.

    Controlled masked input

    Maskito core is developed as framework-agnostic library. It does not depend on any JS-framework's peculiarities. It uses only native browser API. That is why you should use native onInput instead of React-specific onChange event. Do not worry, both events works similarly! Read more about it in the official React documentation.

    Best practices & Anti-Patterns

    Pass named variables to avoid unnecessary hook runs with Maskito recreation:

    + \ No newline at end of file diff --git a/frameworks/vue/index.html b/frameworks/vue/index.html index c865826f9..a4add4670 100644 --- a/frameworks/vue/index.html +++ b/frameworks/vue/index.html @@ -22,8 +22,8 @@ -

    Vue

    @maskito/vue is a light-weighted library to use Maskito in as a Vue directive.

    Prerequisites

    To get the most out of this guide, you should review the topic "Core Concepts" first.

    Getting Started

    Install libraries

    and use Maskito

    Above code example in practice

    Query nested input element

    Pass a predicate to elementPredicate to find input element for you, if you do not have a direct access to it. For example, you use component from some UI Kit library.

    By default Maskito will try to find input/textarea by querying its host: host.querySelector('input,textarea') so that might be sufficient. Use custom predicate if you need custom logic.

    Best practices & Anti-Patterns

    Avoid inlining options object, otherwise Maskito will be recreated on every update:

    - +

    Vue

    @maskito/vue is a light-weighted library to use Maskito in as a Vue directive.

    Prerequisites

    To get the most out of this guide, you should review the topic "Core Concepts" first.

    Getting Started

    Install libraries

    and use Maskito

    Above code example in practice

    Query nested input element

    Pass a predicate to elementPredicate to find input element for you, if you do not have a direct access to it. For example, you use component from some UI Kit library.

    By default Maskito will try to find input/textarea by querying its host: host.querySelector('input,textarea') so that might be sufficient. Use custom predicate if you need custom logic.

    Best practices & Anti-Patterns

    Avoid inlining options object, otherwise Maskito will be recreated on every update:

    + \ No newline at end of file diff --git a/getting-started/maskito-libraries/index.html b/getting-started/maskito-libraries/index.html index 16a5ac957..24fc5fb30 100644 --- a/getting-started/maskito-libraries/index.html +++ b/getting-started/maskito-libraries/index.html @@ -22,14 +22,14 @@ -

    Maskito libraries

    Maskito is a collection of libraries. Explore them and learn how to install and use them.

    • @maskito/core

      It is the main zero-dependency and framework-agnostic package. It can be used alone in vanilla JavaScript project. It listens to beforeinput and input events to validate and calibrate text field value.

      All other Maskito's packages require @maskito/core as peer-dependency.

      /your/project/path> +

      Maskito libraries

      Maskito is a collection of libraries. Explore them and learn how to install and use them.

      • @maskito/core

        It is the main zero-dependency and framework-agnostic package. It can be used alone in vanilla JavaScript project. It listens to beforeinput and input events to validate and calibrate text field value.

        All other Maskito's packages require @maskito/core as peer-dependency.

        /your/project/path>

        Learn more about this library in "Core Concepts" section.

      • @maskito/kit

        The optional framework-agnostic package. It contains ready-to-use masks with configurable parameters.

        /your/project/path>

        See examples: Number or Time .

      • @maskito/phone

        The optional framework-agnostic package. It contains ready-to-use international phone mask based on popular libphonenumber-js package.

        /your/project/path>

        See example Phone Mask

      • @maskito/angular

        The Angular-specific library. It provides a convenient way to use Maskito as a directive.

        /your/project/path>

        Learn more about this library in "Angular" section.

      • @maskito/react

        The React-specific library. It provides a convenient way to use Maskito as a hook.

        /your/project/path>

        Learn more about this library in "React" section.

      • @maskito/vue

        The Vue-specific library. It provides a convenient way to use Maskito as a directive.

        /your/project/path>

        Learn more about this library in "Vue" section.

      - + \ No newline at end of file diff --git a/getting-started/what-is-maskito/index.html b/getting-started/what-is-maskito/index.html index da8ca5e64..2f498a8d8 100644 --- a/getting-started/what-is-maskito/index.html +++ b/getting-started/what-is-maskito/index.html @@ -22,8 +22,8 @@ -

      What is Maskito?

      Maskito is a collection of libraries, built with TypeScript. It helps you to create an input mask which ensures that users type values according to predefined format.

      Core concepts of the libraries are simple but they provide flexible API to set any format you wish: numbers, phone, date, credit card number etc.

      Why Maskito?

      • Maskito supports all user’s interactions with text fields: basic typing and deleting via keyboard, pasting, dropping text inside with a pointer, browser autofill, predictive text from mobile native keyboard.
      • Maskito is robust. The whole project is developed with strict TypeScript mode. Our code is covered by hundreds of Cypress tests.
      • Server Side Rendering and Shadow DOM support.
      • You can use it with HTMLInputElement and HTMLTextAreaElement .
      • Maskito core is zero-dependency package. You can mask input in your vanilla JavaScript project. However, we have separate packages for Angular , React and Vue as well.
      • Maskito includes optional framework-agnostic package with configurable ready-to-use masks.

      No textfield with invalid value! Use Maskito. Mask it!

      Learn about Maskito

      - +

      What is Maskito?

      Maskito is a collection of libraries, built with TypeScript. It helps you to create an input mask which ensures that users type values according to predefined format.

      Core concepts of the libraries are simple but they provide flexible API to set any format you wish: numbers, phone, date, credit card number etc.

      Why Maskito?

      • Maskito supports all user’s interactions with text fields: basic typing and deleting via keyboard, pasting, dropping text inside with a pointer, browser autofill, predictive text from mobile native keyboard.
      • Maskito is robust. The whole project is developed with strict TypeScript mode. Our code is covered by hundreds of Cypress tests.
      • Server Side Rendering and Shadow DOM support.
      • You can use it with HTMLInputElement and HTMLTextAreaElement .
      • Maskito core is zero-dependency package. You can mask input in your vanilla JavaScript project. However, we have separate packages for Angular , React and Vue as well.
      • Maskito includes optional framework-agnostic package with configurable ready-to-use masks.

      No textfield with invalid value! Use Maskito. Mask it!

      Learn about Maskito

      + \ No newline at end of file diff --git a/index.html b/index.html index f30a210c0..153b972e5 100644 --- a/index.html +++ b/index.html @@ -22,8 +22,8 @@ -

      What is Maskito?

      Maskito is a collection of libraries, built with TypeScript. It helps you to create an input mask which ensures that users type values according to predefined format.

      Core concepts of the libraries are simple but they provide flexible API to set any format you wish: numbers, phone, date, credit card number etc.

      Why Maskito?

      • Maskito supports all user’s interactions with text fields: basic typing and deleting via keyboard, pasting, dropping text inside with a pointer, browser autofill, predictive text from mobile native keyboard.
      • Maskito is robust. The whole project is developed with strict TypeScript mode. Our code is covered by hundreds of Cypress tests.
      • Server Side Rendering and Shadow DOM support.
      • You can use it with HTMLInputElement and HTMLTextAreaElement .
      • Maskito core is zero-dependency package. You can mask input in your vanilla JavaScript project. However, we have separate packages for Angular , React and Vue as well.
      • Maskito includes optional framework-agnostic package with configurable ready-to-use masks.

      No textfield with invalid value! Use Maskito. Mask it!

      Learn about Maskito

      - +

      What is Maskito?

      Maskito is a collection of libraries, built with TypeScript. It helps you to create an input mask which ensures that users type values according to predefined format.

      Core concepts of the libraries are simple but they provide flexible API to set any format you wish: numbers, phone, date, credit card number etc.

      Why Maskito?

      • Maskito supports all user’s interactions with text fields: basic typing and deleting via keyboard, pasting, dropping text inside with a pointer, browser autofill, predictive text from mobile native keyboard.
      • Maskito is robust. The whole project is developed with strict TypeScript mode. Our code is covered by hundreds of Cypress tests.
      • Server Side Rendering and Shadow DOM support.
      • You can use it with HTMLInputElement and HTMLTextAreaElement .
      • Maskito core is zero-dependency package. You can mask input in your vanilla JavaScript project. However, we have separate packages for Angular , React and Vue as well.
      • Maskito includes optional framework-agnostic package with configurable ready-to-use masks.

      No textfield with invalid value! Use Maskito. Mask it!

      Learn about Maskito

      + \ No newline at end of file diff --git a/index.original.html b/index.original.html index 92f094108..d44882e02 100644 --- a/index.original.html +++ b/index.original.html @@ -18,6 +18,6 @@ Loading... - + \ No newline at end of file diff --git a/kit/date-range/API/index.html b/kit/date-range/API/index.html index b541a7fd8..ebc2be3e5 100644 --- a/kit/date-range/API/index.html +++ b/kit/date-range/API/index.html @@ -22,8 +22,8 @@ -

      DateRange
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [mode]
      Date format mode
      MaskitoDateMode
      'dd/mm/yyyy'
      [dateSeparator]
      Separator between date segments (days, months and years).

      Default:. (dot).

      string
      [rangeSeparator]
      Separator between dates of the date range.

      Default: â€“ 

      string
      [min]
      Earliest date
      Date
      '0001-01-01'
      [max]
      Latest date
      Date
      '9999-12-31'
      [minLength]
      Minimal length of the range
      MaskitoDateSegments<number>
      {}
      [maxLength]
      Maximal length of the range
      MaskitoDateSegments<number>
      {}
      [separator]
      deprecated Use dateSeparator instead.

      Default:. (dot).

      - +

      DateRange
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [mode]
      Date format mode
      MaskitoDateMode
      'dd/mm/yyyy'
      [dateSeparator]
      Separator between date segments (days, months and years).

      Default:. (dot).

      string
      [rangeSeparator]
      Separator between dates of the date range.

      Default: â€“ 

      string
      [min]
      Earliest date
      Date
      '0001-01-01'
      [max]
      Latest date
      Date
      '9999-12-31'
      [minLength]
      Minimal length of the range
      MaskitoDateSegments<number>
      {}
      [maxLength]
      Maximal length of the range
      MaskitoDateSegments<number>
      {}
      [separator]
      deprecated Use dateSeparator instead.

      Default:. (dot).

      + \ No newline at end of file diff --git a/kit/date-range/index.html b/kit/date-range/index.html index a4b736f4c..3e8ab6b29 100644 --- a/kit/date-range/index.html +++ b/kit/date-range/index.html @@ -22,8 +22,8 @@ -

      DateRange
      KIT

      Use maskitoDateRangeOptionsGenerator to create a mask to input a range of dates.

      Date localization

      Use mode and separator parameters to get a mask with a locale specific representation of dates.

      Min and max dates

      Parameters min and max allow you to set the earliest and the latest available dates. They accept native Date .

      Min and max length of range

      Use minLength and maxLength parameters to set minimal and maximal length of the date range.

      Custom range separator

      Use rangeSeparator parameter to customize separator between dates of the date range.

      - +

      DateRange
      KIT

      Use maskitoDateRangeOptionsGenerator to create a mask to input a range of dates.

      Date localization

      Use mode and separator parameters to get a mask with a locale specific representation of dates.

      Min and max dates

      Parameters min and max allow you to set the earliest and the latest available dates. They accept native Date .

      Min and max length of range

      Use minLength and maxLength parameters to set minimal and maximal length of the date range.

      Custom range separator

      Use rangeSeparator parameter to customize separator between dates of the date range.

      + \ No newline at end of file diff --git a/kit/date-time/API/index.html b/kit/date-time/API/index.html index 14eb4de8a..3e906973b 100644 --- a/kit/date-time/API/index.html +++ b/kit/date-time/API/index.html @@ -22,8 +22,8 @@ -

      DateTime
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [dateMode]
      Date format mode
      MaskitoDateMode
      'dd/mm/yyyy'
      [timeMode]
      Time format mode
      MaskitoTimeMode
      'HH:MM'
      [dateSeparator]
      Date separator

      Default:. (dot).

      string
      [min]
      Earliest date
      Date
      '0001-01-01T00:00:00'
      [max]
      Latest date
      Date
      '9999-12-31T23:59:59'
      - +

      DateTime
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [dateMode]
      Date format mode
      MaskitoDateMode
      'dd/mm/yyyy'
      [timeMode]
      Time format mode
      MaskitoTimeMode
      'HH:MM'
      [dateSeparator]
      Date separator

      Default:. (dot).

      string
      [min]
      Earliest date
      Date
      '0001-01-01T00:00:00'
      [max]
      Latest date
      Date
      '9999-12-31T23:59:59'
      + \ No newline at end of file diff --git a/kit/date-time/index.html b/kit/date-time/index.html index d371d4efb..5acdb0ed5 100644 --- a/kit/date-time/index.html +++ b/kit/date-time/index.html @@ -22,8 +22,8 @@ -

      DateTime
      KIT

      Use maskitoDateTimeOptionsGenerator to create a mask to input both date and time.

      Localization

      Use dateMode , timeMode and dateSeparator parameters to get a mask with a locale specific representation of dates.

      Min and max

      Parameters min and max allow to set the earliest and the latest available dates. They accept native Date .

      - +

      DateTime
      KIT

      Use maskitoDateTimeOptionsGenerator to create a mask to input both date and time.

      Localization

      Use dateMode , timeMode and dateSeparator parameters to get a mask with a locale specific representation of dates.

      Min and max

      Parameters min and max allow to set the earliest and the latest available dates. They accept native Date .

      + \ No newline at end of file diff --git a/kit/date/API/index.html b/kit/date/API/index.html index f93b0b9dc..a15b54faf 100644 --- a/kit/date/API/index.html +++ b/kit/date/API/index.html @@ -22,8 +22,8 @@ -

      Date
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [mode]
      Date format mode
      MaskitoDateMode
      'dd/mm/yyyy'
      [separator]
      Symbol for separating date-segments (days, months, years)

      Default:. (dot)

      string
      '.'
      [min]
      Earliest date

      Default:new Date('0001-01-01')

      Date
      '0001-01-01'
      [max]
      Latest date

      Default:new Date('9999-12-31')

      Date
      '9999-12-31'
      - +

      Date
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [mode]
      Date format mode
      MaskitoDateMode
      'dd/mm/yyyy'
      [separator]
      Symbol for separating date-segments (days, months, years)

      Default:. (dot)

      string
      '.'
      [min]
      Earliest date

      Default:new Date('0001-01-01')

      Date
      '0001-01-01'
      [max]
      Latest date

      Default:new Date('9999-12-31')

      Date
      '9999-12-31'
      + \ No newline at end of file diff --git a/kit/date/index.html b/kit/date/index.html index 30a2daf36..76ffa4a59 100644 --- a/kit/date/index.html +++ b/kit/date/index.html @@ -22,8 +22,8 @@ -

      Date
      KIT

      Use maskitoDateOptionsGenerator to create a mask for date input.

      Date localization

      Use mode and separator properties to get a mask with a locale specific representation of dates.

      Min/Max

      Properties min and max allow you to set the earliest and the latest available dates. They accept native Date .

      - +

      Date
      KIT

      Use maskitoDateOptionsGenerator to create a mask for date input.

      Date localization

      Use mode and separator properties to get a mask with a locale specific representation of dates.

      Min/Max

      Properties min and max allow you to set the earliest and the latest available dates. They accept native Date .

      + \ No newline at end of file diff --git a/kit/number/API/index.html b/kit/number/API/index.html index 5326a68fe..e49edb0cb 100644 --- a/kit/number/API/index.html +++ b/kit/number/API/index.html @@ -22,8 +22,8 @@ -

      Number
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [precision]
      A number of digits after decimalSeparator .

      Use Infinity for an untouched decimal part.

      Default:0 (decimal part is forbidden).

      number
      0
      [decimalSeparator]
      Symbol for separating fraction.

      Default: dot.

      string
      [decimalPseudoSeparators]
      Symbols to be replaced with decimalSeparator .

      Default:['.', 'ю', 'б'] .

      string[]
      ['.', ',', 'б', 'ю']
      [decimalZeroPadding]
      If number of digits after decimalSeparator is always equal to the precision .

      Default:false (number of digits can be less than precision) .

      boolean
      [thousandSeparator]
      Symbol for separating thousands.

      Default: non-breaking space.

      string
      [min]
      The lowest permitted value.

      Default:Number.MIN_SAFE_INTEGER .

      number
      [max]
      The greatest permitted value.

      Default:Number.MAX_SAFE_INTEGER .

      number
      [prefix]
      A prefix symbol, like currency.

      Default: empty string (no prefix).

      string
      [postfix]
      A postfix symbol, like currency.

      Default: empty string (no postfix).

      string
      - +

      Number
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [precision]
      A number of digits after decimalSeparator .

      Use Infinity for an untouched decimal part.

      Default:0 (decimal part is forbidden).

      number
      0
      [decimalSeparator]
      Symbol for separating fraction.

      Default: dot.

      string
      [decimalPseudoSeparators]
      Symbols to be replaced with decimalSeparator .

      Default:['.', 'ю', 'б'] .

      string[]
      ['.', ',', 'б', 'ю']
      [decimalZeroPadding]
      If number of digits after decimalSeparator is always equal to the precision .

      Default:false (number of digits can be less than precision) .

      boolean
      [thousandSeparator]
      Symbol for separating thousands.

      Default: non-breaking space.

      string
      [min]
      The lowest permitted value.

      Default:Number.MIN_SAFE_INTEGER .

      number
      [max]
      The greatest permitted value.

      Default:Number.MAX_SAFE_INTEGER .

      number
      [prefix]
      A prefix symbol, like currency.

      Default: empty string (no prefix).

      string
      [postfix]
      A postfix symbol, like currency.

      Default: empty string (no postfix).

      string
      + \ No newline at end of file diff --git a/kit/number/index.html b/kit/number/index.html index 94871fc85..32dfdd556 100644 --- a/kit/number/index.html +++ b/kit/number/index.html @@ -22,8 +22,8 @@ -

      Number
      KIT

      Use maskitoNumberOptionsGenerator to create a mask for entering a formatted number.
      Despite the name of the mask, element's raw value is still string.

      Use maskitoParseNumber to get number-type value.

      High precision

      Use precision parameter to configure the number of digits after decimal separator.

      Separators

      Use decimalSeparator and thousandSeparator to get mask with locale specific representation of numbers.

      In Germany people use comma as decimal separator and dot for thousands

      Postfix

      Use postfix parameter to set non-removable text after the number.
      Additionally you can use maskitoCaretGuard to clamp caret inside allowable range.
      This example also shows how to restrict the greatest permitted value via max parameter.

      Decimal zero padding

      Set decimalZeroPadding: true to always show trailing zeroes.

      Non removable dollar sign is achieved by using prefix parameter.

      Dynamic decimal zero padding

      You can change options on the fly to build complex logic.
      This example shows how to initially disable decimalZeroPadding and enable it only after user inserts decimal separator.

      - +

      Number
      KIT

      Use maskitoNumberOptionsGenerator to create a mask for entering a formatted number.
      Despite the name of the mask, element's raw value is still string.

      Use maskitoParseNumber to get number-type value.

      High precision

      Use precision parameter to configure the number of digits after decimal separator.

      Separators

      Use decimalSeparator and thousandSeparator to get mask with locale specific representation of numbers.

      In Germany people use comma as decimal separator and dot for thousands

      Postfix

      Use postfix parameter to set non-removable text after the number.
      Additionally you can use maskitoCaretGuard to clamp caret inside allowable range.
      This example also shows how to restrict the greatest permitted value via max parameter.

      Decimal zero padding

      Set decimalZeroPadding: true to always show trailing zeroes.

      Non removable dollar sign is achieved by using prefix parameter.

      Dynamic decimal zero padding

      You can change options on the fly to build complex logic.
      This example shows how to initially disable decimalZeroPadding and enable it only after user inserts decimal separator.

      + \ No newline at end of file diff --git a/kit/time/API/index.html b/kit/time/API/index.html index ee37c753c..d1d45a006 100644 --- a/kit/time/API/index.html +++ b/kit/time/API/index.html @@ -22,8 +22,8 @@ -

      Time
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [mode]
      Time format mode
      MaskitoTimeMode
      'HH:MM'
      [timeSegmentMaxValues]
      Max value for every time segment
      MaskitoTimeSegments<number>
      {hours: 23, minutes: 59, seconds: 59, milliseconds: 999}
      - +

      Time
      KIT

      tuiMode:
      -
      Name and descriptionType Value
      [mode]
      Time format mode
      MaskitoTimeMode
      'HH:MM'
      [timeSegmentMaxValues]
      Max value for every time segment
      MaskitoTimeSegments<number>
      {hours: 23, minutes: 59, seconds: 59, milliseconds: 999}
      + \ No newline at end of file diff --git a/kit/time/index.html b/kit/time/index.html index 30ab90b3a..606450b93 100644 --- a/kit/time/index.html +++ b/kit/time/index.html @@ -22,8 +22,8 @@ -

      Time
      KIT

      Use maskitoTimeOptionsGenerator to create a mask for time input.

      Mode

      Use mode property to set time format.

      Available options : HH:MM , HH:MM:SS or HH:MM:SS.MSS .

      12-hours format

      Property timeSegmentMaxValues allows you to set max value for every time segment.

      Time segments are units of the time which form time string. For example, HH:MM consists of two time segments: hours and minutes.

      - +

      Time
      KIT

      Use maskitoTimeOptionsGenerator to create a mask for time input.

      Mode

      Use mode property to set time format.

      Available options : HH:MM , HH:MM:SS or HH:MM:SS.MSS .

      12-hours format

      Property timeSegmentMaxValues allows you to set max value for every time segment.

      Time segments are units of the time which form time string. For example, HH:MM consists of two time segments: hours and minutes.

      + \ No newline at end of file diff --git a/recipes/card/index.html b/recipes/card/index.html index da005d1e2..004e1ea90 100644 --- a/recipes/card/index.html +++ b/recipes/card/index.html @@ -22,8 +22,8 @@ -

      Card
      Recipes

      Creating mask for credit card input requires basic understanding of the following topics:

      - +

      Card
      Recipes

      Creating mask for credit card input requires basic understanding of the following topics:

      + \ No newline at end of file diff --git a/recipes/phone/index.html b/recipes/phone/index.html index a06b74de9..40fac4128 100644 --- a/recipes/phone/index.html +++ b/recipes/phone/index.html @@ -22,8 +22,8 @@ -

      Phone
      Recipes

      Creating mask for a phone number is simple. The only required knowledge is the pattern mask expression with fixed characters . Read more about it in "Mask expression" section.

      This page demonstrates some examples for different countries.

      United States

      Flag of the United States

      Kazakhstan

      The following example demonstrates a more complex mask. It shows how to make the country prefix non-removable. It is achieved by built-in postprocessor from @maskito/kit .

      Read more about it in "With prefix" section.

      Flag of Kazakhstan
      - +

      Phone
      Recipes

      Creating mask for a phone number is simple. The only required knowledge is the pattern mask expression with fixed characters . Read more about it in "Mask expression" section.

      This page demonstrates some examples for different countries.

      United States

      Flag of the United States

      Kazakhstan

      The following example demonstrates a more complex mask. It shows how to make the country prefix non-removable. It is achieved by built-in postprocessor from @maskito/kit .

      Read more about it in "With prefix" section.

      Flag of Kazakhstan
      + \ No newline at end of file diff --git a/recipes/placeholder/index.html b/recipes/placeholder/index.html index 16c12e43e..2492aca40 100644 --- a/recipes/placeholder/index.html +++ b/recipes/placeholder/index.html @@ -22,8 +22,8 @@ -

      With placeholder
      Recipes

      maskitoWithPlaceholder helps to show placeholder mask characters. The placeholder character represents the fillable spot in the mask.

      Card Verification Code

      This example is the simplest demonstration how to create masked input with placeholder .

      The only required prerequisite is basic understanding of "Mask expression" concept.

      Phone

      The following example explains return type of maskitoWithPlaceholder utility — an object which partially implements MaskitoOptions interface. It contains its own processor and postprocessor and plugins to keep caret from getting into placeholder part of the value.

      Also, this complex example uses built-in postprocessor maskitoPrefixPostprocessorGenerator from @maskito/kit .

      Flag of the United States

      Date

      This last example demonstrates how to integrate maskitoWithPlaceholder with any built-in mask from @maskito/kit .

      - +

      With placeholder
      Recipes

      maskitoWithPlaceholder helps to show placeholder mask characters. The placeholder character represents the fillable spot in the mask.

      Card Verification Code

      This example is the simplest demonstration how to create masked input with placeholder .

      The only required prerequisite is basic understanding of "Mask expression" concept.

      Phone

      The following example explains return type of maskitoWithPlaceholder utility — an object which partially implements MaskitoOptions interface. It contains its own processor and postprocessor and plugins to keep caret from getting into placeholder part of the value.

      Also, this complex example uses built-in postprocessor maskitoPrefixPostprocessorGenerator from @maskito/kit .

      Flag of the United States

      Date

      This last example demonstrates how to integrate maskitoWithPlaceholder with any built-in mask from @maskito/kit .

      + \ No newline at end of file diff --git a/recipes/postfix/index.html b/recipes/postfix/index.html index 2c1f12152..781c867c7 100644 --- a/recipes/postfix/index.html +++ b/recipes/postfix/index.html @@ -22,8 +22,8 @@ -

      With postfix
      Recipes

      There are two approaches to add postfix for masked input. Every approach has its own behaviour and requires basic understanding of different core concepts.

      By pattern mask expression

      This example demonstrates how to create postfix via dynamic pattern mask expression . Percent symbol is a trailing fixed character, which will be automatically added when user enters the first digit.

      By postprocessor

      This example demonstrates how to create postfix via postprocessor . It provides more flexibility, and you can configure any desired behaviour. You can use built-in maskitoPostfixPostprocessorGenerator or create your own.

      Don't forget that mask property should be compatible with a new prefix / postfix!

      - +

      With postfix
      Recipes

      There are two approaches to add postfix for masked input. Every approach has its own behaviour and requires basic understanding of different core concepts.

      By pattern mask expression

      This example demonstrates how to create postfix via dynamic pattern mask expression . Percent symbol is a trailing fixed character, which will be automatically added when user enters the first digit.

      By postprocessor

      This example demonstrates how to create postfix via postprocessor . It provides more flexibility, and you can configure any desired behaviour. You can use built-in maskitoPostfixPostprocessorGenerator or create your own.

      Don't forget that mask property should be compatible with a new prefix / postfix!

      + \ No newline at end of file diff --git a/recipes/prefix/index.html b/recipes/prefix/index.html index de9861ca4..0de0afc6e 100644 --- a/recipes/prefix/index.html +++ b/recipes/prefix/index.html @@ -22,8 +22,8 @@ -

      With prefix
      Recipes

      Use prefixes to indicate things like currencies, area / phone country codes and etc.

      There are two approaches to add prefix for masked input. Every approach has its own behaviour and requires basic understanding of different core concepts.

      By pattern mask expression

      This example demonstrates how to create prefix via dynamic pattern mask expression . Dollar symbol is a fixed character, which will be automatically added when user forgets to type it or deleted when user erase all digits.

      By postprocessor

      This example demonstrates how to create prefix via postprocessor . It provides more flexibility, and you can configure any desired behaviour. You can use built-in maskitoPrefixPostprocessorGenerator or create your own.

      Don't forget that mask property should be compatible with a new prefix!

      - +

      With prefix
      Recipes

      Use prefixes to indicate things like currencies, area / phone country codes and etc.

      There are two approaches to add prefix for masked input. Every approach has its own behaviour and requires basic understanding of different core concepts.

      By pattern mask expression

      This example demonstrates how to create prefix via dynamic pattern mask expression . Dollar symbol is a fixed character, which will be automatically added when user forgets to type it or deleted when user erase all digits.

      By postprocessor

      This example demonstrates how to create prefix via postprocessor . It provides more flexibility, and you can configure any desired behaviour. You can use built-in maskitoPrefixPostprocessorGenerator or create your own.

      Don't forget that mask property should be compatible with a new prefix!

      + \ No newline at end of file diff --git a/recipes/textarea/index.html b/recipes/textarea/index.html index 372caa7b0..7f1ba148c 100644 --- a/recipes/textarea/index.html +++ b/recipes/textarea/index.html @@ -22,8 +22,8 @@ -

      Textarea
      Recipes

      You can use Maskito with HTMLTextAreaElement too. API is the same as for HTMLInputElement .

      Learn more in the "Core Concepts" section.

      Latin letters and digits

      - +

      Textarea
      Recipes

      You can use Maskito with HTMLTextAreaElement too. API is the same as for HTMLInputElement .

      Learn more in the "Core Concepts" section.

      Latin letters and digits

      + \ No newline at end of file diff --git a/runtime-es2015.8c0a630b6f89bc3612a8.js b/runtime-es2015.3181fe7f1ced178f5e9e.js similarity index 58% rename from runtime-es2015.8c0a630b6f89bc3612a8.js rename to runtime-es2015.3181fe7f1ced178f5e9e.js index 1fe6eb178..1c4c463fb 100644 --- a/runtime-es2015.8c0a630b6f89bc3612a8.js +++ b/runtime-es2015.3181fe7f1ced178f5e9e.js @@ -1 +1 @@ -!function(){"use strict";var e,c={},f={};function a(e){var d=f[e];if(void 0!==d)return d.exports;var t=f[e]={exports:{}};return c[e].call(t.exports,t,t.exports,a),t.exports}a.m=c,e=[],a.O=function(c,f,d,t){if(!f){var n=1/0;for(u=0;u=t)&&Object.keys(a.O).every(function(e){return a.O[e](f[b])})?f.splice(b--,1):(r=!1,t0&&e[u-1][2]>t;u--)e[u]=e[u-1];e[u]=[f,d,t]},a.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(c,{a:c}),c},function(){var e,c=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};a.t=function(f,d){if(1&d&&(f=this(f)),8&d||"object"==typeof f&&f&&(4&d&&f.__esModule||16&d&&"function"==typeof f.then))return f;var t=Object.create(null);a.r(t);var n={};e=e||[null,c({}),c([]),c(c)];for(var r=2&d&&f;"object"==typeof r&&!~e.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach(function(e){n[e]=function(){return f[e]}});return n.default=function(){return f},a.d(t,n),t}}(),a.d=function(e,c){for(var f in c)a.o(c,f)&&!a.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce(function(c,f){return a.f[f](e,c),c},[]))},a.u=function(e){return(8592===e?"common":e)+"-es2015."+{55:"9614b42743a5f0a73b9a",269:"3080fdee6c3c999f45d3",439:"cfaff1f9e85b36064cb3",608:"0dc5f74e9de95ed40b8e",793:"26a2231e979ab66d792e",960:"71fe9520d7b2e2dd3402",1026:"88c5b36978815caeca0a",1069:"098219b284e355b17e8b",1103:"a3298aa74d448250be19",1127:"379f09cfd2a4e483215b",1165:"2e2b598a57901795fb26",1223:"573220da2fba790037c1",1226:"44069a503a06b54dc5e2",1326:"59f61d0f30924f02cc0d",1335:"91a7ee960024621a8d1e",1434:"c862b56ad64b7b3546a4",1465:"60443d6a9b30ff0ded8f",1508:"127a8122eb1bbfcb77ff",1541:"ddf15d1584bace34352a",1865:"92336b28ec1788ee792f",2022:"2a6ede0c34b491e9c604",2049:"d1f67e9dd7982a752194",2092:"2c1cdb0ebc6b7681ea68",2139:"1e1d4fda95ec48011b1b",2362:"e841bd2e0bd541db23ce",2391:"5e34720681514d36e23e",2472:"18bdb3fd43279c2ea957",2830:"1c56b036d24d3ce94316",2921:"8ca5af6759001411f6a4",2951:"d61a9963a54652535701",3088:"a32b1a16991dca83b961",3245:"377148a2f3f8fbe96be9",3355:"4b13e2dd0877720d5675",3360:"c46e86fd25e861766b67",3377:"a34f627847cac94dfadf",3506:"e696f468c34f9542e63c",3533:"d540a0f758719e717735",3820:"a58bdd7a9b871646747d",4047:"28e6ce6ce0651ff4b2dd",4173:"75db4cd9d644ac22a014",4220:"524fd1d72715e583382c",4249:"b3716868ab4dcfacf487",4272:"c1cac568aabdb86a0bbd",4338:"a24efa891d05f7480e37",4533:"ade8424268b7f70771db",4930:"39d4ba74536c68208717",4947:"9b96165dff9a83903a6d",4991:"4a72edfb31d42860cc5d",4992:"cade38328abf2e37fe42",5034:"eaab52eb59dce0cabf90",5094:"fd5874d7517cedcc67eb",5097:"08531f13f1e2c5ec61f5",5115:"6c3017a2a78a9e65b831",5380:"46ea4995ebc1357fc903",5439:"6df0068313853da04a69",5536:"64722bec9c212b9f302f",5539:"a3edb0eec955e6c8bcf1",5691:"defd3ac957a9af304c5e",5828:"6541913665105d07ccbe",6180:"0cce838380b4007bbc5c",6275:"7fcb2bb100d678087e15",6304:"a6e43cc839e9430ffd68",6347:"4d872a9fb2bfb95d42d0",6549:"0c547ae67fba2faf571d",6793:"181dbc15a49a9457a7b1",6880:"3453248881ace3ce2acf",6901:"90f3679eb2507d3ee219",6916:"cd9e224df6c45963a71d",6976:"2bbdd78b2381c69b8a75",6988:"714873f4061e2fe06e86",6990:"547946618b03e08a3199",7027:"f221033c1a6089f99f66",7057:"64424d70b8b9af6b1a4d",7217:"84682005c8f282755b47",7383:"d066398255cffc464174",7648:"3e8f55e9faf675bc259c",7681:"4356f3ec0c74a2be42e8",7698:"ad0b62cf4e5008929fbd",7792:"940fc15870a431afe6ed",7891:"878bbf3e0e32ef4fa20e",7948:"d0a10f4c749d78becdac",7989:"6e74e3ac54549b93b5aa",8307:"bfe077291840b6ddd4ce",8372:"7e788f73d6da46ac7d30",8507:"25411ce2bb83b6b84360",8592:"5af861ec9242fe9e4d64",8602:"de8340775674556d2ffc",8642:"82159dc514fbf2ae2521",8644:"7ba8ec24d0c02267d3df",8729:"65c9d890ea61a63d1d7e",8884:"57fec34c768dd40fb97e",8929:"59278267437d9ffbd371",8935:"24ab646a6d91670e4598",8945:"8dac3dccff67e604bb19",9022:"95fe10d17f1f3de37df3",9057:"23d4d755a6c58c0914bc",9328:"acae07d932cd0ccabc3e",9358:"291a0c6dedee67b5e098",9380:"d0117f93f4da6752e285",9544:"ebbed155f93c0fe41ef8",9748:"789b9e78f184e32fd921",9899:"7fd066f10d2bebe5de45",9935:"13a36f17a40a1c42311b"}[e]+".js"},a.miniCssF=function(e){return"styles.d5ec15db663483064927.css"},a.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},function(){var e={},c="maskito:";a.l=function(f,d,t,n){if(e[f])e[f].push(d);else{var r,b;if(void 0!==t)for(var o=document.getElementsByTagName("script"),u=0;u=t)&&Object.keys(f.O).every(function(e){return f.O[e](a[b])})?a.splice(b--,1):(r=!1,t0&&e[u-1][2]>t;u--)e[u]=e[u-1];e[u]=[a,d,t]},f.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(c,{a:c}),c},function(){var e,c=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};f.t=function(a,d){if(1&d&&(a=this(a)),8&d||"object"==typeof a&&a&&(4&d&&a.__esModule||16&d&&"function"==typeof a.then))return a;var t=Object.create(null);f.r(t);var n={};e=e||[null,c({}),c([]),c(c)];for(var r=2&d&&a;"object"==typeof r&&!~e.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach(function(e){n[e]=function(){return a[e]}});return n.default=function(){return a},f.d(t,n),t}}(),f.d=function(e,c){for(var a in c)f.o(c,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(c,a){return f.f[a](e,c),c},[]))},f.u=function(e){return(8592===e?"common":e)+"-es2015."+{55:"9614b42743a5f0a73b9a",269:"3080fdee6c3c999f45d3",439:"cfaff1f9e85b36064cb3",608:"0dc5f74e9de95ed40b8e",793:"26a2231e979ab66d792e",960:"71fe9520d7b2e2dd3402",1026:"88c5b36978815caeca0a",1069:"098219b284e355b17e8b",1103:"a3298aa74d448250be19",1127:"379f09cfd2a4e483215b",1165:"2e2b598a57901795fb26",1223:"573220da2fba790037c1",1226:"44069a503a06b54dc5e2",1326:"59f61d0f30924f02cc0d",1335:"91a7ee960024621a8d1e",1434:"c862b56ad64b7b3546a4",1465:"60443d6a9b30ff0ded8f",1508:"127a8122eb1bbfcb77ff",1541:"ddf15d1584bace34352a",1865:"92336b28ec1788ee792f",2022:"2a6ede0c34b491e9c604",2049:"d1f67e9dd7982a752194",2092:"2c1cdb0ebc6b7681ea68",2139:"1e1d4fda95ec48011b1b",2362:"e841bd2e0bd541db23ce",2391:"5e34720681514d36e23e",2472:"18bdb3fd43279c2ea957",2830:"1c56b036d24d3ce94316",2921:"8ca5af6759001411f6a4",2951:"d61a9963a54652535701",3088:"a32b1a16991dca83b961",3245:"377148a2f3f8fbe96be9",3355:"4b13e2dd0877720d5675",3360:"c46e86fd25e861766b67",3377:"a34f627847cac94dfadf",3506:"e696f468c34f9542e63c",3533:"d540a0f758719e717735",3820:"a58bdd7a9b871646747d",4047:"c30edcca86289cd85355",4173:"75db4cd9d644ac22a014",4220:"524fd1d72715e583382c",4249:"b3716868ab4dcfacf487",4272:"c1cac568aabdb86a0bbd",4338:"a24efa891d05f7480e37",4533:"ade8424268b7f70771db",4930:"39d4ba74536c68208717",4947:"9b96165dff9a83903a6d",4991:"4a72edfb31d42860cc5d",4992:"cade38328abf2e37fe42",5034:"eaab52eb59dce0cabf90",5094:"fd5874d7517cedcc67eb",5097:"08531f13f1e2c5ec61f5",5115:"6c3017a2a78a9e65b831",5380:"46ea4995ebc1357fc903",5439:"6df0068313853da04a69",5536:"64722bec9c212b9f302f",5539:"a3edb0eec955e6c8bcf1",5691:"defd3ac957a9af304c5e",5828:"6541913665105d07ccbe",6180:"0cce838380b4007bbc5c",6275:"7fcb2bb100d678087e15",6304:"a6e43cc839e9430ffd68",6347:"4d872a9fb2bfb95d42d0",6549:"0c547ae67fba2faf571d",6793:"181dbc15a49a9457a7b1",6880:"3453248881ace3ce2acf",6901:"90f3679eb2507d3ee219",6916:"cd9e224df6c45963a71d",6976:"2bbdd78b2381c69b8a75",6988:"714873f4061e2fe06e86",6990:"547946618b03e08a3199",7027:"f221033c1a6089f99f66",7057:"64424d70b8b9af6b1a4d",7217:"84682005c8f282755b47",7383:"d066398255cffc464174",7648:"3e8f55e9faf675bc259c",7681:"4356f3ec0c74a2be42e8",7698:"ad0b62cf4e5008929fbd",7792:"940fc15870a431afe6ed",7891:"878bbf3e0e32ef4fa20e",7948:"d0a10f4c749d78becdac",7989:"6e74e3ac54549b93b5aa",8307:"bfe077291840b6ddd4ce",8372:"7e788f73d6da46ac7d30",8507:"25411ce2bb83b6b84360",8592:"5af861ec9242fe9e4d64",8602:"de8340775674556d2ffc",8642:"82159dc514fbf2ae2521",8644:"7ba8ec24d0c02267d3df",8729:"65c9d890ea61a63d1d7e",8884:"57fec34c768dd40fb97e",8929:"59278267437d9ffbd371",8935:"24ab646a6d91670e4598",8945:"8dac3dccff67e604bb19",9022:"95fe10d17f1f3de37df3",9057:"23d4d755a6c58c0914bc",9328:"acae07d932cd0ccabc3e",9358:"291a0c6dedee67b5e098",9380:"d0117f93f4da6752e285",9544:"ebbed155f93c0fe41ef8",9748:"789b9e78f184e32fd921",9899:"7fd066f10d2bebe5de45",9935:"13a36f17a40a1c42311b"}[e]+".js"},f.miniCssF=function(e){return"styles.d5ec15db663483064927.css"},f.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},function(){var e={},c="maskito:";f.l=function(a,d,t,n){if(e[a])e[a].push(d);else{var r,b;if(void 0!==t)for(var o=document.getElementsByTagName("script"),u=0;u=t)&&Object.keys(a.O).every(function(e){return a.O[e](f[b])})?f.splice(b--,1):(r=!1,t0&&e[u-1][2]>t;u--)e[u]=e[u-1];e[u]=[f,d,t]},a.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(c,{a:c}),c},function(){var e,c=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};a.t=function(f,d){if(1&d&&(f=this(f)),8&d||"object"==typeof f&&f&&(4&d&&f.__esModule||16&d&&"function"==typeof f.then))return f;var t=Object.create(null);a.r(t);var n={};e=e||[null,c({}),c([]),c(c)];for(var r=2&d&&f;"object"==typeof r&&!~e.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach(function(e){n[e]=function(){return f[e]}});return n.default=function(){return f},a.d(t,n),t}}(),a.d=function(e,c){for(var f in c)a.o(c,f)&&!a.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:c[f]})},a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce(function(c,f){return a.f[f](e,c),c},[]))},a.u=function(e){return(8592===e?"common":e)+"-es5."+{55:"9614b42743a5f0a73b9a",269:"3080fdee6c3c999f45d3",439:"cfaff1f9e85b36064cb3",608:"0dc5f74e9de95ed40b8e",793:"26a2231e979ab66d792e",960:"71fe9520d7b2e2dd3402",1026:"88c5b36978815caeca0a",1069:"098219b284e355b17e8b",1103:"a3298aa74d448250be19",1127:"379f09cfd2a4e483215b",1165:"2e2b598a57901795fb26",1223:"573220da2fba790037c1",1226:"44069a503a06b54dc5e2",1326:"59f61d0f30924f02cc0d",1335:"91a7ee960024621a8d1e",1434:"c862b56ad64b7b3546a4",1465:"60443d6a9b30ff0ded8f",1508:"127a8122eb1bbfcb77ff",1541:"ddf15d1584bace34352a",1865:"92336b28ec1788ee792f",2022:"2a6ede0c34b491e9c604",2049:"d1f67e9dd7982a752194",2092:"2c1cdb0ebc6b7681ea68",2139:"1e1d4fda95ec48011b1b",2362:"e841bd2e0bd541db23ce",2391:"5e34720681514d36e23e",2472:"18bdb3fd43279c2ea957",2830:"1c56b036d24d3ce94316",2921:"8ca5af6759001411f6a4",2951:"d61a9963a54652535701",3088:"a32b1a16991dca83b961",3245:"377148a2f3f8fbe96be9",3355:"4b13e2dd0877720d5675",3360:"c46e86fd25e861766b67",3377:"a34f627847cac94dfadf",3506:"e696f468c34f9542e63c",3533:"d540a0f758719e717735",3820:"a58bdd7a9b871646747d",4047:"28e6ce6ce0651ff4b2dd",4173:"75db4cd9d644ac22a014",4220:"524fd1d72715e583382c",4249:"b3716868ab4dcfacf487",4272:"c1cac568aabdb86a0bbd",4338:"a24efa891d05f7480e37",4533:"ade8424268b7f70771db",4930:"39d4ba74536c68208717",4947:"9b96165dff9a83903a6d",4991:"4a72edfb31d42860cc5d",4992:"cade38328abf2e37fe42",5034:"eaab52eb59dce0cabf90",5094:"fd5874d7517cedcc67eb",5097:"08531f13f1e2c5ec61f5",5115:"6c3017a2a78a9e65b831",5380:"46ea4995ebc1357fc903",5439:"6df0068313853da04a69",5536:"64722bec9c212b9f302f",5539:"a3edb0eec955e6c8bcf1",5691:"defd3ac957a9af304c5e",5828:"6541913665105d07ccbe",6180:"0cce838380b4007bbc5c",6275:"7fcb2bb100d678087e15",6304:"a6e43cc839e9430ffd68",6347:"4d872a9fb2bfb95d42d0",6549:"0c547ae67fba2faf571d",6793:"181dbc15a49a9457a7b1",6880:"3453248881ace3ce2acf",6901:"90f3679eb2507d3ee219",6916:"cd9e224df6c45963a71d",6976:"2bbdd78b2381c69b8a75",6988:"714873f4061e2fe06e86",6990:"547946618b03e08a3199",7027:"f221033c1a6089f99f66",7057:"64424d70b8b9af6b1a4d",7217:"84682005c8f282755b47",7383:"d066398255cffc464174",7648:"3e8f55e9faf675bc259c",7681:"4356f3ec0c74a2be42e8",7698:"ad0b62cf4e5008929fbd",7792:"940fc15870a431afe6ed",7891:"878bbf3e0e32ef4fa20e",7948:"d0a10f4c749d78becdac",7989:"6e74e3ac54549b93b5aa",8307:"bfe077291840b6ddd4ce",8372:"7e788f73d6da46ac7d30",8507:"25411ce2bb83b6b84360",8592:"5af861ec9242fe9e4d64",8602:"de8340775674556d2ffc",8642:"82159dc514fbf2ae2521",8644:"7ba8ec24d0c02267d3df",8729:"65c9d890ea61a63d1d7e",8884:"57fec34c768dd40fb97e",8929:"59278267437d9ffbd371",8935:"24ab646a6d91670e4598",8945:"8dac3dccff67e604bb19",9022:"95fe10d17f1f3de37df3",9057:"23d4d755a6c58c0914bc",9328:"acae07d932cd0ccabc3e",9358:"291a0c6dedee67b5e098",9380:"d0117f93f4da6752e285",9544:"ebbed155f93c0fe41ef8",9748:"789b9e78f184e32fd921",9899:"7fd066f10d2bebe5de45",9935:"13a36f17a40a1c42311b"}[e]+".js"},a.miniCssF=function(e){return"styles.d5ec15db663483064927.css"},a.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},function(){var e={},c="maskito:";a.l=function(f,d,t,n){if(e[f])e[f].push(d);else{var r,b;if(void 0!==t)for(var o=document.getElementsByTagName("script"),u=0;u=t)&&Object.keys(f.O).every(function(e){return f.O[e](a[b])})?a.splice(b--,1):(r=!1,t0&&e[u-1][2]>t;u--)e[u]=e[u-1];e[u]=[a,d,t]},f.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(c,{a:c}),c},function(){var e,c=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};f.t=function(a,d){if(1&d&&(a=this(a)),8&d||"object"==typeof a&&a&&(4&d&&a.__esModule||16&d&&"function"==typeof a.then))return a;var t=Object.create(null);f.r(t);var n={};e=e||[null,c({}),c([]),c(c)];for(var r=2&d&&a;"object"==typeof r&&!~e.indexOf(r);r=c(r))Object.getOwnPropertyNames(r).forEach(function(e){n[e]=function(){return a[e]}});return n.default=function(){return a},f.d(t,n),t}}(),f.d=function(e,c){for(var a in c)f.o(c,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},f.f={},f.e=function(e){return Promise.all(Object.keys(f.f).reduce(function(c,a){return f.f[a](e,c),c},[]))},f.u=function(e){return(8592===e?"common":e)+"-es5."+{55:"9614b42743a5f0a73b9a",269:"3080fdee6c3c999f45d3",439:"cfaff1f9e85b36064cb3",608:"0dc5f74e9de95ed40b8e",793:"26a2231e979ab66d792e",960:"71fe9520d7b2e2dd3402",1026:"88c5b36978815caeca0a",1069:"098219b284e355b17e8b",1103:"a3298aa74d448250be19",1127:"379f09cfd2a4e483215b",1165:"2e2b598a57901795fb26",1223:"573220da2fba790037c1",1226:"44069a503a06b54dc5e2",1326:"59f61d0f30924f02cc0d",1335:"91a7ee960024621a8d1e",1434:"c862b56ad64b7b3546a4",1465:"60443d6a9b30ff0ded8f",1508:"127a8122eb1bbfcb77ff",1541:"ddf15d1584bace34352a",1865:"92336b28ec1788ee792f",2022:"2a6ede0c34b491e9c604",2049:"d1f67e9dd7982a752194",2092:"2c1cdb0ebc6b7681ea68",2139:"1e1d4fda95ec48011b1b",2362:"e841bd2e0bd541db23ce",2391:"5e34720681514d36e23e",2472:"18bdb3fd43279c2ea957",2830:"1c56b036d24d3ce94316",2921:"8ca5af6759001411f6a4",2951:"d61a9963a54652535701",3088:"a32b1a16991dca83b961",3245:"377148a2f3f8fbe96be9",3355:"4b13e2dd0877720d5675",3360:"c46e86fd25e861766b67",3377:"a34f627847cac94dfadf",3506:"e696f468c34f9542e63c",3533:"d540a0f758719e717735",3820:"a58bdd7a9b871646747d",4047:"c30edcca86289cd85355",4173:"75db4cd9d644ac22a014",4220:"524fd1d72715e583382c",4249:"b3716868ab4dcfacf487",4272:"c1cac568aabdb86a0bbd",4338:"a24efa891d05f7480e37",4533:"ade8424268b7f70771db",4930:"39d4ba74536c68208717",4947:"9b96165dff9a83903a6d",4991:"4a72edfb31d42860cc5d",4992:"cade38328abf2e37fe42",5034:"eaab52eb59dce0cabf90",5094:"fd5874d7517cedcc67eb",5097:"08531f13f1e2c5ec61f5",5115:"6c3017a2a78a9e65b831",5380:"46ea4995ebc1357fc903",5439:"6df0068313853da04a69",5536:"64722bec9c212b9f302f",5539:"a3edb0eec955e6c8bcf1",5691:"defd3ac957a9af304c5e",5828:"6541913665105d07ccbe",6180:"0cce838380b4007bbc5c",6275:"7fcb2bb100d678087e15",6304:"a6e43cc839e9430ffd68",6347:"4d872a9fb2bfb95d42d0",6549:"0c547ae67fba2faf571d",6793:"181dbc15a49a9457a7b1",6880:"3453248881ace3ce2acf",6901:"90f3679eb2507d3ee219",6916:"cd9e224df6c45963a71d",6976:"2bbdd78b2381c69b8a75",6988:"714873f4061e2fe06e86",6990:"547946618b03e08a3199",7027:"f221033c1a6089f99f66",7057:"64424d70b8b9af6b1a4d",7217:"84682005c8f282755b47",7383:"d066398255cffc464174",7648:"3e8f55e9faf675bc259c",7681:"4356f3ec0c74a2be42e8",7698:"ad0b62cf4e5008929fbd",7792:"940fc15870a431afe6ed",7891:"878bbf3e0e32ef4fa20e",7948:"d0a10f4c749d78becdac",7989:"6e74e3ac54549b93b5aa",8307:"bfe077291840b6ddd4ce",8372:"7e788f73d6da46ac7d30",8507:"25411ce2bb83b6b84360",8592:"5af861ec9242fe9e4d64",8602:"de8340775674556d2ffc",8642:"82159dc514fbf2ae2521",8644:"7ba8ec24d0c02267d3df",8729:"65c9d890ea61a63d1d7e",8884:"57fec34c768dd40fb97e",8929:"59278267437d9ffbd371",8935:"24ab646a6d91670e4598",8945:"8dac3dccff67e604bb19",9022:"95fe10d17f1f3de37df3",9057:"23d4d755a6c58c0914bc",9328:"acae07d932cd0ccabc3e",9358:"291a0c6dedee67b5e098",9380:"d0117f93f4da6752e285",9544:"ebbed155f93c0fe41ef8",9748:"789b9e78f184e32fd921",9899:"7fd066f10d2bebe5de45",9935:"13a36f17a40a1c42311b"}[e]+".js"},f.miniCssF=function(e){return"styles.d5ec15db663483064927.css"},f.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},function(){var e={},c="maskito:";f.l=function(a,d,t,n){if(e[a])e[a].push(d);else{var r,b;if(void 0!==t)for(var o=document.getElementsByTagName("script"),u=0;u -
      Stackblitz loading...
      - +
      Stackblitz loading...
      + \ No newline at end of file