@ecomplus/widget-product-card 1.0.0-beta.186 → 1.0.0-beta.187
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-beta.187](https://github.com/ecomplus/storefront/compare/@ecomplus/widget-product-card@1.0.0-beta.186...@ecomplus/widget-product-card@1.0.0-beta.187) (2025-05-02)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @ecomplus/widget-product-card
|
|
9
|
+
|
|
6
10
|
# [1.0.0-beta.186](https://github.com/ecomplus/storefront/compare/@ecomplus/widget-product-card@1.0.0-beta.185...@ecomplus/widget-product-card@1.0.0-beta.186) (2025-02-12)
|
|
7
11
|
|
|
8
12
|
**Note:** Version bump only for package @ecomplus/widget-product-card
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/@linusborg/vue-simple-portal/dist/index.esm.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/nanoid/non-secure/index.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-social-sharing/dist/vue-social-sharing.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-cleave-component/dist/vue-cleave.min.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/cleave.js/dist/cleave-esm.js","webpack://widgetProductCard/(webpack)/buildin/global.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","config","selector","concat","nanoid","size","id","i","Math","random","setSelector","isBrowser","window","undefined","document","TargetContainer","Vue","extend","abstract","name","props","data","vm","updatedNodes","nodes","render","h","this","length","text","tag","destroyed","el","$el","parentNode","removeChild","Portal","disabled","type","Boolean","prepend","String","default","$scopedSlots","created","getTargetEl","insertTargetEl","updated","_this","$nextTick","slotFn","container","beforeDestroy","unmount","watch","immediate","handler","mount","methods","querySelector","parent","child","createElement","substring","appendChild","targetEl","firstChild","insertBefore","propsData","$destroy","install","_Vue","options","arguments","component","defaultSelector","use","self","module","exports","t","e","r","n","l","call","m","c","d","o","Object","defineProperty","enumerable","get","toStringTag","value","__esModule","create","bind","hasOwnProperty","p","s","baidu","buffer","email","evernote","facebook","flipboard","hackernews","instapaper","line","linkedin","messenger","odnoklassniki","pinterest","pocket","quora","reddit","skype","sms","stumbleupon","telegram","tumblr","twitter","viber","vk","weibo","whatsapp","wordpress","xing","yammer","network","required","url","title","description","quote","hashtags","twitterUser","media","popup","width","height","popupTop","popupLeft","popupWindow","popupInterval","computed","networks","$SocialSharing","key","toLowerCase","rawLink","navigator","userAgent","indexOf","replace","shareLink","encodeURIComponent","encodedHashtags","split","Error","class","on","click","attrs","href","$slots","resizePopup","innerWidth","documentElement","clientWidth","screenX","innerHeight","clientHeight","screenY","screen","availWidth","screenLeft","screenTop","share","clearInterval","close","emit","open","focus","setInterval","closed","touch","$root","$emit","assign","u","apply","a","blur","onBlur","validator","raw","cleave","onValueChangedFn","mounted","getOptions","onValueChanged","target","rawValue","deep","destroy","setRawValue","getRawValue","commonjsGlobal","global","NumeralFormatter","numeralDecimalMark","numeralIntegerScale","numeralDecimalScale","numeralThousandsGroupStyle","numeralPositiveOnly","stripLeadingZeroes","prefix","signBeforePrefix","tailPrefix","delimiter","groupStyle","thousand","delimiterRE","RegExp","lakh","wan","none","format","parts","partSign","partSignAndPrefix","partInteger","partDecimal","slice","toString","NumeralFormatter_1","DateFormatter","datePattern","dateMin","dateMax","date","blocks","reverse","map","x","parseInt","unshift","initBlocks","owner","forEach","push","getISOFormatDate","addLeadingZero","getBlocks","getValidatedDate","result","index","sub","sub0","rest","getFixedDateString","day","month","year","dayIndex","monthIndex","yearIndex","dayStartIndex","monthStartIndex","yearStartIndex","fullYearDone","getFixedDate","getRangeFixedDate","reduce","previous","current","addLeadingZeroForYear","find","min","isLeapYear","number","fullYearMode","DateFormatter_1","TimeFormatter","timePattern","timeFormat","time","getISOFormatTime","getTimeFormatOptions","maxHourFirstDigit","maxHours","maxMinutesFirstDigit","maxMinutes","getValidatedTime","timeFormatOptions","getFixedTimeString","second","minute","hour","secondIndex","minuteIndex","hourIndex","secondStartIndex","minuteStartIndex","hourStartIndex","getFixedTime","TimeFormatter_1","PhoneFormatter","formatter","setFormatter","phoneNumber","clear","validated","iMax","inputDigit","charAt","test","PhoneFormatter_1","CreditCardDetector","uatp","amex","diners","discover","mastercard","dankort","instapayment","jcb15","jcb","maestro","visa","mir","unionPay","general","re","getStrictBlocks","block","total","prev","getInfo","strictMode","matchedBlocks","CreditCardDetector_1","Util_1","noop","strip","getPostDelimiter","delimiters","matchedDelimiter","getDelimiterREByDelimiter","getNextCursorPosition","prevPos","oldValue","newValue","getPositionOffset","oldRawValue","newRawValue","lengthOffset","stripDelimiters","abs","letter","headStr","str","getMaxLength","getPrefixStrippedValue","prefixLength","prevResult","noImmediatePrefix","prevValue","getFirstDiffIndex","getFormattedValue","blocksLength","delimiterLazyShow","multipleDelimiters","currentDelimiter","fixPrefixCursor","val","appendix","setSelectionRange","len","setTimeout","checkFullSelection","getSelection","ex","setSelection","element","position","doc","getActiveElement","createTextRange","range","move","select","console","warn","activeElement","shadowRoot","isAndroid","isAndroidBackspaceKeydown","lastInputValue","currentInputValue","DefaultProperties_1","opts","creditCard","creditCardStrictMode","creditCardType","onCreditCardTypeChanged","phone","phoneRegionCode","phoneFormatter","timeFormatter","dateFormatter","numeral","swapHiddenInput","numericOnly","uppercase","lowercase","rawValueTrimPrefix","copyDelimiter","initValue","delimiterLength","root","maxLength","backspace","Cleave","hasMultipleElements","querySelectorAll","properties","DefaultProperties","init","pps","Util","isBackward","onChangeListener","onChange","onKeyDownListener","onKeyDown","onFocusListener","onFocus","onCutListener","onCut","onCopyListener","onCopy","initSwapHiddenInput","addEventListener","initPhoneFormatter","initDateFormatter","initTimeFormatter","initNumeralFormatter","onInput","inputFormatter","cloneNode","elementSwapHidden","numeralFormatter","AsYouTypeFormatter","event","charCode","which","keyCode","inputType","postDelimiter","postDelimiterBackspace","copyClipboardData","inputValue","textToCopy","clipboardData","setData","preventDefault","postDelimiterAfter","updateValueState","toUpperCase","updateCreditCardPropsByValue","creditCardInfo","endPos","selectionEnd","callOnValueChanged","setPhoneRegionCode","removeEventListener","Cleave_1","g","Function"],"mappings":"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","file":"widget-product-card.2.min.js","sourcesContent":["\n/**\n * vue-simple-portal\n * version: 0.1.5,\n * (c) Thorsten Lünborg, 2021 - present\n * LICENCE: Apache-2.0\n * http://github.com/linusborg/vue-simple-portal\n*/\nimport Vue from 'vue';\nimport { nanoid } from 'nanoid/non-secure';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar config = {\n selector: \"vue-portal-target-\".concat(nanoid())\n};\nvar setSelector = function setSelector(selector) {\n return config.selector = selector;\n};\nvar isBrowser = typeof window !== 'undefined' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) !== undefined;\n\nvar TargetContainer = Vue.extend({\n // as an abstract component, it doesn't appear in\n // the $parent chain of components.\n // which means the next parent of any component rendered inside of this oen\n // will be the parent from which is was sent\n // @ts-expect-error\n abstract: true,\n name: 'PortalOutlet',\n props: ['nodes', 'tag'],\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n render: function render(h) {\n var nodes = this.updatedNodes && this.updatedNodes();\n if (!nodes) return h();\n return nodes.length === 1 && !nodes[0].text ? nodes : h(this.tag || 'DIV', nodes);\n },\n destroyed: function destroyed() {\n var el = this.$el;\n el && el.parentNode.removeChild(el);\n }\n});\n\nvar Portal = Vue.extend({\n name: 'VueSimplePortal',\n props: {\n disabled: {\n type: Boolean\n },\n prepend: {\n type: Boolean\n },\n selector: {\n type: String,\n default: function _default() {\n return \"#\".concat(config.selector);\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n }\n },\n render: function render(h) {\n if (this.disabled) {\n var nodes = this.$scopedSlots && this.$scopedSlots.default();\n if (!nodes) return h();\n return nodes.length < 2 && !nodes[0].text ? nodes : h(this.tag, nodes);\n }\n\n return h();\n },\n created: function created() {\n if (!this.getTargetEl()) {\n this.insertTargetEl();\n }\n },\n updated: function updated() {\n var _this = this;\n\n // We only update the target container component\n // if the scoped slot function is a fresh one\n // The new slot syntax (since Vue 2.6) can cache unchanged slot functions\n // and we want to respect that here.\n this.$nextTick(function () {\n if (!_this.disabled && _this.slotFn !== _this.$scopedSlots.default) {\n _this.container.updatedNodes = _this.$scopedSlots.default;\n }\n\n _this.slotFn = _this.$scopedSlots.default;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unmount();\n },\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmount() : this.$nextTick(this.mount);\n }\n }\n },\n methods: {\n // This returns the element into which the content should be mounted.\n getTargetEl: function getTargetEl() {\n if (!isBrowser) return;\n return document.querySelector(this.selector);\n },\n insertTargetEl: function insertTargetEl() {\n if (!isBrowser) return;\n var parent = document.querySelector('body');\n var child = document.createElement(this.tag);\n child.id = this.selector.substring(1);\n parent.appendChild(child);\n },\n mount: function mount() {\n if (!isBrowser) return;\n var targetEl = this.getTargetEl();\n var el = document.createElement('DIV');\n\n if (this.prepend && targetEl.firstChild) {\n targetEl.insertBefore(el, targetEl.firstChild);\n } else {\n targetEl.appendChild(el);\n }\n\n this.container = new TargetContainer({\n el: el,\n parent: this,\n propsData: {\n tag: this.tag,\n nodes: this.$scopedSlots.default\n }\n });\n },\n unmount: function unmount() {\n if (this.container) {\n this.container.$destroy();\n delete this.container;\n }\n }\n }\n});\n\nfunction install(_Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _Vue.component(options.name || 'portal', Portal);\n\n if (options.defaultSelector) {\n setSelector(options.defaultSelector);\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue === Vue) {\n // plugin was inlcuded directly in a browser\n Vue.use(install);\n}\n\nexport default install;\nexport { Portal, config, setSelector };\n","// This alphabet uses `A-Za-z0-9_-` symbols.\n// The order of characters is optimized for better gzip and brotli compression.\n// References to the same file (works both for gzip and brotli):\n// `'use`, `andom`, and `rict'`\n// References to the brotli default dictionary:\n// `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\n\nlet nanoid = (size = 21) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n\nexport { nanoid, customAlphabet }\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueSocialSharing=e():t.VueSocialSharing=e()}(\"undefined\"!=typeof self?self:this,(function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},i.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)i.d(r,n,function(e){return t[e]}.bind(null,n));return r},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"\",i(i.s=0)}([function(t,e,i){t.exports=i(1)},function(t,e,i){\"use strict\";i.r(e),i.d(e,\"ShareNetwork\",(function(){return o}));var r={baidu:\"http://cang.baidu.com/do/add?iu=@u&it=@t\",buffer:\"https://bufferapp.com/add?text=@t&url=@u\",email:\"mailto:?subject=@t&body=@u%0D%0A@d\",evernote:\"https://www.evernote.com/clip.action?url=@u&title=@t\",facebook:\"https://www.facebook.com/sharer/sharer.php?u=@u&title=@t&description=@d"e=@q&hashtag=@h\",flipboard:\"https://share.flipboard.com/bookmarklet/popout?v=2&url=@u&title=@t\",hackernews:\"https://news.ycombinator.com/submitlink?u=@u&t=@t\",instapaper:\"http://www.instapaper.com/edit?url=@u&title=@t&description=@d\",line:\"http://line.me/R/msg/text/?@t%0D%0A@u%0D%0A@d\",linkedin:\"https://www.linkedin.com/sharing/share-offsite/?url=@u\",messenger:\"fb-messenger://share/?link=@u\",odnoklassniki:\"https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=@u&st.comments=@t\",pinterest:\"https://pinterest.com/pin/create/button/?url=@u&media=@m&description=@t\",pocket:\"https://getpocket.com/save?url=@u&title=@t\",quora:\"https://www.quora.com/share?url=@u&title=@t\",reddit:\"https://www.reddit.com/submit?url=@u&title=@t\",skype:\"https://web.skype.com/share?url=@t%0D%0A@u%0D%0A@d\",sms:\"sms:?body=@t%0D%0A@u%0D%0A@d\",stumbleupon:\"https://www.stumbleupon.com/submit?url=@u&title=@t\",telegram:\"https://t.me/share/url?url=@u&text=@t%0D%0A@d\",tumblr:\"https://www.tumblr.com/share/link?url=@u&name=@t&description=@d\",twitter:\"https://twitter.com/intent/tweet?text=@t&url=@u&hashtags=@h@tu\",viber:\"viber://forward?text=@t%0D%0A@u%0D%0A@d\",vk:\"https://vk.com/share.php?url=@u&title=@t&description=@d&image=@m&noparse=true\",weibo:\"http://service.weibo.com/share/share.php?url=@u&title=@t&pic=@m\",whatsapp:\"https://api.whatsapp.com/send?text=@t%0D%0A@u%0D%0A@d\",wordpress:\"https://wordpress.com/press-this.php?u=@u&t=@t&s=@d&i=@m\",xing:\"https://www.xing.com/social/share/spi?op=share&url=@u&title=@t\",yammer:\"https://www.yammer.com/messages/new?login=true&status=@t%0D%0A@u%0D%0A@d\"},n=\"undefined\"!=typeof window?window:null;var o={name:\"ShareNetwork\",props:{network:{type:String,required:!0},url:{type:String,required:!0},title:{type:String,required:!0},description:{type:String,default:\"\"},quote:{type:String,default:\"\"},hashtags:{type:String,default:\"\"},twitterUser:{type:String,default:\"\"},media:{type:String,default:\"\"},tag:{type:String,default:\"a\"},popup:{type:Object,default:function(){return{width:626,height:436}}}},data:function(){return{popupTop:0,popupLeft:0,popupWindow:void 0,popupInterval:null}},computed:{networks:function(){return this.$SocialSharing?this.$SocialSharing.options.networks:r},key:function(){return this.network.toLowerCase()},rawLink:function(){var t=navigator.userAgent.toLowerCase();return\"sms\"===this.key&&(t.indexOf(\"iphone\")>-1||t.indexOf(\"ipad\")>-1)?this.networks[this.key].replace(\":?\",\":&\"):this.networks[this.key]},shareLink:function(){var t=this.rawLink;return\"twitter\"===this.key&&(this.hashtags.length||(t=t.replace(\"&hashtags=@h\",\"\")),this.twitterUser.length||(t=t.replace(\"@tu\",\"\"))),t.replace(/@tu/g,\"&via=\"+encodeURIComponent(this.twitterUser)).replace(/@u/g,encodeURIComponent(this.url)).replace(/@t/g,encodeURIComponent(this.title)).replace(/@d/g,encodeURIComponent(this.description)).replace(/@q/g,encodeURIComponent(this.quote)).replace(/@h/g,this.encodedHashtags).replace(/@m/g,encodeURIComponent(this.media))},encodedHashtags:function(){return\"facebook\"===this.key&&this.hashtags.length?\"%23\"+this.hashtags.split(\",\")[0]:this.hashtags}},render:function(t){var e=this;if(!this.networks.hasOwnProperty(this.key))throw new Error(\"Network \"+this.key+\" does not exist\");var i={class:\"share-network-\"+this.key,on:{click:function(){return e[\"http\"===e.rawLink.substring(0,4)?\"share\":\"touch\"]()}}};return\"a\"===this.tag&&(i.attrs={href:\"javascript:void(0)\"}),t(this.tag,i,this.$slots.default)},methods:{resizePopup:function(){var t=n.innerWidth||document.documentElement.clientWidth||n.screenX,e=n.innerHeight||document.documentElement.clientHeight||n.screenY,i=t/n.screen.availWidth;this.popupLeft=(t-this.popup.width)/2/i+(void 0!==n.screenLeft?n.screenLeft:n.screenX),this.popupTop=(e-this.popup.height)/2/i+(void 0!==n.screenTop?n.screenTop:n.screenY)},share:function(){var t=this;this.resizePopup(),this.popupWindow&&this.popupInterval&&(clearInterval(this.popupInterval),this.popupWindow.close(),this.emit(\"change\")),this.popupWindow=n.open(this.shareLink,\"sharer-\"+this.key,\",height=\"+this.popup.height+\",width=\"+this.popup.width+\",left=\"+this.popupLeft+\",top=\"+this.popupTop+\",screenX=\"+this.popupLeft+\",screenY=\"+this.popupTop),this.popupWindow&&(this.popupWindow.focus(),this.popupInterval=setInterval((function(){t.popupWindow&&!t.popupWindow.closed||(clearInterval(t.popupInterval),t.popupWindow=null,t.emit(\"close\"))}),500),this.emit(\"open\"))},touch:function(){window.open(this.shareLink,\"_blank\"),this.emit(\"open\")},emit:function(t){this.$root.$emit(\"share_network_\"+t,this.key,this.url),this.$emit(t,this.key,this.url)}}};e.default={install:function(t,e){t.component(o.name,o),t.prototype.$SocialSharing={options:{networks:e&&e.hasOwnProperty(\"networks\")?Object.assign(r,e.networks):r}}}}}])}));","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"cleave.js\")):\"function\"==typeof define&&define.amd?define(\"VueCleave\",[\"cleave.js\"],t):\"object\"==typeof exports?exports.VueCleave=t(require(\"cleave.js\")):e.VueCleave=t(e.Cleave)}(\"undefined\"!=typeof self?self:this,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=n.n(r);function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a={name:\"cleave\",render:function(e){return e(\"input\",{attrs:{type:\"text\",value:this.value},on:{blur:this.onBlur}})},props:{value:{default:null,required:!0,validator:function(e){return null===e||\"string\"==typeof e||e instanceof String||\"number\"==typeof e}},options:{type:Object,default:function(){return{}}},raw:{type:Boolean,default:!0}},data:function(){return{cleave:null,onValueChangedFn:null}},mounted:function(){this.cleave||(this.cleave=new o.a(this.$el,this.getOptions(this.options)))},methods:{getOptions:function(e){return this.onValueChangedFn=e.onValueChanged,u({},e,{onValueChanged:this.onValueChanged})},onValueChanged:function(e){var t=this.raw?e.target.rawValue:e.target.value;this.$emit(\"input\",t),\"function\"==typeof this.onValueChangedFn&&this.onValueChangedFn.call(this,e)},onBlur:function(e){this.$emit(\"blur\",this.value)}},watch:{options:{deep:!0,handler:function(e){this.cleave.destroy(),this.cleave=new o.a(this.$el,this.getOptions(e)),this.cleave.setRawValue(this.value)}},value:function(e){this.cleave&&(this.raw&&e===this.cleave.getRawValue()||(this.raw||e!==this.$el.value)&&this.cleave.setRawValue(e))}},beforeDestroy:function(){this.cleave&&(this.cleave.destroy(),this.cleave=null,this.onValueChangedFn=null)}};n.d(t,\"plugin\",function(){return i}),n.d(t,\"component\",function(){return a});var i=function(e,t){var n=\"cleave\";\"string\"==typeof t&&(n=t),e.component(n,a)};a.install=i;t.default=a}]).default});","var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar NumeralFormatter = function (numeralDecimalMark,\n numeralIntegerScale,\n numeralDecimalScale,\n numeralThousandsGroupStyle,\n numeralPositiveOnly,\n stripLeadingZeroes,\n prefix,\n signBeforePrefix,\n tailPrefix,\n delimiter) {\n var owner = this;\n\n owner.numeralDecimalMark = numeralDecimalMark || '.';\n owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;\n owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n owner.numeralPositiveOnly = !!numeralPositiveOnly;\n owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n owner.prefix = (prefix || prefix === '') ? prefix : '';\n owner.signBeforePrefix = !!signBeforePrefix;\n owner.tailPrefix = !!tailPrefix;\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n};\n\nNumeralFormatter.groupStyle = {\n thousand: 'thousand',\n lakh: 'lakh',\n wan: 'wan',\n none: 'none' \n};\n\nNumeralFormatter.prototype = {\n getRawValue: function (value) {\n return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n },\n\n format: function (value) {\n var owner = this, parts, partSign, partSignAndPrefix, partInteger, partDecimal = '';\n\n // strip alphabet letters\n value = value.replace(/[A-Za-z]/g, '')\n // replace the first decimal mark with reserved placeholder\n .replace(owner.numeralDecimalMark, 'M')\n\n // strip non numeric letters except minus and \"M\"\n // this is to ensure prefix has been stripped\n .replace(/[^\\dM-]/g, '')\n\n // replace the leading minus with reserved placeholder\n .replace(/^\\-/, 'N')\n\n // strip the other minus sign (if present)\n .replace(/\\-/g, '')\n\n // replace the minus sign (if present)\n .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n // replace decimal mark\n .replace('M', owner.numeralDecimalMark);\n\n // strip any leading zeros\n if (owner.stripLeadingZeroes) {\n value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n }\n\n partSign = value.slice(0, 1) === '-' ? '-' : '';\n if (typeof owner.prefix != 'undefined') {\n if (owner.signBeforePrefix) {\n partSignAndPrefix = partSign + owner.prefix;\n } else {\n partSignAndPrefix = owner.prefix + partSign;\n }\n } else {\n partSignAndPrefix = partSign;\n }\n \n partInteger = value;\n\n if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n parts = value.split(owner.numeralDecimalMark);\n partInteger = parts[0];\n partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n }\n\n if(partSign === '-') {\n partInteger = partInteger.slice(1);\n }\n\n if (owner.numeralIntegerScale > 0) {\n partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n }\n\n switch (owner.numeralThousandsGroupStyle) {\n case NumeralFormatter.groupStyle.lakh:\n partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.wan:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.thousand:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n break;\n }\n\n if (owner.tailPrefix) {\n return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n }\n\n return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n }\n};\n\nvar NumeralFormatter_1 = NumeralFormatter;\n\nvar DateFormatter = function (datePattern, dateMin, dateMax) {\n var owner = this;\n\n owner.date = [];\n owner.blocks = [];\n owner.datePattern = datePattern;\n owner.dateMin = dateMin\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n owner.dateMax = dateMax\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n \n owner.initBlocks();\n};\n\nDateFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.datePattern.forEach(function (value) {\n if (value === 'Y') {\n owner.blocks.push(4);\n } else {\n owner.blocks.push(2);\n }\n });\n },\n\n getISOFormatDate: function () {\n var owner = this,\n date = owner.date;\n\n return date[2] ? (\n date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getValidatedDate: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.datePattern[index]) {\n case 'd':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 3) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 31) {\n sub = '31';\n }\n\n break;\n\n case 'm':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 1) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 12) {\n sub = '12';\n }\n\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedDateString(result);\n },\n\n getFixedDateString: function (value) {\n var owner = this, datePattern = owner.datePattern, date = [],\n dayIndex = 0, monthIndex = 0, yearIndex = 0,\n dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,\n day, month, year, fullYearDone = false;\n\n // mm-dd || dd-mm\n if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n monthStartIndex = 2 - dayStartIndex;\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n date = this.getFixedDate(day, month, 0);\n }\n\n // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n if (value.length === 8) {\n datePattern.forEach(function (type, index) {\n switch (type) {\n case 'd':\n dayIndex = index;\n break;\n case 'm':\n monthIndex = index;\n break;\n default:\n yearIndex = index;\n break;\n }\n });\n\n yearStartIndex = yearIndex * 2;\n dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);\n monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);\n\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = this.getFixedDate(day, month, year);\n }\n\n // mm-yy || yy-mm\n if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n yearStartIndex = 2 - monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n date = [0, month, year];\n }\n\n // mm-yyyy || yyyy-mm\n if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n yearStartIndex = 2 - 0.5 * monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = [0, month, year];\n }\n\n date = owner.getRangeFixedDate(date);\n owner.date = date;\n\n var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n switch (current) {\n case 'd':\n return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n case 'm':\n return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n case 'y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n case 'Y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n }\n }, '');\n\n return result;\n },\n\n getRangeFixedDate: function (date) {\n var owner = this,\n datePattern = owner.datePattern,\n dateMin = owner.dateMin || [],\n dateMax = owner.dateMax || [];\n\n if (!date.length || (dateMin.length < 3 && dateMax.length < 3)) return date;\n\n if (\n datePattern.find(function(x) {\n return x.toLowerCase() === 'y';\n }) &&\n date[2] === 0\n ) return date;\n\n if (dateMax.length && (dateMax[2] < date[2] || (\n dateMax[2] === date[2] && (dateMax[1] < date[1] || (\n dateMax[1] === date[1] && dateMax[0] < date[0]\n ))\n ))) return dateMax;\n\n if (dateMin.length && (dateMin[2] > date[2] || (\n dateMin[2] === date[2] && (dateMin[1] > date[1] || (\n dateMin[1] === date[1] && dateMin[0] > date[0]\n ))\n ))) return dateMin;\n\n return date;\n },\n\n getFixedDate: function (day, month, year) {\n day = Math.min(day, 31);\n month = Math.min(month, 12);\n year = parseInt((year || 0), 10);\n\n if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {\n day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);\n }\n\n return [day, month, year];\n },\n\n isLeapYear: function (year) {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n },\n\n addLeadingZeroForYear: function (number, fullYearMode) {\n if (fullYearMode) {\n return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;\n }\n\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar DateFormatter_1 = DateFormatter;\n\nvar TimeFormatter = function (timePattern, timeFormat) {\n var owner = this;\n\n owner.time = [];\n owner.blocks = [];\n owner.timePattern = timePattern;\n owner.timeFormat = timeFormat;\n owner.initBlocks();\n};\n\nTimeFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.timePattern.forEach(function () {\n owner.blocks.push(2);\n });\n },\n\n getISOFormatTime: function () {\n var owner = this,\n time = owner.time;\n\n return time[2] ? (\n owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getTimeFormatOptions: function () {\n var owner = this;\n if (String(owner.timeFormat) === '12') {\n return {\n maxHourFirstDigit: 1,\n maxHours: 12,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n }\n\n return {\n maxHourFirstDigit: 2,\n maxHours: 23,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n },\n\n getValidatedTime: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n var timeFormatOptions = owner.getTimeFormatOptions();\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.timePattern[index]) {\n\n case 'h':\n if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n sub = timeFormatOptions.maxHours + '';\n }\n\n break;\n\n case 'm':\n case 's':\n if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n sub = timeFormatOptions.maxMinutes + '';\n }\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedTimeString(result);\n },\n\n getFixedTimeString: function (value) {\n var owner = this, timePattern = owner.timePattern, time = [],\n secondIndex = 0, minuteIndex = 0, hourIndex = 0,\n secondStartIndex = 0, minuteStartIndex = 0, hourStartIndex = 0,\n second, minute, hour;\n\n if (value.length === 6) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 's':\n secondIndex = index * 2;\n break;\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n secondStartIndex = secondIndex;\n\n second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n\n second = 0;\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n owner.time = time;\n\n return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n switch (current) {\n case 's':\n return previous + owner.addLeadingZero(time[2]);\n case 'm':\n return previous + owner.addLeadingZero(time[1]);\n case 'h':\n return previous + owner.addLeadingZero(time[0]);\n }\n }, '');\n },\n\n getFixedTime: function (hour, minute, second) {\n second = Math.min(parseInt(second || 0, 10), 60);\n minute = Math.min(minute, 60);\n hour = Math.min(hour, 60);\n\n return [hour, minute, second];\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar TimeFormatter_1 = TimeFormatter;\n\nvar PhoneFormatter = function (formatter, delimiter) {\n var owner = this;\n\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n owner.formatter = formatter;\n};\n\nPhoneFormatter.prototype = {\n setFormatter: function (formatter) {\n this.formatter = formatter;\n },\n\n format: function (phoneNumber) {\n var owner = this;\n\n owner.formatter.clear();\n\n // only keep number and +\n phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n // strip non-leading +\n phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n // strip delimiter\n phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n var result = '', current, validated = false;\n\n for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n // has ()- or space inside\n if (/[\\s()-]/g.test(current)) {\n result = current;\n\n validated = true;\n } else {\n if (!validated) {\n result = current;\n }\n // else: over length input\n // it turns to invalid number again\n }\n }\n\n // strip ()\n // e.g. US: 7161234567 returns (716) 123-4567\n result = result.replace(/[()]/g, '');\n // replace library delimiter with user customized delimiter\n result = result.replace(/[\\s-]/g, owner.delimiter);\n\n return result;\n }\n};\n\nvar PhoneFormatter_1 = PhoneFormatter;\n\nvar CreditCardDetector = {\n blocks: {\n uatp: [4, 5, 6],\n amex: [4, 6, 5],\n diners: [4, 6, 4],\n discover: [4, 4, 4, 4],\n mastercard: [4, 4, 4, 4],\n dankort: [4, 4, 4, 4],\n instapayment: [4, 4, 4, 4],\n jcb15: [4, 6, 5],\n jcb: [4, 4, 4, 4],\n maestro: [4, 4, 4, 4],\n visa: [4, 4, 4, 4],\n mir: [4, 4, 4, 4],\n unionPay: [4, 4, 4, 4],\n general: [4, 4, 4, 4]\n },\n\n re: {\n // starts with 1; 15 digits, not starts with 1800 (jcb card)\n uatp: /^(?!1800)1\\d{0,14}/,\n\n // starts with 34/37; 15 digits\n amex: /^3[47]\\d{0,13}/,\n\n // starts with 6011/65/644-649; 16 digits\n discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n // starts with 300-305/309 or 36/38/39; 14 digits\n diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n // starts with 51-55/2221–2720; 16 digits\n mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n // starts with 5019/4175/4571; 16 digits\n dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n // starts with 637-639; 16 digits\n instapayment: /^63[7-9]\\d{0,13}/,\n\n // starts with 2131/1800; 15 digits\n jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n // starts with 2131/1800/35; 16 digits\n jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n // starts with 50/56-58/6304/67; 16 digits\n maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n // starts with 22; 16 digits\n mir: /^220[0-4]\\d{0,12}/,\n\n // starts with 4; 16 digits\n visa: /^4\\d{0,15}/,\n\n // starts with 62/81; 16 digits\n unionPay: /^(62|81)\\d{0,14}/\n },\n\n getStrictBlocks: function (block) {\n var total = block.reduce(function (prev, current) {\n return prev + current;\n }, 0);\n\n return block.concat(19 - total);\n },\n\n getInfo: function (value, strictMode) {\n var blocks = CreditCardDetector.blocks,\n re = CreditCardDetector.re;\n\n // Some credit card can have up to 19 digits number.\n // Set strictMode to true will remove the 16 max-length restrain,\n // however, I never found any website validate card number like\n // this, hence probably you don't want to enable this option.\n strictMode = !!strictMode;\n\n for (var key in re) {\n if (re[key].test(value)) {\n var matchedBlocks = blocks[key];\n return {\n type: key,\n blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n };\n }\n }\n\n return {\n type: 'unknown',\n blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n };\n }\n};\n\nvar CreditCardDetector_1 = CreditCardDetector;\n\nvar Util = {\n noop: function () {\n },\n\n strip: function (value, re) {\n return value.replace(re, '');\n },\n\n getPostDelimiter: function (value, delimiter, delimiters) {\n // single delimiter\n if (delimiters.length === 0) {\n return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n }\n\n // multiple delimiters\n var matchedDelimiter = '';\n delimiters.forEach(function (current) {\n if (value.slice(-current.length) === current) {\n matchedDelimiter = current;\n }\n });\n\n return matchedDelimiter;\n },\n\n getDelimiterREByDelimiter: function (delimiter) {\n return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n },\n\n getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n // If cursor was at the end of value, just place it back.\n // Because new value could contain additional chars.\n if (oldValue.length === prevPos) {\n return newValue.length;\n }\n\n return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);\n },\n\n getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n var oldRawValue, newRawValue, lengthOffset;\n\n oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n lengthOffset = oldRawValue.length - newRawValue.length;\n\n return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;\n },\n\n stripDelimiters: function (value, delimiter, delimiters) {\n var owner = this;\n\n // single delimiter\n if (delimiters.length === 0) {\n var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n return value.replace(delimiterRE, '');\n }\n\n // multiple delimiters\n delimiters.forEach(function (current) {\n current.split('').forEach(function (letter) {\n value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n });\n });\n\n return value;\n },\n\n headStr: function (str, length) {\n return str.slice(0, length);\n },\n\n getMaxLength: function (blocks) {\n return blocks.reduce(function (previous, current) {\n return previous + current;\n }, 0);\n },\n\n // strip prefix\n // Before type | After type | Return value\n // PEFIX-... | PEFIX-... | ''\n // PREFIX-123 | PEFIX-123 | 123\n // PREFIX-123 | PREFIX-23 | 23\n // PREFIX-123 | PREFIX-1234 | 1234\n getPrefixStrippedValue: function (value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n // No prefix\n if (prefixLength === 0) {\n return value;\n }\n\n // Value is prefix\n if (value === prefix && value !== '') {\n return '';\n }\n\n if (signBeforePrefix && (value.slice(0, 1) == '-')) {\n var prev = (prevResult.slice(0, 1) == '-') ? prevResult.slice(1) : prevResult;\n return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n }\n\n // Pre result prefix string does not match pre-defined prefix\n if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n }\n\n var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n // New value has issue, someone typed in between prefix letters\n // Revert to pre value\n if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n return prevValue.slice(prefixLength);\n } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n return prevValue.slice(0, -prefixLength - 1);\n }\n\n // No issue, strip prefix for new value\n return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n },\n\n getFirstDiffIndex: function (prev, current) {\n var index = 0;\n\n while (prev.charAt(index) === current.charAt(index)) {\n if (prev.charAt(index++) === '') {\n return -1;\n }\n }\n\n return index;\n },\n\n getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n var result = '',\n multipleDelimiters = delimiters.length > 0,\n currentDelimiter = '';\n\n // no options, normal input\n if (blocksLength === 0) {\n return value;\n }\n\n blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n rest = value.slice(length);\n\n if (multipleDelimiters) {\n currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;\n } else {\n currentDelimiter = delimiter;\n }\n\n if (delimiterLazyShow) {\n if (index > 0) {\n result += currentDelimiter;\n }\n\n result += sub;\n } else {\n result += sub;\n\n if (sub.length === length && index < blocksLength - 1) {\n result += currentDelimiter;\n }\n }\n\n // update remaining string\n value = rest;\n }\n });\n\n return result;\n },\n\n // move cursor to the end\n // the first time user focuses on an input with prefix\n fixPrefixCursor: function (el, prefix, delimiter, delimiters) {\n if (!el) {\n return;\n }\n\n var val = el.value,\n appendix = delimiter || (delimiters[0] || ' ');\n\n if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) <= val.length) {\n return;\n }\n\n var len = val.length * 2;\n\n // set timeout to avoid blink\n setTimeout(function () {\n el.setSelectionRange(len, len);\n }, 1);\n },\n\n // Check if input field is fully selected\n checkFullSelection: function(value) {\n try {\n var selection = window.getSelection() || document.getSelection() || {};\n return selection.toString().length === value.length;\n } catch (ex) {\n // Ignore\n }\n\n return false;\n },\n\n setSelection: function (element, position, doc) {\n if (element !== this.getActiveElement(doc)) {\n return;\n }\n\n // cursor is already in the end\n if (element && element.value.length <= position) {\n return;\n }\n\n if (element.createTextRange) {\n var range = element.createTextRange();\n\n range.move('character', position);\n range.select();\n } else {\n try {\n element.setSelectionRange(position, position);\n } catch (e) {\n // eslint-disable-next-line\n console.warn('The input element type does not support selection');\n }\n }\n },\n\n getActiveElement: function(parent) {\n var activeElement = parent.activeElement;\n if (activeElement && activeElement.shadowRoot) {\n return this.getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n },\n\n isAndroid: function () {\n return navigator && /android/i.test(navigator.userAgent);\n },\n\n // On Android chrome, the keyup and keydown events\n // always return key code 229 as a composition that\n // buffers the user’s keystrokes\n // see https://github.com/nosir/cleave.js/issues/147\n isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {\n if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n return false;\n }\n\n return currentInputValue === lastInputValue.slice(0, -1);\n }\n};\n\nvar Util_1 = Util;\n\n/**\n * Props Assignment\n *\n * Separate this, so react module can share the usage\n */\nvar DefaultProperties = {\n // Maybe change to object-assign\n // for now just keep it as simple\n assign: function (target, opts) {\n target = target || {};\n opts = opts || {};\n\n // credit card\n target.creditCard = !!opts.creditCard;\n target.creditCardStrictMode = !!opts.creditCardStrictMode;\n target.creditCardType = '';\n target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});\n\n // phone\n target.phone = !!opts.phone;\n target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n target.phoneFormatter = {};\n\n // time\n target.time = !!opts.time;\n target.timePattern = opts.timePattern || ['h', 'm', 's'];\n target.timeFormat = opts.timeFormat || '24';\n target.timeFormatter = {};\n\n // date\n target.date = !!opts.date;\n target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n target.dateMin = opts.dateMin || '';\n target.dateMax = opts.dateMax || '';\n target.dateFormatter = {};\n\n // numeral\n target.numeral = !!opts.numeral;\n target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n target.signBeforePrefix = !!opts.signBeforePrefix;\n target.tailPrefix = !!opts.tailPrefix;\n\n // others\n target.swapHiddenInput = !!opts.swapHiddenInput;\n \n target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n target.uppercase = !!opts.uppercase;\n target.lowercase = !!opts.lowercase;\n\n target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');\n target.noImmediatePrefix = !!opts.noImmediatePrefix;\n target.prefixLength = target.prefix.length;\n target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n target.copyDelimiter = !!opts.copyDelimiter;\n\n target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';\n\n target.delimiter =\n (opts.delimiter || opts.delimiter === '') ? opts.delimiter :\n (opts.date ? '/' :\n (opts.time ? ':' :\n (opts.numeral ? ',' :\n (opts.phone ? ' ' :\n ' '))));\n target.delimiterLength = target.delimiter.length;\n target.delimiterLazyShow = !!opts.delimiterLazyShow;\n target.delimiters = opts.delimiters || [];\n\n target.blocks = opts.blocks || [];\n target.blocksLength = target.blocks.length;\n\n target.root = (typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window;\n target.document = opts.document || target.root.document;\n\n target.maxLength = 0;\n\n target.backspace = false;\n target.result = '';\n\n target.onValueChanged = opts.onValueChanged || (function () {});\n\n return target;\n }\n};\n\nvar DefaultProperties_1 = DefaultProperties;\n\n/**\n * Construct a new Cleave instance by passing the configuration object\n *\n * @param {String | HTMLElement} element\n * @param {Object} opts\n */\nvar Cleave = function (element, opts) {\n var owner = this;\n var hasMultipleElements = false;\n\n if (typeof element === 'string') {\n owner.element = document.querySelector(element);\n hasMultipleElements = document.querySelectorAll(element).length > 1;\n } else {\n if (typeof element.length !== 'undefined' && element.length > 0) {\n owner.element = element[0];\n hasMultipleElements = element.length > 1;\n } else {\n owner.element = element;\n }\n }\n\n if (!owner.element) {\n throw new Error('[cleave.js] Please check the element');\n }\n\n if (hasMultipleElements) {\n try {\n // eslint-disable-next-line\n console.warn('[cleave.js] Multiple input fields matched, cleave.js will only take the first one.');\n } catch (e) {\n // Old IE\n }\n }\n\n opts.initValue = owner.element.value;\n\n owner.properties = Cleave.DefaultProperties.assign({}, opts);\n\n owner.init();\n};\n\nCleave.prototype = {\n init: function () {\n var owner = this, pps = owner.properties;\n\n // no need to use this lib\n if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {\n owner.onInput(pps.initValue);\n\n return;\n }\n\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n\n owner.isAndroid = Cleave.Util.isAndroid();\n owner.lastInputValue = '';\n owner.isBackward = '';\n\n owner.onChangeListener = owner.onChange.bind(owner);\n owner.onKeyDownListener = owner.onKeyDown.bind(owner);\n owner.onFocusListener = owner.onFocus.bind(owner);\n owner.onCutListener = owner.onCut.bind(owner);\n owner.onCopyListener = owner.onCopy.bind(owner);\n\n owner.initSwapHiddenInput();\n\n owner.element.addEventListener('input', owner.onChangeListener);\n owner.element.addEventListener('keydown', owner.onKeyDownListener);\n owner.element.addEventListener('focus', owner.onFocusListener);\n owner.element.addEventListener('cut', owner.onCutListener);\n owner.element.addEventListener('copy', owner.onCopyListener);\n\n\n owner.initPhoneFormatter();\n owner.initDateFormatter();\n owner.initTimeFormatter();\n owner.initNumeralFormatter();\n\n // avoid touch input field if value is null\n // otherwise Firefox will add red box-shadow for <input required />\n if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {\n owner.onInput(pps.initValue);\n }\n },\n\n initSwapHiddenInput: function () {\n var owner = this, pps = owner.properties;\n if (!pps.swapHiddenInput) return;\n\n var inputFormatter = owner.element.cloneNode(true);\n owner.element.parentNode.insertBefore(inputFormatter, owner.element);\n\n owner.elementSwapHidden = owner.element;\n owner.elementSwapHidden.type = 'hidden';\n\n owner.element = inputFormatter;\n owner.element.id = '';\n },\n\n initNumeralFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.numeral) {\n return;\n }\n\n pps.numeralFormatter = new Cleave.NumeralFormatter(\n pps.numeralDecimalMark,\n pps.numeralIntegerScale,\n pps.numeralDecimalScale,\n pps.numeralThousandsGroupStyle,\n pps.numeralPositiveOnly,\n pps.stripLeadingZeroes,\n pps.prefix,\n pps.signBeforePrefix,\n pps.tailPrefix,\n pps.delimiter\n );\n },\n\n initTimeFormatter: function() {\n var owner = this, pps = owner.properties;\n\n if (!pps.time) {\n return;\n }\n\n pps.timeFormatter = new Cleave.TimeFormatter(pps.timePattern, pps.timeFormat);\n pps.blocks = pps.timeFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initDateFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.date) {\n return;\n }\n\n pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n pps.blocks = pps.dateFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initPhoneFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.phone) {\n return;\n }\n\n // Cleave.AsYouTypeFormatter should be provided by\n // external google closure lib\n try {\n pps.phoneFormatter = new Cleave.PhoneFormatter(\n new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),\n pps.delimiter\n );\n } catch (ex) {\n throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');\n }\n },\n\n onKeyDown: function (event) {\n var owner = this,\n charCode = event.which || event.keyCode;\n\n owner.lastInputValue = owner.element.value;\n owner.isBackward = charCode === 8;\n },\n\n onChange: function (event) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\n var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n if (owner.isBackward && postDelimiter) {\n pps.postDelimiterBackspace = postDelimiter;\n } else {\n pps.postDelimiterBackspace = false;\n }\n\n this.onInput(this.element.value);\n },\n\n onFocus: function () {\n var owner = this,\n pps = owner.properties;\n owner.lastInputValue = owner.element.value;\n\n if (pps.prefix && pps.noImmediatePrefix && !owner.element.value) {\n this.onInput(pps.prefix);\n }\n\n Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n },\n\n onCut: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n this.onInput('');\n },\n\n onCopy: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n },\n\n copyClipboardData: function (e) {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n inputValue = owner.element.value,\n textToCopy = '';\n\n if (!pps.copyDelimiter) {\n textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);\n } else {\n textToCopy = inputValue;\n }\n\n try {\n if (e.clipboardData) {\n e.clipboardData.setData('Text', textToCopy);\n } else {\n window.clipboardData.setData('Text', textToCopy);\n }\n\n e.preventDefault();\n } catch (ex) {\n // empty\n }\n },\n\n onInput: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n // case 1: delete one more character \"4\"\n // 1234*| -> hit backspace -> 123|\n // case 2: last character is not delimiter which is:\n // 12|34* -> hit backspace -> 1|34*\n // note: no need to apply this for numeral mode\n var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n if (!pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n }\n\n // phone formatter\n if (pps.phone) {\n if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n } else {\n pps.result = pps.phoneFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // numeral formatter\n if (pps.numeral) {\n // Do not show prefix when noImmediatePrefix is specified\n // This mostly because we need to show user the native input placeholder\n if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n pps.result = '';\n } else {\n pps.result = pps.numeralFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // date\n if (pps.date) {\n value = pps.dateFormatter.getValidatedDate(value);\n }\n\n // time\n if (pps.time) {\n value = pps.timeFormatter.getValidatedTime(value);\n }\n\n // strip delimiters\n value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n // strip prefix\n value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n // strip non-numeric characters\n value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n // convert case\n value = pps.uppercase ? value.toUpperCase() : value;\n value = pps.lowercase ? value.toLowerCase() : value;\n\n // prevent from showing prefix when no immediate option enabled with empty input value\n if (pps.prefix) {\n if (pps.tailPrefix) {\n value = value + pps.prefix;\n } else {\n value = pps.prefix + value;\n }\n\n\n // no blocks specified, no need to do formatting\n if (pps.blocksLength === 0) {\n pps.result = value;\n owner.updateValueState();\n\n return;\n }\n }\n\n // update credit card props\n if (pps.creditCard) {\n owner.updateCreditCardPropsByValue(value);\n }\n\n // strip over length characters\n value = Util.headStr(value, pps.maxLength);\n\n // apply blocks\n pps.result = Util.getFormattedValue(\n value,\n pps.blocks, pps.blocksLength,\n pps.delimiter, pps.delimiters, pps.delimiterLazyShow\n );\n\n owner.updateValueState();\n },\n\n updateCreditCardPropsByValue: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util,\n creditCardInfo;\n\n // At least one of the first 4 characters has changed\n if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n return;\n }\n\n creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n pps.blocks = creditCardInfo.blocks;\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Util.getMaxLength(pps.blocks);\n\n // credit card type changed\n if (pps.creditCardType !== creditCardInfo.type) {\n pps.creditCardType = creditCardInfo.type;\n\n pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n }\n },\n\n updateValueState: function () {\n var owner = this,\n Util = Cleave.Util,\n pps = owner.properties;\n\n if (!owner.element) {\n return;\n }\n\n var endPos = owner.element.selectionEnd;\n var oldValue = owner.element.value;\n var newValue = pps.result;\n\n endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n // fix Android browser type=\"text\" input field\n // cursor not jumping issue\n if (owner.isAndroid) {\n window.setTimeout(function () {\n owner.element.value = newValue;\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n }, 1);\n\n return;\n }\n\n owner.element.value = newValue;\n if (pps.swapHiddenInput) owner.elementSwapHidden.value = owner.getRawValue();\n\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n },\n\n callOnValueChanged: function () {\n var owner = this,\n pps = owner.properties;\n\n pps.onValueChanged.call(owner, {\n target: {\n name: owner.element.name,\n value: pps.result,\n rawValue: owner.getRawValue()\n }\n });\n },\n\n setPhoneRegionCode: function (phoneRegionCode) {\n var owner = this, pps = owner.properties;\n\n pps.phoneRegionCode = phoneRegionCode;\n owner.initPhoneFormatter();\n owner.onChange();\n },\n\n setRawValue: function (value) {\n var owner = this, pps = owner.properties;\n\n value = value !== undefined && value !== null ? value.toString() : '';\n\n if (pps.numeral) {\n value = value.replace('.', pps.numeralDecimalMark);\n }\n\n pps.postDelimiterBackspace = false;\n\n owner.element.value = value;\n owner.onInput(value);\n },\n\n getRawValue: function () {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n rawValue = owner.element.value;\n\n if (pps.rawValueTrimPrefix) {\n rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n }\n\n if (pps.numeral) {\n rawValue = pps.numeralFormatter.getRawValue(rawValue);\n } else {\n rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n }\n\n return rawValue;\n },\n\n getISOFormatDate: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n },\n\n getISOFormatTime: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n },\n\n getFormattedValue: function () {\n return this.element.value;\n },\n\n destroy: function () {\n var owner = this;\n\n owner.element.removeEventListener('input', owner.onChangeListener);\n owner.element.removeEventListener('keydown', owner.onKeyDownListener);\n owner.element.removeEventListener('focus', owner.onFocusListener);\n owner.element.removeEventListener('cut', owner.onCutListener);\n owner.element.removeEventListener('copy', owner.onCopyListener);\n },\n\n toString: function () {\n return '[Cleave Object]';\n }\n};\n\nCleave.NumeralFormatter = NumeralFormatter_1;\nCleave.DateFormatter = DateFormatter_1;\nCleave.TimeFormatter = TimeFormatter_1;\nCleave.PhoneFormatter = PhoneFormatter_1;\nCleave.CreditCardDetector = CreditCardDetector_1;\nCleave.Util = Util_1;\nCleave.DefaultProperties = DefaultProperties_1;\n\n// for angular directive\n((typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window)['Cleave'] = Cleave;\n\n// CommonJS\nvar Cleave_1 = Cleave;\n\nexport default Cleave_1;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/@linusborg/vue-simple-portal/dist/index.esm.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/nanoid/non-secure/index.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-social-sharing/dist/vue-social-sharing.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-cleave-component/dist/vue-cleave.min.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/cleave.js/dist/cleave-esm.js","webpack://widgetProductCard/(webpack)/buildin/global.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","config","selector","concat","nanoid","size","id","i","Math","random","setSelector","isBrowser","window","undefined","document","TargetContainer","Vue","extend","abstract","name","props","data","vm","updatedNodes","nodes","render","h","this","length","text","tag","destroyed","el","$el","parentNode","removeChild","Portal","disabled","type","Boolean","prepend","String","default","$scopedSlots","created","getTargetEl","insertTargetEl","updated","_this","$nextTick","slotFn","container","beforeDestroy","unmount","watch","immediate","handler","mount","methods","querySelector","parent","child","createElement","substring","appendChild","targetEl","firstChild","insertBefore","propsData","$destroy","install","_Vue","options","arguments","component","defaultSelector","use","self","module","exports","t","e","r","n","l","call","m","c","d","o","Object","defineProperty","enumerable","get","toStringTag","value","__esModule","create","bind","hasOwnProperty","p","s","baidu","buffer","email","evernote","facebook","flipboard","hackernews","instapaper","line","linkedin","messenger","odnoklassniki","pinterest","pocket","quora","reddit","skype","sms","stumbleupon","telegram","tumblr","twitter","viber","vk","weibo","whatsapp","wordpress","xing","yammer","network","required","url","title","description","quote","hashtags","twitterUser","media","popup","width","height","popupTop","popupLeft","popupWindow","popupInterval","computed","networks","$SocialSharing","key","toLowerCase","rawLink","navigator","userAgent","indexOf","replace","shareLink","encodeURIComponent","encodedHashtags","split","Error","class","on","click","attrs","href","$slots","resizePopup","innerWidth","documentElement","clientWidth","screenX","innerHeight","clientHeight","screenY","screen","availWidth","screenLeft","screenTop","share","clearInterval","close","emit","open","focus","setInterval","closed","touch","$root","$emit","assign","u","apply","a","blur","onBlur","validator","raw","cleave","onValueChangedFn","mounted","getOptions","onValueChanged","target","rawValue","deep","destroy","setRawValue","getRawValue","commonjsGlobal","global","NumeralFormatter","numeralDecimalMark","numeralIntegerScale","numeralDecimalScale","numeralThousandsGroupStyle","numeralPositiveOnly","stripLeadingZeroes","prefix","signBeforePrefix","tailPrefix","delimiter","groupStyle","thousand","delimiterRE","RegExp","lakh","wan","none","format","parts","partSign","partSignAndPrefix","partInteger","partDecimal","slice","toString","NumeralFormatter_1","DateFormatter","datePattern","dateMin","dateMax","date","blocks","reverse","map","x","parseInt","unshift","initBlocks","owner","forEach","push","getISOFormatDate","addLeadingZero","getBlocks","getValidatedDate","result","index","sub","sub0","rest","getFixedDateString","day","month","year","dayIndex","monthIndex","yearIndex","dayStartIndex","monthStartIndex","yearStartIndex","fullYearDone","getFixedDate","getRangeFixedDate","reduce","previous","current","addLeadingZeroForYear","find","min","isLeapYear","number","fullYearMode","DateFormatter_1","TimeFormatter","timePattern","timeFormat","time","getISOFormatTime","getTimeFormatOptions","maxHourFirstDigit","maxHours","maxMinutesFirstDigit","maxMinutes","getValidatedTime","timeFormatOptions","getFixedTimeString","second","minute","hour","secondIndex","minuteIndex","hourIndex","secondStartIndex","minuteStartIndex","hourStartIndex","getFixedTime","TimeFormatter_1","PhoneFormatter","formatter","setFormatter","phoneNumber","clear","validated","iMax","inputDigit","charAt","test","PhoneFormatter_1","CreditCardDetector","uatp","amex","diners","discover","mastercard","dankort","instapayment","jcb15","jcb","maestro","visa","mir","unionPay","general","re","getStrictBlocks","block","total","prev","getInfo","strictMode","matchedBlocks","CreditCardDetector_1","Util_1","noop","strip","getPostDelimiter","delimiters","matchedDelimiter","getDelimiterREByDelimiter","getNextCursorPosition","prevPos","oldValue","newValue","getPositionOffset","oldRawValue","newRawValue","lengthOffset","stripDelimiters","abs","letter","headStr","str","getMaxLength","getPrefixStrippedValue","prefixLength","prevResult","noImmediatePrefix","prevValue","getFirstDiffIndex","getFormattedValue","blocksLength","delimiterLazyShow","multipleDelimiters","currentDelimiter","fixPrefixCursor","val","appendix","setSelectionRange","len","setTimeout","checkFullSelection","getSelection","ex","setSelection","element","position","doc","getActiveElement","createTextRange","range","move","select","console","warn","activeElement","shadowRoot","isAndroid","isAndroidBackspaceKeydown","lastInputValue","currentInputValue","DefaultProperties_1","opts","creditCard","creditCardStrictMode","creditCardType","onCreditCardTypeChanged","phone","phoneRegionCode","phoneFormatter","timeFormatter","dateFormatter","numeral","swapHiddenInput","numericOnly","uppercase","lowercase","rawValueTrimPrefix","copyDelimiter","initValue","delimiterLength","root","maxLength","backspace","Cleave","hasMultipleElements","querySelectorAll","properties","DefaultProperties","init","pps","Util","isBackward","onChangeListener","onChange","onKeyDownListener","onKeyDown","onFocusListener","onFocus","onCutListener","onCut","onCopyListener","onCopy","initSwapHiddenInput","addEventListener","initPhoneFormatter","initDateFormatter","initTimeFormatter","initNumeralFormatter","onInput","inputFormatter","cloneNode","elementSwapHidden","numeralFormatter","AsYouTypeFormatter","event","charCode","which","keyCode","inputType","postDelimiter","postDelimiterBackspace","copyClipboardData","inputValue","textToCopy","clipboardData","setData","preventDefault","postDelimiterAfter","updateValueState","toUpperCase","updateCreditCardPropsByValue","creditCardInfo","endPos","selectionEnd","callOnValueChanged","setPhoneRegionCode","removeEventListener","Cleave_1","g","Function"],"mappings":"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","file":"widget-product-card.2.min.js","sourcesContent":["\n/**\n * vue-simple-portal\n * version: 0.1.5,\n * (c) Thorsten Lünborg, 2021 - present\n * LICENCE: Apache-2.0\n * http://github.com/linusborg/vue-simple-portal\n*/\nimport Vue from 'vue';\nimport { nanoid } from 'nanoid/non-secure';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar config = {\n selector: \"vue-portal-target-\".concat(nanoid())\n};\nvar setSelector = function setSelector(selector) {\n return config.selector = selector;\n};\nvar isBrowser = typeof window !== 'undefined' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) !== undefined;\n\nvar TargetContainer = Vue.extend({\n // as an abstract component, it doesn't appear in\n // the $parent chain of components.\n // which means the next parent of any component rendered inside of this oen\n // will be the parent from which is was sent\n // @ts-expect-error\n abstract: true,\n name: 'PortalOutlet',\n props: ['nodes', 'tag'],\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n render: function render(h) {\n var nodes = this.updatedNodes && this.updatedNodes();\n if (!nodes) return h();\n return nodes.length === 1 && !nodes[0].text ? nodes : h(this.tag || 'DIV', nodes);\n },\n destroyed: function destroyed() {\n var el = this.$el;\n el && el.parentNode.removeChild(el);\n }\n});\n\nvar Portal = Vue.extend({\n name: 'VueSimplePortal',\n props: {\n disabled: {\n type: Boolean\n },\n prepend: {\n type: Boolean\n },\n selector: {\n type: String,\n default: function _default() {\n return \"#\".concat(config.selector);\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n }\n },\n render: function render(h) {\n if (this.disabled) {\n var nodes = this.$scopedSlots && this.$scopedSlots.default();\n if (!nodes) return h();\n return nodes.length < 2 && !nodes[0].text ? nodes : h(this.tag, nodes);\n }\n\n return h();\n },\n created: function created() {\n if (!this.getTargetEl()) {\n this.insertTargetEl();\n }\n },\n updated: function updated() {\n var _this = this;\n\n // We only update the target container component\n // if the scoped slot function is a fresh one\n // The new slot syntax (since Vue 2.6) can cache unchanged slot functions\n // and we want to respect that here.\n this.$nextTick(function () {\n if (!_this.disabled && _this.slotFn !== _this.$scopedSlots.default) {\n _this.container.updatedNodes = _this.$scopedSlots.default;\n }\n\n _this.slotFn = _this.$scopedSlots.default;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unmount();\n },\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmount() : this.$nextTick(this.mount);\n }\n }\n },\n methods: {\n // This returns the element into which the content should be mounted.\n getTargetEl: function getTargetEl() {\n if (!isBrowser) return;\n return document.querySelector(this.selector);\n },\n insertTargetEl: function insertTargetEl() {\n if (!isBrowser) return;\n var parent = document.querySelector('body');\n var child = document.createElement(this.tag);\n child.id = this.selector.substring(1);\n parent.appendChild(child);\n },\n mount: function mount() {\n if (!isBrowser) return;\n var targetEl = this.getTargetEl();\n var el = document.createElement('DIV');\n\n if (this.prepend && targetEl.firstChild) {\n targetEl.insertBefore(el, targetEl.firstChild);\n } else {\n targetEl.appendChild(el);\n }\n\n this.container = new TargetContainer({\n el: el,\n parent: this,\n propsData: {\n tag: this.tag,\n nodes: this.$scopedSlots.default\n }\n });\n },\n unmount: function unmount() {\n if (this.container) {\n this.container.$destroy();\n delete this.container;\n }\n }\n }\n});\n\nfunction install(_Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _Vue.component(options.name || 'portal', Portal);\n\n if (options.defaultSelector) {\n setSelector(options.defaultSelector);\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue === Vue) {\n // plugin was inlcuded directly in a browser\n Vue.use(install);\n}\n\nexport default install;\nexport { Portal, config, setSelector };\n","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nexport { nanoid, customAlphabet }\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueSocialSharing=e():t.VueSocialSharing=e()}(\"undefined\"!=typeof self?self:this,(function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},i.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)i.d(r,n,function(e){return t[e]}.bind(null,n));return r},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"\",i(i.s=0)}([function(t,e,i){t.exports=i(1)},function(t,e,i){\"use strict\";i.r(e),i.d(e,\"ShareNetwork\",(function(){return o}));var r={baidu:\"http://cang.baidu.com/do/add?iu=@u&it=@t\",buffer:\"https://bufferapp.com/add?text=@t&url=@u\",email:\"mailto:?subject=@t&body=@u%0D%0A@d\",evernote:\"https://www.evernote.com/clip.action?url=@u&title=@t\",facebook:\"https://www.facebook.com/sharer/sharer.php?u=@u&title=@t&description=@d"e=@q&hashtag=@h\",flipboard:\"https://share.flipboard.com/bookmarklet/popout?v=2&url=@u&title=@t\",hackernews:\"https://news.ycombinator.com/submitlink?u=@u&t=@t\",instapaper:\"http://www.instapaper.com/edit?url=@u&title=@t&description=@d\",line:\"http://line.me/R/msg/text/?@t%0D%0A@u%0D%0A@d\",linkedin:\"https://www.linkedin.com/sharing/share-offsite/?url=@u\",messenger:\"fb-messenger://share/?link=@u\",odnoklassniki:\"https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=@u&st.comments=@t\",pinterest:\"https://pinterest.com/pin/create/button/?url=@u&media=@m&description=@t\",pocket:\"https://getpocket.com/save?url=@u&title=@t\",quora:\"https://www.quora.com/share?url=@u&title=@t\",reddit:\"https://www.reddit.com/submit?url=@u&title=@t\",skype:\"https://web.skype.com/share?url=@t%0D%0A@u%0D%0A@d\",sms:\"sms:?body=@t%0D%0A@u%0D%0A@d\",stumbleupon:\"https://www.stumbleupon.com/submit?url=@u&title=@t\",telegram:\"https://t.me/share/url?url=@u&text=@t%0D%0A@d\",tumblr:\"https://www.tumblr.com/share/link?url=@u&name=@t&description=@d\",twitter:\"https://twitter.com/intent/tweet?text=@t&url=@u&hashtags=@h@tu\",viber:\"viber://forward?text=@t%0D%0A@u%0D%0A@d\",vk:\"https://vk.com/share.php?url=@u&title=@t&description=@d&image=@m&noparse=true\",weibo:\"http://service.weibo.com/share/share.php?url=@u&title=@t&pic=@m\",whatsapp:\"https://api.whatsapp.com/send?text=@t%0D%0A@u%0D%0A@d\",wordpress:\"https://wordpress.com/press-this.php?u=@u&t=@t&s=@d&i=@m\",xing:\"https://www.xing.com/social/share/spi?op=share&url=@u&title=@t\",yammer:\"https://www.yammer.com/messages/new?login=true&status=@t%0D%0A@u%0D%0A@d\"},n=\"undefined\"!=typeof window?window:null;var o={name:\"ShareNetwork\",props:{network:{type:String,required:!0},url:{type:String,required:!0},title:{type:String,required:!0},description:{type:String,default:\"\"},quote:{type:String,default:\"\"},hashtags:{type:String,default:\"\"},twitterUser:{type:String,default:\"\"},media:{type:String,default:\"\"},tag:{type:String,default:\"a\"},popup:{type:Object,default:function(){return{width:626,height:436}}}},data:function(){return{popupTop:0,popupLeft:0,popupWindow:void 0,popupInterval:null}},computed:{networks:function(){return this.$SocialSharing?this.$SocialSharing.options.networks:r},key:function(){return this.network.toLowerCase()},rawLink:function(){var t=navigator.userAgent.toLowerCase();return\"sms\"===this.key&&(t.indexOf(\"iphone\")>-1||t.indexOf(\"ipad\")>-1)?this.networks[this.key].replace(\":?\",\":&\"):this.networks[this.key]},shareLink:function(){var t=this.rawLink;return\"twitter\"===this.key&&(this.hashtags.length||(t=t.replace(\"&hashtags=@h\",\"\")),this.twitterUser.length||(t=t.replace(\"@tu\",\"\"))),t.replace(/@tu/g,\"&via=\"+encodeURIComponent(this.twitterUser)).replace(/@u/g,encodeURIComponent(this.url)).replace(/@t/g,encodeURIComponent(this.title)).replace(/@d/g,encodeURIComponent(this.description)).replace(/@q/g,encodeURIComponent(this.quote)).replace(/@h/g,this.encodedHashtags).replace(/@m/g,encodeURIComponent(this.media))},encodedHashtags:function(){return\"facebook\"===this.key&&this.hashtags.length?\"%23\"+this.hashtags.split(\",\")[0]:this.hashtags}},render:function(t){var e=this;if(!this.networks.hasOwnProperty(this.key))throw new Error(\"Network \"+this.key+\" does not exist\");var i={class:\"share-network-\"+this.key,on:{click:function(){return e[\"http\"===e.rawLink.substring(0,4)?\"share\":\"touch\"]()}}};return\"a\"===this.tag&&(i.attrs={href:\"javascript:void(0)\"}),t(this.tag,i,this.$slots.default)},methods:{resizePopup:function(){var t=n.innerWidth||document.documentElement.clientWidth||n.screenX,e=n.innerHeight||document.documentElement.clientHeight||n.screenY,i=t/n.screen.availWidth;this.popupLeft=(t-this.popup.width)/2/i+(void 0!==n.screenLeft?n.screenLeft:n.screenX),this.popupTop=(e-this.popup.height)/2/i+(void 0!==n.screenTop?n.screenTop:n.screenY)},share:function(){var t=this;this.resizePopup(),this.popupWindow&&this.popupInterval&&(clearInterval(this.popupInterval),this.popupWindow.close(),this.emit(\"change\")),this.popupWindow=n.open(this.shareLink,\"sharer-\"+this.key,\",height=\"+this.popup.height+\",width=\"+this.popup.width+\",left=\"+this.popupLeft+\",top=\"+this.popupTop+\",screenX=\"+this.popupLeft+\",screenY=\"+this.popupTop),this.popupWindow&&(this.popupWindow.focus(),this.popupInterval=setInterval((function(){t.popupWindow&&!t.popupWindow.closed||(clearInterval(t.popupInterval),t.popupWindow=null,t.emit(\"close\"))}),500),this.emit(\"open\"))},touch:function(){window.open(this.shareLink,\"_blank\"),this.emit(\"open\")},emit:function(t){this.$root.$emit(\"share_network_\"+t,this.key,this.url),this.$emit(t,this.key,this.url)}}};e.default={install:function(t,e){t.component(o.name,o),t.prototype.$SocialSharing={options:{networks:e&&e.hasOwnProperty(\"networks\")?Object.assign(r,e.networks):r}}}}}])}));","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"cleave.js\")):\"function\"==typeof define&&define.amd?define(\"VueCleave\",[\"cleave.js\"],t):\"object\"==typeof exports?exports.VueCleave=t(require(\"cleave.js\")):e.VueCleave=t(e.Cleave)}(\"undefined\"!=typeof self?self:this,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=n.n(r);function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a={name:\"cleave\",render:function(e){return e(\"input\",{attrs:{type:\"text\",value:this.value},on:{blur:this.onBlur}})},props:{value:{default:null,required:!0,validator:function(e){return null===e||\"string\"==typeof e||e instanceof String||\"number\"==typeof e}},options:{type:Object,default:function(){return{}}},raw:{type:Boolean,default:!0}},data:function(){return{cleave:null,onValueChangedFn:null}},mounted:function(){this.cleave||(this.cleave=new o.a(this.$el,this.getOptions(this.options)))},methods:{getOptions:function(e){return this.onValueChangedFn=e.onValueChanged,u({},e,{onValueChanged:this.onValueChanged})},onValueChanged:function(e){var t=this.raw?e.target.rawValue:e.target.value;this.$emit(\"input\",t),\"function\"==typeof this.onValueChangedFn&&this.onValueChangedFn.call(this,e)},onBlur:function(e){this.$emit(\"blur\",this.value)}},watch:{options:{deep:!0,handler:function(e){this.cleave.destroy(),this.cleave=new o.a(this.$el,this.getOptions(e)),this.cleave.setRawValue(this.value)}},value:function(e){this.cleave&&(this.raw&&e===this.cleave.getRawValue()||(this.raw||e!==this.$el.value)&&this.cleave.setRawValue(e))}},beforeDestroy:function(){this.cleave&&(this.cleave.destroy(),this.cleave=null,this.onValueChangedFn=null)}};n.d(t,\"plugin\",function(){return i}),n.d(t,\"component\",function(){return a});var i=function(e,t){var n=\"cleave\";\"string\"==typeof t&&(n=t),e.component(n,a)};a.install=i;t.default=a}]).default});","var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar NumeralFormatter = function (numeralDecimalMark,\n numeralIntegerScale,\n numeralDecimalScale,\n numeralThousandsGroupStyle,\n numeralPositiveOnly,\n stripLeadingZeroes,\n prefix,\n signBeforePrefix,\n tailPrefix,\n delimiter) {\n var owner = this;\n\n owner.numeralDecimalMark = numeralDecimalMark || '.';\n owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;\n owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n owner.numeralPositiveOnly = !!numeralPositiveOnly;\n owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n owner.prefix = (prefix || prefix === '') ? prefix : '';\n owner.signBeforePrefix = !!signBeforePrefix;\n owner.tailPrefix = !!tailPrefix;\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n};\n\nNumeralFormatter.groupStyle = {\n thousand: 'thousand',\n lakh: 'lakh',\n wan: 'wan',\n none: 'none' \n};\n\nNumeralFormatter.prototype = {\n getRawValue: function (value) {\n return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n },\n\n format: function (value) {\n var owner = this, parts, partSign, partSignAndPrefix, partInteger, partDecimal = '';\n\n // strip alphabet letters\n value = value.replace(/[A-Za-z]/g, '')\n // replace the first decimal mark with reserved placeholder\n .replace(owner.numeralDecimalMark, 'M')\n\n // strip non numeric letters except minus and \"M\"\n // this is to ensure prefix has been stripped\n .replace(/[^\\dM-]/g, '')\n\n // replace the leading minus with reserved placeholder\n .replace(/^\\-/, 'N')\n\n // strip the other minus sign (if present)\n .replace(/\\-/g, '')\n\n // replace the minus sign (if present)\n .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n // replace decimal mark\n .replace('M', owner.numeralDecimalMark);\n\n // strip any leading zeros\n if (owner.stripLeadingZeroes) {\n value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n }\n\n partSign = value.slice(0, 1) === '-' ? '-' : '';\n if (typeof owner.prefix != 'undefined') {\n if (owner.signBeforePrefix) {\n partSignAndPrefix = partSign + owner.prefix;\n } else {\n partSignAndPrefix = owner.prefix + partSign;\n }\n } else {\n partSignAndPrefix = partSign;\n }\n \n partInteger = value;\n\n if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n parts = value.split(owner.numeralDecimalMark);\n partInteger = parts[0];\n partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n }\n\n if(partSign === '-') {\n partInteger = partInteger.slice(1);\n }\n\n if (owner.numeralIntegerScale > 0) {\n partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n }\n\n switch (owner.numeralThousandsGroupStyle) {\n case NumeralFormatter.groupStyle.lakh:\n partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.wan:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.thousand:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n break;\n }\n\n if (owner.tailPrefix) {\n return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n }\n\n return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n }\n};\n\nvar NumeralFormatter_1 = NumeralFormatter;\n\nvar DateFormatter = function (datePattern, dateMin, dateMax) {\n var owner = this;\n\n owner.date = [];\n owner.blocks = [];\n owner.datePattern = datePattern;\n owner.dateMin = dateMin\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n owner.dateMax = dateMax\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n \n owner.initBlocks();\n};\n\nDateFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.datePattern.forEach(function (value) {\n if (value === 'Y') {\n owner.blocks.push(4);\n } else {\n owner.blocks.push(2);\n }\n });\n },\n\n getISOFormatDate: function () {\n var owner = this,\n date = owner.date;\n\n return date[2] ? (\n date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getValidatedDate: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.datePattern[index]) {\n case 'd':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 3) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 31) {\n sub = '31';\n }\n\n break;\n\n case 'm':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 1) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 12) {\n sub = '12';\n }\n\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedDateString(result);\n },\n\n getFixedDateString: function (value) {\n var owner = this, datePattern = owner.datePattern, date = [],\n dayIndex = 0, monthIndex = 0, yearIndex = 0,\n dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,\n day, month, year, fullYearDone = false;\n\n // mm-dd || dd-mm\n if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n monthStartIndex = 2 - dayStartIndex;\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n date = this.getFixedDate(day, month, 0);\n }\n\n // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n if (value.length === 8) {\n datePattern.forEach(function (type, index) {\n switch (type) {\n case 'd':\n dayIndex = index;\n break;\n case 'm':\n monthIndex = index;\n break;\n default:\n yearIndex = index;\n break;\n }\n });\n\n yearStartIndex = yearIndex * 2;\n dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);\n monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);\n\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = this.getFixedDate(day, month, year);\n }\n\n // mm-yy || yy-mm\n if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n yearStartIndex = 2 - monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n date = [0, month, year];\n }\n\n // mm-yyyy || yyyy-mm\n if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n yearStartIndex = 2 - 0.5 * monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = [0, month, year];\n }\n\n date = owner.getRangeFixedDate(date);\n owner.date = date;\n\n var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n switch (current) {\n case 'd':\n return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n case 'm':\n return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n case 'y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n case 'Y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n }\n }, '');\n\n return result;\n },\n\n getRangeFixedDate: function (date) {\n var owner = this,\n datePattern = owner.datePattern,\n dateMin = owner.dateMin || [],\n dateMax = owner.dateMax || [];\n\n if (!date.length || (dateMin.length < 3 && dateMax.length < 3)) return date;\n\n if (\n datePattern.find(function(x) {\n return x.toLowerCase() === 'y';\n }) &&\n date[2] === 0\n ) return date;\n\n if (dateMax.length && (dateMax[2] < date[2] || (\n dateMax[2] === date[2] && (dateMax[1] < date[1] || (\n dateMax[1] === date[1] && dateMax[0] < date[0]\n ))\n ))) return dateMax;\n\n if (dateMin.length && (dateMin[2] > date[2] || (\n dateMin[2] === date[2] && (dateMin[1] > date[1] || (\n dateMin[1] === date[1] && dateMin[0] > date[0]\n ))\n ))) return dateMin;\n\n return date;\n },\n\n getFixedDate: function (day, month, year) {\n day = Math.min(day, 31);\n month = Math.min(month, 12);\n year = parseInt((year || 0), 10);\n\n if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {\n day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);\n }\n\n return [day, month, year];\n },\n\n isLeapYear: function (year) {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n },\n\n addLeadingZeroForYear: function (number, fullYearMode) {\n if (fullYearMode) {\n return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;\n }\n\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar DateFormatter_1 = DateFormatter;\n\nvar TimeFormatter = function (timePattern, timeFormat) {\n var owner = this;\n\n owner.time = [];\n owner.blocks = [];\n owner.timePattern = timePattern;\n owner.timeFormat = timeFormat;\n owner.initBlocks();\n};\n\nTimeFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.timePattern.forEach(function () {\n owner.blocks.push(2);\n });\n },\n\n getISOFormatTime: function () {\n var owner = this,\n time = owner.time;\n\n return time[2] ? (\n owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getTimeFormatOptions: function () {\n var owner = this;\n if (String(owner.timeFormat) === '12') {\n return {\n maxHourFirstDigit: 1,\n maxHours: 12,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n }\n\n return {\n maxHourFirstDigit: 2,\n maxHours: 23,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n },\n\n getValidatedTime: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n var timeFormatOptions = owner.getTimeFormatOptions();\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.timePattern[index]) {\n\n case 'h':\n if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n sub = timeFormatOptions.maxHours + '';\n }\n\n break;\n\n case 'm':\n case 's':\n if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n sub = timeFormatOptions.maxMinutes + '';\n }\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedTimeString(result);\n },\n\n getFixedTimeString: function (value) {\n var owner = this, timePattern = owner.timePattern, time = [],\n secondIndex = 0, minuteIndex = 0, hourIndex = 0,\n secondStartIndex = 0, minuteStartIndex = 0, hourStartIndex = 0,\n second, minute, hour;\n\n if (value.length === 6) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 's':\n secondIndex = index * 2;\n break;\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n secondStartIndex = secondIndex;\n\n second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n\n second = 0;\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n owner.time = time;\n\n return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n switch (current) {\n case 's':\n return previous + owner.addLeadingZero(time[2]);\n case 'm':\n return previous + owner.addLeadingZero(time[1]);\n case 'h':\n return previous + owner.addLeadingZero(time[0]);\n }\n }, '');\n },\n\n getFixedTime: function (hour, minute, second) {\n second = Math.min(parseInt(second || 0, 10), 60);\n minute = Math.min(minute, 60);\n hour = Math.min(hour, 60);\n\n return [hour, minute, second];\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar TimeFormatter_1 = TimeFormatter;\n\nvar PhoneFormatter = function (formatter, delimiter) {\n var owner = this;\n\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n owner.formatter = formatter;\n};\n\nPhoneFormatter.prototype = {\n setFormatter: function (formatter) {\n this.formatter = formatter;\n },\n\n format: function (phoneNumber) {\n var owner = this;\n\n owner.formatter.clear();\n\n // only keep number and +\n phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n // strip non-leading +\n phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n // strip delimiter\n phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n var result = '', current, validated = false;\n\n for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n // has ()- or space inside\n if (/[\\s()-]/g.test(current)) {\n result = current;\n\n validated = true;\n } else {\n if (!validated) {\n result = current;\n }\n // else: over length input\n // it turns to invalid number again\n }\n }\n\n // strip ()\n // e.g. US: 7161234567 returns (716) 123-4567\n result = result.replace(/[()]/g, '');\n // replace library delimiter with user customized delimiter\n result = result.replace(/[\\s-]/g, owner.delimiter);\n\n return result;\n }\n};\n\nvar PhoneFormatter_1 = PhoneFormatter;\n\nvar CreditCardDetector = {\n blocks: {\n uatp: [4, 5, 6],\n amex: [4, 6, 5],\n diners: [4, 6, 4],\n discover: [4, 4, 4, 4],\n mastercard: [4, 4, 4, 4],\n dankort: [4, 4, 4, 4],\n instapayment: [4, 4, 4, 4],\n jcb15: [4, 6, 5],\n jcb: [4, 4, 4, 4],\n maestro: [4, 4, 4, 4],\n visa: [4, 4, 4, 4],\n mir: [4, 4, 4, 4],\n unionPay: [4, 4, 4, 4],\n general: [4, 4, 4, 4]\n },\n\n re: {\n // starts with 1; 15 digits, not starts with 1800 (jcb card)\n uatp: /^(?!1800)1\\d{0,14}/,\n\n // starts with 34/37; 15 digits\n amex: /^3[47]\\d{0,13}/,\n\n // starts with 6011/65/644-649; 16 digits\n discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n // starts with 300-305/309 or 36/38/39; 14 digits\n diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n // starts with 51-55/2221–2720; 16 digits\n mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n // starts with 5019/4175/4571; 16 digits\n dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n // starts with 637-639; 16 digits\n instapayment: /^63[7-9]\\d{0,13}/,\n\n // starts with 2131/1800; 15 digits\n jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n // starts with 2131/1800/35; 16 digits\n jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n // starts with 50/56-58/6304/67; 16 digits\n maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n // starts with 22; 16 digits\n mir: /^220[0-4]\\d{0,12}/,\n\n // starts with 4; 16 digits\n visa: /^4\\d{0,15}/,\n\n // starts with 62/81; 16 digits\n unionPay: /^(62|81)\\d{0,14}/\n },\n\n getStrictBlocks: function (block) {\n var total = block.reduce(function (prev, current) {\n return prev + current;\n }, 0);\n\n return block.concat(19 - total);\n },\n\n getInfo: function (value, strictMode) {\n var blocks = CreditCardDetector.blocks,\n re = CreditCardDetector.re;\n\n // Some credit card can have up to 19 digits number.\n // Set strictMode to true will remove the 16 max-length restrain,\n // however, I never found any website validate card number like\n // this, hence probably you don't want to enable this option.\n strictMode = !!strictMode;\n\n for (var key in re) {\n if (re[key].test(value)) {\n var matchedBlocks = blocks[key];\n return {\n type: key,\n blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n };\n }\n }\n\n return {\n type: 'unknown',\n blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n };\n }\n};\n\nvar CreditCardDetector_1 = CreditCardDetector;\n\nvar Util = {\n noop: function () {\n },\n\n strip: function (value, re) {\n return value.replace(re, '');\n },\n\n getPostDelimiter: function (value, delimiter, delimiters) {\n // single delimiter\n if (delimiters.length === 0) {\n return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n }\n\n // multiple delimiters\n var matchedDelimiter = '';\n delimiters.forEach(function (current) {\n if (value.slice(-current.length) === current) {\n matchedDelimiter = current;\n }\n });\n\n return matchedDelimiter;\n },\n\n getDelimiterREByDelimiter: function (delimiter) {\n return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n },\n\n getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n // If cursor was at the end of value, just place it back.\n // Because new value could contain additional chars.\n if (oldValue.length === prevPos) {\n return newValue.length;\n }\n\n return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);\n },\n\n getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n var oldRawValue, newRawValue, lengthOffset;\n\n oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n lengthOffset = oldRawValue.length - newRawValue.length;\n\n return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;\n },\n\n stripDelimiters: function (value, delimiter, delimiters) {\n var owner = this;\n\n // single delimiter\n if (delimiters.length === 0) {\n var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n return value.replace(delimiterRE, '');\n }\n\n // multiple delimiters\n delimiters.forEach(function (current) {\n current.split('').forEach(function (letter) {\n value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n });\n });\n\n return value;\n },\n\n headStr: function (str, length) {\n return str.slice(0, length);\n },\n\n getMaxLength: function (blocks) {\n return blocks.reduce(function (previous, current) {\n return previous + current;\n }, 0);\n },\n\n // strip prefix\n // Before type | After type | Return value\n // PEFIX-... | PEFIX-... | ''\n // PREFIX-123 | PEFIX-123 | 123\n // PREFIX-123 | PREFIX-23 | 23\n // PREFIX-123 | PREFIX-1234 | 1234\n getPrefixStrippedValue: function (value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n // No prefix\n if (prefixLength === 0) {\n return value;\n }\n\n // Value is prefix\n if (value === prefix && value !== '') {\n return '';\n }\n\n if (signBeforePrefix && (value.slice(0, 1) == '-')) {\n var prev = (prevResult.slice(0, 1) == '-') ? prevResult.slice(1) : prevResult;\n return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n }\n\n // Pre result prefix string does not match pre-defined prefix\n if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n }\n\n var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n // New value has issue, someone typed in between prefix letters\n // Revert to pre value\n if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n return prevValue.slice(prefixLength);\n } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n return prevValue.slice(0, -prefixLength - 1);\n }\n\n // No issue, strip prefix for new value\n return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n },\n\n getFirstDiffIndex: function (prev, current) {\n var index = 0;\n\n while (prev.charAt(index) === current.charAt(index)) {\n if (prev.charAt(index++) === '') {\n return -1;\n }\n }\n\n return index;\n },\n\n getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n var result = '',\n multipleDelimiters = delimiters.length > 0,\n currentDelimiter = '';\n\n // no options, normal input\n if (blocksLength === 0) {\n return value;\n }\n\n blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n rest = value.slice(length);\n\n if (multipleDelimiters) {\n currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;\n } else {\n currentDelimiter = delimiter;\n }\n\n if (delimiterLazyShow) {\n if (index > 0) {\n result += currentDelimiter;\n }\n\n result += sub;\n } else {\n result += sub;\n\n if (sub.length === length && index < blocksLength - 1) {\n result += currentDelimiter;\n }\n }\n\n // update remaining string\n value = rest;\n }\n });\n\n return result;\n },\n\n // move cursor to the end\n // the first time user focuses on an input with prefix\n fixPrefixCursor: function (el, prefix, delimiter, delimiters) {\n if (!el) {\n return;\n }\n\n var val = el.value,\n appendix = delimiter || (delimiters[0] || ' ');\n\n if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) <= val.length) {\n return;\n }\n\n var len = val.length * 2;\n\n // set timeout to avoid blink\n setTimeout(function () {\n el.setSelectionRange(len, len);\n }, 1);\n },\n\n // Check if input field is fully selected\n checkFullSelection: function(value) {\n try {\n var selection = window.getSelection() || document.getSelection() || {};\n return selection.toString().length === value.length;\n } catch (ex) {\n // Ignore\n }\n\n return false;\n },\n\n setSelection: function (element, position, doc) {\n if (element !== this.getActiveElement(doc)) {\n return;\n }\n\n // cursor is already in the end\n if (element && element.value.length <= position) {\n return;\n }\n\n if (element.createTextRange) {\n var range = element.createTextRange();\n\n range.move('character', position);\n range.select();\n } else {\n try {\n element.setSelectionRange(position, position);\n } catch (e) {\n // eslint-disable-next-line\n console.warn('The input element type does not support selection');\n }\n }\n },\n\n getActiveElement: function(parent) {\n var activeElement = parent.activeElement;\n if (activeElement && activeElement.shadowRoot) {\n return this.getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n },\n\n isAndroid: function () {\n return navigator && /android/i.test(navigator.userAgent);\n },\n\n // On Android chrome, the keyup and keydown events\n // always return key code 229 as a composition that\n // buffers the user’s keystrokes\n // see https://github.com/nosir/cleave.js/issues/147\n isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {\n if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n return false;\n }\n\n return currentInputValue === lastInputValue.slice(0, -1);\n }\n};\n\nvar Util_1 = Util;\n\n/**\n * Props Assignment\n *\n * Separate this, so react module can share the usage\n */\nvar DefaultProperties = {\n // Maybe change to object-assign\n // for now just keep it as simple\n assign: function (target, opts) {\n target = target || {};\n opts = opts || {};\n\n // credit card\n target.creditCard = !!opts.creditCard;\n target.creditCardStrictMode = !!opts.creditCardStrictMode;\n target.creditCardType = '';\n target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});\n\n // phone\n target.phone = !!opts.phone;\n target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n target.phoneFormatter = {};\n\n // time\n target.time = !!opts.time;\n target.timePattern = opts.timePattern || ['h', 'm', 's'];\n target.timeFormat = opts.timeFormat || '24';\n target.timeFormatter = {};\n\n // date\n target.date = !!opts.date;\n target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n target.dateMin = opts.dateMin || '';\n target.dateMax = opts.dateMax || '';\n target.dateFormatter = {};\n\n // numeral\n target.numeral = !!opts.numeral;\n target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n target.signBeforePrefix = !!opts.signBeforePrefix;\n target.tailPrefix = !!opts.tailPrefix;\n\n // others\n target.swapHiddenInput = !!opts.swapHiddenInput;\n \n target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n target.uppercase = !!opts.uppercase;\n target.lowercase = !!opts.lowercase;\n\n target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');\n target.noImmediatePrefix = !!opts.noImmediatePrefix;\n target.prefixLength = target.prefix.length;\n target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n target.copyDelimiter = !!opts.copyDelimiter;\n\n target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';\n\n target.delimiter =\n (opts.delimiter || opts.delimiter === '') ? opts.delimiter :\n (opts.date ? '/' :\n (opts.time ? ':' :\n (opts.numeral ? ',' :\n (opts.phone ? ' ' :\n ' '))));\n target.delimiterLength = target.delimiter.length;\n target.delimiterLazyShow = !!opts.delimiterLazyShow;\n target.delimiters = opts.delimiters || [];\n\n target.blocks = opts.blocks || [];\n target.blocksLength = target.blocks.length;\n\n target.root = (typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window;\n target.document = opts.document || target.root.document;\n\n target.maxLength = 0;\n\n target.backspace = false;\n target.result = '';\n\n target.onValueChanged = opts.onValueChanged || (function () {});\n\n return target;\n }\n};\n\nvar DefaultProperties_1 = DefaultProperties;\n\n/**\n * Construct a new Cleave instance by passing the configuration object\n *\n * @param {String | HTMLElement} element\n * @param {Object} opts\n */\nvar Cleave = function (element, opts) {\n var owner = this;\n var hasMultipleElements = false;\n\n if (typeof element === 'string') {\n owner.element = document.querySelector(element);\n hasMultipleElements = document.querySelectorAll(element).length > 1;\n } else {\n if (typeof element.length !== 'undefined' && element.length > 0) {\n owner.element = element[0];\n hasMultipleElements = element.length > 1;\n } else {\n owner.element = element;\n }\n }\n\n if (!owner.element) {\n throw new Error('[cleave.js] Please check the element');\n }\n\n if (hasMultipleElements) {\n try {\n // eslint-disable-next-line\n console.warn('[cleave.js] Multiple input fields matched, cleave.js will only take the first one.');\n } catch (e) {\n // Old IE\n }\n }\n\n opts.initValue = owner.element.value;\n\n owner.properties = Cleave.DefaultProperties.assign({}, opts);\n\n owner.init();\n};\n\nCleave.prototype = {\n init: function () {\n var owner = this, pps = owner.properties;\n\n // no need to use this lib\n if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {\n owner.onInput(pps.initValue);\n\n return;\n }\n\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n\n owner.isAndroid = Cleave.Util.isAndroid();\n owner.lastInputValue = '';\n owner.isBackward = '';\n\n owner.onChangeListener = owner.onChange.bind(owner);\n owner.onKeyDownListener = owner.onKeyDown.bind(owner);\n owner.onFocusListener = owner.onFocus.bind(owner);\n owner.onCutListener = owner.onCut.bind(owner);\n owner.onCopyListener = owner.onCopy.bind(owner);\n\n owner.initSwapHiddenInput();\n\n owner.element.addEventListener('input', owner.onChangeListener);\n owner.element.addEventListener('keydown', owner.onKeyDownListener);\n owner.element.addEventListener('focus', owner.onFocusListener);\n owner.element.addEventListener('cut', owner.onCutListener);\n owner.element.addEventListener('copy', owner.onCopyListener);\n\n\n owner.initPhoneFormatter();\n owner.initDateFormatter();\n owner.initTimeFormatter();\n owner.initNumeralFormatter();\n\n // avoid touch input field if value is null\n // otherwise Firefox will add red box-shadow for <input required />\n if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {\n owner.onInput(pps.initValue);\n }\n },\n\n initSwapHiddenInput: function () {\n var owner = this, pps = owner.properties;\n if (!pps.swapHiddenInput) return;\n\n var inputFormatter = owner.element.cloneNode(true);\n owner.element.parentNode.insertBefore(inputFormatter, owner.element);\n\n owner.elementSwapHidden = owner.element;\n owner.elementSwapHidden.type = 'hidden';\n\n owner.element = inputFormatter;\n owner.element.id = '';\n },\n\n initNumeralFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.numeral) {\n return;\n }\n\n pps.numeralFormatter = new Cleave.NumeralFormatter(\n pps.numeralDecimalMark,\n pps.numeralIntegerScale,\n pps.numeralDecimalScale,\n pps.numeralThousandsGroupStyle,\n pps.numeralPositiveOnly,\n pps.stripLeadingZeroes,\n pps.prefix,\n pps.signBeforePrefix,\n pps.tailPrefix,\n pps.delimiter\n );\n },\n\n initTimeFormatter: function() {\n var owner = this, pps = owner.properties;\n\n if (!pps.time) {\n return;\n }\n\n pps.timeFormatter = new Cleave.TimeFormatter(pps.timePattern, pps.timeFormat);\n pps.blocks = pps.timeFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initDateFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.date) {\n return;\n }\n\n pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n pps.blocks = pps.dateFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initPhoneFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.phone) {\n return;\n }\n\n // Cleave.AsYouTypeFormatter should be provided by\n // external google closure lib\n try {\n pps.phoneFormatter = new Cleave.PhoneFormatter(\n new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),\n pps.delimiter\n );\n } catch (ex) {\n throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');\n }\n },\n\n onKeyDown: function (event) {\n var owner = this,\n charCode = event.which || event.keyCode;\n\n owner.lastInputValue = owner.element.value;\n owner.isBackward = charCode === 8;\n },\n\n onChange: function (event) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\n var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n if (owner.isBackward && postDelimiter) {\n pps.postDelimiterBackspace = postDelimiter;\n } else {\n pps.postDelimiterBackspace = false;\n }\n\n this.onInput(this.element.value);\n },\n\n onFocus: function () {\n var owner = this,\n pps = owner.properties;\n owner.lastInputValue = owner.element.value;\n\n if (pps.prefix && pps.noImmediatePrefix && !owner.element.value) {\n this.onInput(pps.prefix);\n }\n\n Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n },\n\n onCut: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n this.onInput('');\n },\n\n onCopy: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n },\n\n copyClipboardData: function (e) {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n inputValue = owner.element.value,\n textToCopy = '';\n\n if (!pps.copyDelimiter) {\n textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);\n } else {\n textToCopy = inputValue;\n }\n\n try {\n if (e.clipboardData) {\n e.clipboardData.setData('Text', textToCopy);\n } else {\n window.clipboardData.setData('Text', textToCopy);\n }\n\n e.preventDefault();\n } catch (ex) {\n // empty\n }\n },\n\n onInput: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n // case 1: delete one more character \"4\"\n // 1234*| -> hit backspace -> 123|\n // case 2: last character is not delimiter which is:\n // 12|34* -> hit backspace -> 1|34*\n // note: no need to apply this for numeral mode\n var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n if (!pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n }\n\n // phone formatter\n if (pps.phone) {\n if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n } else {\n pps.result = pps.phoneFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // numeral formatter\n if (pps.numeral) {\n // Do not show prefix when noImmediatePrefix is specified\n // This mostly because we need to show user the native input placeholder\n if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n pps.result = '';\n } else {\n pps.result = pps.numeralFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // date\n if (pps.date) {\n value = pps.dateFormatter.getValidatedDate(value);\n }\n\n // time\n if (pps.time) {\n value = pps.timeFormatter.getValidatedTime(value);\n }\n\n // strip delimiters\n value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n // strip prefix\n value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n // strip non-numeric characters\n value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n // convert case\n value = pps.uppercase ? value.toUpperCase() : value;\n value = pps.lowercase ? value.toLowerCase() : value;\n\n // prevent from showing prefix when no immediate option enabled with empty input value\n if (pps.prefix) {\n if (pps.tailPrefix) {\n value = value + pps.prefix;\n } else {\n value = pps.prefix + value;\n }\n\n\n // no blocks specified, no need to do formatting\n if (pps.blocksLength === 0) {\n pps.result = value;\n owner.updateValueState();\n\n return;\n }\n }\n\n // update credit card props\n if (pps.creditCard) {\n owner.updateCreditCardPropsByValue(value);\n }\n\n // strip over length characters\n value = Util.headStr(value, pps.maxLength);\n\n // apply blocks\n pps.result = Util.getFormattedValue(\n value,\n pps.blocks, pps.blocksLength,\n pps.delimiter, pps.delimiters, pps.delimiterLazyShow\n );\n\n owner.updateValueState();\n },\n\n updateCreditCardPropsByValue: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util,\n creditCardInfo;\n\n // At least one of the first 4 characters has changed\n if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n return;\n }\n\n creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n pps.blocks = creditCardInfo.blocks;\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Util.getMaxLength(pps.blocks);\n\n // credit card type changed\n if (pps.creditCardType !== creditCardInfo.type) {\n pps.creditCardType = creditCardInfo.type;\n\n pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n }\n },\n\n updateValueState: function () {\n var owner = this,\n Util = Cleave.Util,\n pps = owner.properties;\n\n if (!owner.element) {\n return;\n }\n\n var endPos = owner.element.selectionEnd;\n var oldValue = owner.element.value;\n var newValue = pps.result;\n\n endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n // fix Android browser type=\"text\" input field\n // cursor not jumping issue\n if (owner.isAndroid) {\n window.setTimeout(function () {\n owner.element.value = newValue;\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n }, 1);\n\n return;\n }\n\n owner.element.value = newValue;\n if (pps.swapHiddenInput) owner.elementSwapHidden.value = owner.getRawValue();\n\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n },\n\n callOnValueChanged: function () {\n var owner = this,\n pps = owner.properties;\n\n pps.onValueChanged.call(owner, {\n target: {\n name: owner.element.name,\n value: pps.result,\n rawValue: owner.getRawValue()\n }\n });\n },\n\n setPhoneRegionCode: function (phoneRegionCode) {\n var owner = this, pps = owner.properties;\n\n pps.phoneRegionCode = phoneRegionCode;\n owner.initPhoneFormatter();\n owner.onChange();\n },\n\n setRawValue: function (value) {\n var owner = this, pps = owner.properties;\n\n value = value !== undefined && value !== null ? value.toString() : '';\n\n if (pps.numeral) {\n value = value.replace('.', pps.numeralDecimalMark);\n }\n\n pps.postDelimiterBackspace = false;\n\n owner.element.value = value;\n owner.onInput(value);\n },\n\n getRawValue: function () {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n rawValue = owner.element.value;\n\n if (pps.rawValueTrimPrefix) {\n rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n }\n\n if (pps.numeral) {\n rawValue = pps.numeralFormatter.getRawValue(rawValue);\n } else {\n rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n }\n\n return rawValue;\n },\n\n getISOFormatDate: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n },\n\n getISOFormatTime: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n },\n\n getFormattedValue: function () {\n return this.element.value;\n },\n\n destroy: function () {\n var owner = this;\n\n owner.element.removeEventListener('input', owner.onChangeListener);\n owner.element.removeEventListener('keydown', owner.onKeyDownListener);\n owner.element.removeEventListener('focus', owner.onFocusListener);\n owner.element.removeEventListener('cut', owner.onCutListener);\n owner.element.removeEventListener('copy', owner.onCopyListener);\n },\n\n toString: function () {\n return '[Cleave Object]';\n }\n};\n\nCleave.NumeralFormatter = NumeralFormatter_1;\nCleave.DateFormatter = DateFormatter_1;\nCleave.TimeFormatter = TimeFormatter_1;\nCleave.PhoneFormatter = PhoneFormatter_1;\nCleave.CreditCardDetector = CreditCardDetector_1;\nCleave.Util = Util_1;\nCleave.DefaultProperties = DefaultProperties_1;\n\n// for angular directive\n((typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window)['Cleave'] = Cleave;\n\n// CommonJS\nvar Cleave_1 = Cleave;\n\nexport default Cleave_1;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/@linusborg/vue-simple-portal/dist/index.esm.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/nanoid/non-secure/index.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-social-sharing/dist/vue-social-sharing.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-cleave-component/dist/vue-cleave.min.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/cleave.js/dist/cleave-esm.js","webpack://widgetProductCard/(webpack)/buildin/global.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","config","selector","concat","nanoid","size","id","i","Math","random","setSelector","isBrowser","window","undefined","document","TargetContainer","Vue","extend","abstract","name","props","data","vm","updatedNodes","nodes","render","h","this","length","text","tag","destroyed","el","$el","parentNode","removeChild","Portal","disabled","type","Boolean","prepend","String","default","$scopedSlots","created","getTargetEl","insertTargetEl","updated","_this","$nextTick","slotFn","container","beforeDestroy","unmount","watch","immediate","handler","mount","methods","querySelector","parent","child","createElement","substring","appendChild","targetEl","firstChild","insertBefore","propsData","$destroy","install","_Vue","options","arguments","component","defaultSelector","use","self","module","exports","t","e","r","n","l","call","m","c","d","o","Object","defineProperty","enumerable","get","toStringTag","value","__esModule","create","bind","hasOwnProperty","p","s","baidu","buffer","email","evernote","facebook","flipboard","hackernews","instapaper","line","linkedin","messenger","odnoklassniki","pinterest","pocket","quora","reddit","skype","sms","stumbleupon","telegram","tumblr","twitter","viber","vk","weibo","whatsapp","wordpress","xing","yammer","network","required","url","title","description","quote","hashtags","twitterUser","media","popup","width","height","popupTop","popupLeft","popupWindow","popupInterval","computed","networks","$SocialSharing","key","toLowerCase","rawLink","navigator","userAgent","indexOf","replace","shareLink","encodeURIComponent","encodedHashtags","split","Error","class","on","click","attrs","href","$slots","resizePopup","innerWidth","documentElement","clientWidth","screenX","innerHeight","clientHeight","screenY","screen","availWidth","screenLeft","screenTop","share","clearInterval","close","emit","open","focus","setInterval","closed","touch","$root","$emit","assign","u","apply","a","blur","onBlur","validator","raw","cleave","onValueChangedFn","mounted","getOptions","onValueChanged","target","rawValue","deep","destroy","setRawValue","getRawValue","commonjsGlobal","global","NumeralFormatter","numeralDecimalMark","numeralIntegerScale","numeralDecimalScale","numeralThousandsGroupStyle","numeralPositiveOnly","stripLeadingZeroes","prefix","signBeforePrefix","tailPrefix","delimiter","groupStyle","thousand","delimiterRE","RegExp","lakh","wan","none","format","parts","partSign","partSignAndPrefix","partInteger","partDecimal","slice","toString","NumeralFormatter_1","DateFormatter","datePattern","dateMin","dateMax","date","blocks","reverse","map","x","parseInt","unshift","initBlocks","owner","forEach","push","getISOFormatDate","addLeadingZero","getBlocks","getValidatedDate","result","index","sub","sub0","rest","getFixedDateString","day","month","year","dayIndex","monthIndex","yearIndex","dayStartIndex","monthStartIndex","yearStartIndex","fullYearDone","getFixedDate","getRangeFixedDate","reduce","previous","current","addLeadingZeroForYear","find","min","isLeapYear","number","fullYearMode","DateFormatter_1","TimeFormatter","timePattern","timeFormat","time","getISOFormatTime","getTimeFormatOptions","maxHourFirstDigit","maxHours","maxMinutesFirstDigit","maxMinutes","getValidatedTime","timeFormatOptions","getFixedTimeString","second","minute","hour","secondIndex","minuteIndex","hourIndex","secondStartIndex","minuteStartIndex","hourStartIndex","getFixedTime","TimeFormatter_1","PhoneFormatter","formatter","setFormatter","phoneNumber","clear","validated","iMax","inputDigit","charAt","test","PhoneFormatter_1","CreditCardDetector","uatp","amex","diners","discover","mastercard","dankort","instapayment","jcb15","jcb","maestro","visa","mir","unionPay","general","re","getStrictBlocks","block","total","prev","getInfo","strictMode","matchedBlocks","CreditCardDetector_1","Util_1","noop","strip","getPostDelimiter","delimiters","matchedDelimiter","getDelimiterREByDelimiter","getNextCursorPosition","prevPos","oldValue","newValue","getPositionOffset","oldRawValue","newRawValue","lengthOffset","stripDelimiters","abs","letter","headStr","str","getMaxLength","getPrefixStrippedValue","prefixLength","prevResult","noImmediatePrefix","prevValue","getFirstDiffIndex","getFormattedValue","blocksLength","delimiterLazyShow","multipleDelimiters","currentDelimiter","fixPrefixCursor","val","appendix","setSelectionRange","len","setTimeout","checkFullSelection","getSelection","ex","setSelection","element","position","doc","getActiveElement","createTextRange","range","move","select","console","warn","activeElement","shadowRoot","isAndroid","isAndroidBackspaceKeydown","lastInputValue","currentInputValue","DefaultProperties_1","opts","creditCard","creditCardStrictMode","creditCardType","onCreditCardTypeChanged","phone","phoneRegionCode","phoneFormatter","timeFormatter","dateFormatter","numeral","swapHiddenInput","numericOnly","uppercase","lowercase","rawValueTrimPrefix","copyDelimiter","initValue","delimiterLength","root","maxLength","backspace","Cleave","hasMultipleElements","querySelectorAll","properties","DefaultProperties","init","pps","Util","isBackward","onChangeListener","onChange","onKeyDownListener","onKeyDown","onFocusListener","onFocus","onCutListener","onCut","onCopyListener","onCopy","initSwapHiddenInput","addEventListener","initPhoneFormatter","initDateFormatter","initTimeFormatter","initNumeralFormatter","onInput","inputFormatter","cloneNode","elementSwapHidden","numeralFormatter","AsYouTypeFormatter","event","charCode","which","keyCode","inputType","postDelimiter","postDelimiterBackspace","copyClipboardData","inputValue","textToCopy","clipboardData","setData","preventDefault","postDelimiterAfter","updateValueState","toUpperCase","updateCreditCardPropsByValue","creditCardInfo","endPos","selectionEnd","callOnValueChanged","setPhoneRegionCode","removeEventListener","Cleave_1","g","Function"],"mappings":"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","file":"widget-product-card.2.min.js","sourcesContent":["\n/**\n * vue-simple-portal\n * version: 0.1.5,\n * (c) Thorsten Lünborg, 2021 - present\n * LICENCE: Apache-2.0\n * http://github.com/linusborg/vue-simple-portal\n*/\nimport Vue from 'vue';\nimport { nanoid } from 'nanoid/non-secure';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar config = {\n selector: \"vue-portal-target-\".concat(nanoid())\n};\nvar setSelector = function setSelector(selector) {\n return config.selector = selector;\n};\nvar isBrowser = typeof window !== 'undefined' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) !== undefined;\n\nvar TargetContainer = Vue.extend({\n // as an abstract component, it doesn't appear in\n // the $parent chain of components.\n // which means the next parent of any component rendered inside of this oen\n // will be the parent from which is was sent\n // @ts-expect-error\n abstract: true,\n name: 'PortalOutlet',\n props: ['nodes', 'tag'],\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n render: function render(h) {\n var nodes = this.updatedNodes && this.updatedNodes();\n if (!nodes) return h();\n return nodes.length === 1 && !nodes[0].text ? nodes : h(this.tag || 'DIV', nodes);\n },\n destroyed: function destroyed() {\n var el = this.$el;\n el && el.parentNode.removeChild(el);\n }\n});\n\nvar Portal = Vue.extend({\n name: 'VueSimplePortal',\n props: {\n disabled: {\n type: Boolean\n },\n prepend: {\n type: Boolean\n },\n selector: {\n type: String,\n default: function _default() {\n return \"#\".concat(config.selector);\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n }\n },\n render: function render(h) {\n if (this.disabled) {\n var nodes = this.$scopedSlots && this.$scopedSlots.default();\n if (!nodes) return h();\n return nodes.length < 2 && !nodes[0].text ? nodes : h(this.tag, nodes);\n }\n\n return h();\n },\n created: function created() {\n if (!this.getTargetEl()) {\n this.insertTargetEl();\n }\n },\n updated: function updated() {\n var _this = this;\n\n // We only update the target container component\n // if the scoped slot function is a fresh one\n // The new slot syntax (since Vue 2.6) can cache unchanged slot functions\n // and we want to respect that here.\n this.$nextTick(function () {\n if (!_this.disabled && _this.slotFn !== _this.$scopedSlots.default) {\n _this.container.updatedNodes = _this.$scopedSlots.default;\n }\n\n _this.slotFn = _this.$scopedSlots.default;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unmount();\n },\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmount() : this.$nextTick(this.mount);\n }\n }\n },\n methods: {\n // This returns the element into which the content should be mounted.\n getTargetEl: function getTargetEl() {\n if (!isBrowser) return;\n return document.querySelector(this.selector);\n },\n insertTargetEl: function insertTargetEl() {\n if (!isBrowser) return;\n var parent = document.querySelector('body');\n var child = document.createElement(this.tag);\n child.id = this.selector.substring(1);\n parent.appendChild(child);\n },\n mount: function mount() {\n if (!isBrowser) return;\n var targetEl = this.getTargetEl();\n var el = document.createElement('DIV');\n\n if (this.prepend && targetEl.firstChild) {\n targetEl.insertBefore(el, targetEl.firstChild);\n } else {\n targetEl.appendChild(el);\n }\n\n this.container = new TargetContainer({\n el: el,\n parent: this,\n propsData: {\n tag: this.tag,\n nodes: this.$scopedSlots.default\n }\n });\n },\n unmount: function unmount() {\n if (this.container) {\n this.container.$destroy();\n delete this.container;\n }\n }\n }\n});\n\nfunction install(_Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _Vue.component(options.name || 'portal', Portal);\n\n if (options.defaultSelector) {\n setSelector(options.defaultSelector);\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue === Vue) {\n // plugin was inlcuded directly in a browser\n Vue.use(install);\n}\n\nexport default install;\nexport { Portal, config, setSelector };\n","// This alphabet uses `A-Za-z0-9_-` symbols.\n// The order of characters is optimized for better gzip and brotli compression.\n// References to the same file (works both for gzip and brotli):\n// `'use`, `andom`, and `rict'`\n// References to the brotli default dictionary:\n// `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\n\nlet nanoid = (size = 21) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n\nexport { nanoid, customAlphabet }\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueSocialSharing=e():t.VueSocialSharing=e()}(\"undefined\"!=typeof self?self:this,(function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},i.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)i.d(r,n,function(e){return t[e]}.bind(null,n));return r},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"\",i(i.s=0)}([function(t,e,i){t.exports=i(1)},function(t,e,i){\"use strict\";i.r(e),i.d(e,\"ShareNetwork\",(function(){return o}));var r={baidu:\"http://cang.baidu.com/do/add?iu=@u&it=@t\",buffer:\"https://bufferapp.com/add?text=@t&url=@u\",email:\"mailto:?subject=@t&body=@u%0D%0A@d\",evernote:\"https://www.evernote.com/clip.action?url=@u&title=@t\",facebook:\"https://www.facebook.com/sharer/sharer.php?u=@u&title=@t&description=@d"e=@q&hashtag=@h\",flipboard:\"https://share.flipboard.com/bookmarklet/popout?v=2&url=@u&title=@t\",hackernews:\"https://news.ycombinator.com/submitlink?u=@u&t=@t\",instapaper:\"http://www.instapaper.com/edit?url=@u&title=@t&description=@d\",line:\"http://line.me/R/msg/text/?@t%0D%0A@u%0D%0A@d\",linkedin:\"https://www.linkedin.com/sharing/share-offsite/?url=@u\",messenger:\"fb-messenger://share/?link=@u\",odnoklassniki:\"https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=@u&st.comments=@t\",pinterest:\"https://pinterest.com/pin/create/button/?url=@u&media=@m&description=@t\",pocket:\"https://getpocket.com/save?url=@u&title=@t\",quora:\"https://www.quora.com/share?url=@u&title=@t\",reddit:\"https://www.reddit.com/submit?url=@u&title=@t\",skype:\"https://web.skype.com/share?url=@t%0D%0A@u%0D%0A@d\",sms:\"sms:?body=@t%0D%0A@u%0D%0A@d\",stumbleupon:\"https://www.stumbleupon.com/submit?url=@u&title=@t\",telegram:\"https://t.me/share/url?url=@u&text=@t%0D%0A@d\",tumblr:\"https://www.tumblr.com/share/link?url=@u&name=@t&description=@d\",twitter:\"https://twitter.com/intent/tweet?text=@t&url=@u&hashtags=@h@tu\",viber:\"viber://forward?text=@t%0D%0A@u%0D%0A@d\",vk:\"https://vk.com/share.php?url=@u&title=@t&description=@d&image=@m&noparse=true\",weibo:\"http://service.weibo.com/share/share.php?url=@u&title=@t&pic=@m\",whatsapp:\"https://api.whatsapp.com/send?text=@t%0D%0A@u%0D%0A@d\",wordpress:\"https://wordpress.com/press-this.php?u=@u&t=@t&s=@d&i=@m\",xing:\"https://www.xing.com/social/share/spi?op=share&url=@u&title=@t\",yammer:\"https://www.yammer.com/messages/new?login=true&status=@t%0D%0A@u%0D%0A@d\"},n=\"undefined\"!=typeof window?window:null;var o={name:\"ShareNetwork\",props:{network:{type:String,required:!0},url:{type:String,required:!0},title:{type:String,required:!0},description:{type:String,default:\"\"},quote:{type:String,default:\"\"},hashtags:{type:String,default:\"\"},twitterUser:{type:String,default:\"\"},media:{type:String,default:\"\"},tag:{type:String,default:\"a\"},popup:{type:Object,default:function(){return{width:626,height:436}}}},data:function(){return{popupTop:0,popupLeft:0,popupWindow:void 0,popupInterval:null}},computed:{networks:function(){return this.$SocialSharing?this.$SocialSharing.options.networks:r},key:function(){return this.network.toLowerCase()},rawLink:function(){var t=navigator.userAgent.toLowerCase();return\"sms\"===this.key&&(t.indexOf(\"iphone\")>-1||t.indexOf(\"ipad\")>-1)?this.networks[this.key].replace(\":?\",\":&\"):this.networks[this.key]},shareLink:function(){var t=this.rawLink;return\"twitter\"===this.key&&(this.hashtags.length||(t=t.replace(\"&hashtags=@h\",\"\")),this.twitterUser.length||(t=t.replace(\"@tu\",\"\"))),t.replace(/@tu/g,\"&via=\"+encodeURIComponent(this.twitterUser)).replace(/@u/g,encodeURIComponent(this.url)).replace(/@t/g,encodeURIComponent(this.title)).replace(/@d/g,encodeURIComponent(this.description)).replace(/@q/g,encodeURIComponent(this.quote)).replace(/@h/g,this.encodedHashtags).replace(/@m/g,encodeURIComponent(this.media))},encodedHashtags:function(){return\"facebook\"===this.key&&this.hashtags.length?\"%23\"+this.hashtags.split(\",\")[0]:this.hashtags}},render:function(t){var e=this;if(!this.networks.hasOwnProperty(this.key))throw new Error(\"Network \"+this.key+\" does not exist\");var i={class:\"share-network-\"+this.key,on:{click:function(){return e[\"http\"===e.rawLink.substring(0,4)?\"share\":\"touch\"]()}}};return\"a\"===this.tag&&(i.attrs={href:\"javascript:void(0)\"}),t(this.tag,i,this.$slots.default)},methods:{resizePopup:function(){var t=n.innerWidth||document.documentElement.clientWidth||n.screenX,e=n.innerHeight||document.documentElement.clientHeight||n.screenY,i=t/n.screen.availWidth;this.popupLeft=(t-this.popup.width)/2/i+(void 0!==n.screenLeft?n.screenLeft:n.screenX),this.popupTop=(e-this.popup.height)/2/i+(void 0!==n.screenTop?n.screenTop:n.screenY)},share:function(){var t=this;this.resizePopup(),this.popupWindow&&this.popupInterval&&(clearInterval(this.popupInterval),this.popupWindow.close(),this.emit(\"change\")),this.popupWindow=n.open(this.shareLink,\"sharer-\"+this.key,\",height=\"+this.popup.height+\",width=\"+this.popup.width+\",left=\"+this.popupLeft+\",top=\"+this.popupTop+\",screenX=\"+this.popupLeft+\",screenY=\"+this.popupTop),this.popupWindow&&(this.popupWindow.focus(),this.popupInterval=setInterval((function(){t.popupWindow&&!t.popupWindow.closed||(clearInterval(t.popupInterval),t.popupWindow=null,t.emit(\"close\"))}),500),this.emit(\"open\"))},touch:function(){window.open(this.shareLink,\"_blank\"),this.emit(\"open\")},emit:function(t){this.$root.$emit(\"share_network_\"+t,this.key,this.url),this.$emit(t,this.key,this.url)}}};e.default={install:function(t,e){t.component(o.name,o),t.prototype.$SocialSharing={options:{networks:e&&e.hasOwnProperty(\"networks\")?Object.assign(r,e.networks):r}}}}}])}));","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"cleave.js\")):\"function\"==typeof define&&define.amd?define(\"VueCleave\",[\"cleave.js\"],t):\"object\"==typeof exports?exports.VueCleave=t(require(\"cleave.js\")):e.VueCleave=t(e.Cleave)}(\"undefined\"!=typeof self?self:this,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=n.n(r);function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a={name:\"cleave\",render:function(e){return e(\"input\",{attrs:{type:\"text\",value:this.value},on:{blur:this.onBlur}})},props:{value:{default:null,required:!0,validator:function(e){return null===e||\"string\"==typeof e||e instanceof String||\"number\"==typeof e}},options:{type:Object,default:function(){return{}}},raw:{type:Boolean,default:!0}},data:function(){return{cleave:null,onValueChangedFn:null}},mounted:function(){this.cleave||(this.cleave=new o.a(this.$el,this.getOptions(this.options)))},methods:{getOptions:function(e){return this.onValueChangedFn=e.onValueChanged,u({},e,{onValueChanged:this.onValueChanged})},onValueChanged:function(e){var t=this.raw?e.target.rawValue:e.target.value;this.$emit(\"input\",t),\"function\"==typeof this.onValueChangedFn&&this.onValueChangedFn.call(this,e)},onBlur:function(e){this.$emit(\"blur\",this.value)}},watch:{options:{deep:!0,handler:function(e){this.cleave.destroy(),this.cleave=new o.a(this.$el,this.getOptions(e)),this.cleave.setRawValue(this.value)}},value:function(e){this.cleave&&(this.raw&&e===this.cleave.getRawValue()||(this.raw||e!==this.$el.value)&&this.cleave.setRawValue(e))}},beforeDestroy:function(){this.cleave&&(this.cleave.destroy(),this.cleave=null,this.onValueChangedFn=null)}};n.d(t,\"plugin\",function(){return i}),n.d(t,\"component\",function(){return a});var i=function(e,t){var n=\"cleave\";\"string\"==typeof t&&(n=t),e.component(n,a)};a.install=i;t.default=a}]).default});","var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar NumeralFormatter = function (numeralDecimalMark,\n numeralIntegerScale,\n numeralDecimalScale,\n numeralThousandsGroupStyle,\n numeralPositiveOnly,\n stripLeadingZeroes,\n prefix,\n signBeforePrefix,\n tailPrefix,\n delimiter) {\n var owner = this;\n\n owner.numeralDecimalMark = numeralDecimalMark || '.';\n owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;\n owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n owner.numeralPositiveOnly = !!numeralPositiveOnly;\n owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n owner.prefix = (prefix || prefix === '') ? prefix : '';\n owner.signBeforePrefix = !!signBeforePrefix;\n owner.tailPrefix = !!tailPrefix;\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n};\n\nNumeralFormatter.groupStyle = {\n thousand: 'thousand',\n lakh: 'lakh',\n wan: 'wan',\n none: 'none' \n};\n\nNumeralFormatter.prototype = {\n getRawValue: function (value) {\n return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n },\n\n format: function (value) {\n var owner = this, parts, partSign, partSignAndPrefix, partInteger, partDecimal = '';\n\n // strip alphabet letters\n value = value.replace(/[A-Za-z]/g, '')\n // replace the first decimal mark with reserved placeholder\n .replace(owner.numeralDecimalMark, 'M')\n\n // strip non numeric letters except minus and \"M\"\n // this is to ensure prefix has been stripped\n .replace(/[^\\dM-]/g, '')\n\n // replace the leading minus with reserved placeholder\n .replace(/^\\-/, 'N')\n\n // strip the other minus sign (if present)\n .replace(/\\-/g, '')\n\n // replace the minus sign (if present)\n .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n // replace decimal mark\n .replace('M', owner.numeralDecimalMark);\n\n // strip any leading zeros\n if (owner.stripLeadingZeroes) {\n value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n }\n\n partSign = value.slice(0, 1) === '-' ? '-' : '';\n if (typeof owner.prefix != 'undefined') {\n if (owner.signBeforePrefix) {\n partSignAndPrefix = partSign + owner.prefix;\n } else {\n partSignAndPrefix = owner.prefix + partSign;\n }\n } else {\n partSignAndPrefix = partSign;\n }\n \n partInteger = value;\n\n if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n parts = value.split(owner.numeralDecimalMark);\n partInteger = parts[0];\n partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n }\n\n if(partSign === '-') {\n partInteger = partInteger.slice(1);\n }\n\n if (owner.numeralIntegerScale > 0) {\n partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n }\n\n switch (owner.numeralThousandsGroupStyle) {\n case NumeralFormatter.groupStyle.lakh:\n partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.wan:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.thousand:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n break;\n }\n\n if (owner.tailPrefix) {\n return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n }\n\n return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n }\n};\n\nvar NumeralFormatter_1 = NumeralFormatter;\n\nvar DateFormatter = function (datePattern, dateMin, dateMax) {\n var owner = this;\n\n owner.date = [];\n owner.blocks = [];\n owner.datePattern = datePattern;\n owner.dateMin = dateMin\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n owner.dateMax = dateMax\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n \n owner.initBlocks();\n};\n\nDateFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.datePattern.forEach(function (value) {\n if (value === 'Y') {\n owner.blocks.push(4);\n } else {\n owner.blocks.push(2);\n }\n });\n },\n\n getISOFormatDate: function () {\n var owner = this,\n date = owner.date;\n\n return date[2] ? (\n date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getValidatedDate: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.datePattern[index]) {\n case 'd':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 3) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 31) {\n sub = '31';\n }\n\n break;\n\n case 'm':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 1) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 12) {\n sub = '12';\n }\n\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedDateString(result);\n },\n\n getFixedDateString: function (value) {\n var owner = this, datePattern = owner.datePattern, date = [],\n dayIndex = 0, monthIndex = 0, yearIndex = 0,\n dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,\n day, month, year, fullYearDone = false;\n\n // mm-dd || dd-mm\n if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n monthStartIndex = 2 - dayStartIndex;\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n date = this.getFixedDate(day, month, 0);\n }\n\n // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n if (value.length === 8) {\n datePattern.forEach(function (type, index) {\n switch (type) {\n case 'd':\n dayIndex = index;\n break;\n case 'm':\n monthIndex = index;\n break;\n default:\n yearIndex = index;\n break;\n }\n });\n\n yearStartIndex = yearIndex * 2;\n dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);\n monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);\n\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = this.getFixedDate(day, month, year);\n }\n\n // mm-yy || yy-mm\n if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n yearStartIndex = 2 - monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n date = [0, month, year];\n }\n\n // mm-yyyy || yyyy-mm\n if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n yearStartIndex = 2 - 0.5 * monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = [0, month, year];\n }\n\n date = owner.getRangeFixedDate(date);\n owner.date = date;\n\n var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n switch (current) {\n case 'd':\n return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n case 'm':\n return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n case 'y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n case 'Y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n }\n }, '');\n\n return result;\n },\n\n getRangeFixedDate: function (date) {\n var owner = this,\n datePattern = owner.datePattern,\n dateMin = owner.dateMin || [],\n dateMax = owner.dateMax || [];\n\n if (!date.length || (dateMin.length < 3 && dateMax.length < 3)) return date;\n\n if (\n datePattern.find(function(x) {\n return x.toLowerCase() === 'y';\n }) &&\n date[2] === 0\n ) return date;\n\n if (dateMax.length && (dateMax[2] < date[2] || (\n dateMax[2] === date[2] && (dateMax[1] < date[1] || (\n dateMax[1] === date[1] && dateMax[0] < date[0]\n ))\n ))) return dateMax;\n\n if (dateMin.length && (dateMin[2] > date[2] || (\n dateMin[2] === date[2] && (dateMin[1] > date[1] || (\n dateMin[1] === date[1] && dateMin[0] > date[0]\n ))\n ))) return dateMin;\n\n return date;\n },\n\n getFixedDate: function (day, month, year) {\n day = Math.min(day, 31);\n month = Math.min(month, 12);\n year = parseInt((year || 0), 10);\n\n if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {\n day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);\n }\n\n return [day, month, year];\n },\n\n isLeapYear: function (year) {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n },\n\n addLeadingZeroForYear: function (number, fullYearMode) {\n if (fullYearMode) {\n return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;\n }\n\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar DateFormatter_1 = DateFormatter;\n\nvar TimeFormatter = function (timePattern, timeFormat) {\n var owner = this;\n\n owner.time = [];\n owner.blocks = [];\n owner.timePattern = timePattern;\n owner.timeFormat = timeFormat;\n owner.initBlocks();\n};\n\nTimeFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.timePattern.forEach(function () {\n owner.blocks.push(2);\n });\n },\n\n getISOFormatTime: function () {\n var owner = this,\n time = owner.time;\n\n return time[2] ? (\n owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getTimeFormatOptions: function () {\n var owner = this;\n if (String(owner.timeFormat) === '12') {\n return {\n maxHourFirstDigit: 1,\n maxHours: 12,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n }\n\n return {\n maxHourFirstDigit: 2,\n maxHours: 23,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n },\n\n getValidatedTime: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n var timeFormatOptions = owner.getTimeFormatOptions();\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.timePattern[index]) {\n\n case 'h':\n if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n sub = timeFormatOptions.maxHours + '';\n }\n\n break;\n\n case 'm':\n case 's':\n if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n sub = timeFormatOptions.maxMinutes + '';\n }\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedTimeString(result);\n },\n\n getFixedTimeString: function (value) {\n var owner = this, timePattern = owner.timePattern, time = [],\n secondIndex = 0, minuteIndex = 0, hourIndex = 0,\n secondStartIndex = 0, minuteStartIndex = 0, hourStartIndex = 0,\n second, minute, hour;\n\n if (value.length === 6) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 's':\n secondIndex = index * 2;\n break;\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n secondStartIndex = secondIndex;\n\n second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n\n second = 0;\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n owner.time = time;\n\n return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n switch (current) {\n case 's':\n return previous + owner.addLeadingZero(time[2]);\n case 'm':\n return previous + owner.addLeadingZero(time[1]);\n case 'h':\n return previous + owner.addLeadingZero(time[0]);\n }\n }, '');\n },\n\n getFixedTime: function (hour, minute, second) {\n second = Math.min(parseInt(second || 0, 10), 60);\n minute = Math.min(minute, 60);\n hour = Math.min(hour, 60);\n\n return [hour, minute, second];\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar TimeFormatter_1 = TimeFormatter;\n\nvar PhoneFormatter = function (formatter, delimiter) {\n var owner = this;\n\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n owner.formatter = formatter;\n};\n\nPhoneFormatter.prototype = {\n setFormatter: function (formatter) {\n this.formatter = formatter;\n },\n\n format: function (phoneNumber) {\n var owner = this;\n\n owner.formatter.clear();\n\n // only keep number and +\n phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n // strip non-leading +\n phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n // strip delimiter\n phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n var result = '', current, validated = false;\n\n for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n // has ()- or space inside\n if (/[\\s()-]/g.test(current)) {\n result = current;\n\n validated = true;\n } else {\n if (!validated) {\n result = current;\n }\n // else: over length input\n // it turns to invalid number again\n }\n }\n\n // strip ()\n // e.g. US: 7161234567 returns (716) 123-4567\n result = result.replace(/[()]/g, '');\n // replace library delimiter with user customized delimiter\n result = result.replace(/[\\s-]/g, owner.delimiter);\n\n return result;\n }\n};\n\nvar PhoneFormatter_1 = PhoneFormatter;\n\nvar CreditCardDetector = {\n blocks: {\n uatp: [4, 5, 6],\n amex: [4, 6, 5],\n diners: [4, 6, 4],\n discover: [4, 4, 4, 4],\n mastercard: [4, 4, 4, 4],\n dankort: [4, 4, 4, 4],\n instapayment: [4, 4, 4, 4],\n jcb15: [4, 6, 5],\n jcb: [4, 4, 4, 4],\n maestro: [4, 4, 4, 4],\n visa: [4, 4, 4, 4],\n mir: [4, 4, 4, 4],\n unionPay: [4, 4, 4, 4],\n general: [4, 4, 4, 4]\n },\n\n re: {\n // starts with 1; 15 digits, not starts with 1800 (jcb card)\n uatp: /^(?!1800)1\\d{0,14}/,\n\n // starts with 34/37; 15 digits\n amex: /^3[47]\\d{0,13}/,\n\n // starts with 6011/65/644-649; 16 digits\n discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n // starts with 300-305/309 or 36/38/39; 14 digits\n diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n // starts with 51-55/2221–2720; 16 digits\n mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n // starts with 5019/4175/4571; 16 digits\n dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n // starts with 637-639; 16 digits\n instapayment: /^63[7-9]\\d{0,13}/,\n\n // starts with 2131/1800; 15 digits\n jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n // starts with 2131/1800/35; 16 digits\n jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n // starts with 50/56-58/6304/67; 16 digits\n maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n // starts with 22; 16 digits\n mir: /^220[0-4]\\d{0,12}/,\n\n // starts with 4; 16 digits\n visa: /^4\\d{0,15}/,\n\n // starts with 62/81; 16 digits\n unionPay: /^(62|81)\\d{0,14}/\n },\n\n getStrictBlocks: function (block) {\n var total = block.reduce(function (prev, current) {\n return prev + current;\n }, 0);\n\n return block.concat(19 - total);\n },\n\n getInfo: function (value, strictMode) {\n var blocks = CreditCardDetector.blocks,\n re = CreditCardDetector.re;\n\n // Some credit card can have up to 19 digits number.\n // Set strictMode to true will remove the 16 max-length restrain,\n // however, I never found any website validate card number like\n // this, hence probably you don't want to enable this option.\n strictMode = !!strictMode;\n\n for (var key in re) {\n if (re[key].test(value)) {\n var matchedBlocks = blocks[key];\n return {\n type: key,\n blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n };\n }\n }\n\n return {\n type: 'unknown',\n blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n };\n }\n};\n\nvar CreditCardDetector_1 = CreditCardDetector;\n\nvar Util = {\n noop: function () {\n },\n\n strip: function (value, re) {\n return value.replace(re, '');\n },\n\n getPostDelimiter: function (value, delimiter, delimiters) {\n // single delimiter\n if (delimiters.length === 0) {\n return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n }\n\n // multiple delimiters\n var matchedDelimiter = '';\n delimiters.forEach(function (current) {\n if (value.slice(-current.length) === current) {\n matchedDelimiter = current;\n }\n });\n\n return matchedDelimiter;\n },\n\n getDelimiterREByDelimiter: function (delimiter) {\n return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n },\n\n getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n // If cursor was at the end of value, just place it back.\n // Because new value could contain additional chars.\n if (oldValue.length === prevPos) {\n return newValue.length;\n }\n\n return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);\n },\n\n getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n var oldRawValue, newRawValue, lengthOffset;\n\n oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n lengthOffset = oldRawValue.length - newRawValue.length;\n\n return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;\n },\n\n stripDelimiters: function (value, delimiter, delimiters) {\n var owner = this;\n\n // single delimiter\n if (delimiters.length === 0) {\n var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n return value.replace(delimiterRE, '');\n }\n\n // multiple delimiters\n delimiters.forEach(function (current) {\n current.split('').forEach(function (letter) {\n value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n });\n });\n\n return value;\n },\n\n headStr: function (str, length) {\n return str.slice(0, length);\n },\n\n getMaxLength: function (blocks) {\n return blocks.reduce(function (previous, current) {\n return previous + current;\n }, 0);\n },\n\n // strip prefix\n // Before type | After type | Return value\n // PEFIX-... | PEFIX-... | ''\n // PREFIX-123 | PEFIX-123 | 123\n // PREFIX-123 | PREFIX-23 | 23\n // PREFIX-123 | PREFIX-1234 | 1234\n getPrefixStrippedValue: function (value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n // No prefix\n if (prefixLength === 0) {\n return value;\n }\n\n // Value is prefix\n if (value === prefix && value !== '') {\n return '';\n }\n\n if (signBeforePrefix && (value.slice(0, 1) == '-')) {\n var prev = (prevResult.slice(0, 1) == '-') ? prevResult.slice(1) : prevResult;\n return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n }\n\n // Pre result prefix string does not match pre-defined prefix\n if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n }\n\n var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n // New value has issue, someone typed in between prefix letters\n // Revert to pre value\n if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n return prevValue.slice(prefixLength);\n } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n return prevValue.slice(0, -prefixLength - 1);\n }\n\n // No issue, strip prefix for new value\n return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n },\n\n getFirstDiffIndex: function (prev, current) {\n var index = 0;\n\n while (prev.charAt(index) === current.charAt(index)) {\n if (prev.charAt(index++) === '') {\n return -1;\n }\n }\n\n return index;\n },\n\n getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n var result = '',\n multipleDelimiters = delimiters.length > 0,\n currentDelimiter = '';\n\n // no options, normal input\n if (blocksLength === 0) {\n return value;\n }\n\n blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n rest = value.slice(length);\n\n if (multipleDelimiters) {\n currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;\n } else {\n currentDelimiter = delimiter;\n }\n\n if (delimiterLazyShow) {\n if (index > 0) {\n result += currentDelimiter;\n }\n\n result += sub;\n } else {\n result += sub;\n\n if (sub.length === length && index < blocksLength - 1) {\n result += currentDelimiter;\n }\n }\n\n // update remaining string\n value = rest;\n }\n });\n\n return result;\n },\n\n // move cursor to the end\n // the first time user focuses on an input with prefix\n fixPrefixCursor: function (el, prefix, delimiter, delimiters) {\n if (!el) {\n return;\n }\n\n var val = el.value,\n appendix = delimiter || (delimiters[0] || ' ');\n\n if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) <= val.length) {\n return;\n }\n\n var len = val.length * 2;\n\n // set timeout to avoid blink\n setTimeout(function () {\n el.setSelectionRange(len, len);\n }, 1);\n },\n\n // Check if input field is fully selected\n checkFullSelection: function(value) {\n try {\n var selection = window.getSelection() || document.getSelection() || {};\n return selection.toString().length === value.length;\n } catch (ex) {\n // Ignore\n }\n\n return false;\n },\n\n setSelection: function (element, position, doc) {\n if (element !== this.getActiveElement(doc)) {\n return;\n }\n\n // cursor is already in the end\n if (element && element.value.length <= position) {\n return;\n }\n\n if (element.createTextRange) {\n var range = element.createTextRange();\n\n range.move('character', position);\n range.select();\n } else {\n try {\n element.setSelectionRange(position, position);\n } catch (e) {\n // eslint-disable-next-line\n console.warn('The input element type does not support selection');\n }\n }\n },\n\n getActiveElement: function(parent) {\n var activeElement = parent.activeElement;\n if (activeElement && activeElement.shadowRoot) {\n return this.getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n },\n\n isAndroid: function () {\n return navigator && /android/i.test(navigator.userAgent);\n },\n\n // On Android chrome, the keyup and keydown events\n // always return key code 229 as a composition that\n // buffers the user’s keystrokes\n // see https://github.com/nosir/cleave.js/issues/147\n isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {\n if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n return false;\n }\n\n return currentInputValue === lastInputValue.slice(0, -1);\n }\n};\n\nvar Util_1 = Util;\n\n/**\n * Props Assignment\n *\n * Separate this, so react module can share the usage\n */\nvar DefaultProperties = {\n // Maybe change to object-assign\n // for now just keep it as simple\n assign: function (target, opts) {\n target = target || {};\n opts = opts || {};\n\n // credit card\n target.creditCard = !!opts.creditCard;\n target.creditCardStrictMode = !!opts.creditCardStrictMode;\n target.creditCardType = '';\n target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});\n\n // phone\n target.phone = !!opts.phone;\n target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n target.phoneFormatter = {};\n\n // time\n target.time = !!opts.time;\n target.timePattern = opts.timePattern || ['h', 'm', 's'];\n target.timeFormat = opts.timeFormat || '24';\n target.timeFormatter = {};\n\n // date\n target.date = !!opts.date;\n target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n target.dateMin = opts.dateMin || '';\n target.dateMax = opts.dateMax || '';\n target.dateFormatter = {};\n\n // numeral\n target.numeral = !!opts.numeral;\n target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n target.signBeforePrefix = !!opts.signBeforePrefix;\n target.tailPrefix = !!opts.tailPrefix;\n\n // others\n target.swapHiddenInput = !!opts.swapHiddenInput;\n \n target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n target.uppercase = !!opts.uppercase;\n target.lowercase = !!opts.lowercase;\n\n target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');\n target.noImmediatePrefix = !!opts.noImmediatePrefix;\n target.prefixLength = target.prefix.length;\n target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n target.copyDelimiter = !!opts.copyDelimiter;\n\n target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';\n\n target.delimiter =\n (opts.delimiter || opts.delimiter === '') ? opts.delimiter :\n (opts.date ? '/' :\n (opts.time ? ':' :\n (opts.numeral ? ',' :\n (opts.phone ? ' ' :\n ' '))));\n target.delimiterLength = target.delimiter.length;\n target.delimiterLazyShow = !!opts.delimiterLazyShow;\n target.delimiters = opts.delimiters || [];\n\n target.blocks = opts.blocks || [];\n target.blocksLength = target.blocks.length;\n\n target.root = (typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window;\n target.document = opts.document || target.root.document;\n\n target.maxLength = 0;\n\n target.backspace = false;\n target.result = '';\n\n target.onValueChanged = opts.onValueChanged || (function () {});\n\n return target;\n }\n};\n\nvar DefaultProperties_1 = DefaultProperties;\n\n/**\n * Construct a new Cleave instance by passing the configuration object\n *\n * @param {String | HTMLElement} element\n * @param {Object} opts\n */\nvar Cleave = function (element, opts) {\n var owner = this;\n var hasMultipleElements = false;\n\n if (typeof element === 'string') {\n owner.element = document.querySelector(element);\n hasMultipleElements = document.querySelectorAll(element).length > 1;\n } else {\n if (typeof element.length !== 'undefined' && element.length > 0) {\n owner.element = element[0];\n hasMultipleElements = element.length > 1;\n } else {\n owner.element = element;\n }\n }\n\n if (!owner.element) {\n throw new Error('[cleave.js] Please check the element');\n }\n\n if (hasMultipleElements) {\n try {\n // eslint-disable-next-line\n console.warn('[cleave.js] Multiple input fields matched, cleave.js will only take the first one.');\n } catch (e) {\n // Old IE\n }\n }\n\n opts.initValue = owner.element.value;\n\n owner.properties = Cleave.DefaultProperties.assign({}, opts);\n\n owner.init();\n};\n\nCleave.prototype = {\n init: function () {\n var owner = this, pps = owner.properties;\n\n // no need to use this lib\n if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {\n owner.onInput(pps.initValue);\n\n return;\n }\n\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n\n owner.isAndroid = Cleave.Util.isAndroid();\n owner.lastInputValue = '';\n owner.isBackward = '';\n\n owner.onChangeListener = owner.onChange.bind(owner);\n owner.onKeyDownListener = owner.onKeyDown.bind(owner);\n owner.onFocusListener = owner.onFocus.bind(owner);\n owner.onCutListener = owner.onCut.bind(owner);\n owner.onCopyListener = owner.onCopy.bind(owner);\n\n owner.initSwapHiddenInput();\n\n owner.element.addEventListener('input', owner.onChangeListener);\n owner.element.addEventListener('keydown', owner.onKeyDownListener);\n owner.element.addEventListener('focus', owner.onFocusListener);\n owner.element.addEventListener('cut', owner.onCutListener);\n owner.element.addEventListener('copy', owner.onCopyListener);\n\n\n owner.initPhoneFormatter();\n owner.initDateFormatter();\n owner.initTimeFormatter();\n owner.initNumeralFormatter();\n\n // avoid touch input field if value is null\n // otherwise Firefox will add red box-shadow for <input required />\n if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {\n owner.onInput(pps.initValue);\n }\n },\n\n initSwapHiddenInput: function () {\n var owner = this, pps = owner.properties;\n if (!pps.swapHiddenInput) return;\n\n var inputFormatter = owner.element.cloneNode(true);\n owner.element.parentNode.insertBefore(inputFormatter, owner.element);\n\n owner.elementSwapHidden = owner.element;\n owner.elementSwapHidden.type = 'hidden';\n\n owner.element = inputFormatter;\n owner.element.id = '';\n },\n\n initNumeralFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.numeral) {\n return;\n }\n\n pps.numeralFormatter = new Cleave.NumeralFormatter(\n pps.numeralDecimalMark,\n pps.numeralIntegerScale,\n pps.numeralDecimalScale,\n pps.numeralThousandsGroupStyle,\n pps.numeralPositiveOnly,\n pps.stripLeadingZeroes,\n pps.prefix,\n pps.signBeforePrefix,\n pps.tailPrefix,\n pps.delimiter\n );\n },\n\n initTimeFormatter: function() {\n var owner = this, pps = owner.properties;\n\n if (!pps.time) {\n return;\n }\n\n pps.timeFormatter = new Cleave.TimeFormatter(pps.timePattern, pps.timeFormat);\n pps.blocks = pps.timeFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initDateFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.date) {\n return;\n }\n\n pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n pps.blocks = pps.dateFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initPhoneFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.phone) {\n return;\n }\n\n // Cleave.AsYouTypeFormatter should be provided by\n // external google closure lib\n try {\n pps.phoneFormatter = new Cleave.PhoneFormatter(\n new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),\n pps.delimiter\n );\n } catch (ex) {\n throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');\n }\n },\n\n onKeyDown: function (event) {\n var owner = this,\n charCode = event.which || event.keyCode;\n\n owner.lastInputValue = owner.element.value;\n owner.isBackward = charCode === 8;\n },\n\n onChange: function (event) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\n var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n if (owner.isBackward && postDelimiter) {\n pps.postDelimiterBackspace = postDelimiter;\n } else {\n pps.postDelimiterBackspace = false;\n }\n\n this.onInput(this.element.value);\n },\n\n onFocus: function () {\n var owner = this,\n pps = owner.properties;\n owner.lastInputValue = owner.element.value;\n\n if (pps.prefix && pps.noImmediatePrefix && !owner.element.value) {\n this.onInput(pps.prefix);\n }\n\n Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n },\n\n onCut: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n this.onInput('');\n },\n\n onCopy: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n },\n\n copyClipboardData: function (e) {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n inputValue = owner.element.value,\n textToCopy = '';\n\n if (!pps.copyDelimiter) {\n textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);\n } else {\n textToCopy = inputValue;\n }\n\n try {\n if (e.clipboardData) {\n e.clipboardData.setData('Text', textToCopy);\n } else {\n window.clipboardData.setData('Text', textToCopy);\n }\n\n e.preventDefault();\n } catch (ex) {\n // empty\n }\n },\n\n onInput: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n // case 1: delete one more character \"4\"\n // 1234*| -> hit backspace -> 123|\n // case 2: last character is not delimiter which is:\n // 12|34* -> hit backspace -> 1|34*\n // note: no need to apply this for numeral mode\n var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n if (!pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n }\n\n // phone formatter\n if (pps.phone) {\n if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n } else {\n pps.result = pps.phoneFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // numeral formatter\n if (pps.numeral) {\n // Do not show prefix when noImmediatePrefix is specified\n // This mostly because we need to show user the native input placeholder\n if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n pps.result = '';\n } else {\n pps.result = pps.numeralFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // date\n if (pps.date) {\n value = pps.dateFormatter.getValidatedDate(value);\n }\n\n // time\n if (pps.time) {\n value = pps.timeFormatter.getValidatedTime(value);\n }\n\n // strip delimiters\n value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n // strip prefix\n value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n // strip non-numeric characters\n value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n // convert case\n value = pps.uppercase ? value.toUpperCase() : value;\n value = pps.lowercase ? value.toLowerCase() : value;\n\n // prevent from showing prefix when no immediate option enabled with empty input value\n if (pps.prefix) {\n if (pps.tailPrefix) {\n value = value + pps.prefix;\n } else {\n value = pps.prefix + value;\n }\n\n\n // no blocks specified, no need to do formatting\n if (pps.blocksLength === 0) {\n pps.result = value;\n owner.updateValueState();\n\n return;\n }\n }\n\n // update credit card props\n if (pps.creditCard) {\n owner.updateCreditCardPropsByValue(value);\n }\n\n // strip over length characters\n value = Util.headStr(value, pps.maxLength);\n\n // apply blocks\n pps.result = Util.getFormattedValue(\n value,\n pps.blocks, pps.blocksLength,\n pps.delimiter, pps.delimiters, pps.delimiterLazyShow\n );\n\n owner.updateValueState();\n },\n\n updateCreditCardPropsByValue: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util,\n creditCardInfo;\n\n // At least one of the first 4 characters has changed\n if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n return;\n }\n\n creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n pps.blocks = creditCardInfo.blocks;\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Util.getMaxLength(pps.blocks);\n\n // credit card type changed\n if (pps.creditCardType !== creditCardInfo.type) {\n pps.creditCardType = creditCardInfo.type;\n\n pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n }\n },\n\n updateValueState: function () {\n var owner = this,\n Util = Cleave.Util,\n pps = owner.properties;\n\n if (!owner.element) {\n return;\n }\n\n var endPos = owner.element.selectionEnd;\n var oldValue = owner.element.value;\n var newValue = pps.result;\n\n endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n // fix Android browser type=\"text\" input field\n // cursor not jumping issue\n if (owner.isAndroid) {\n window.setTimeout(function () {\n owner.element.value = newValue;\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n }, 1);\n\n return;\n }\n\n owner.element.value = newValue;\n if (pps.swapHiddenInput) owner.elementSwapHidden.value = owner.getRawValue();\n\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n },\n\n callOnValueChanged: function () {\n var owner = this,\n pps = owner.properties;\n\n pps.onValueChanged.call(owner, {\n target: {\n name: owner.element.name,\n value: pps.result,\n rawValue: owner.getRawValue()\n }\n });\n },\n\n setPhoneRegionCode: function (phoneRegionCode) {\n var owner = this, pps = owner.properties;\n\n pps.phoneRegionCode = phoneRegionCode;\n owner.initPhoneFormatter();\n owner.onChange();\n },\n\n setRawValue: function (value) {\n var owner = this, pps = owner.properties;\n\n value = value !== undefined && value !== null ? value.toString() : '';\n\n if (pps.numeral) {\n value = value.replace('.', pps.numeralDecimalMark);\n }\n\n pps.postDelimiterBackspace = false;\n\n owner.element.value = value;\n owner.onInput(value);\n },\n\n getRawValue: function () {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n rawValue = owner.element.value;\n\n if (pps.rawValueTrimPrefix) {\n rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n }\n\n if (pps.numeral) {\n rawValue = pps.numeralFormatter.getRawValue(rawValue);\n } else {\n rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n }\n\n return rawValue;\n },\n\n getISOFormatDate: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n },\n\n getISOFormatTime: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n },\n\n getFormattedValue: function () {\n return this.element.value;\n },\n\n destroy: function () {\n var owner = this;\n\n owner.element.removeEventListener('input', owner.onChangeListener);\n owner.element.removeEventListener('keydown', owner.onKeyDownListener);\n owner.element.removeEventListener('focus', owner.onFocusListener);\n owner.element.removeEventListener('cut', owner.onCutListener);\n owner.element.removeEventListener('copy', owner.onCopyListener);\n },\n\n toString: function () {\n return '[Cleave Object]';\n }\n};\n\nCleave.NumeralFormatter = NumeralFormatter_1;\nCleave.DateFormatter = DateFormatter_1;\nCleave.TimeFormatter = TimeFormatter_1;\nCleave.PhoneFormatter = PhoneFormatter_1;\nCleave.CreditCardDetector = CreditCardDetector_1;\nCleave.Util = Util_1;\nCleave.DefaultProperties = DefaultProperties_1;\n\n// for angular directive\n((typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window)['Cleave'] = Cleave;\n\n// CommonJS\nvar Cleave_1 = Cleave;\n\nexport default Cleave_1;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/@linusborg/vue-simple-portal/dist/index.esm.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/nanoid/non-secure/index.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-social-sharing/dist/vue-social-sharing.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/vue-cleave-component/dist/vue-cleave.min.js","webpack://widgetProductCard//home/runner/work/storefront/storefront/node_modules/cleave.js/dist/cleave-esm.js","webpack://widgetProductCard/(webpack)/buildin/global.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","config","selector","concat","nanoid","size","id","i","Math","random","setSelector","isBrowser","window","undefined","document","TargetContainer","Vue","extend","abstract","name","props","data","vm","updatedNodes","nodes","render","h","this","length","text","tag","destroyed","el","$el","parentNode","removeChild","Portal","disabled","type","Boolean","prepend","String","default","$scopedSlots","created","getTargetEl","insertTargetEl","updated","_this","$nextTick","slotFn","container","beforeDestroy","unmount","watch","immediate","handler","mount","methods","querySelector","parent","child","createElement","substring","appendChild","targetEl","firstChild","insertBefore","propsData","$destroy","install","_Vue","options","arguments","component","defaultSelector","use","self","module","exports","t","e","r","n","l","call","m","c","d","o","Object","defineProperty","enumerable","get","toStringTag","value","__esModule","create","bind","hasOwnProperty","p","s","baidu","buffer","email","evernote","facebook","flipboard","hackernews","instapaper","line","linkedin","messenger","odnoklassniki","pinterest","pocket","quora","reddit","skype","sms","stumbleupon","telegram","tumblr","twitter","viber","vk","weibo","whatsapp","wordpress","xing","yammer","network","required","url","title","description","quote","hashtags","twitterUser","media","popup","width","height","popupTop","popupLeft","popupWindow","popupInterval","computed","networks","$SocialSharing","key","toLowerCase","rawLink","navigator","userAgent","indexOf","replace","shareLink","encodeURIComponent","encodedHashtags","split","Error","class","on","click","attrs","href","$slots","resizePopup","innerWidth","documentElement","clientWidth","screenX","innerHeight","clientHeight","screenY","screen","availWidth","screenLeft","screenTop","share","clearInterval","close","emit","open","focus","setInterval","closed","touch","$root","$emit","assign","u","apply","a","blur","onBlur","validator","raw","cleave","onValueChangedFn","mounted","getOptions","onValueChanged","target","rawValue","deep","destroy","setRawValue","getRawValue","commonjsGlobal","global","NumeralFormatter","numeralDecimalMark","numeralIntegerScale","numeralDecimalScale","numeralThousandsGroupStyle","numeralPositiveOnly","stripLeadingZeroes","prefix","signBeforePrefix","tailPrefix","delimiter","groupStyle","thousand","delimiterRE","RegExp","lakh","wan","none","format","parts","partSign","partSignAndPrefix","partInteger","partDecimal","slice","toString","NumeralFormatter_1","DateFormatter","datePattern","dateMin","dateMax","date","blocks","reverse","map","x","parseInt","unshift","initBlocks","owner","forEach","push","getISOFormatDate","addLeadingZero","getBlocks","getValidatedDate","result","index","sub","sub0","rest","getFixedDateString","day","month","year","dayIndex","monthIndex","yearIndex","dayStartIndex","monthStartIndex","yearStartIndex","fullYearDone","getFixedDate","getRangeFixedDate","reduce","previous","current","addLeadingZeroForYear","find","min","isLeapYear","number","fullYearMode","DateFormatter_1","TimeFormatter","timePattern","timeFormat","time","getISOFormatTime","getTimeFormatOptions","maxHourFirstDigit","maxHours","maxMinutesFirstDigit","maxMinutes","getValidatedTime","timeFormatOptions","getFixedTimeString","second","minute","hour","secondIndex","minuteIndex","hourIndex","secondStartIndex","minuteStartIndex","hourStartIndex","getFixedTime","TimeFormatter_1","PhoneFormatter","formatter","setFormatter","phoneNumber","clear","validated","iMax","inputDigit","charAt","test","PhoneFormatter_1","CreditCardDetector","uatp","amex","diners","discover","mastercard","dankort","instapayment","jcb15","jcb","maestro","visa","mir","unionPay","general","re","getStrictBlocks","block","total","prev","getInfo","strictMode","matchedBlocks","CreditCardDetector_1","Util_1","noop","strip","getPostDelimiter","delimiters","matchedDelimiter","getDelimiterREByDelimiter","getNextCursorPosition","prevPos","oldValue","newValue","getPositionOffset","oldRawValue","newRawValue","lengthOffset","stripDelimiters","abs","letter","headStr","str","getMaxLength","getPrefixStrippedValue","prefixLength","prevResult","noImmediatePrefix","prevValue","getFirstDiffIndex","getFormattedValue","blocksLength","delimiterLazyShow","multipleDelimiters","currentDelimiter","fixPrefixCursor","val","appendix","setSelectionRange","len","setTimeout","checkFullSelection","getSelection","ex","setSelection","element","position","doc","getActiveElement","createTextRange","range","move","select","console","warn","activeElement","shadowRoot","isAndroid","isAndroidBackspaceKeydown","lastInputValue","currentInputValue","DefaultProperties_1","opts","creditCard","creditCardStrictMode","creditCardType","onCreditCardTypeChanged","phone","phoneRegionCode","phoneFormatter","timeFormatter","dateFormatter","numeral","swapHiddenInput","numericOnly","uppercase","lowercase","rawValueTrimPrefix","copyDelimiter","initValue","delimiterLength","root","maxLength","backspace","Cleave","hasMultipleElements","querySelectorAll","properties","DefaultProperties","init","pps","Util","isBackward","onChangeListener","onChange","onKeyDownListener","onKeyDown","onFocusListener","onFocus","onCutListener","onCut","onCopyListener","onCopy","initSwapHiddenInput","addEventListener","initPhoneFormatter","initDateFormatter","initTimeFormatter","initNumeralFormatter","onInput","inputFormatter","cloneNode","elementSwapHidden","numeralFormatter","AsYouTypeFormatter","event","charCode","which","keyCode","inputType","postDelimiter","postDelimiterBackspace","copyClipboardData","inputValue","textToCopy","clipboardData","setData","preventDefault","postDelimiterAfter","updateValueState","toUpperCase","updateCreditCardPropsByValue","creditCardInfo","endPos","selectionEnd","callOnValueChanged","setPhoneRegionCode","removeEventListener","Cleave_1","g","Function"],"mappings":"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","file":"widget-product-card.2.min.js","sourcesContent":["\n/**\n * vue-simple-portal\n * version: 0.1.5,\n * (c) Thorsten Lünborg, 2021 - present\n * LICENCE: Apache-2.0\n * http://github.com/linusborg/vue-simple-portal\n*/\nimport Vue from 'vue';\nimport { nanoid } from 'nanoid/non-secure';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar config = {\n selector: \"vue-portal-target-\".concat(nanoid())\n};\nvar setSelector = function setSelector(selector) {\n return config.selector = selector;\n};\nvar isBrowser = typeof window !== 'undefined' && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) !== undefined;\n\nvar TargetContainer = Vue.extend({\n // as an abstract component, it doesn't appear in\n // the $parent chain of components.\n // which means the next parent of any component rendered inside of this oen\n // will be the parent from which is was sent\n // @ts-expect-error\n abstract: true,\n name: 'PortalOutlet',\n props: ['nodes', 'tag'],\n data: function data(vm) {\n return {\n updatedNodes: vm.nodes\n };\n },\n render: function render(h) {\n var nodes = this.updatedNodes && this.updatedNodes();\n if (!nodes) return h();\n return nodes.length === 1 && !nodes[0].text ? nodes : h(this.tag || 'DIV', nodes);\n },\n destroyed: function destroyed() {\n var el = this.$el;\n el && el.parentNode.removeChild(el);\n }\n});\n\nvar Portal = Vue.extend({\n name: 'VueSimplePortal',\n props: {\n disabled: {\n type: Boolean\n },\n prepend: {\n type: Boolean\n },\n selector: {\n type: String,\n default: function _default() {\n return \"#\".concat(config.selector);\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n }\n },\n render: function render(h) {\n if (this.disabled) {\n var nodes = this.$scopedSlots && this.$scopedSlots.default();\n if (!nodes) return h();\n return nodes.length < 2 && !nodes[0].text ? nodes : h(this.tag, nodes);\n }\n\n return h();\n },\n created: function created() {\n if (!this.getTargetEl()) {\n this.insertTargetEl();\n }\n },\n updated: function updated() {\n var _this = this;\n\n // We only update the target container component\n // if the scoped slot function is a fresh one\n // The new slot syntax (since Vue 2.6) can cache unchanged slot functions\n // and we want to respect that here.\n this.$nextTick(function () {\n if (!_this.disabled && _this.slotFn !== _this.$scopedSlots.default) {\n _this.container.updatedNodes = _this.$scopedSlots.default;\n }\n\n _this.slotFn = _this.$scopedSlots.default;\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unmount();\n },\n watch: {\n disabled: {\n immediate: true,\n handler: function handler(disabled) {\n disabled ? this.unmount() : this.$nextTick(this.mount);\n }\n }\n },\n methods: {\n // This returns the element into which the content should be mounted.\n getTargetEl: function getTargetEl() {\n if (!isBrowser) return;\n return document.querySelector(this.selector);\n },\n insertTargetEl: function insertTargetEl() {\n if (!isBrowser) return;\n var parent = document.querySelector('body');\n var child = document.createElement(this.tag);\n child.id = this.selector.substring(1);\n parent.appendChild(child);\n },\n mount: function mount() {\n if (!isBrowser) return;\n var targetEl = this.getTargetEl();\n var el = document.createElement('DIV');\n\n if (this.prepend && targetEl.firstChild) {\n targetEl.insertBefore(el, targetEl.firstChild);\n } else {\n targetEl.appendChild(el);\n }\n\n this.container = new TargetContainer({\n el: el,\n parent: this,\n propsData: {\n tag: this.tag,\n nodes: this.$scopedSlots.default\n }\n });\n },\n unmount: function unmount() {\n if (this.container) {\n this.container.$destroy();\n delete this.container;\n }\n }\n }\n});\n\nfunction install(_Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _Vue.component(options.name || 'portal', Portal);\n\n if (options.defaultSelector) {\n setSelector(options.defaultSelector);\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue && window.Vue === Vue) {\n // plugin was inlcuded directly in a browser\n Vue.use(install);\n}\n\nexport default install;\nexport { Portal, config, setSelector };\n","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size | 0\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nexport { nanoid, customAlphabet }\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueSocialSharing=e():t.VueSocialSharing=e()}(\"undefined\"!=typeof self?self:this,(function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},i.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var n in t)i.d(r,n,function(e){return t[e]}.bind(null,n));return r},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,\"a\",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p=\"\",i(i.s=0)}([function(t,e,i){t.exports=i(1)},function(t,e,i){\"use strict\";i.r(e),i.d(e,\"ShareNetwork\",(function(){return o}));var r={baidu:\"http://cang.baidu.com/do/add?iu=@u&it=@t\",buffer:\"https://bufferapp.com/add?text=@t&url=@u\",email:\"mailto:?subject=@t&body=@u%0D%0A@d\",evernote:\"https://www.evernote.com/clip.action?url=@u&title=@t\",facebook:\"https://www.facebook.com/sharer/sharer.php?u=@u&title=@t&description=@d"e=@q&hashtag=@h\",flipboard:\"https://share.flipboard.com/bookmarklet/popout?v=2&url=@u&title=@t\",hackernews:\"https://news.ycombinator.com/submitlink?u=@u&t=@t\",instapaper:\"http://www.instapaper.com/edit?url=@u&title=@t&description=@d\",line:\"http://line.me/R/msg/text/?@t%0D%0A@u%0D%0A@d\",linkedin:\"https://www.linkedin.com/sharing/share-offsite/?url=@u\",messenger:\"fb-messenger://share/?link=@u\",odnoklassniki:\"https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=@u&st.comments=@t\",pinterest:\"https://pinterest.com/pin/create/button/?url=@u&media=@m&description=@t\",pocket:\"https://getpocket.com/save?url=@u&title=@t\",quora:\"https://www.quora.com/share?url=@u&title=@t\",reddit:\"https://www.reddit.com/submit?url=@u&title=@t\",skype:\"https://web.skype.com/share?url=@t%0D%0A@u%0D%0A@d\",sms:\"sms:?body=@t%0D%0A@u%0D%0A@d\",stumbleupon:\"https://www.stumbleupon.com/submit?url=@u&title=@t\",telegram:\"https://t.me/share/url?url=@u&text=@t%0D%0A@d\",tumblr:\"https://www.tumblr.com/share/link?url=@u&name=@t&description=@d\",twitter:\"https://twitter.com/intent/tweet?text=@t&url=@u&hashtags=@h@tu\",viber:\"viber://forward?text=@t%0D%0A@u%0D%0A@d\",vk:\"https://vk.com/share.php?url=@u&title=@t&description=@d&image=@m&noparse=true\",weibo:\"http://service.weibo.com/share/share.php?url=@u&title=@t&pic=@m\",whatsapp:\"https://api.whatsapp.com/send?text=@t%0D%0A@u%0D%0A@d\",wordpress:\"https://wordpress.com/press-this.php?u=@u&t=@t&s=@d&i=@m\",xing:\"https://www.xing.com/social/share/spi?op=share&url=@u&title=@t\",yammer:\"https://www.yammer.com/messages/new?login=true&status=@t%0D%0A@u%0D%0A@d\"},n=\"undefined\"!=typeof window?window:null;var o={name:\"ShareNetwork\",props:{network:{type:String,required:!0},url:{type:String,required:!0},title:{type:String,required:!0},description:{type:String,default:\"\"},quote:{type:String,default:\"\"},hashtags:{type:String,default:\"\"},twitterUser:{type:String,default:\"\"},media:{type:String,default:\"\"},tag:{type:String,default:\"a\"},popup:{type:Object,default:function(){return{width:626,height:436}}}},data:function(){return{popupTop:0,popupLeft:0,popupWindow:void 0,popupInterval:null}},computed:{networks:function(){return this.$SocialSharing?this.$SocialSharing.options.networks:r},key:function(){return this.network.toLowerCase()},rawLink:function(){var t=navigator.userAgent.toLowerCase();return\"sms\"===this.key&&(t.indexOf(\"iphone\")>-1||t.indexOf(\"ipad\")>-1)?this.networks[this.key].replace(\":?\",\":&\"):this.networks[this.key]},shareLink:function(){var t=this.rawLink;return\"twitter\"===this.key&&(this.hashtags.length||(t=t.replace(\"&hashtags=@h\",\"\")),this.twitterUser.length||(t=t.replace(\"@tu\",\"\"))),t.replace(/@tu/g,\"&via=\"+encodeURIComponent(this.twitterUser)).replace(/@u/g,encodeURIComponent(this.url)).replace(/@t/g,encodeURIComponent(this.title)).replace(/@d/g,encodeURIComponent(this.description)).replace(/@q/g,encodeURIComponent(this.quote)).replace(/@h/g,this.encodedHashtags).replace(/@m/g,encodeURIComponent(this.media))},encodedHashtags:function(){return\"facebook\"===this.key&&this.hashtags.length?\"%23\"+this.hashtags.split(\",\")[0]:this.hashtags}},render:function(t){var e=this;if(!this.networks.hasOwnProperty(this.key))throw new Error(\"Network \"+this.key+\" does not exist\");var i={class:\"share-network-\"+this.key,on:{click:function(){return e[\"http\"===e.rawLink.substring(0,4)?\"share\":\"touch\"]()}}};return\"a\"===this.tag&&(i.attrs={href:\"javascript:void(0)\"}),t(this.tag,i,this.$slots.default)},methods:{resizePopup:function(){var t=n.innerWidth||document.documentElement.clientWidth||n.screenX,e=n.innerHeight||document.documentElement.clientHeight||n.screenY,i=t/n.screen.availWidth;this.popupLeft=(t-this.popup.width)/2/i+(void 0!==n.screenLeft?n.screenLeft:n.screenX),this.popupTop=(e-this.popup.height)/2/i+(void 0!==n.screenTop?n.screenTop:n.screenY)},share:function(){var t=this;this.resizePopup(),this.popupWindow&&this.popupInterval&&(clearInterval(this.popupInterval),this.popupWindow.close(),this.emit(\"change\")),this.popupWindow=n.open(this.shareLink,\"sharer-\"+this.key,\",height=\"+this.popup.height+\",width=\"+this.popup.width+\",left=\"+this.popupLeft+\",top=\"+this.popupTop+\",screenX=\"+this.popupLeft+\",screenY=\"+this.popupTop),this.popupWindow&&(this.popupWindow.focus(),this.popupInterval=setInterval((function(){t.popupWindow&&!t.popupWindow.closed||(clearInterval(t.popupInterval),t.popupWindow=null,t.emit(\"close\"))}),500),this.emit(\"open\"))},touch:function(){window.open(this.shareLink,\"_blank\"),this.emit(\"open\")},emit:function(t){this.$root.$emit(\"share_network_\"+t,this.key,this.url),this.$emit(t,this.key,this.url)}}};e.default={install:function(t,e){t.component(o.name,o),t.prototype.$SocialSharing={options:{networks:e&&e.hasOwnProperty(\"networks\")?Object.assign(r,e.networks):r}}}}}])}));","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"cleave.js\")):\"function\"==typeof define&&define.amd?define(\"VueCleave\",[\"cleave.js\"],t):\"object\"==typeof exports?exports.VueCleave=t(require(\"cleave.js\")):e.VueCleave=t(e.Cleave)}(\"undefined\"!=typeof self?self:this,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=n.n(r);function u(){return(u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var a={name:\"cleave\",render:function(e){return e(\"input\",{attrs:{type:\"text\",value:this.value},on:{blur:this.onBlur}})},props:{value:{default:null,required:!0,validator:function(e){return null===e||\"string\"==typeof e||e instanceof String||\"number\"==typeof e}},options:{type:Object,default:function(){return{}}},raw:{type:Boolean,default:!0}},data:function(){return{cleave:null,onValueChangedFn:null}},mounted:function(){this.cleave||(this.cleave=new o.a(this.$el,this.getOptions(this.options)))},methods:{getOptions:function(e){return this.onValueChangedFn=e.onValueChanged,u({},e,{onValueChanged:this.onValueChanged})},onValueChanged:function(e){var t=this.raw?e.target.rawValue:e.target.value;this.$emit(\"input\",t),\"function\"==typeof this.onValueChangedFn&&this.onValueChangedFn.call(this,e)},onBlur:function(e){this.$emit(\"blur\",this.value)}},watch:{options:{deep:!0,handler:function(e){this.cleave.destroy(),this.cleave=new o.a(this.$el,this.getOptions(e)),this.cleave.setRawValue(this.value)}},value:function(e){this.cleave&&(this.raw&&e===this.cleave.getRawValue()||(this.raw||e!==this.$el.value)&&this.cleave.setRawValue(e))}},beforeDestroy:function(){this.cleave&&(this.cleave.destroy(),this.cleave=null,this.onValueChangedFn=null)}};n.d(t,\"plugin\",function(){return i}),n.d(t,\"component\",function(){return a});var i=function(e,t){var n=\"cleave\";\"string\"==typeof t&&(n=t),e.component(n,a)};a.install=i;t.default=a}]).default});","var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar NumeralFormatter = function (numeralDecimalMark,\n numeralIntegerScale,\n numeralDecimalScale,\n numeralThousandsGroupStyle,\n numeralPositiveOnly,\n stripLeadingZeroes,\n prefix,\n signBeforePrefix,\n tailPrefix,\n delimiter) {\n var owner = this;\n\n owner.numeralDecimalMark = numeralDecimalMark || '.';\n owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;\n owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n owner.numeralPositiveOnly = !!numeralPositiveOnly;\n owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n owner.prefix = (prefix || prefix === '') ? prefix : '';\n owner.signBeforePrefix = !!signBeforePrefix;\n owner.tailPrefix = !!tailPrefix;\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n};\n\nNumeralFormatter.groupStyle = {\n thousand: 'thousand',\n lakh: 'lakh',\n wan: 'wan',\n none: 'none' \n};\n\nNumeralFormatter.prototype = {\n getRawValue: function (value) {\n return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n },\n\n format: function (value) {\n var owner = this, parts, partSign, partSignAndPrefix, partInteger, partDecimal = '';\n\n // strip alphabet letters\n value = value.replace(/[A-Za-z]/g, '')\n // replace the first decimal mark with reserved placeholder\n .replace(owner.numeralDecimalMark, 'M')\n\n // strip non numeric letters except minus and \"M\"\n // this is to ensure prefix has been stripped\n .replace(/[^\\dM-]/g, '')\n\n // replace the leading minus with reserved placeholder\n .replace(/^\\-/, 'N')\n\n // strip the other minus sign (if present)\n .replace(/\\-/g, '')\n\n // replace the minus sign (if present)\n .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n // replace decimal mark\n .replace('M', owner.numeralDecimalMark);\n\n // strip any leading zeros\n if (owner.stripLeadingZeroes) {\n value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n }\n\n partSign = value.slice(0, 1) === '-' ? '-' : '';\n if (typeof owner.prefix != 'undefined') {\n if (owner.signBeforePrefix) {\n partSignAndPrefix = partSign + owner.prefix;\n } else {\n partSignAndPrefix = owner.prefix + partSign;\n }\n } else {\n partSignAndPrefix = partSign;\n }\n \n partInteger = value;\n\n if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n parts = value.split(owner.numeralDecimalMark);\n partInteger = parts[0];\n partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n }\n\n if(partSign === '-') {\n partInteger = partInteger.slice(1);\n }\n\n if (owner.numeralIntegerScale > 0) {\n partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n }\n\n switch (owner.numeralThousandsGroupStyle) {\n case NumeralFormatter.groupStyle.lakh:\n partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.wan:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.thousand:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n break;\n }\n\n if (owner.tailPrefix) {\n return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n }\n\n return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n }\n};\n\nvar NumeralFormatter_1 = NumeralFormatter;\n\nvar DateFormatter = function (datePattern, dateMin, dateMax) {\n var owner = this;\n\n owner.date = [];\n owner.blocks = [];\n owner.datePattern = datePattern;\n owner.dateMin = dateMin\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n owner.dateMax = dateMax\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n \n owner.initBlocks();\n};\n\nDateFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.datePattern.forEach(function (value) {\n if (value === 'Y') {\n owner.blocks.push(4);\n } else {\n owner.blocks.push(2);\n }\n });\n },\n\n getISOFormatDate: function () {\n var owner = this,\n date = owner.date;\n\n return date[2] ? (\n date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getValidatedDate: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.datePattern[index]) {\n case 'd':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 3) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 31) {\n sub = '31';\n }\n\n break;\n\n case 'm':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 1) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 12) {\n sub = '12';\n }\n\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedDateString(result);\n },\n\n getFixedDateString: function (value) {\n var owner = this, datePattern = owner.datePattern, date = [],\n dayIndex = 0, monthIndex = 0, yearIndex = 0,\n dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,\n day, month, year, fullYearDone = false;\n\n // mm-dd || dd-mm\n if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n monthStartIndex = 2 - dayStartIndex;\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n date = this.getFixedDate(day, month, 0);\n }\n\n // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n if (value.length === 8) {\n datePattern.forEach(function (type, index) {\n switch (type) {\n case 'd':\n dayIndex = index;\n break;\n case 'm':\n monthIndex = index;\n break;\n default:\n yearIndex = index;\n break;\n }\n });\n\n yearStartIndex = yearIndex * 2;\n dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);\n monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);\n\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = this.getFixedDate(day, month, year);\n }\n\n // mm-yy || yy-mm\n if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n yearStartIndex = 2 - monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n date = [0, month, year];\n }\n\n // mm-yyyy || yyyy-mm\n if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n yearStartIndex = 2 - 0.5 * monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = [0, month, year];\n }\n\n date = owner.getRangeFixedDate(date);\n owner.date = date;\n\n var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n switch (current) {\n case 'd':\n return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n case 'm':\n return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n case 'y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n case 'Y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n }\n }, '');\n\n return result;\n },\n\n getRangeFixedDate: function (date) {\n var owner = this,\n datePattern = owner.datePattern,\n dateMin = owner.dateMin || [],\n dateMax = owner.dateMax || [];\n\n if (!date.length || (dateMin.length < 3 && dateMax.length < 3)) return date;\n\n if (\n datePattern.find(function(x) {\n return x.toLowerCase() === 'y';\n }) &&\n date[2] === 0\n ) return date;\n\n if (dateMax.length && (dateMax[2] < date[2] || (\n dateMax[2] === date[2] && (dateMax[1] < date[1] || (\n dateMax[1] === date[1] && dateMax[0] < date[0]\n ))\n ))) return dateMax;\n\n if (dateMin.length && (dateMin[2] > date[2] || (\n dateMin[2] === date[2] && (dateMin[1] > date[1] || (\n dateMin[1] === date[1] && dateMin[0] > date[0]\n ))\n ))) return dateMin;\n\n return date;\n },\n\n getFixedDate: function (day, month, year) {\n day = Math.min(day, 31);\n month = Math.min(month, 12);\n year = parseInt((year || 0), 10);\n\n if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {\n day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);\n }\n\n return [day, month, year];\n },\n\n isLeapYear: function (year) {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n },\n\n addLeadingZeroForYear: function (number, fullYearMode) {\n if (fullYearMode) {\n return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;\n }\n\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar DateFormatter_1 = DateFormatter;\n\nvar TimeFormatter = function (timePattern, timeFormat) {\n var owner = this;\n\n owner.time = [];\n owner.blocks = [];\n owner.timePattern = timePattern;\n owner.timeFormat = timeFormat;\n owner.initBlocks();\n};\n\nTimeFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.timePattern.forEach(function () {\n owner.blocks.push(2);\n });\n },\n\n getISOFormatTime: function () {\n var owner = this,\n time = owner.time;\n\n return time[2] ? (\n owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getTimeFormatOptions: function () {\n var owner = this;\n if (String(owner.timeFormat) === '12') {\n return {\n maxHourFirstDigit: 1,\n maxHours: 12,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n }\n\n return {\n maxHourFirstDigit: 2,\n maxHours: 23,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n },\n\n getValidatedTime: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n var timeFormatOptions = owner.getTimeFormatOptions();\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.timePattern[index]) {\n\n case 'h':\n if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n sub = timeFormatOptions.maxHours + '';\n }\n\n break;\n\n case 'm':\n case 's':\n if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n sub = timeFormatOptions.maxMinutes + '';\n }\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedTimeString(result);\n },\n\n getFixedTimeString: function (value) {\n var owner = this, timePattern = owner.timePattern, time = [],\n secondIndex = 0, minuteIndex = 0, hourIndex = 0,\n secondStartIndex = 0, minuteStartIndex = 0, hourStartIndex = 0,\n second, minute, hour;\n\n if (value.length === 6) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 's':\n secondIndex = index * 2;\n break;\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n secondStartIndex = secondIndex;\n\n second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n\n second = 0;\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n owner.time = time;\n\n return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n switch (current) {\n case 's':\n return previous + owner.addLeadingZero(time[2]);\n case 'm':\n return previous + owner.addLeadingZero(time[1]);\n case 'h':\n return previous + owner.addLeadingZero(time[0]);\n }\n }, '');\n },\n\n getFixedTime: function (hour, minute, second) {\n second = Math.min(parseInt(second || 0, 10), 60);\n minute = Math.min(minute, 60);\n hour = Math.min(hour, 60);\n\n return [hour, minute, second];\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar TimeFormatter_1 = TimeFormatter;\n\nvar PhoneFormatter = function (formatter, delimiter) {\n var owner = this;\n\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n owner.formatter = formatter;\n};\n\nPhoneFormatter.prototype = {\n setFormatter: function (formatter) {\n this.formatter = formatter;\n },\n\n format: function (phoneNumber) {\n var owner = this;\n\n owner.formatter.clear();\n\n // only keep number and +\n phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n // strip non-leading +\n phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n // strip delimiter\n phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n var result = '', current, validated = false;\n\n for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n // has ()- or space inside\n if (/[\\s()-]/g.test(current)) {\n result = current;\n\n validated = true;\n } else {\n if (!validated) {\n result = current;\n }\n // else: over length input\n // it turns to invalid number again\n }\n }\n\n // strip ()\n // e.g. US: 7161234567 returns (716) 123-4567\n result = result.replace(/[()]/g, '');\n // replace library delimiter with user customized delimiter\n result = result.replace(/[\\s-]/g, owner.delimiter);\n\n return result;\n }\n};\n\nvar PhoneFormatter_1 = PhoneFormatter;\n\nvar CreditCardDetector = {\n blocks: {\n uatp: [4, 5, 6],\n amex: [4, 6, 5],\n diners: [4, 6, 4],\n discover: [4, 4, 4, 4],\n mastercard: [4, 4, 4, 4],\n dankort: [4, 4, 4, 4],\n instapayment: [4, 4, 4, 4],\n jcb15: [4, 6, 5],\n jcb: [4, 4, 4, 4],\n maestro: [4, 4, 4, 4],\n visa: [4, 4, 4, 4],\n mir: [4, 4, 4, 4],\n unionPay: [4, 4, 4, 4],\n general: [4, 4, 4, 4]\n },\n\n re: {\n // starts with 1; 15 digits, not starts with 1800 (jcb card)\n uatp: /^(?!1800)1\\d{0,14}/,\n\n // starts with 34/37; 15 digits\n amex: /^3[47]\\d{0,13}/,\n\n // starts with 6011/65/644-649; 16 digits\n discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n // starts with 300-305/309 or 36/38/39; 14 digits\n diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n // starts with 51-55/2221–2720; 16 digits\n mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n // starts with 5019/4175/4571; 16 digits\n dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n // starts with 637-639; 16 digits\n instapayment: /^63[7-9]\\d{0,13}/,\n\n // starts with 2131/1800; 15 digits\n jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n // starts with 2131/1800/35; 16 digits\n jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n // starts with 50/56-58/6304/67; 16 digits\n maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n // starts with 22; 16 digits\n mir: /^220[0-4]\\d{0,12}/,\n\n // starts with 4; 16 digits\n visa: /^4\\d{0,15}/,\n\n // starts with 62/81; 16 digits\n unionPay: /^(62|81)\\d{0,14}/\n },\n\n getStrictBlocks: function (block) {\n var total = block.reduce(function (prev, current) {\n return prev + current;\n }, 0);\n\n return block.concat(19 - total);\n },\n\n getInfo: function (value, strictMode) {\n var blocks = CreditCardDetector.blocks,\n re = CreditCardDetector.re;\n\n // Some credit card can have up to 19 digits number.\n // Set strictMode to true will remove the 16 max-length restrain,\n // however, I never found any website validate card number like\n // this, hence probably you don't want to enable this option.\n strictMode = !!strictMode;\n\n for (var key in re) {\n if (re[key].test(value)) {\n var matchedBlocks = blocks[key];\n return {\n type: key,\n blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n };\n }\n }\n\n return {\n type: 'unknown',\n blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n };\n }\n};\n\nvar CreditCardDetector_1 = CreditCardDetector;\n\nvar Util = {\n noop: function () {\n },\n\n strip: function (value, re) {\n return value.replace(re, '');\n },\n\n getPostDelimiter: function (value, delimiter, delimiters) {\n // single delimiter\n if (delimiters.length === 0) {\n return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n }\n\n // multiple delimiters\n var matchedDelimiter = '';\n delimiters.forEach(function (current) {\n if (value.slice(-current.length) === current) {\n matchedDelimiter = current;\n }\n });\n\n return matchedDelimiter;\n },\n\n getDelimiterREByDelimiter: function (delimiter) {\n return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n },\n\n getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n // If cursor was at the end of value, just place it back.\n // Because new value could contain additional chars.\n if (oldValue.length === prevPos) {\n return newValue.length;\n }\n\n return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);\n },\n\n getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n var oldRawValue, newRawValue, lengthOffset;\n\n oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n lengthOffset = oldRawValue.length - newRawValue.length;\n\n return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;\n },\n\n stripDelimiters: function (value, delimiter, delimiters) {\n var owner = this;\n\n // single delimiter\n if (delimiters.length === 0) {\n var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n return value.replace(delimiterRE, '');\n }\n\n // multiple delimiters\n delimiters.forEach(function (current) {\n current.split('').forEach(function (letter) {\n value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n });\n });\n\n return value;\n },\n\n headStr: function (str, length) {\n return str.slice(0, length);\n },\n\n getMaxLength: function (blocks) {\n return blocks.reduce(function (previous, current) {\n return previous + current;\n }, 0);\n },\n\n // strip prefix\n // Before type | After type | Return value\n // PEFIX-... | PEFIX-... | ''\n // PREFIX-123 | PEFIX-123 | 123\n // PREFIX-123 | PREFIX-23 | 23\n // PREFIX-123 | PREFIX-1234 | 1234\n getPrefixStrippedValue: function (value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n // No prefix\n if (prefixLength === 0) {\n return value;\n }\n\n // Value is prefix\n if (value === prefix && value !== '') {\n return '';\n }\n\n if (signBeforePrefix && (value.slice(0, 1) == '-')) {\n var prev = (prevResult.slice(0, 1) == '-') ? prevResult.slice(1) : prevResult;\n return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n }\n\n // Pre result prefix string does not match pre-defined prefix\n if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n }\n\n var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n // New value has issue, someone typed in between prefix letters\n // Revert to pre value\n if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n return prevValue.slice(prefixLength);\n } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n return prevValue.slice(0, -prefixLength - 1);\n }\n\n // No issue, strip prefix for new value\n return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n },\n\n getFirstDiffIndex: function (prev, current) {\n var index = 0;\n\n while (prev.charAt(index) === current.charAt(index)) {\n if (prev.charAt(index++) === '') {\n return -1;\n }\n }\n\n return index;\n },\n\n getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n var result = '',\n multipleDelimiters = delimiters.length > 0,\n currentDelimiter = '';\n\n // no options, normal input\n if (blocksLength === 0) {\n return value;\n }\n\n blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n rest = value.slice(length);\n\n if (multipleDelimiters) {\n currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;\n } else {\n currentDelimiter = delimiter;\n }\n\n if (delimiterLazyShow) {\n if (index > 0) {\n result += currentDelimiter;\n }\n\n result += sub;\n } else {\n result += sub;\n\n if (sub.length === length && index < blocksLength - 1) {\n result += currentDelimiter;\n }\n }\n\n // update remaining string\n value = rest;\n }\n });\n\n return result;\n },\n\n // move cursor to the end\n // the first time user focuses on an input with prefix\n fixPrefixCursor: function (el, prefix, delimiter, delimiters) {\n if (!el) {\n return;\n }\n\n var val = el.value,\n appendix = delimiter || (delimiters[0] || ' ');\n\n if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) <= val.length) {\n return;\n }\n\n var len = val.length * 2;\n\n // set timeout to avoid blink\n setTimeout(function () {\n el.setSelectionRange(len, len);\n }, 1);\n },\n\n // Check if input field is fully selected\n checkFullSelection: function(value) {\n try {\n var selection = window.getSelection() || document.getSelection() || {};\n return selection.toString().length === value.length;\n } catch (ex) {\n // Ignore\n }\n\n return false;\n },\n\n setSelection: function (element, position, doc) {\n if (element !== this.getActiveElement(doc)) {\n return;\n }\n\n // cursor is already in the end\n if (element && element.value.length <= position) {\n return;\n }\n\n if (element.createTextRange) {\n var range = element.createTextRange();\n\n range.move('character', position);\n range.select();\n } else {\n try {\n element.setSelectionRange(position, position);\n } catch (e) {\n // eslint-disable-next-line\n console.warn('The input element type does not support selection');\n }\n }\n },\n\n getActiveElement: function(parent) {\n var activeElement = parent.activeElement;\n if (activeElement && activeElement.shadowRoot) {\n return this.getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n },\n\n isAndroid: function () {\n return navigator && /android/i.test(navigator.userAgent);\n },\n\n // On Android chrome, the keyup and keydown events\n // always return key code 229 as a composition that\n // buffers the user’s keystrokes\n // see https://github.com/nosir/cleave.js/issues/147\n isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {\n if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n return false;\n }\n\n return currentInputValue === lastInputValue.slice(0, -1);\n }\n};\n\nvar Util_1 = Util;\n\n/**\n * Props Assignment\n *\n * Separate this, so react module can share the usage\n */\nvar DefaultProperties = {\n // Maybe change to object-assign\n // for now just keep it as simple\n assign: function (target, opts) {\n target = target || {};\n opts = opts || {};\n\n // credit card\n target.creditCard = !!opts.creditCard;\n target.creditCardStrictMode = !!opts.creditCardStrictMode;\n target.creditCardType = '';\n target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});\n\n // phone\n target.phone = !!opts.phone;\n target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n target.phoneFormatter = {};\n\n // time\n target.time = !!opts.time;\n target.timePattern = opts.timePattern || ['h', 'm', 's'];\n target.timeFormat = opts.timeFormat || '24';\n target.timeFormatter = {};\n\n // date\n target.date = !!opts.date;\n target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n target.dateMin = opts.dateMin || '';\n target.dateMax = opts.dateMax || '';\n target.dateFormatter = {};\n\n // numeral\n target.numeral = !!opts.numeral;\n target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n target.signBeforePrefix = !!opts.signBeforePrefix;\n target.tailPrefix = !!opts.tailPrefix;\n\n // others\n target.swapHiddenInput = !!opts.swapHiddenInput;\n \n target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n target.uppercase = !!opts.uppercase;\n target.lowercase = !!opts.lowercase;\n\n target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');\n target.noImmediatePrefix = !!opts.noImmediatePrefix;\n target.prefixLength = target.prefix.length;\n target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n target.copyDelimiter = !!opts.copyDelimiter;\n\n target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';\n\n target.delimiter =\n (opts.delimiter || opts.delimiter === '') ? opts.delimiter :\n (opts.date ? '/' :\n (opts.time ? ':' :\n (opts.numeral ? ',' :\n (opts.phone ? ' ' :\n ' '))));\n target.delimiterLength = target.delimiter.length;\n target.delimiterLazyShow = !!opts.delimiterLazyShow;\n target.delimiters = opts.delimiters || [];\n\n target.blocks = opts.blocks || [];\n target.blocksLength = target.blocks.length;\n\n target.root = (typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window;\n target.document = opts.document || target.root.document;\n\n target.maxLength = 0;\n\n target.backspace = false;\n target.result = '';\n\n target.onValueChanged = opts.onValueChanged || (function () {});\n\n return target;\n }\n};\n\nvar DefaultProperties_1 = DefaultProperties;\n\n/**\n * Construct a new Cleave instance by passing the configuration object\n *\n * @param {String | HTMLElement} element\n * @param {Object} opts\n */\nvar Cleave = function (element, opts) {\n var owner = this;\n var hasMultipleElements = false;\n\n if (typeof element === 'string') {\n owner.element = document.querySelector(element);\n hasMultipleElements = document.querySelectorAll(element).length > 1;\n } else {\n if (typeof element.length !== 'undefined' && element.length > 0) {\n owner.element = element[0];\n hasMultipleElements = element.length > 1;\n } else {\n owner.element = element;\n }\n }\n\n if (!owner.element) {\n throw new Error('[cleave.js] Please check the element');\n }\n\n if (hasMultipleElements) {\n try {\n // eslint-disable-next-line\n console.warn('[cleave.js] Multiple input fields matched, cleave.js will only take the first one.');\n } catch (e) {\n // Old IE\n }\n }\n\n opts.initValue = owner.element.value;\n\n owner.properties = Cleave.DefaultProperties.assign({}, opts);\n\n owner.init();\n};\n\nCleave.prototype = {\n init: function () {\n var owner = this, pps = owner.properties;\n\n // no need to use this lib\n if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {\n owner.onInput(pps.initValue);\n\n return;\n }\n\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n\n owner.isAndroid = Cleave.Util.isAndroid();\n owner.lastInputValue = '';\n owner.isBackward = '';\n\n owner.onChangeListener = owner.onChange.bind(owner);\n owner.onKeyDownListener = owner.onKeyDown.bind(owner);\n owner.onFocusListener = owner.onFocus.bind(owner);\n owner.onCutListener = owner.onCut.bind(owner);\n owner.onCopyListener = owner.onCopy.bind(owner);\n\n owner.initSwapHiddenInput();\n\n owner.element.addEventListener('input', owner.onChangeListener);\n owner.element.addEventListener('keydown', owner.onKeyDownListener);\n owner.element.addEventListener('focus', owner.onFocusListener);\n owner.element.addEventListener('cut', owner.onCutListener);\n owner.element.addEventListener('copy', owner.onCopyListener);\n\n\n owner.initPhoneFormatter();\n owner.initDateFormatter();\n owner.initTimeFormatter();\n owner.initNumeralFormatter();\n\n // avoid touch input field if value is null\n // otherwise Firefox will add red box-shadow for <input required />\n if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {\n owner.onInput(pps.initValue);\n }\n },\n\n initSwapHiddenInput: function () {\n var owner = this, pps = owner.properties;\n if (!pps.swapHiddenInput) return;\n\n var inputFormatter = owner.element.cloneNode(true);\n owner.element.parentNode.insertBefore(inputFormatter, owner.element);\n\n owner.elementSwapHidden = owner.element;\n owner.elementSwapHidden.type = 'hidden';\n\n owner.element = inputFormatter;\n owner.element.id = '';\n },\n\n initNumeralFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.numeral) {\n return;\n }\n\n pps.numeralFormatter = new Cleave.NumeralFormatter(\n pps.numeralDecimalMark,\n pps.numeralIntegerScale,\n pps.numeralDecimalScale,\n pps.numeralThousandsGroupStyle,\n pps.numeralPositiveOnly,\n pps.stripLeadingZeroes,\n pps.prefix,\n pps.signBeforePrefix,\n pps.tailPrefix,\n pps.delimiter\n );\n },\n\n initTimeFormatter: function() {\n var owner = this, pps = owner.properties;\n\n if (!pps.time) {\n return;\n }\n\n pps.timeFormatter = new Cleave.TimeFormatter(pps.timePattern, pps.timeFormat);\n pps.blocks = pps.timeFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initDateFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.date) {\n return;\n }\n\n pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n pps.blocks = pps.dateFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initPhoneFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.phone) {\n return;\n }\n\n // Cleave.AsYouTypeFormatter should be provided by\n // external google closure lib\n try {\n pps.phoneFormatter = new Cleave.PhoneFormatter(\n new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),\n pps.delimiter\n );\n } catch (ex) {\n throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');\n }\n },\n\n onKeyDown: function (event) {\n var owner = this,\n charCode = event.which || event.keyCode;\n\n owner.lastInputValue = owner.element.value;\n owner.isBackward = charCode === 8;\n },\n\n onChange: function (event) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\n var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n if (owner.isBackward && postDelimiter) {\n pps.postDelimiterBackspace = postDelimiter;\n } else {\n pps.postDelimiterBackspace = false;\n }\n\n this.onInput(this.element.value);\n },\n\n onFocus: function () {\n var owner = this,\n pps = owner.properties;\n owner.lastInputValue = owner.element.value;\n\n if (pps.prefix && pps.noImmediatePrefix && !owner.element.value) {\n this.onInput(pps.prefix);\n }\n\n Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n },\n\n onCut: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n this.onInput('');\n },\n\n onCopy: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n },\n\n copyClipboardData: function (e) {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n inputValue = owner.element.value,\n textToCopy = '';\n\n if (!pps.copyDelimiter) {\n textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);\n } else {\n textToCopy = inputValue;\n }\n\n try {\n if (e.clipboardData) {\n e.clipboardData.setData('Text', textToCopy);\n } else {\n window.clipboardData.setData('Text', textToCopy);\n }\n\n e.preventDefault();\n } catch (ex) {\n // empty\n }\n },\n\n onInput: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n // case 1: delete one more character \"4\"\n // 1234*| -> hit backspace -> 123|\n // case 2: last character is not delimiter which is:\n // 12|34* -> hit backspace -> 1|34*\n // note: no need to apply this for numeral mode\n var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n if (!pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n }\n\n // phone formatter\n if (pps.phone) {\n if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n } else {\n pps.result = pps.phoneFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // numeral formatter\n if (pps.numeral) {\n // Do not show prefix when noImmediatePrefix is specified\n // This mostly because we need to show user the native input placeholder\n if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n pps.result = '';\n } else {\n pps.result = pps.numeralFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // date\n if (pps.date) {\n value = pps.dateFormatter.getValidatedDate(value);\n }\n\n // time\n if (pps.time) {\n value = pps.timeFormatter.getValidatedTime(value);\n }\n\n // strip delimiters\n value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n // strip prefix\n value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n // strip non-numeric characters\n value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n // convert case\n value = pps.uppercase ? value.toUpperCase() : value;\n value = pps.lowercase ? value.toLowerCase() : value;\n\n // prevent from showing prefix when no immediate option enabled with empty input value\n if (pps.prefix) {\n if (pps.tailPrefix) {\n value = value + pps.prefix;\n } else {\n value = pps.prefix + value;\n }\n\n\n // no blocks specified, no need to do formatting\n if (pps.blocksLength === 0) {\n pps.result = value;\n owner.updateValueState();\n\n return;\n }\n }\n\n // update credit card props\n if (pps.creditCard) {\n owner.updateCreditCardPropsByValue(value);\n }\n\n // strip over length characters\n value = Util.headStr(value, pps.maxLength);\n\n // apply blocks\n pps.result = Util.getFormattedValue(\n value,\n pps.blocks, pps.blocksLength,\n pps.delimiter, pps.delimiters, pps.delimiterLazyShow\n );\n\n owner.updateValueState();\n },\n\n updateCreditCardPropsByValue: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util,\n creditCardInfo;\n\n // At least one of the first 4 characters has changed\n if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n return;\n }\n\n creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n pps.blocks = creditCardInfo.blocks;\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Util.getMaxLength(pps.blocks);\n\n // credit card type changed\n if (pps.creditCardType !== creditCardInfo.type) {\n pps.creditCardType = creditCardInfo.type;\n\n pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n }\n },\n\n updateValueState: function () {\n var owner = this,\n Util = Cleave.Util,\n pps = owner.properties;\n\n if (!owner.element) {\n return;\n }\n\n var endPos = owner.element.selectionEnd;\n var oldValue = owner.element.value;\n var newValue = pps.result;\n\n endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n // fix Android browser type=\"text\" input field\n // cursor not jumping issue\n if (owner.isAndroid) {\n window.setTimeout(function () {\n owner.element.value = newValue;\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n }, 1);\n\n return;\n }\n\n owner.element.value = newValue;\n if (pps.swapHiddenInput) owner.elementSwapHidden.value = owner.getRawValue();\n\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n },\n\n callOnValueChanged: function () {\n var owner = this,\n pps = owner.properties;\n\n pps.onValueChanged.call(owner, {\n target: {\n name: owner.element.name,\n value: pps.result,\n rawValue: owner.getRawValue()\n }\n });\n },\n\n setPhoneRegionCode: function (phoneRegionCode) {\n var owner = this, pps = owner.properties;\n\n pps.phoneRegionCode = phoneRegionCode;\n owner.initPhoneFormatter();\n owner.onChange();\n },\n\n setRawValue: function (value) {\n var owner = this, pps = owner.properties;\n\n value = value !== undefined && value !== null ? value.toString() : '';\n\n if (pps.numeral) {\n value = value.replace('.', pps.numeralDecimalMark);\n }\n\n pps.postDelimiterBackspace = false;\n\n owner.element.value = value;\n owner.onInput(value);\n },\n\n getRawValue: function () {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n rawValue = owner.element.value;\n\n if (pps.rawValueTrimPrefix) {\n rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n }\n\n if (pps.numeral) {\n rawValue = pps.numeralFormatter.getRawValue(rawValue);\n } else {\n rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n }\n\n return rawValue;\n },\n\n getISOFormatDate: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n },\n\n getISOFormatTime: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n },\n\n getFormattedValue: function () {\n return this.element.value;\n },\n\n destroy: function () {\n var owner = this;\n\n owner.element.removeEventListener('input', owner.onChangeListener);\n owner.element.removeEventListener('keydown', owner.onKeyDownListener);\n owner.element.removeEventListener('focus', owner.onFocusListener);\n owner.element.removeEventListener('cut', owner.onCutListener);\n owner.element.removeEventListener('copy', owner.onCopyListener);\n },\n\n toString: function () {\n return '[Cleave Object]';\n }\n};\n\nCleave.NumeralFormatter = NumeralFormatter_1;\nCleave.DateFormatter = DateFormatter_1;\nCleave.TimeFormatter = TimeFormatter_1;\nCleave.PhoneFormatter = PhoneFormatter_1;\nCleave.CreditCardDetector = CreditCardDetector_1;\nCleave.Util = Util_1;\nCleave.DefaultProperties = DefaultProperties_1;\n\n// for angular directive\n((typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window)['Cleave'] = Cleave;\n\n// CommonJS\nvar Cleave_1 = Cleave;\n\nexport default Cleave_1;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ecomplus/widget-product-card",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.187",
|
|
4
4
|
"description": "Storefront plugin with Vue component for product cards",
|
|
5
5
|
"module": "src/index.js",
|
|
6
6
|
"browser": "dist/widget-product-card.min.js",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"vue": ">=2 <4"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@ecomplus/storefront-components": "^1.0.0-beta.
|
|
39
|
+
"@ecomplus/storefront-components": "^1.0.0-beta.188"
|
|
40
40
|
},
|
|
41
41
|
"webpackOutput": {
|
|
42
42
|
"library": "widgetProductCard",
|