From 791b8c02f91b8799eb91cc15153b95bbd0d78dd5 Mon Sep 17 00:00:00 2001 From: nsbarsukov Date: Thu, 14 Dec 2023 13:48:51 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20taiga-fa?= =?UTF-8?q?mily/maskito@1d0ab103c87afbe99ad5a46336f503d5228ab3bb=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1351.52a8cc1257133e22.js | 1 + 1351.98efc81d3c68b594.js | 1 - 6001.2dd5bb838b3a10d1.js | 1 + 9901.2fb15f1d29e3118d.js | 1 + addons/phone/API/index.html | 4 ++-- addons/phone/index.html | 10 +++++----- browser-support/index.html | 4 ++-- changelog/index.html | 4 ++-- core-concepts/element-state/index.html | 4 ++-- core-concepts/mask-expression/index.html | 4 ++-- core-concepts/overview/index.html | 4 ++-- core-concepts/overwrite-mode/index.html | 8 ++++---- core-concepts/plugins/index.html | 21 +++++--------------- core-concepts/processors/index.html | 4 ++-- core-concepts/transformer/index.html | 4 ++-- cypress/index.html | 4 ++-- frameworks/angular/Setup/index.html | 4 ++-- frameworks/angular/index.html | 10 +++++----- frameworks/react/index.html | 4 ++-- frameworks/vue/index.html | 4 ++-- getting-started/maskito-libraries/index.html | 4 ++-- getting-started/what-is-maskito/index.html | 4 ++-- index.html | 4 ++-- index.original.html | 2 +- kit/date-range/API/index.html | 4 ++-- kit/date-range/index.html | 10 +++++----- kit/date-time/API/index.html | 4 ++-- kit/date-time/index.html | 6 +++--- kit/date/API/index.html | 4 ++-- kit/date/index.html | 6 +++--- kit/number/API/index.html | 4 ++-- kit/number/index.html | 14 ++++++------- kit/time/API/index.html | 4 ++-- kit/time/index.html | 6 +++--- recipes/card/index.html | 4 ++-- recipes/phone/index.html | 6 +++--- recipes/placeholder/index.html | 8 ++++---- recipes/postfix/index.html | 6 +++--- recipes/prefix/index.html | 6 +++--- recipes/textarea/index.html | 6 +++--- runtime.815195ca93443254.js | 1 - runtime.90ed154b0dedff8a.js | 1 + stackblitz/index.html | 4 ++-- 43 files changed, 105 insertions(+), 114 deletions(-) create mode 100644 1351.52a8cc1257133e22.js delete mode 100644 1351.98efc81d3c68b594.js create mode 100644 6001.2dd5bb838b3a10d1.js create mode 100644 9901.2fb15f1d29e3118d.js delete mode 100644 runtime.815195ca93443254.js create mode 100644 runtime.90ed154b0dedff8a.js diff --git a/1351.52a8cc1257133e22.js b/1351.52a8cc1257133e22.js new file mode 100644 index 000000000..6f67f7ab9 --- /dev/null +++ b/1351.52a8cc1257133e22.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdemo=self.webpackChunkdemo||[]).push([[1351],{997:(v,d,n)=>{n.d(d,{TuiAddonDocModule:()=>c});var l=n(4537),u=n(9439);let c=(()=>{class i{}return i.\u0275fac=function(m){return new(m||i)},i.\u0275mod=l.oAB({type:i}),i.\u0275inj=l.cJS({imports:[u.JF,u.mG,u.Lx,u.Lq,u.u4]}),i})()},1351:(v,d,n)=>{n.r(d),n.d(d,{PluginsDocPageModule:()=>C});var l=n(8692),u=n(9900),c=n(3178),p=n(997),i=n(2497),r=n(2847),m=n(885),g=n(1673),h=n(3805),P=n(4707),t=n(4537),D=n(6119),f=n(9439),M=n(8225);const j={mask:/^\d{0,3}$/,plugins:[o=>{const a=()=>{const e=o.value;o.addEventListener("beforeinput",s=>{s.defaultPrevented&&e===o.value&&o.dispatchEvent(new CustomEvent("maskitoReject",{bubbles:!0}))},{once:!0})};return o.addEventListener("beforeinput",a,!0),()=>o.removeEventListener("beforeinput",a,!0)}]};var x=n(7258),E=n(5640);let T=(()=>{class o{constructor(){this.maskitoOptions=Object.assign(Object.assign({},j),{plugins:[M.Bb]}),this.value="",this.reject=-1}}return o.\u0275fac=function(e){return new(e||o)},o.\u0275cmp=t.Xpm({type:o,selectors:[["plugins-reject-doc-example-1"]],decls:3,vars:10,consts:[[3,"ngModel","ngModelChange","maskitoReject"],["tuiTextfield","",3,"maskito"]],template:function(e,s){1&e&&(t.TgZ(0,"tui-input",0),t.NdJ("ngModelChange",function(Z){return s.value=Z})("maskitoReject",function(){return s.reject=s.reject+1}),t._uU(1," CVC "),t._UZ(2,"input",1),t.qZA()),2&e&&(t.Udp("animation-duration",300,"ms")("animation-iteration-count",1)("animation-name","reject-"+s.reject%2)("max-width",20,"rem"),t.Q6J("ngModel",s.value),t.xp6(2),t.Q6J("maskito",s.maskitoOptions))},dependencies:[u.JJ,u.On,x.r,g.K3,g.wU,E.MB],styles:["@keyframes reject-0{0%{box-shadow:0 0 #f45725}to{box-shadow:0 0 1rem #f457251f}}@keyframes reject-1{0%{box-shadow:0 0 #f45725}to{box-shadow:0 0 1rem #f457251f}}\n"],encapsulation:2,changeDetection:0}),o})(),y=(()=>{class o{constructor(){this.rejectExample={[P.C.MaskitoOptions]:n.e(3360).then(n.t.bind(n,3360,17)),"index.less":n.e(9901).then(n.t.bind(n,9901,17)),"index.ts":n.e(6001).then(n.t.bind(n,6001,17))}}}return o.\u0275fac=function(e){return new(e||o)},o.\u0275cmp=t.Xpm({type:o,selectors:[["plugins-mode-doc-page"]],decls:15,vars:1,consts:[["header","Plugins"],[1,"tui-space_top-0"],["id","reject","heading","Visualize rejected characters",3,"content"],[1,"tui-space_bottom-3"]],template:function(e,s){1&e&&(t.TgZ(0,"tui-doc-page",0)(1,"p",1)(2,"strong"),t._uU(3,"Plugins"),t.qZA(),t._uU(4," 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. "),t.qZA(),t.TgZ(5,"tui-doc-example",2)(6,"tui-notification",3),t._uU(7," This plugin is available as "),t.TgZ(8,"code"),t._uU(9,"maskitoRejectEvent"),t.qZA(),t._uU(10," in "),t.TgZ(11,"code"),t._uU(12,"@maskito/kit"),t.qZA()(),t._UZ(13,"plugins-reject-doc-example-1"),t.qZA(),t._UZ(14,"next-steps"),t.qZA()),2&e&&(t.xp6(5),t.Q6J("content",s.rejectExample))},dependencies:[m.L,D.R,f.qo,f.f2,T],encapsulation:2,changeDetection:0}),o})(),C=(()=>{class o{}return o.\u0275fac=function(e){return new(e||o)},o.\u0275mod=t.oAB({type:o}),o.\u0275inj=t.cJS({imports:[l.ez,u.u5,r.j,g.Qf,m.H,h.L,p.TuiAddonDocModule,c.Bz.forChild((0,i.Ve)(y))]}),o})()}}]); \ No newline at end of file diff --git a/1351.98efc81d3c68b594.js b/1351.98efc81d3c68b594.js deleted file mode 100644 index 64870b8cd..000000000 --- a/1351.98efc81d3c68b594.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdemo=self.webpackChunkdemo||[]).push([[1351],{997:(f,c,e)=>{e.d(c,{TuiAddonDocModule:()=>d});var l=e(4537),u=e(9439);let d=(()=>{class i{}return i.\u0275fac=function(r){return new(r||i)},i.\u0275mod=l.oAB({type:i}),i.\u0275inj=l.cJS({imports:[u.JF,u.mG,u.Lx,u.Lq,u.u4]}),i})()},1351:(f,c,e)=>{e.r(c),e.d(c,{PluginsDocPageModule:()=>y});var l=e(8692),u=e(9900),d=e(3178),p=e(997),i=e(2497),m=e(2847),r=e(885),g=e(1673),P=e(3805),h=e(4707),t=e(4537),D=e(6119),v=e(9439),M=e(8225);const j={mask:/^\d{0,3}$/,plugins:[n=>{const a=()=>{const o=n.value;n.addEventListener("beforeinput",s=>{s.defaultPrevented&&o===n.value&&n.dispatchEvent(new CustomEvent("maskitoReject",{bubbles:!0}))},{once:!0})};return n.addEventListener("beforeinput",a,!0),()=>n.removeEventListener("beforeinput",a,!0)}]};var x=e(7258),C=e(5640);let E=(()=>{class n{constructor(){this.maskitoOptions=Object.assign(Object.assign({},j),{plugins:[M.Bb]}),this.value="",this.reject=-1}}return n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["plugins-reject-doc-example-1"]],decls:3,vars:4,consts:[[1,"input",3,"ngModel","ngModelChange","maskitoReject"],["tuiTextfield","",3,"maskito"]],template:function(o,s){1&o&&(t.TgZ(0,"tui-input",0),t.NdJ("ngModelChange",function(O){return s.value=O})("maskitoReject",function(){return s.reject=s.reject+1}),t._uU(1," CVC "),t._UZ(2,"input",1),t.qZA()),2&o&&(t.Udp("animation-name","reject-"+s.reject%2),t.Q6J("ngModel",s.value),t.xp6(2),t.Q6J("maskito",s.maskitoOptions))},dependencies:[u.JJ,u.On,x.r,g.K3,g.wU,C.MB],styles:["@keyframes _ngcontent-%COMP%_reject-0{0%{box-shadow:0 0 var(--tui-error-fill)}to{box-shadow:0 0 1rem var(--tui-error-bg)}}@keyframes _ngcontent-%COMP%_reject-1{0%{box-shadow:0 0 var(--tui-error-fill)}to{box-shadow:0 0 1rem var(--tui-error-bg)}}.input[_ngcontent-%COMP%]{max-width:20rem;animation:.3s 1}"],changeDetection:0}),n})(),T=(()=>{class n{constructor(){this.rejectExample={[h.C.MaskitoOptions]:e.e(3360).then(e.t.bind(e,3360,17))}}}return n.\u0275fac=function(o){return new(o||n)},n.\u0275cmp=t.Xpm({type:n,selectors:[["plugins-mode-doc-page"]],decls:15,vars:1,consts:[["header","Plugins"],[1,"tui-space_top-0"],["id","reject","heading","Visualize rejected characters",3,"content"],[1,"tui-space_bottom-3"]],template:function(o,s){1&o&&(t.TgZ(0,"tui-doc-page",0)(1,"p",1)(2,"strong"),t._uU(3,"Plugins"),t.qZA(),t._uU(4," 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. "),t.qZA(),t.TgZ(5,"tui-doc-example",2)(6,"tui-notification",3),t._uU(7," This plugin is available as "),t.TgZ(8,"code"),t._uU(9,"maskitoRejectEvent"),t.qZA(),t._uU(10," in "),t.TgZ(11,"code"),t._uU(12,"@maskito/kit"),t.qZA()(),t._UZ(13,"plugins-reject-doc-example-1"),t.qZA(),t._UZ(14,"next-steps"),t.qZA()),2&o&&(t.xp6(5),t.Q6J("content",s.rejectExample))},dependencies:[r.L,D.R,v.qo,v.f2,E],encapsulation:2,changeDetection:0}),n})(),y=(()=>{class n{}return n.\u0275fac=function(o){return new(o||n)},n.\u0275mod=t.oAB({type:n}),n.\u0275inj=t.cJS({imports:[l.ez,u.u5,m.j,g.Qf,r.H,P.L,p.TuiAddonDocModule,d.Bz.forChild((0,i.Ve)(T))]}),n})()}}]); \ No newline at end of file diff --git a/6001.2dd5bb838b3a10d1.js b/6001.2dd5bb838b3a10d1.js new file mode 100644 index 000000000..d20e9a326 --- /dev/null +++ b/6001.2dd5bb838b3a10d1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdemo=self.webpackChunkdemo||[]).push([[6001],{6001:e=>{e.exports="import './animation.less';\n\nimport {Maskito} from '@maskito/core';\n\nimport maskitoOptions from './mask';\n\nconst element = document.querySelector('input')!;\nconst maskedInput = new Maskito(element, maskitoOptions);\n\nlet reject = -1;\n\nelement.style.animation = '0.3s 1';\n\nelement.addEventListener('maskitoReject', () => {\n reject += 1;\n element.style.animationName = `reject-${reject % 2}`;\n});\n\n// Call this function when the element is detached from DOM\nmaskedInput.destroy();\n"}}]); \ No newline at end of file diff --git a/9901.2fb15f1d29e3118d.js b/9901.2fb15f1d29e3118d.js new file mode 100644 index 000000000..a21861c31 --- /dev/null +++ b/9901.2fb15f1d29e3118d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdemo=self.webpackChunkdemo||[]).push([[9901],{9901:e=>{e.exports="@red: rgba(244, 87, 37, 1);\n\n@keyframes reject-0 {\n from {\n box-shadow: 0 0 @red;\n }\n\n to {\n box-shadow: 0 0 1rem fade(@red, 12%);\n }\n}\n\n@keyframes reject-1 {\n from {\n box-shadow: 0 0 @red;\n }\n\n to {\n box-shadow: 0 0 1rem fade(@red, 12%);\n }\n}\n"}}]); \ No newline at end of file diff --git a/addons/phone/API/index.html b/addons/phone/API/index.html index f70751289..5788fc804 100644 --- a/addons/phone/API/index.html +++ b/addons/phone/API/index.html @@ -22,7 +22,7 @@ -

Phone
PHONE

tuiMode:
-
Name and descriptionType Value
[countryIsoCode]
Country ISO-code
string
'RU'
[strict]
If true, it allows to enter only phone number of selected country (see countryIsoCode property). If false, all country phone number is allowed.

Default:true

boolean
[separator]
Separator between groups of numbers in a phone number (excluding country code and area code).

Default:-

string
'-'
- +

Phone
PHONE

tuiMode:
-
Name and descriptionType Value
[countryIsoCode]
Country ISO-code
string
'RU'
[strict]
If true, it allows to enter only phone number of selected country (see countryIsoCode property). If false, all country phone number is allowed.

Default:true

boolean
[separator]
Separator between groups of numbers in a phone number (excluding country code and area code).

Default:-

string
'-'
+ \ No newline at end of file diff --git a/addons/phone/index.html b/addons/phone/index.html index d361ea9a1..4134a1629 100644 --- a/addons/phone/index.html +++ b/addons/phone/index.html @@ -22,7 +22,7 @@ -

Phone
PHONE

This mask is based on the libphonenumber-js package.

Use maskitoPhoneOptionsGenerator to create a mask for phone input.

basic

Kazakhstan phone example

    
+        

Phone
PHONE

This mask is based on the libphonenumber-js package.

Use maskitoPhoneOptionsGenerator to create a mask for phone input.

basic

Kazakhstan phone example

    
     
@@ -52,7 +52,7 @@
-

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.

    
+

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.

    
     
@@ -64,7 +64,7 @@
-

Non-strict mask

Setting the strict option to false enables non-strict mask mode and allow user to type any country phone number.

The countryIsoCode option is optional in that case, but if you specify it, the mask will try to add that country's calling code when you try to insert a phone number without a calling code.

    
+

Non-strict mask

Setting the strict option to false enables non-strict mask mode and allow user to type any country phone number.

The countryIsoCode option is optional in that case, but if you specify it, the mask will try to add that country's calling code when you try to insert a phone number without a calling code.

    
     
@@ -76,7 +76,7 @@
-

Lazy metadata

You can load metadata lazily, below is an example of how to do it in Angular.

You can also customize the metadata to reduce metadata size. See instructions here

    
+

Lazy metadata

You can load metadata lazily, below is an example of how to do it in Angular.

You can also customize the metadata to reduce metadata size. See instructions here

    
     
@@ -89,6 +89,6 @@
- + \ No newline at end of file diff --git a/browser-support/index.html b/browser-support/index.html index 47163265f..0523fbcec 100644 --- a/browser-support/index.html +++ b/browser-support/index.html @@ -22,7 +22,7 @@ -

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 761d63150..4c518111c 100644 --- a/changelog/index.html +++ b/changelog/index.html @@ -23,7 +23,7 @@ -

Changelog

Changelog

+

Changelog

Changelog

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

1.9.0 (2023-11-23)

@@ -473,6 +473,6 @@

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 a19e4ce49..f1bb43915 100644 --- a/core-concepts/element-state/index.html +++ b/core-concepts/element-state/index.html @@ -22,13 +22,13 @@ -

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:

    
+        

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 614fa1ea6..e19c23d3e 100644 --- a/core-concepts/mask-expression/index.html +++ b/core-concepts/mask-expression/index.html @@ -22,7 +22,7 @@ -

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:

        
    +        

    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:

          
           
      @@ -41,6 +41,6 @@
      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 e6dd04fc5..49442adb1 100644 --- a/core-concepts/overview/index.html +++ b/core-concepts/overview/index.html @@ -22,13 +22,13 @@ -

    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
        
    +        

    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 5e2196e3c..a54cc2ea9 100644 --- a/core-concepts/overwrite-mode/index.html +++ b/core-concepts/overwrite-mode/index.html @@ -22,7 +22,7 @@ -

    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.

        
    +        

    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.

        
         
    @@ -52,7 +52,7 @@
    -

    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.

        
    +

    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.

        
         
    @@ -82,7 +82,7 @@
    -

    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 .

        
    +

    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 .

        
         
    @@ -113,6 +113,6 @@

    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 638ff5fd3..9753a9530 100644 --- a/core-concepts/plugins/index.html +++ b/core-concepts/plugins/index.html @@ -15,26 +15,15 @@ Maskito | Plugins - + -

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
    
-    
- - -
-
    
-    
- - -
-
    
+        

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
    
     
@@ -53,6 +42,6 @@

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 befe19df0..2a294ca37 100644 --- a/core-concepts/processors/index.html +++ b/core-concepts/processors/index.html @@ -22,7 +22,7 @@ -

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.
        
    +        

    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.
          
           
      @@ -47,6 +47,6 @@
    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 3f9f8fc5a..22b09095c 100644 --- a/core-concepts/transformer/index.html +++ b/core-concepts/transformer/index.html @@ -22,13 +22,13 @@ -

    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 .

        
    +        

    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 bec44238b..69efabcfa 100644 --- a/cypress/index.html +++ b/cypress/index.html @@ -22,7 +22,7 @@ -

    Cypress

    - +

    Cypress

    + \ No newline at end of file diff --git a/frameworks/angular/Setup/index.html b/frameworks/angular/Setup/index.html index 66c5c1b7c..48377dc6f 100644 --- a/frameworks/angular/Setup/index.html +++ b/frameworks/angular/Setup/index.html @@ -22,7 +22,7 @@ -

    Angular

    1. Install libraries

      /your/project/path> +

      Angular

      1. Install libraries

        /your/project/path>

            
             
      - + \ No newline at end of file diff --git a/frameworks/angular/index.html b/frameworks/angular/index.html index 36f8d0778..a22a09132 100644 --- a/frameworks/angular/index.html +++ b/frameworks/angular/index.html @@ -22,7 +22,7 @@ -

      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

          
           
      -

      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
    
     
- + \ No newline at end of file diff --git a/frameworks/react/index.html b/frameworks/react/index.html index 4f6a39dee..c697d56c9 100644 --- a/frameworks/react/index.html +++ b/frameworks/react/index.html @@ -22,7 +22,7 @@ -

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

    
+        

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

    
     
@@ -59,6 +59,6 @@
- + \ No newline at end of file diff --git a/frameworks/vue/index.html b/frameworks/vue/index.html index b193bea0c..a75351bb4 100644 --- a/frameworks/vue/index.html +++ b/frameworks/vue/index.html @@ -22,7 +22,7 @@ -

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

    
+        

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

    
     
@@ -47,6 +47,6 @@
- + \ No newline at end of file diff --git a/getting-started/maskito-libraries/index.html b/getting-started/maskito-libraries/index.html index adc67ad4a..472cfdef0 100644 --- a/getting-started/maskito-libraries/index.html +++ b/getting-started/maskito-libraries/index.html @@ -22,7 +22,7 @@ -

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 "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 00e784172..1b687d96c 100644 --- a/getting-started/what-is-maskito/index.html +++ b/getting-started/what-is-maskito/index.html @@ -22,7 +22,7 @@ -

    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 f93e92727..8a9112f79 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@ -

    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 20b6821a4..0538c930c 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 d0b28df13..f2b8d7c06 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 +

    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 32267c6c8..21138894e 100644 --- a/kit/date-range/index.html +++ b/kit/date-range/index.html @@ -22,7 +22,7 @@ -

    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.

        
    +        

    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.

        
         
    @@ -52,7 +52,7 @@
    -

    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 dates

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

        
         
    @@ -82,7 +82,7 @@
    -

    Min and max length of range

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

        
    +

    Min and max length of range

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

        
         
    @@ -112,7 +112,7 @@
    -

    Custom range separator

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

        
    +

    Custom range separator

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

        
         
    @@ -143,6 +143,6 @@
    - + \ No newline at end of file diff --git a/kit/date-time/API/index.html b/kit/date-time/API/index.html index c4497deb5..de275ed23 100644 --- a/kit/date-time/API/index.html +++ b/kit/date-time/API/index.html @@ -22,7 +22,7 @@ -

    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 4033f67f8..64d9b1bb4 100644 --- a/kit/date-time/index.html +++ b/kit/date-time/index.html @@ -22,7 +22,7 @@ -

    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.

        
    +        

    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.

        
         
    @@ -52,7 +52,7 @@
    -

    Min and max

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

        
    +

    Min and max

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

        
         
    @@ -83,6 +83,6 @@
    - + \ No newline at end of file diff --git a/kit/date/API/index.html b/kit/date/API/index.html index c8178e050..1b17ed989 100644 --- a/kit/date/API/index.html +++ b/kit/date/API/index.html @@ -22,7 +22,7 @@ -

    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 4d75a6d03..92c9285ea 100644 --- a/kit/date/index.html +++ b/kit/date/index.html @@ -22,7 +22,7 @@ -

    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.

        
    +        

    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.

        
         
    @@ -52,7 +52,7 @@
    -

    Min/Max

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

        
    +

    Min/Max

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

        
         
    @@ -83,6 +83,6 @@
    - + \ No newline at end of file diff --git a/kit/number/API/index.html b/kit/number/API/index.html index de53c7a3a..4e30c4244 100644 --- a/kit/number/API/index.html +++ b/kit/number/API/index.html @@ -22,7 +22,7 @@ -

    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 aad403026..cce9bd457 100644 --- a/kit/number/index.html +++ b/kit/number/index.html @@ -22,13 +22,13 @@ -

    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.

        
    +        

    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.

        
    +

    High precision

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

        
         
    @@ -58,7 +58,7 @@
    -

    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
        
    +

    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
        
         
    @@ -88,7 +88,7 @@
    -

    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.

        
    +

    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.

        
         
    @@ -118,7 +118,7 @@
    -

    Decimal zero padding

    Set decimalZeroPadding: true to always show trailing zeroes.

    Non removable dollar sign is achieved by using prefix parameter.

        
    +

    Decimal zero padding

    Set decimalZeroPadding: true to always show trailing zeroes.

    Non removable dollar sign is achieved by using prefix parameter.

        
         
    @@ -148,7 +148,7 @@
    -

    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.

        
    +

    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.

        
         
    @@ -161,6 +161,6 @@
    - + \ No newline at end of file diff --git a/kit/time/API/index.html b/kit/time/API/index.html index 3155e2681..8a05c3905 100644 --- a/kit/time/API/index.html +++ b/kit/time/API/index.html @@ -22,7 +22,7 @@ -

    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 efa95145d..f975c5d61 100644 --- a/kit/time/index.html +++ b/kit/time/index.html @@ -22,7 +22,7 @@ -

    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 .

        
    +        

    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 .

        
         
    @@ -52,7 +52,7 @@
    -

    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.

        
    +

    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.

        
         
    @@ -83,6 +83,6 @@
    - + \ No newline at end of file diff --git a/recipes/card/index.html b/recipes/card/index.html index fcce57ced..3f1b07128 100644 --- a/recipes/card/index.html +++ b/recipes/card/index.html @@ -22,7 +22,7 @@ -

    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:

        
         
    @@ -35,6 +35,6 @@
    - + \ No newline at end of file diff --git a/recipes/phone/index.html b/recipes/phone/index.html index d69ca385f..53635c9be 100644 --- a/recipes/phone/index.html +++ b/recipes/phone/index.html @@ -22,7 +22,7 @@ -

    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
        
    +        

    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
        
         
    @@ -52,7 +52,7 @@
    -

    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
        
    +

    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
        
         
    @@ -83,6 +83,6 @@
    - + \ No newline at end of file diff --git a/recipes/placeholder/index.html b/recipes/placeholder/index.html index 35fc0fd28..a61fe3c87 100644 --- a/recipes/placeholder/index.html +++ b/recipes/placeholder/index.html @@ -22,7 +22,7 @@ -

    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.

        
    +        

    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.

        
         
    @@ -52,7 +52,7 @@
    -

    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
        
    +

    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
        
         
    @@ -64,7 +64,7 @@
    -

    Date

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

        
    +

    Date

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

        
         
    @@ -95,6 +95,6 @@
    - + \ No newline at end of file diff --git a/recipes/postfix/index.html b/recipes/postfix/index.html index 0210f9d55..7f0572d50 100644 --- a/recipes/postfix/index.html +++ b/recipes/postfix/index.html @@ -22,7 +22,7 @@ -

    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.

        
    +        

    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.

        
         
    @@ -52,7 +52,7 @@
    -

    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!

        
    +

    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!

        
         
    @@ -83,6 +83,6 @@
    - + \ No newline at end of file diff --git a/recipes/prefix/index.html b/recipes/prefix/index.html index 67c13614d..3e3d7481a 100644 --- a/recipes/prefix/index.html +++ b/recipes/prefix/index.html @@ -22,7 +22,7 @@ -

    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.

        
    +        

    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.

        
         
    @@ -52,7 +52,7 @@
    -

    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!

        
    +

    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!

        
         
    @@ -83,6 +83,6 @@
    - + \ No newline at end of file diff --git a/recipes/textarea/index.html b/recipes/textarea/index.html index ca2fa244b..18c5f271e 100644 --- a/recipes/textarea/index.html +++ b/recipes/textarea/index.html @@ -22,13 +22,13 @@ -

    Textarea
    Recipes

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

        
    +        

    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

        
    +

    Learn more in the "Core Concepts" section.

    Latin letters and digits

        
         
    @@ -59,6 +59,6 @@
    - + \ No newline at end of file diff --git a/runtime.815195ca93443254.js b/runtime.815195ca93443254.js deleted file mode 100644 index bfd31bc9f..000000000 --- a/runtime.815195ca93443254.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,m={},v={};function f(e){var d=v[e];if(void 0!==d)return d.exports;var a=v[e]={exports:{}};return m[e].call(a.exports,a,a.exports,f),a.exports}f.m=m,e=[],f.O=(d,a,b,r)=>{if(!a){var c=1/0;for(t=0;t=r)&&Object.keys(f.O).every(p=>f.O[p](a[n]))?a.splice(n--,1):(u=!1,r0&&e[t-1][2]>r;t--)e[t]=e[t-1];e[t]=[a,b,r]},f.n=e=>{var d=e&&e.__esModule?()=>e.default:()=>e;return f.d(d,{a:d}),d},(()=>{var d,e=Object.getPrototypeOf?a=>Object.getPrototypeOf(a):a=>a.__proto__;f.t=function(a,b){if(1&b&&(a=this(a)),8&b||"object"==typeof a&&a&&(4&b&&a.__esModule||16&b&&"function"==typeof a.then))return a;var r=Object.create(null);f.r(r);var t={};d=d||[null,e({}),e([]),e(e)];for(var c=2&b&&a;"object"==typeof c&&!~d.indexOf(c);c=e(c))Object.getOwnPropertyNames(c).forEach(u=>t[u]=()=>a[u]);return t.default=()=>a,f.d(r,t),r}})(),f.d=(e,d)=>{for(var a in d)f.o(d,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:d[a]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce((d,a)=>(f.f[a](e,d),d),[])),f.u=e=>(8592===e?"common":e)+"."+{18:"5c12cb348182ec78",87:"ee1655a32d824a27",131:"14666404d8d280c0",169:"c420dbfc1a862900",269:"6e4fe08514d2e104",608:"3113e46b5a632947",664:"1c47d83731b45138",793:"49cd9861dec31bca",904:"54cc312875ece0b4",960:"5d029c736c6a2b15",1026:"1e5ca030db1c4787",1069:"1e6e73bd980482b3",1127:"f7fee2a02ffd672e",1165:"d276b62c8565ffa7",1223:"670510bbbdd71a71",1226:"cffe780e87afae72",1335:"4eb50c241c3a963a",1351:"98efc81d3c68b594",1465:"f3111bb458272129",1508:"fb793d7fc751b592",1541:"ca5a574c85b80888",1759:"4b3ca87c42dab57b",1865:"8d2c45a819abae0a",2049:"97c6d4b6ba693ee2",2089:"2c124975767baf0c",2092:"5e4d959d342c7594",2362:"2021d3d2d6924a8d",2391:"df82bb30b58af2c1",2472:"9108a66da79be647",2742:"f3be892f6ba2167e",2830:"6251e61a6448f834",2888:"c7eeeefa5448fdd2",2921:"8ff1c02aa4fed3d1",3088:"cb6f52cfd8821955",3245:"2d30d34d9d988578",3360:"e562100688cc3a11",3377:"3aab3dcd70e82ca2",3381:"e621a3272023158e",3506:"5fce61efec4fd7b1",3533:"3b7d7e3987ae0a46",3716:"ff811ddfc7d61da2",4047:"7a3933052b85da32",4088:"7a9ea9711daa99db",4173:"d56d4a0dbb48f2ab",4220:"0a42bcbf9ad1d396",4249:"bdaeabc37dda0e41",4338:"f9aed5608093f9d6",4356:"a929c17f74bf51a2",4701:"ed4903840403aec7",4930:"8ccadc306a1a2273",4947:"a76a473ab8031cbe",4992:"2f2b2d12503cbbc6",5017:"737ed932cabffe2d",5034:"02b089f444ef1c15",5088:"3925281975010f83",5097:"9b9bd0f1c5d4ad1d",5113:"b3bf1b2b6b70b574",5168:"b03a51d6e4ee616b",5445:"6c1fb1c260544183",5539:"081ce6af4be3a2e4",5564:"2246eac7e3c93775",5580:"275ce174b02ab608",5608:"f11b996f76365cab",5691:"9a9492e9823b6cfc",6054:"b9b16e18b6efb9fc",6233:"09a846b19372e5f5",6304:"5ea8777c2e6b2f1a",6597:"977c96966985b691",6793:"a32db330d83be329",6880:"faecec5c401e3133",6901:"7298b4eee94fac57",6916:"4be7f6d9fe6a7f9b",6976:"ff85e31233a6387f",6988:"6c400c0825cdc27d",6990:"e8d963285fc0e85f",7072:"126d9278a3f53d18",7089:"7b5e0cd068d4a429",7217:"4a765176d8d6d995",7316:"21851b467996fc88",7383:"62ab7d17ea41c561",7435:"a0b8d5fca25b5307",7648:"850f328ac3fd5585",7674:"8594f7dfd710aaff",7681:"3bcdd1a3eb2fde38",7698:"6d9be0cd52ac636f",7792:"44e00711bacbe87e",7891:"7d0df5f5dd60afd5",7937:"9d599c162e97b2d7",7948:"fda8e861278e874f",8210:"57b1cad43b23ac65",8307:"c60faf42df32c070",8354:"2ba7b3373cc95cf5",8372:"3ab40bac3582a20d",8507:"edc823a0fec8f564",8592:"ec14b38193e033d1",8602:"80b224b148976436",8644:"2b31bce6f133d93e",8660:"645e2b363cd03e2b",8729:"83d4018f5b8f2c37",8884:"ddfa1739fb094839",8929:"92fb4a9948619e13",8945:"83d3b189e9a1cbba",9022:"927b7f510fea205a",9057:"46b6f1216fee07c6",9328:"62db0797682de2ec",9358:"f80cb2e11daaa9a5",9748:"20a95406f3af36c2",9899:"59d4d9dd1b68f7c8",9935:"d9674e8bb1693ac4"}[e]+".js",f.miniCssF=e=>{},f.o=(e,d)=>Object.prototype.hasOwnProperty.call(e,d),(()=>{var e={},d="demo:";f.l=(a,b,r,t)=>{if(e[a])e[a].push(b);else{var c,u;if(void 0!==r)for(var n=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var _=e[a];if(delete e[a],c.parentNode&&c.parentNode.removeChild(c),_&&_.forEach(y=>y(p)),g)return g(p)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),u&&document.head.appendChild(c)}}})(),f.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;f.tt=()=>(void 0===e&&(e={createScriptURL:d=>d},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),f.tu=e=>f.tt().createScriptURL(e),f.p="",(()=>{var e={3666:0};f.f.j=(b,r)=>{var t=f.o(e,b)?e[b]:void 0;if(0!==t)if(t)r.push(t[2]);else if(3666!=b){var c=new Promise((o,l)=>t=e[b]=[o,l]);r.push(t[2]=c);var u=f.p+f.u(b),n=new Error;f.l(u,o=>{if(f.o(e,b)&&(0!==(t=e[b])&&(e[b]=void 0),t)){var l=o&&("load"===o.type?"missing":o.type),s=o&&o.target&&o.target.src;n.message="Loading chunk "+b+" failed.\n("+l+": "+s+")",n.name="ChunkLoadError",n.type=l,n.request=s,t[1](n)}},"chunk-"+b,b)}else e[b]=0},f.O.j=b=>0===e[b];var d=(b,r)=>{var n,i,[t,c,u]=r,o=0;if(t.some(s=>0!==e[s])){for(n in c)f.o(c,n)&&(f.m[n]=c[n]);if(u)var l=u(f)}for(b&&b(r);o{"use strict";var e,m={},v={};function f(e){var d=v[e];if(void 0!==d)return d.exports;var a=v[e]={exports:{}};return m[e].call(a.exports,a,a.exports,f),a.exports}f.m=m,e=[],f.O=(d,a,b,r)=>{if(!a){var c=1/0;for(t=0;t=r)&&Object.keys(f.O).every(p=>f.O[p](a[n]))?a.splice(n--,1):(u=!1,r0&&e[t-1][2]>r;t--)e[t]=e[t-1];e[t]=[a,b,r]},f.n=e=>{var d=e&&e.__esModule?()=>e.default:()=>e;return f.d(d,{a:d}),d},(()=>{var d,e=Object.getPrototypeOf?a=>Object.getPrototypeOf(a):a=>a.__proto__;f.t=function(a,b){if(1&b&&(a=this(a)),8&b||"object"==typeof a&&a&&(4&b&&a.__esModule||16&b&&"function"==typeof a.then))return a;var r=Object.create(null);f.r(r);var t={};d=d||[null,e({}),e([]),e(e)];for(var c=2&b&&a;"object"==typeof c&&!~d.indexOf(c);c=e(c))Object.getOwnPropertyNames(c).forEach(u=>t[u]=()=>a[u]);return t.default=()=>a,f.d(r,t),r}})(),f.d=(e,d)=>{for(var a in d)f.o(d,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:d[a]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce((d,a)=>(f.f[a](e,d),d),[])),f.u=e=>(8592===e?"common":e)+"."+{18:"5c12cb348182ec78",87:"ee1655a32d824a27",131:"14666404d8d280c0",169:"c420dbfc1a862900",269:"6e4fe08514d2e104",608:"3113e46b5a632947",664:"1c47d83731b45138",793:"49cd9861dec31bca",904:"54cc312875ece0b4",960:"5d029c736c6a2b15",1026:"1e5ca030db1c4787",1069:"1e6e73bd980482b3",1127:"f7fee2a02ffd672e",1165:"d276b62c8565ffa7",1223:"670510bbbdd71a71",1226:"cffe780e87afae72",1335:"4eb50c241c3a963a",1351:"52a8cc1257133e22",1465:"f3111bb458272129",1508:"fb793d7fc751b592",1541:"ca5a574c85b80888",1759:"4b3ca87c42dab57b",1865:"8d2c45a819abae0a",2049:"97c6d4b6ba693ee2",2089:"2c124975767baf0c",2092:"5e4d959d342c7594",2362:"2021d3d2d6924a8d",2391:"df82bb30b58af2c1",2472:"9108a66da79be647",2742:"f3be892f6ba2167e",2830:"6251e61a6448f834",2888:"c7eeeefa5448fdd2",2921:"8ff1c02aa4fed3d1",3088:"cb6f52cfd8821955",3245:"2d30d34d9d988578",3360:"e562100688cc3a11",3377:"3aab3dcd70e82ca2",3381:"e621a3272023158e",3506:"5fce61efec4fd7b1",3533:"3b7d7e3987ae0a46",3716:"ff811ddfc7d61da2",4047:"7a3933052b85da32",4088:"7a9ea9711daa99db",4173:"d56d4a0dbb48f2ab",4220:"0a42bcbf9ad1d396",4249:"bdaeabc37dda0e41",4338:"f9aed5608093f9d6",4356:"a929c17f74bf51a2",4701:"ed4903840403aec7",4930:"8ccadc306a1a2273",4947:"a76a473ab8031cbe",4992:"2f2b2d12503cbbc6",5017:"737ed932cabffe2d",5034:"02b089f444ef1c15",5088:"3925281975010f83",5097:"9b9bd0f1c5d4ad1d",5113:"b3bf1b2b6b70b574",5168:"b03a51d6e4ee616b",5445:"6c1fb1c260544183",5539:"081ce6af4be3a2e4",5564:"2246eac7e3c93775",5580:"275ce174b02ab608",5608:"f11b996f76365cab",5691:"9a9492e9823b6cfc",6001:"2dd5bb838b3a10d1",6054:"b9b16e18b6efb9fc",6233:"09a846b19372e5f5",6304:"5ea8777c2e6b2f1a",6597:"977c96966985b691",6793:"a32db330d83be329",6880:"faecec5c401e3133",6901:"7298b4eee94fac57",6916:"4be7f6d9fe6a7f9b",6976:"ff85e31233a6387f",6988:"6c400c0825cdc27d",6990:"e8d963285fc0e85f",7072:"126d9278a3f53d18",7089:"7b5e0cd068d4a429",7217:"4a765176d8d6d995",7316:"21851b467996fc88",7383:"62ab7d17ea41c561",7435:"a0b8d5fca25b5307",7648:"850f328ac3fd5585",7674:"8594f7dfd710aaff",7681:"3bcdd1a3eb2fde38",7698:"6d9be0cd52ac636f",7792:"44e00711bacbe87e",7891:"7d0df5f5dd60afd5",7937:"9d599c162e97b2d7",7948:"fda8e861278e874f",8210:"57b1cad43b23ac65",8307:"c60faf42df32c070",8354:"2ba7b3373cc95cf5",8372:"3ab40bac3582a20d",8507:"edc823a0fec8f564",8592:"ec14b38193e033d1",8602:"80b224b148976436",8644:"2b31bce6f133d93e",8660:"645e2b363cd03e2b",8729:"83d4018f5b8f2c37",8884:"ddfa1739fb094839",8929:"92fb4a9948619e13",8945:"83d3b189e9a1cbba",9022:"927b7f510fea205a",9057:"46b6f1216fee07c6",9328:"62db0797682de2ec",9358:"f80cb2e11daaa9a5",9748:"20a95406f3af36c2",9899:"59d4d9dd1b68f7c8",9901:"2fb15f1d29e3118d",9935:"d9674e8bb1693ac4"}[e]+".js",f.miniCssF=e=>{},f.o=(e,d)=>Object.prototype.hasOwnProperty.call(e,d),(()=>{var e={},d="demo:";f.l=(a,b,r,t)=>{if(e[a])e[a].push(b);else{var c,u;if(void 0!==r)for(var n=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var _=e[a];if(delete e[a],c.parentNode&&c.parentNode.removeChild(c),_&&_.forEach(y=>y(p)),g)return g(p)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),u&&document.head.appendChild(c)}}})(),f.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;f.tt=()=>(void 0===e&&(e={createScriptURL:d=>d},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),f.tu=e=>f.tt().createScriptURL(e),f.p="",(()=>{var e={3666:0};f.f.j=(b,r)=>{var t=f.o(e,b)?e[b]:void 0;if(0!==t)if(t)r.push(t[2]);else if(3666!=b){var c=new Promise((o,l)=>t=e[b]=[o,l]);r.push(t[2]=c);var u=f.p+f.u(b),n=new Error;f.l(u,o=>{if(f.o(e,b)&&(0!==(t=e[b])&&(e[b]=void 0),t)){var l=o&&("load"===o.type?"missing":o.type),s=o&&o.target&&o.target.src;n.message="Loading chunk "+b+" failed.\n("+l+": "+s+")",n.name="ChunkLoadError",n.type=l,n.request=s,t[1](n)}},"chunk-"+b,b)}else e[b]=0},f.O.j=b=>0===e[b];var d=(b,r)=>{var n,i,[t,c,u]=r,o=0;if(t.some(s=>0!==e[s])){for(n in c)f.o(c,n)&&(f.m[n]=c[n]);if(u)var l=u(f)}for(b&&b(r);o -
    Stackblitz loading...
    - +
    Stackblitz loading...
    + \ No newline at end of file