ngx-moderndatepicker 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/ngx-moderndatepicker.mjs +5 -0
- package/esm2020/public_api.mjs +3 -0
- package/esm2020/src/ngx-moderndatepicker/component/ngx-moderndatepicker.component.mjs +367 -0
- package/esm2020/src/ngx-moderndatepicker/module/ngx-moderndatepicker.module.mjs +19 -0
- package/fesm2015/ngx-moderndatepicker.mjs +389 -0
- package/fesm2015/ngx-moderndatepicker.mjs.map +1 -0
- package/fesm2020/ngx-moderndatepicker.mjs +389 -0
- package/fesm2020/ngx-moderndatepicker.mjs.map +1 -0
- package/ngx-moderndatepicker.d.ts +5 -0
- package/package.json +23 -43
- package/src/ngx-moderndatepicker/component/ngx-moderndatepicker.component.d.ts +127 -0
- package/src/ngx-moderndatepicker/module/ngx-moderndatepicker.module.d.ts +9 -0
- package/.angular/cache/angular-webpack/408865cd8e40e793959ffedecc25935048bdbd31/0.pack +0 -0
- package/.angular/cache/angular-webpack/408865cd8e40e793959ffedecc25935048bdbd31/index.pack +0 -0
- package/.angular/cache/angular-webpack/6a5a067befe9686fc9424d0fc8a5cb793ea2af14/0.pack +0 -0
- package/.angular/cache/angular-webpack/6a5a067befe9686fc9424d0fc8a5cb793ea2af14/1.pack +0 -0
- package/.angular/cache/angular-webpack/6a5a067befe9686fc9424d0fc8a5cb793ea2af14/2.pack +0 -0
- package/.angular/cache/angular-webpack/6a5a067befe9686fc9424d0fc8a5cb793ea2af14/index.pack +0 -0
- package/.angular/cache/angular-webpack/6a5a067befe9686fc9424d0fc8a5cb793ea2af14/index.pack.old +0 -0
- package/.angular/cache/angular-webpack/b3200c4b8efebbcf3b003e1be9670125e7bd9a22/0.pack +0 -0
- package/.angular/cache/angular-webpack/b3200c4b8efebbcf3b003e1be9670125e7bd9a22/index.pack +0 -0
- package/.angular/cache/angular-webpack/f9db4cd4125f4baeb0ede64025002b8921968384/0.pack +0 -0
- package/.angular/cache/angular-webpack/f9db4cd4125f4baeb0ede64025002b8921968384/1.pack +0 -0
- package/.angular/cache/angular-webpack/f9db4cd4125f4baeb0ede64025002b8921968384/2.pack +0 -0
- package/.angular/cache/angular-webpack/f9db4cd4125f4baeb0ede64025002b8921968384/index.pack +0 -0
- package/.angular/cache/angular-webpack/f9db4cd4125f4baeb0ede64025002b8921968384/index.pack.old +0 -0
- package/.angular/cache/babel-webpack/001ea17b93b4150102c4a30b6e1c959a.json +0 -1
- package/.angular/cache/babel-webpack/0025bc3513b2a4563388bd715202943b.json +0 -1
- package/.angular/cache/babel-webpack/006269ead347454da7242fb7c41f5314.json +0 -1
- package/.angular/cache/babel-webpack/00750fc3c1ddb6256ace954e6afb17df.json +0 -1
- package/.angular/cache/babel-webpack/0085433e613f48da9b950d1886f7ca14.json +0 -1
- package/.angular/cache/babel-webpack/00dd8525166aad2ab010d9c0fe5a0a9f.json +0 -1
- package/.angular/cache/babel-webpack/01132d33d1ee24f37aacef6435b694a5.json +0 -1
- package/.angular/cache/babel-webpack/0275dbed9a9ecf5d214779baa535e5d6.json +0 -1
- package/.angular/cache/babel-webpack/02df4a407bafd92bd2cd4ebb9da17e31.json +0 -1
- package/.angular/cache/babel-webpack/03baede498009d695975c7bb57e31e73.json +0 -1
- package/.angular/cache/babel-webpack/042bf726dcb7354921440635b58db100.json +0 -1
- package/.angular/cache/babel-webpack/048fbaff91b210a46fd8c350405c3f3c.json +0 -1
- package/.angular/cache/babel-webpack/05b7da57cce22e1b0c166a79f645e801.json +0 -1
- package/.angular/cache/babel-webpack/077a83ba5af78328674bec051b8c74a6.json +0 -1
- package/.angular/cache/babel-webpack/07e0771d4250cdf42100f4fdbedaa22b.json +0 -1
- package/.angular/cache/babel-webpack/0858ab3972d0ca340c19ffc5de99cde6.json +0 -1
- package/.angular/cache/babel-webpack/099563cdb82b857e8d89ef7cfcbc1312.json +0 -1
- package/.angular/cache/babel-webpack/09dc7aaf0c706a5ee7654b5b87366f69.json +0 -1
- package/.angular/cache/babel-webpack/0a5260e6ef688e5f2c1e5e9f4d6bf148.json +0 -1
- package/.angular/cache/babel-webpack/0b2a095faab62a494aa7a5e7ba1eec74.json +0 -1
- package/.angular/cache/babel-webpack/0b30dd65bec0a2f0f394cd843b934e21.json +0 -1
- package/.angular/cache/babel-webpack/0d5d69b4e5561d0eceecf7f1df0e7f8f.json +0 -1
- package/.angular/cache/babel-webpack/0d73b2b9380085ed857342f4d80b1305.json +0 -1
- package/.angular/cache/babel-webpack/0da68436c2ee8b769a4f31ad7842b160.json +0 -1
- package/.angular/cache/babel-webpack/0e141736db5ca34e500a85b53dd19339.json +0 -1
- package/.angular/cache/babel-webpack/0ee7951834751882a54863ccc7a27e9b.json +0 -1
- package/.angular/cache/babel-webpack/0f293c4ee4389581f66e4cff2394d1b5.json +0 -1
- package/.angular/cache/babel-webpack/0f38ec19a5238db5bce091a2447def7e.json +0 -1
- package/.angular/cache/babel-webpack/0f405786ceda1df1a5f6a5a1f3d1c57d.json +0 -1
- package/.angular/cache/babel-webpack/1012fb546804d480f86954876df61c21.json +0 -1
- package/.angular/cache/babel-webpack/11eb296c4f114020b1fbfc68a1e518a9.json +0 -1
- package/.angular/cache/babel-webpack/12522c9e157593a4c195665aaba1f652.json +0 -1
- package/.angular/cache/babel-webpack/12d028d0fc8564fb14208524f018a552.json +0 -1
- package/.angular/cache/babel-webpack/13190798f22ffd0828898714c5b074c9.json +0 -1
- package/.angular/cache/babel-webpack/14d06c4a8d426cffa40974c25c1effa2.json +0 -1
- package/.angular/cache/babel-webpack/150c243c7360d0eb134935b44bdf992e.json +0 -1
- package/.angular/cache/babel-webpack/16f340867b073ce12cd3715b915de33d.json +0 -1
- package/.angular/cache/babel-webpack/177aca23ed6af9a4f5717855cdd01119.json +0 -1
- package/.angular/cache/babel-webpack/185ba151ccb9b484c2ef3c766f2d440e.json +0 -1
- package/.angular/cache/babel-webpack/18b9531117b70bc4d2dfa11888139d64.json +0 -1
- package/.angular/cache/babel-webpack/198e2e71920bd5c319758da58f9b4a91.json +0 -1
- package/.angular/cache/babel-webpack/19999e77fd65a45ce039071e4d672bca.json +0 -1
- package/.angular/cache/babel-webpack/19a56784b3859ca9d0ba547a2d53fd02.json +0 -1
- package/.angular/cache/babel-webpack/1b5c8f4f5d574c31d30e58d51e0ed46f.json +0 -1
- package/.angular/cache/babel-webpack/1bdc50da5a50cdc295576ba7fe47325d.json +0 -1
- package/.angular/cache/babel-webpack/1c807318444d019aef87b87efa073b43.json +0 -1
- package/.angular/cache/babel-webpack/1ca7bcf671b6d9a03e778eacfc997e06.json +0 -1
- package/.angular/cache/babel-webpack/1cf2c99ea7fd6457d1f4fcb466627576.json +0 -1
- package/.angular/cache/babel-webpack/1d217943feb37202dd21e19f57dbae7f.json +0 -1
- package/.angular/cache/babel-webpack/1d2267727db8604a39a5a5f60fc478a9.json +0 -1
- package/.angular/cache/babel-webpack/1e61f04b0ceb97a750c5417c8bc6a5c5.json +0 -1
- package/.angular/cache/babel-webpack/1f23fd535ede6fe61b190b6258919d30.json +0 -1
- package/.angular/cache/babel-webpack/1f5a05373a19ff773215707ebb4c238e.json +0 -1
- package/.angular/cache/babel-webpack/1ff63cd3ae8a478084906b1ed4ed7b03.json +0 -1
- package/.angular/cache/babel-webpack/2120b63fad4810f8aaa0721378e2b02c.json +0 -1
- package/.angular/cache/babel-webpack/2135018fb35dba29942cee76c1adbda2.json +0 -1
- package/.angular/cache/babel-webpack/21acd9794bf18f655f358f24e9f2b79f.json +0 -1
- package/.angular/cache/babel-webpack/221bf771f669d5de6cb9b7cc61d93c98.json +0 -1
- package/.angular/cache/babel-webpack/229a58009d97398038a769a05be6f619.json +0 -1
- package/.angular/cache/babel-webpack/23c3268ff23c08c44b06da17fe3c3da3.json +0 -1
- package/.angular/cache/babel-webpack/240109954de0dee4ab62a3fe71164861.json +0 -1
- package/.angular/cache/babel-webpack/247c2d16ac7c2cf2b55f3238ab86efa7.json +0 -1
- package/.angular/cache/babel-webpack/248bc6515830e940bfcaf58a5a79a236.json +0 -1
- package/.angular/cache/babel-webpack/24d28f34862e80c3f52761b366b87d8f.json +0 -1
- package/.angular/cache/babel-webpack/24d4827522e73bb99388d3b25bc5e736.json +0 -1
- package/.angular/cache/babel-webpack/254a81289a5e3560fc3a7aa34c6f4037.json +0 -1
- package/.angular/cache/babel-webpack/260148c8aac22bbcb77b591d8c0692ec.json +0 -1
- package/.angular/cache/babel-webpack/2636b2575b9f2cab0dfc94ae54c62232.json +0 -1
- package/.angular/cache/babel-webpack/26d2e2dddf80450fffe8fceab753645c.json +0 -1
- package/.angular/cache/babel-webpack/26dfd6443d643f6c11cad4aa90e16336.json +0 -1
- package/.angular/cache/babel-webpack/2752af37e1dcb3eb5d425aa136223184.json +0 -1
- package/.angular/cache/babel-webpack/27f385eb590d15ac8ddab247782aa346.json +0 -1
- package/.angular/cache/babel-webpack/2819ebcbd1322f3aed7059d14d88c48f.json +0 -1
- package/.angular/cache/babel-webpack/28ac586e78e6332f3075d3bb2231379b.json +0 -1
- package/.angular/cache/babel-webpack/28df3ce43597e7b22c9af0c62751db93.json +0 -1
- package/.angular/cache/babel-webpack/29bd7cfb1839f20cc249f669d16c7cc0.json +0 -1
- package/.angular/cache/babel-webpack/29be92b015410f72c7fed3ea0ea94b36.json +0 -1
- package/.angular/cache/babel-webpack/2a145a0d8ab5ca44239c3f5e59b77435.json +0 -1
- package/.angular/cache/babel-webpack/2ab0e0c908188eb52fb7877aaa413c8f.json +0 -1
- package/.angular/cache/babel-webpack/2afcb503950add7547f6e2b01ad458e7.json +0 -1
- package/.angular/cache/babel-webpack/2b79d6a6da2cdb02acb3051d39f14cbf.json +0 -1
- package/.angular/cache/babel-webpack/2bfd1060d83096bdc5535d4619785ec4.json +0 -1
- package/.angular/cache/babel-webpack/2c6627d21217281eff3bfd7420ea20ad.json +0 -1
- package/.angular/cache/babel-webpack/2c9850e143b984a66fdd879ecaee44c4.json +0 -1
- package/.angular/cache/babel-webpack/2c9e70bfe545173cb5f89444750d4ac0.json +0 -1
- package/.angular/cache/babel-webpack/2d67ffcbeec149c562f5070cd9c97697.json +0 -1
- package/.angular/cache/babel-webpack/2da0d2ffb2e5bb07d2f2ac60921cad22.json +0 -1
- package/.angular/cache/babel-webpack/2da53fb169223efa4998eaa55b51888b.json +0 -1
- package/.angular/cache/babel-webpack/2e57345579691e90e95fad8ce6a1ffbe.json +0 -1
- package/.angular/cache/babel-webpack/316770db13b7d085886e429b37455b86.json +0 -1
- package/.angular/cache/babel-webpack/316dbe2f97c3ad9ba569470e2275e47a.json +0 -1
- package/.angular/cache/babel-webpack/32435519b559c52fec955d723943a194.json +0 -1
- package/.angular/cache/babel-webpack/32f30048d7162f343be5b78d1b8ab5e4.json +0 -1
- package/.angular/cache/babel-webpack/33417c3dd064320c4ddcf1da933455af.json +0 -1
- package/.angular/cache/babel-webpack/33a4e2ceb7ece4e4226ebe9581bcf5e0.json +0 -1
- package/.angular/cache/babel-webpack/3564431aad2a374fa6841f3e322176f4.json +0 -1
- package/.angular/cache/babel-webpack/360924156c1d1620b0feb0198b16e75b.json +0 -1
- package/.angular/cache/babel-webpack/369c675a3d09562400074327438fed7e.json +0 -1
- package/.angular/cache/babel-webpack/36a0a3517d229ded145ae2fd4dae7a68.json +0 -1
- package/.angular/cache/babel-webpack/36aaf7c6f690ce5c189932475b81ae80.json +0 -1
- package/.angular/cache/babel-webpack/36eab510f12576a73d3c8dff7d43520e.json +0 -1
- package/.angular/cache/babel-webpack/3766049f6a869d5727b1c79f04af915f.json +0 -1
- package/.angular/cache/babel-webpack/383cc437bcae4a36c01ec6b518311586.json +0 -1
- package/.angular/cache/babel-webpack/38ee3f0e44821653c250244c6efa588f.json +0 -1
- package/.angular/cache/babel-webpack/39250a76ee9540773a6f835996193497.json +0 -1
- package/.angular/cache/babel-webpack/39400fadce5e8435e5f038aa2f515069.json +0 -1
- package/.angular/cache/babel-webpack/3aa2e8b9e63b93ba2d0531148e50f225.json +0 -1
- package/.angular/cache/babel-webpack/3b04ccb5d6b907d1e3b8fa09a52af07a.json +0 -1
- package/.angular/cache/babel-webpack/3b24b03fd7563ebe753ae988442e500c.json +0 -1
- package/.angular/cache/babel-webpack/3cafd0c4e1254d474362092c6f0e0f62.json +0 -1
- package/.angular/cache/babel-webpack/3e03ebf488819cb1d8fda7c9af8ddff5.json +0 -1
- package/.angular/cache/babel-webpack/3fb185c281e7cbd4fa6fb978fd384536.json +0 -1
- package/.angular/cache/babel-webpack/404dbe08ed8c554ecca425f4e1c73d1e.json +0 -1
- package/.angular/cache/babel-webpack/410e109f86357d40cbbcb13292a76a3f.json +0 -1
- package/.angular/cache/babel-webpack/411a500fe250af6272dcf45eafeda0e8.json +0 -1
- package/.angular/cache/babel-webpack/414bdfeb124b949c3841207667dea2f7.json +0 -1
- package/.angular/cache/babel-webpack/415cd50d56d7dd23aa9d4c5414c83ab9.json +0 -1
- package/.angular/cache/babel-webpack/43d6c47e5de424c60d27762124ab8770.json +0 -1
- package/.angular/cache/babel-webpack/441dbea5aa4f3f154507f1e560c1f7ef.json +0 -1
- package/.angular/cache/babel-webpack/44614e191a5c3a77f976ea00ce25673b.json +0 -1
- package/.angular/cache/babel-webpack/46178e202b862e98249144b4f75a976d.json +0 -1
- package/.angular/cache/babel-webpack/46479f149b36ae6d74d0fbc781c999e0.json +0 -1
- package/.angular/cache/babel-webpack/46fd5b301628b88db6e713966be308b7.json +0 -1
- package/.angular/cache/babel-webpack/47839675f34d75780031a287cd2a957f.json +0 -1
- package/.angular/cache/babel-webpack/48f6372a577e30afcb76def81a21c4b8.json +0 -1
- package/.angular/cache/babel-webpack/493de6f270435c93ae0f921914641951.json +0 -1
- package/.angular/cache/babel-webpack/49fdba7512bb3966fd3c59425de15ce3.json +0 -1
- package/.angular/cache/babel-webpack/4a0c0610c3a7cb3f51f33d00d7be4abc.json +0 -1
- package/.angular/cache/babel-webpack/4a69e3b801923661c118b1ae4a3cd143.json +0 -1
- package/.angular/cache/babel-webpack/4b14babc213c36fae39d7700a2d11de3.json +0 -1
- package/.angular/cache/babel-webpack/4b3f39df71bd9739da0710ce17878132.json +0 -1
- package/.angular/cache/babel-webpack/4e8cbf0489cbd40104d662de2bc207c2.json +0 -1
- package/.angular/cache/babel-webpack/4f579b5239c36b35f1136d96d2e1c3a4.json +0 -1
- package/.angular/cache/babel-webpack/4f6e21f329bcae757a3e92f5a0c31e78.json +0 -1
- package/.angular/cache/babel-webpack/4f8d3280ac07aa3f0e4453bf3ef13c07.json +0 -1
- package/.angular/cache/babel-webpack/50249bf55c3450a8090f527fd20ef220.json +0 -1
- package/.angular/cache/babel-webpack/50a42ebcb9e5a9c02b951645f52e8153.json +0 -1
- package/.angular/cache/babel-webpack/51a8c8219e60ad7e99481e6665ab3ec0.json +0 -1
- package/.angular/cache/babel-webpack/51f6b08115ea9cab3845b1c1ed74d1f4.json +0 -1
- package/.angular/cache/babel-webpack/5209916792b3ae31dec315446a23f69e.json +0 -1
- package/.angular/cache/babel-webpack/548d72b9f2cffff35b624f30d9bbbffc.json +0 -1
- package/.angular/cache/babel-webpack/5491426901a6c1af1be299fc30a09592.json +0 -1
- package/.angular/cache/babel-webpack/552f83c205cee1d73805513477f40238.json +0 -1
- package/.angular/cache/babel-webpack/558df3fdc80717b735722a44361e395c.json +0 -1
- package/.angular/cache/babel-webpack/55fbd92d9923ce8613fcdf0bbed49049.json +0 -1
- package/.angular/cache/babel-webpack/566cdc8d8a6ced4c58ab0493613c8864.json +0 -1
- package/.angular/cache/babel-webpack/572d82cebdaa8f1962d87e4d7a42bab0.json +0 -1
- package/.angular/cache/babel-webpack/574be1927aeb6cdcd70f786ca4e6e82f.json +0 -1
- package/.angular/cache/babel-webpack/5792e538254bd8c76518bb774e5b15a2.json +0 -1
- package/.angular/cache/babel-webpack/588400760d1bf801f847384163f16bc2.json +0 -1
- package/.angular/cache/babel-webpack/58a07af5523b5e10d3d0af610f7af7db.json +0 -1
- package/.angular/cache/babel-webpack/598f68758220d9c1468f8be4462abbcf.json +0 -1
- package/.angular/cache/babel-webpack/5a33629540b7ba4e6385e8f9ffe6b6f0.json +0 -1
- package/.angular/cache/babel-webpack/5a7b4115e0c684e9ea1975a86f433f90.json +0 -1
- package/.angular/cache/babel-webpack/5b70a9a176dd37713cfcee674675b41d.json +0 -1
- package/.angular/cache/babel-webpack/5c1028b8012e3b0de7ba32200622df40.json +0 -1
- package/.angular/cache/babel-webpack/5c7be5e29f6b56094df88b8d16c4d7d7.json +0 -1
- package/.angular/cache/babel-webpack/5d11a0a5f87a805355794d7ee7fc3b39.json +0 -1
- package/.angular/cache/babel-webpack/5d38c8e1bef3315a0a915eab149ed3d3.json +0 -1
- package/.angular/cache/babel-webpack/5d4fee957b056f14ca77b6db7ac47b70.json +0 -1
- package/.angular/cache/babel-webpack/5db260536b4229fff4127d38df4f2f0f.json +0 -1
- package/.angular/cache/babel-webpack/5e826a82845269d7e87eba0411a864ce.json +0 -1
- package/.angular/cache/babel-webpack/5e9cbae45905461322b635fc2bee118e.json +0 -1
- package/.angular/cache/babel-webpack/5ef94d9a65ed002daec8032ff1915b96.json +0 -1
- package/.angular/cache/babel-webpack/5f54ba46d3131037ba9a4e94e024565e.json +0 -1
- package/.angular/cache/babel-webpack/5f8301389e8dbdac44e67e5aa87ea558.json +0 -1
- package/.angular/cache/babel-webpack/601b9fee328c5fbae86c2fc8e5f6ed95.json +0 -1
- package/.angular/cache/babel-webpack/606b3de492f6a05846ec9c69ad7e9aab.json +0 -1
- package/.angular/cache/babel-webpack/60ffbabecef97e49301da7e9b206012f.json +0 -1
- package/.angular/cache/babel-webpack/6148a596e4df275c3709348553761d4e.json +0 -1
- package/.angular/cache/babel-webpack/62a386e6c43524e0270e85cabae80c0b.json +0 -1
- package/.angular/cache/babel-webpack/62c4bab1b4e97d8f97e9745d3b2eeb17.json +0 -1
- package/.angular/cache/babel-webpack/630237b201200c6cc15eff2ce50ea1d2.json +0 -1
- package/.angular/cache/babel-webpack/6303de2db48a03ee0627f22de83b4b0d.json +0 -1
- package/.angular/cache/babel-webpack/631656d07fd98324a0d810e152c52a9a.json +0 -1
- package/.angular/cache/babel-webpack/6388e5826155c58a13b8425275a4b357.json +0 -1
- package/.angular/cache/babel-webpack/639c00f95b3350d4672adcfc0e407097.json +0 -1
- package/.angular/cache/babel-webpack/649d5f55ce31a71030ebc68281972ba9.json +0 -1
- package/.angular/cache/babel-webpack/64f6804dd18c91eea85323fa8ccedd04.json +0 -1
- package/.angular/cache/babel-webpack/6548d0676c469875d0d2e9d9414319cc.json +0 -1
- package/.angular/cache/babel-webpack/65fec5fd9ef631ce2fa80f2c239a261e.json +0 -1
- package/.angular/cache/babel-webpack/663128e25f7edcf1a8091faed82ea964.json +0 -1
- package/.angular/cache/babel-webpack/668d7c296cfac7e4385d5192059c8028.json +0 -1
- package/.angular/cache/babel-webpack/696d39965427a9d7beff1fccc701f0f1.json +0 -1
- package/.angular/cache/babel-webpack/69ac4053c62946228b426cb42cba5c9d.json +0 -1
- package/.angular/cache/babel-webpack/6a9381c33fce422f7d7e5273994febde.json +0 -1
- package/.angular/cache/babel-webpack/6b15a1680bd34f4d0f062b40bfdb2d68.json +0 -1
- package/.angular/cache/babel-webpack/6ba0d4e7b2010f7df408c2b0f5952b2c.json +0 -1
- package/.angular/cache/babel-webpack/6bb5f4fc9e4f72efde4bea14eaf6a2c6.json +0 -1
- package/.angular/cache/babel-webpack/6d4b631006514f504ceea4aea85bfeae.json +0 -1
- package/.angular/cache/babel-webpack/6dc297f3dddf731d951024955a5edc45.json +0 -1
- package/.angular/cache/babel-webpack/6dd37b354bf55598549b658f6f3196c6.json +0 -1
- package/.angular/cache/babel-webpack/6ddd4cdb26c2958f080723e0337c0ed8.json +0 -1
- package/.angular/cache/babel-webpack/6e3814b0a46e9a432dd5081ee85d4857.json +0 -1
- package/.angular/cache/babel-webpack/6fe81bad6382b92db1cb2eef5e3524ba.json +0 -1
- package/.angular/cache/babel-webpack/70c069526dda018dbcb5fc49257fb6d2.json +0 -1
- package/.angular/cache/babel-webpack/70ce1cbc829c68f6555656465ca2ae3a.json +0 -1
- package/.angular/cache/babel-webpack/716b089f23016e51f5438eb9a2c15b09.json +0 -1
- package/.angular/cache/babel-webpack/721f104dd929dba43aa76a765393397c.json +0 -1
- package/.angular/cache/babel-webpack/72f8b1092a1df371311b2af562975ee2.json +0 -1
- package/.angular/cache/babel-webpack/7305555f37fea296921c5516b07a64df.json +0 -1
- package/.angular/cache/babel-webpack/73d44be9e085dde7871f3306ea84f0a6.json +0 -1
- package/.angular/cache/babel-webpack/74a25b13481d1a01ce120f434bef3a6c.json +0 -1
- package/.angular/cache/babel-webpack/75e78f74d08c864d2d37864082b40a41.json +0 -1
- package/.angular/cache/babel-webpack/76069f7e70527c63bdc6e449a7044158.json +0 -1
- package/.angular/cache/babel-webpack/765fd50f181416cc447a2dbf4b70c2f1.json +0 -1
- package/.angular/cache/babel-webpack/77a93f47a7d421630506646f8dafa74a.json +0 -1
- package/.angular/cache/babel-webpack/7926bacc43656589e083429057a70735.json +0 -1
- package/.angular/cache/babel-webpack/7a01e6a21776c86f81a93b288d7ab9b0.json +0 -1
- package/.angular/cache/babel-webpack/7a83a0863ede354f0da003dc4bc4a062.json +0 -1
- package/.angular/cache/babel-webpack/7ac995f8745a513d52a8140734ed0c94.json +0 -1
- package/.angular/cache/babel-webpack/7ad80c9fa649ec60922b50863e68783d.json +0 -1
- package/.angular/cache/babel-webpack/7b05dde15b6c79f1e3d291b293efdb91.json +0 -1
- package/.angular/cache/babel-webpack/7b49021ef2d636f0ab80f2ab9fa68dc9.json +0 -1
- package/.angular/cache/babel-webpack/7b6f2f6a33e8d4d88eea045010ccefa1.json +0 -1
- package/.angular/cache/babel-webpack/7bf2b526f5a3d7ee5f6b938833ca2ab7.json +0 -1
- package/.angular/cache/babel-webpack/7e073051b71ca6694b0fcc5ba4501a98.json +0 -1
- package/.angular/cache/babel-webpack/7ed73164521634ad9d4069089861c0d1.json +0 -1
- package/.angular/cache/babel-webpack/7f1b61cb5ec5ed978c7a8fa39b494773.json +0 -1
- package/.angular/cache/babel-webpack/7f3a4b3a6b5442ea8414aefee7c206e2.json +0 -1
- package/.angular/cache/babel-webpack/7fc39f86bae9aef829b6539eb4a7c6b3.json +0 -1
- package/.angular/cache/babel-webpack/7ff1fa9d0543d0da618f76c3f3bebc70.json +0 -1
- package/.angular/cache/babel-webpack/8041a4c1a3bb0d4e702674f4de4bc084.json +0 -1
- package/.angular/cache/babel-webpack/82263f97e8c4adb702bf2c14485ee814.json +0 -1
- package/.angular/cache/babel-webpack/832b584f13f909dc20c57e61c20e16a1.json +0 -1
- package/.angular/cache/babel-webpack/83c327676f786f386eef4fe2c3fc4537.json +0 -1
- package/.angular/cache/babel-webpack/845e4558065ec1e9ab08ea177180a700.json +0 -1
- package/.angular/cache/babel-webpack/84919af64ce06eae3593f96410817250.json +0 -1
- package/.angular/cache/babel-webpack/84a0acf20cfa25897e91dc06b9c9664e.json +0 -1
- package/.angular/cache/babel-webpack/888055eea537bf53e703286caa882a43.json +0 -1
- package/.angular/cache/babel-webpack/88eff8cd4d015c3b338f0ac2d5e4bc6d.json +0 -1
- package/.angular/cache/babel-webpack/8921c38a09cf894c903159f3ce3b58e8.json +0 -1
- package/.angular/cache/babel-webpack/8cce669eea8c56a6a970dc1513e98e5d.json +0 -1
- package/.angular/cache/babel-webpack/8eae5aa504896f4308182162831caf19.json +0 -1
- package/.angular/cache/babel-webpack/8f7a8d243c54b4fc36737c1bead19ed6.json +0 -1
- package/.angular/cache/babel-webpack/9012a76b176681d25d09fa6aacdc1a1a.json +0 -1
- package/.angular/cache/babel-webpack/909ab1374ad2eabb50eb706ff21d8796.json +0 -1
- package/.angular/cache/babel-webpack/9219ca67c5ee7e2bc344b579f0782cba.json +0 -1
- package/.angular/cache/babel-webpack/93de1ec12b3cd2933c430c33cf90da78.json +0 -1
- package/.angular/cache/babel-webpack/93f0876bc2c3ad97661c07a556610c4a.json +0 -1
- package/.angular/cache/babel-webpack/9421fbfbe1b55af9b1fbd6705b8ee8fd.json +0 -1
- package/.angular/cache/babel-webpack/947e8f9bd1c2bad1dde8511655cf8d1d.json +0 -1
- package/.angular/cache/babel-webpack/94af7384e6260cc87a9e753294a57907.json +0 -1
- package/.angular/cache/babel-webpack/965729ec24c63fac03a381ccb42cbf5a.json +0 -1
- package/.angular/cache/babel-webpack/97bbcdef4d81c8d51a4a33e68f1396bf.json +0 -1
- package/.angular/cache/babel-webpack/97c33011a25cec83729dcc1d47f5de19.json +0 -1
- package/.angular/cache/babel-webpack/983227850d4d3d22636f83ee05e257b5.json +0 -1
- package/.angular/cache/babel-webpack/98a9fcfab77acce4c5952112393a1730.json +0 -1
- package/.angular/cache/babel-webpack/991d3289fd0d4edd405d177012648795.json +0 -1
- package/.angular/cache/babel-webpack/9b3c952f7ce312a5050ef09730cc06f6.json +0 -1
- package/.angular/cache/babel-webpack/9bd504e12ade5d96f924d34f9d09ffaf.json +0 -1
- package/.angular/cache/babel-webpack/9be6bf44c24f7e8a379320767270a068.json +0 -1
- package/.angular/cache/babel-webpack/9c67c2b4f87c1afbbc65e23cd5c2d478.json +0 -1
- package/.angular/cache/babel-webpack/9c9a9588f96c5b891732cc7a9b3ba5f2.json +0 -1
- package/.angular/cache/babel-webpack/9d8f90a69076d1414ee6e3454c0fe64a.json +0 -1
- package/.angular/cache/babel-webpack/a0772f4b6daa1e2395a715e4123b7d62.json +0 -1
- package/.angular/cache/babel-webpack/a0976e110e79510aab669692229d3833.json +0 -1
- package/.angular/cache/babel-webpack/a2ea17ae25c5ff3e301b32cbfba94715.json +0 -1
- package/.angular/cache/babel-webpack/a3cc0047cb59b268863d2755bef07a09.json +0 -1
- package/.angular/cache/babel-webpack/a5206171344e1f8362f5c4cc0691319c.json +0 -1
- package/.angular/cache/babel-webpack/a6c27a6759be01a268e16f6859cb03ca.json +0 -1
- package/.angular/cache/babel-webpack/a6e7aab43e59b7bb4533e950a951091c.json +0 -1
- package/.angular/cache/babel-webpack/a7b0d446a7a8cf7cfbdd6670035f293b.json +0 -1
- package/.angular/cache/babel-webpack/a81a9ccd7d5320179f069890897cfb97.json +0 -1
- package/.angular/cache/babel-webpack/a89cf1c110342804ad6038f33514ea3c.json +0 -1
- package/.angular/cache/babel-webpack/a8f53a24109164330fc336294194e87c.json +0 -1
- package/.angular/cache/babel-webpack/a91be2f0be2f21c9e9e94f43ef2c0548.json +0 -1
- package/.angular/cache/babel-webpack/aa2181946b74c073bc82f86d51092ce0.json +0 -1
- package/.angular/cache/babel-webpack/ab01d9397759b55c70181420526b7468.json +0 -1
- package/.angular/cache/babel-webpack/abb2f2973a7ad773280be2b1bf0c54fa.json +0 -1
- package/.angular/cache/babel-webpack/abe8c036c178e78a524e98b205794e97.json +0 -1
- package/.angular/cache/babel-webpack/ac0fc4b29201eb789def27fdca4f37f5.json +0 -1
- package/.angular/cache/babel-webpack/ad08024b751167c91b301d3725fa7839.json +0 -1
- package/.angular/cache/babel-webpack/ad2c8b24dc6b9e13109fb155c3aee80b.json +0 -1
- package/.angular/cache/babel-webpack/ad5b95bd5584c8b884065276cbda44d6.json +0 -1
- package/.angular/cache/babel-webpack/ae70dcbd1103a753af4227e35eea3355.json +0 -1
- package/.angular/cache/babel-webpack/ae71334b9850583af91867cf6ed54b76.json +0 -1
- package/.angular/cache/babel-webpack/ae9203b2673cd2c09415109c39469ec7.json +0 -1
- package/.angular/cache/babel-webpack/ae97fbe3adb1f95e7f7e1b3e2f06c22c.json +0 -1
- package/.angular/cache/babel-webpack/aebae3be02a4c6877d9e5a49428391f8.json +0 -1
- package/.angular/cache/babel-webpack/b1b4d0d59752256c0eea99e94c25013c.json +0 -1
- package/.angular/cache/babel-webpack/b30b71fa26604a6cd15eb5420f8d7979.json +0 -1
- package/.angular/cache/babel-webpack/b36ffb0784f39ba0f93d434875afb3da.json +0 -1
- package/.angular/cache/babel-webpack/b38c44089f898a8e00de19bee6842d5b.json +0 -1
- package/.angular/cache/babel-webpack/b3fdb11e5f8e95d7e25c3a74067079d1.json +0 -1
- package/.angular/cache/babel-webpack/b4988b79775a49e342b7b96d8265cfb5.json +0 -1
- package/.angular/cache/babel-webpack/b540c0bd4b8fe31d02341882e295fbe2.json +0 -1
- package/.angular/cache/babel-webpack/b658a0d31acb3b5fdad56759da46f7d7.json +0 -1
- package/.angular/cache/babel-webpack/b6bd375603a8725bd06e4aed83ab2f59.json +0 -1
- package/.angular/cache/babel-webpack/b6cddf0e6f456fb0884c58d1db95284f.json +0 -1
- package/.angular/cache/babel-webpack/b70f8ffca51f8cfbe2b90a0bba7172c3.json +0 -1
- package/.angular/cache/babel-webpack/b76ce296a817427d9c1ceb3cd5e69ed6.json +0 -1
- package/.angular/cache/babel-webpack/b77f1e98af5133065b036b30f3646b9a.json +0 -1
- package/.angular/cache/babel-webpack/b92f105c6fb27f1c0cfecdd2558d017a.json +0 -1
- package/.angular/cache/babel-webpack/b9dc1f3983b2c524a5fb2707c8ef4966.json +0 -1
- package/.angular/cache/babel-webpack/b9ef7876da7dd4fb59c315dc91c25ede.json +0 -1
- package/.angular/cache/babel-webpack/ba6d26301c7dd8d7cc48164749159ca3.json +0 -1
- package/.angular/cache/babel-webpack/ba8918c4194c240adfd3780d5bca3e13.json +0 -1
- package/.angular/cache/babel-webpack/bb50ee863675dd69a7c8b67888bd901a.json +0 -1
- package/.angular/cache/babel-webpack/bbcf9709295af679f39469872cac2de7.json +0 -1
- package/.angular/cache/babel-webpack/bc1fde70aeb3b24e88ee1c71f4d4b097.json +0 -1
- package/.angular/cache/babel-webpack/bc27d838414642df8902f76e9ce40e49.json +0 -1
- package/.angular/cache/babel-webpack/bcac6819358a4a481530ddc1410d8435.json +0 -1
- package/.angular/cache/babel-webpack/be2e60f2492299d1fecfca601eb6365d.json +0 -1
- package/.angular/cache/babel-webpack/bf6449e1e641c320d32aabbb924c2dc2.json +0 -1
- package/.angular/cache/babel-webpack/bfefce0777db711656fd7e27b46e461a.json +0 -1
- package/.angular/cache/babel-webpack/c044fbd6870e8e498288088c5599fc98.json +0 -1
- package/.angular/cache/babel-webpack/c16fadad886f10f890870d87f302c433.json +0 -1
- package/.angular/cache/babel-webpack/c1d39bff832a1c41fb258020b8efedb6.json +0 -1
- package/.angular/cache/babel-webpack/c3795fb6c500fb0f6e89d54934b853ae.json +0 -1
- package/.angular/cache/babel-webpack/c5807b7080f5915709677351954227ae.json +0 -1
- package/.angular/cache/babel-webpack/c58b09f34775e9f1d41c3faf653b9fc0.json +0 -1
- package/.angular/cache/babel-webpack/c711d89d2094f815e4c20ee66a0ca63f.json +0 -1
- package/.angular/cache/babel-webpack/c747ea4e19c86cfb35d3e661d50a5c41.json +0 -1
- package/.angular/cache/babel-webpack/c77f4ef3c8b3a377210edd3870642464.json +0 -1
- package/.angular/cache/babel-webpack/c8ebe4c29e91ea0111a67c40cc5fcf23.json +0 -1
- package/.angular/cache/babel-webpack/c949b45080829a1b0d0b3fa285d7a122.json +0 -1
- package/.angular/cache/babel-webpack/c9cb3f5e4c67e432b61e1e10c7ea386a.json +0 -1
- package/.angular/cache/babel-webpack/ca14fe7c9123e5af5a468c7544560334.json +0 -1
- package/.angular/cache/babel-webpack/caf66d045926bb8a957019110038fcce.json +0 -1
- package/.angular/cache/babel-webpack/cb4d14a59c6dcad444d598f0901500f7.json +0 -1
- package/.angular/cache/babel-webpack/cb7c23a2d8e953e1a9011992c0197ba6.json +0 -1
- package/.angular/cache/babel-webpack/cbfbf00490a9af131cba3bd5804efb7f.json +0 -1
- package/.angular/cache/babel-webpack/cc1b75c22af736b60e7fc60643062f3f.json +0 -1
- package/.angular/cache/babel-webpack/cc937f5aeca29e631e0046a1b4f11b62.json +0 -1
- package/.angular/cache/babel-webpack/cd8f6ff5b64b37c2b566db278c1643c7.json +0 -1
- package/.angular/cache/babel-webpack/cf38d25f3be6c91bdb32d634957a5369.json +0 -1
- package/.angular/cache/babel-webpack/cfb83e618d339a7511cc822c3393a638.json +0 -1
- package/.angular/cache/babel-webpack/d098fba87e93328b36ec9e7ecbb13002.json +0 -1
- package/.angular/cache/babel-webpack/d0b3d24358e53745772638ebd33b2cc3.json +0 -1
- package/.angular/cache/babel-webpack/d324c701f7f3a5ab96462ef54d68bb60.json +0 -1
- package/.angular/cache/babel-webpack/d3fd38991f90f5f209f4b87ed313d283.json +0 -1
- package/.angular/cache/babel-webpack/d733d0d9599a02c1f0137a36e7405778.json +0 -1
- package/.angular/cache/babel-webpack/d76fe8712ad773a31634f0f3f3dfce51.json +0 -1
- package/.angular/cache/babel-webpack/d7f687a7beafff28346c0b1847261e11.json +0 -1
- package/.angular/cache/babel-webpack/d82ab6fc563b7141b24e75726f6a49fb.json +0 -1
- package/.angular/cache/babel-webpack/d98509d5b31d5dbb3938c637c39185f4.json +0 -1
- package/.angular/cache/babel-webpack/d986def68fb063cbd5d7b8d867dbd1f1.json +0 -1
- package/.angular/cache/babel-webpack/da3a370815d2540eedc16b896751a8f3.json +0 -1
- package/.angular/cache/babel-webpack/dc3a78d72511c4d7d47574e745c5eecb.json +0 -1
- package/.angular/cache/babel-webpack/dc5a3a513b38c7b86d275d6f1e3918f9.json +0 -1
- package/.angular/cache/babel-webpack/dd2c4a719437baba5a6dc735e4159d2a.json +0 -1
- package/.angular/cache/babel-webpack/dd868e726a6c746a73b6275f29753981.json +0 -1
- package/.angular/cache/babel-webpack/df61b272f2c421ce112e0a2b38e1fd18.json +0 -1
- package/.angular/cache/babel-webpack/e004585d5bfba4ca112bd1d065f67d91.json +0 -1
- package/.angular/cache/babel-webpack/e3f8061d9127cf8fe705a3a2d5df8a4f.json +0 -1
- package/.angular/cache/babel-webpack/e471e4e37e5ab86cda4f993a078d2b7c.json +0 -1
- package/.angular/cache/babel-webpack/e4951c0b3983e11ebc3f0d78a9506e6c.json +0 -1
- package/.angular/cache/babel-webpack/e52a8eb0bfc4755ba509177b5ac744a0.json +0 -1
- package/.angular/cache/babel-webpack/e5682f16d0e1979da7405e67c2f5890c.json +0 -1
- package/.angular/cache/babel-webpack/e59cf3cea8540b33c2eb05d52bbd60e6.json +0 -1
- package/.angular/cache/babel-webpack/e737d0b60e8b75a853cc0dc5631b163b.json +0 -1
- package/.angular/cache/babel-webpack/e798abd9d423014134211665ed94a45c.json +0 -1
- package/.angular/cache/babel-webpack/e8d7cc803e2014c851645b0abb736c7a.json +0 -1
- package/.angular/cache/babel-webpack/e915401fbf03b73c950e855cd6bd8840.json +0 -1
- package/.angular/cache/babel-webpack/eb7eeb35f21953da591b23b53961c39c.json +0 -1
- package/.angular/cache/babel-webpack/eba85379b23b78f5ce11a9a61838b50b.json +0 -1
- package/.angular/cache/babel-webpack/ec153172e680aa0caff90b6a8fc9b70c.json +0 -1
- package/.angular/cache/babel-webpack/ec2d09a03d588c7e2319b56c0f488af2.json +0 -1
- package/.angular/cache/babel-webpack/ec4a6fbaaac35f248ce183f3521892b9.json +0 -1
- package/.angular/cache/babel-webpack/edaeff9459536b92fc22d3c12eca7dd3.json +0 -1
- package/.angular/cache/babel-webpack/f0d5a45e58d483d6d8d7e57ac64f8bce.json +0 -1
- package/.angular/cache/babel-webpack/f32b796778d6b86ba62716281fef81f9.json +0 -1
- package/.angular/cache/babel-webpack/f3a296fe69b25ba7a89a919eadc235a5.json +0 -1
- package/.angular/cache/babel-webpack/f41b8f7892c161db9f6afa7ba12492fb.json +0 -1
- package/.angular/cache/babel-webpack/f4e7fbb80ed2484684bf7965a1043515.json +0 -1
- package/.angular/cache/babel-webpack/f725991f67652e7242e3b260073d7e4f.json +0 -1
- package/.angular/cache/babel-webpack/f7a514a18fc051e5c1d8e1475f8df664.json +0 -1
- package/.angular/cache/babel-webpack/f83db0c64da74ef640e48b03604a37d4.json +0 -1
- package/.angular/cache/babel-webpack/f9a1748edd0937f2d091d95acf6c910a.json +0 -1
- package/.angular/cache/babel-webpack/f9e76bdccb30d626f07ab20e1d343936.json +0 -1
- package/.angular/cache/babel-webpack/fa35dbcbe917aaaa8a6ace28e1e4c39a.json +0 -1
- package/.angular/cache/babel-webpack/fb26bb89357f3dcefc15da06772d1183.json +0 -1
- package/.angular/cache/babel-webpack/fb45018089bacefac4be99be85d05b0e.json +0 -1
- package/.angular/cache/babel-webpack/fb5cfb44368d7035839bd8c4afaeefda.json +0 -1
- package/.angular/cache/babel-webpack/fba0861e79c000411526c515ac04d5de.json +0 -1
- package/.angular/cache/babel-webpack/fe82acce9819701b6d343582394bfe6d.json +0 -1
- package/.angular/cache/babel-webpack/fea821cf4f5945be65ccdbe8b194a1f3.json +0 -1
- package/.angular/cache/babel-webpack/feb8053286e5719dc4707adba3514c6d.json +0 -1
- package/.angular/cache/babel-webpack/fec29b3e9eab7344ce60f0a01819d880.json +0 -1
- package/.angular/cache/babel-webpack/ffb3a14e780e601fe8c8b48480b19554.json +0 -1
- package/.browserslistrc +0 -12
- package/angular.json +0 -145
- package/e2e/app.e2e-spec.ts +0 -14
- package/e2e/app.po.ts +0 -11
- package/e2e/tsconfig.e2e.json +0 -14
- package/karma.conf.js +0 -33
- package/ng-package.json +0 -9
- package/protractor.conf.js +0 -28
- package/src/app/app.component.css +0 -0
- package/src/app/app.component.html +0 -14
- package/src/app/app.component.ts +0 -21
- package/src/app/app.module.ts +0 -21
- package/src/assets/.gitkeep +0 -0
- package/src/assets/Screenshot 2021-06-11 at 11.00.41 AM.png +0 -0
- package/src/assets/Screenshot.png +0 -0
- package/src/environments/environment.prod.ts +0 -3
- package/src/environments/environment.ts +0 -8
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -14
- package/src/main.ts +0 -12
- package/src/ngx-moderndatepicker/component/ngx-moderndatepicker.component.html +0 -66
- package/src/ngx-moderndatepicker/component/ngx-moderndatepicker.component.scss +0 -232
- package/src/ngx-moderndatepicker/component/ngx-moderndatepicker.component.ts +0 -508
- package/src/ngx-moderndatepicker/module/ngx-moderndatepicker.module.ts +0 -12
- package/src/polyfills.ts +0 -34
- package/src/styles.scss +0 -10
- package/src/test.ts +0 -20
- package/src/tsconfig.app.json +0 -15
- package/src/tsconfig.spec.json +0 -19
- package/tsconfig.json +0 -21
- package/tslint.json +0 -135
- /package/{public_api.ts → public_api.d.ts} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1vZGVybmRhdGVwaWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9uZ3gtbW9kZXJuZGF0ZXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './src/ngx-moderndatepicker/module/ngx-moderndatepicker.module';
|
|
2
|
+
export * from './src/ngx-moderndatepicker/component/ngx-moderndatepicker.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHFFQUFxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvbmd4LW1vZGVybmRhdGVwaWNrZXIvbW9kdWxlL25neC1tb2Rlcm5kYXRlcGlja2VyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9uZ3gtbW9kZXJuZGF0ZXBpY2tlci9jb21wb25lbnQvbmd4LW1vZGVybmRhdGVwaWNrZXIuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import { Component, Input, HostListener, forwardRef, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { startOfMonth, endOfMonth, addMonths, setYear, eachDay, getDate, getMonth, getYear, isToday, isSameDay, isSameMonth, isSameYear, format, getDay, subDays, setDay, addYears, subYears, setMonth, } from 'date-fns';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
// Counter for calculating the auto-incrementing field ID
|
|
8
|
+
let counter = 0;
|
|
9
|
+
/**
|
|
10
|
+
* Internal library helper that helps to check if value is empty
|
|
11
|
+
* @param value
|
|
12
|
+
*/
|
|
13
|
+
const isNil = (value) => {
|
|
14
|
+
return (typeof value === 'undefined') || (value === null);
|
|
15
|
+
};
|
|
16
|
+
export class NgxModerndatepickerComponent {
|
|
17
|
+
constructor() {
|
|
18
|
+
/**
|
|
19
|
+
* Disable datepicker's input
|
|
20
|
+
*/
|
|
21
|
+
this.headless = false;
|
|
22
|
+
/**
|
|
23
|
+
* Set datepicker's visibility state
|
|
24
|
+
*/
|
|
25
|
+
this.isOpened = false;
|
|
26
|
+
/**
|
|
27
|
+
* Datepicker dropdown position
|
|
28
|
+
*/
|
|
29
|
+
this.position = 'bottom-right';
|
|
30
|
+
this.positions = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];
|
|
31
|
+
this.onTouchedCallback = () => { };
|
|
32
|
+
this.onChangeCallback = () => { };
|
|
33
|
+
}
|
|
34
|
+
setDisabledState(isDisabled) {
|
|
35
|
+
this.disabled = isDisabled;
|
|
36
|
+
}
|
|
37
|
+
get value() {
|
|
38
|
+
return this.innerValue;
|
|
39
|
+
}
|
|
40
|
+
set value(val) {
|
|
41
|
+
this.innerValue = val;
|
|
42
|
+
this.onChangeCallback(this.innerValue);
|
|
43
|
+
}
|
|
44
|
+
ngOnInit() {
|
|
45
|
+
this.view = 'year';
|
|
46
|
+
if (!this.date) {
|
|
47
|
+
this.date = new Date();
|
|
48
|
+
}
|
|
49
|
+
this.setOptions();
|
|
50
|
+
this.initDayNames();
|
|
51
|
+
this.initYears();
|
|
52
|
+
this.initMonthName();
|
|
53
|
+
this.init();
|
|
54
|
+
// Check if 'position' property is correct
|
|
55
|
+
if (this.positions.indexOf(this.position) === -1) {
|
|
56
|
+
const expectedValues = this.positions.join(', ');
|
|
57
|
+
const message = `ng-moderndatepicker: invalid position property value '${this.position}' (expected: ${expectedValues})`;
|
|
58
|
+
throw new TypeError(message);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
ngOnChanges(changes) {
|
|
62
|
+
this.setOptions();
|
|
63
|
+
this.initDayNames();
|
|
64
|
+
this.init();
|
|
65
|
+
this.initYears();
|
|
66
|
+
this.initMonthName();
|
|
67
|
+
}
|
|
68
|
+
get defaultFieldId() {
|
|
69
|
+
// Only evaluate and increment if required
|
|
70
|
+
const value = `datepicker-${counter++}`;
|
|
71
|
+
Object.defineProperty(this, 'defaultFieldId', { value });
|
|
72
|
+
return value;
|
|
73
|
+
}
|
|
74
|
+
setOptions() {
|
|
75
|
+
const today = new Date(); // this const was added because during my tests, I noticed that at this level this.date is undefined
|
|
76
|
+
this.minYear = this.options && this.options.minYear || getYear(today) - 30;
|
|
77
|
+
this.maxYear = this.options && this.options.maxYear || getYear(today) + 30;
|
|
78
|
+
this.displayFormat = this.options && this.options.displayFormat || 'MMM D[,] YYYY';
|
|
79
|
+
this.barTitleFormat = 'YYYY';
|
|
80
|
+
this.dayNamesFormat = this.options && this.options.dayNamesFormat || 'ddd';
|
|
81
|
+
this.monthNamesFormat = this.options && this.options.monthNamesFormat || 'MMM';
|
|
82
|
+
this.barTitleIfEmpty = (new Date().getFullYear()).toString();
|
|
83
|
+
this.firstCalendarDay = this.options && this.options.firstCalendarDay || 0;
|
|
84
|
+
this.locale = this.options && { locale: this.options.locale } || {};
|
|
85
|
+
this.placeholder = this.options && this.options.placeholder || '';
|
|
86
|
+
this.addClass = this.options && this.options.addClass || {};
|
|
87
|
+
this.addStyle = this.options && this.options.addStyle || {};
|
|
88
|
+
this.fieldId = this.options && this.options.fieldId || this.defaultFieldId;
|
|
89
|
+
}
|
|
90
|
+
nextYear() {
|
|
91
|
+
this.date = addYears(this.date, 1);
|
|
92
|
+
this.barTitle = format(this.date, this.barTitleFormat, this.locale);
|
|
93
|
+
this.init();
|
|
94
|
+
this.initMonthName();
|
|
95
|
+
}
|
|
96
|
+
prevYear() {
|
|
97
|
+
this.date = subYears(this.date, 1);
|
|
98
|
+
this.barTitle = format(this.date, this.barTitleFormat, this.locale);
|
|
99
|
+
this.init();
|
|
100
|
+
this.initMonthName();
|
|
101
|
+
}
|
|
102
|
+
setDate(i) {
|
|
103
|
+
this.date = this.days[i].date;
|
|
104
|
+
this.value = this.date;
|
|
105
|
+
this.init();
|
|
106
|
+
this.close();
|
|
107
|
+
}
|
|
108
|
+
setYear(i) {
|
|
109
|
+
this.date = setYear(this.date, this.years[i].year);
|
|
110
|
+
this.init();
|
|
111
|
+
this.initMonthName();
|
|
112
|
+
this.view = 'year';
|
|
113
|
+
}
|
|
114
|
+
selectMonth(i) {
|
|
115
|
+
this.date = setMonth(this.date, i);
|
|
116
|
+
this.init();
|
|
117
|
+
this.initMonthName();
|
|
118
|
+
this.view = 'year';
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Checks if specified date is in range of min and max dates
|
|
122
|
+
* @param date
|
|
123
|
+
*/
|
|
124
|
+
isDateSelectable(date) {
|
|
125
|
+
if (isNil(this.options)) {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
const minDateSet = !isNil(this.options.minDate);
|
|
129
|
+
const maxDateSet = !isNil(this.options.maxDate);
|
|
130
|
+
const timestamp = date.valueOf();
|
|
131
|
+
if (minDateSet && (timestamp < this.options.minDate.valueOf())) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
if (maxDateSet && (timestamp > this.options.maxDate.valueOf())) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
isWeekendDay(date) {
|
|
140
|
+
const weekendsDay = Array.isArray(this.options.weekendsDay);
|
|
141
|
+
if (weekendsDay) {
|
|
142
|
+
return this.options.weekendsDay.indexOf(getDay(date)) !== -1;
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
isHoliday(date) {
|
|
147
|
+
const areHolidays = Array.isArray(this.options.holidayList);
|
|
148
|
+
if (areHolidays) {
|
|
149
|
+
return this.options.holidayList.some((day) => isSameDay(day, date));
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
init() {
|
|
154
|
+
// this.date may be null after .reset(); fall back to current date.
|
|
155
|
+
const actualDate = this.date || new Date();
|
|
156
|
+
const start = startOfMonth(actualDate);
|
|
157
|
+
const end = endOfMonth(actualDate);
|
|
158
|
+
this.days = eachDay(start, end).map(date => {
|
|
159
|
+
return {
|
|
160
|
+
date: date,
|
|
161
|
+
day: getDate(date),
|
|
162
|
+
month: getMonth(date),
|
|
163
|
+
year: getYear(date),
|
|
164
|
+
inThisMonth: true,
|
|
165
|
+
isToday: isToday(date),
|
|
166
|
+
isSelected: isSameDay(date, this.innerValue) && isSameMonth(date, this.innerValue) && isSameYear(date, this.innerValue),
|
|
167
|
+
isSelectable: this.isDateSelectable(date),
|
|
168
|
+
isWeekend: this.isWeekendDay(date),
|
|
169
|
+
isHoliday: this.isHoliday(date)
|
|
170
|
+
};
|
|
171
|
+
});
|
|
172
|
+
const tmp = getDay(start) - this.firstCalendarDay;
|
|
173
|
+
const prevDays = tmp < 0 ? 7 - this.firstCalendarDay : tmp;
|
|
174
|
+
for (let i = 1; i <= prevDays; i++) {
|
|
175
|
+
const date = subDays(start, i);
|
|
176
|
+
this.days.unshift({
|
|
177
|
+
date: date,
|
|
178
|
+
day: getDate(date),
|
|
179
|
+
month: getMonth(date),
|
|
180
|
+
year: getYear(date),
|
|
181
|
+
inThisMonth: false,
|
|
182
|
+
isToday: isToday(date),
|
|
183
|
+
isSelected: isSameDay(date, this.innerValue) && isSameMonth(date, this.innerValue) && isSameYear(date, this.innerValue),
|
|
184
|
+
isSelectable: this.isDateSelectable(date),
|
|
185
|
+
isWeekend: this.isWeekendDay(date),
|
|
186
|
+
isHoliday: this.isHoliday(date)
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
if (this.innerValue) {
|
|
190
|
+
this.displayValue = format(this.innerValue, this.displayFormat, this.locale);
|
|
191
|
+
this.barTitle = format(start, this.barTitleFormat, this.locale);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
this.displayValue = '';
|
|
195
|
+
this.barTitle = this.useEmptyBarTitle ? this.barTitleIfEmpty : format(this.date, this.barTitleFormat, this.locale);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
initYears() {
|
|
199
|
+
const range = this.maxYear - this.minYear;
|
|
200
|
+
this.years = Array.from(new Array(range), (x, i) => i + this.minYear).map(year => {
|
|
201
|
+
return {
|
|
202
|
+
year,
|
|
203
|
+
isThisYear: year === getYear(this.date),
|
|
204
|
+
isToday: year === getYear(new Date()),
|
|
205
|
+
isSelectable: this.isYearSelectable(year)
|
|
206
|
+
};
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
isYearSelectable(date) {
|
|
210
|
+
const minDate = !isNil(this.options.minDate) ? this.options.minDate : null;
|
|
211
|
+
const maxDate = !isNil(this.options.maxDate) ? this.options.maxDate : null;
|
|
212
|
+
if (minDate && maxDate) {
|
|
213
|
+
return minDate.getFullYear() <= date && date <= maxDate.getFullYear();
|
|
214
|
+
}
|
|
215
|
+
if (minDate) {
|
|
216
|
+
return minDate.getFullYear() <= date;
|
|
217
|
+
}
|
|
218
|
+
if (maxDate) {
|
|
219
|
+
return date <= maxDate.getFullYear();
|
|
220
|
+
}
|
|
221
|
+
return true;
|
|
222
|
+
}
|
|
223
|
+
initDayNames() {
|
|
224
|
+
this.dayNames = [];
|
|
225
|
+
const start = this.firstCalendarDay;
|
|
226
|
+
for (let i = start; i <= 6 + start; i++) {
|
|
227
|
+
const date = setDay(new Date(), i);
|
|
228
|
+
this.dayNames.push(format(date, this.dayNamesFormat, this.locale));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
initMonthName() {
|
|
232
|
+
const monthNames = [];
|
|
233
|
+
const actualDate = this.date || new Date();
|
|
234
|
+
const currentDate = new Date(actualDate);
|
|
235
|
+
const start = subYears(new Date(currentDate.setMonth(11)), 1);
|
|
236
|
+
for (let i = 1; i <= 12; i++) {
|
|
237
|
+
const date = addMonths(start, i);
|
|
238
|
+
monthNames.push({
|
|
239
|
+
name: format(date, this.monthNamesFormat, this.locale),
|
|
240
|
+
isSelected: date.getMonth() === actualDate.getMonth(),
|
|
241
|
+
isThisMonth: isSameMonth(date, new Date()) && isSameYear(actualDate, new Date()),
|
|
242
|
+
isSelectable: this.isMonthSelectable(date)
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
this.monthNames = monthNames;
|
|
246
|
+
}
|
|
247
|
+
isMonthSelectable(date) {
|
|
248
|
+
const minDate = !isNil(this.options.minDate) ? this.options.minDate : null;
|
|
249
|
+
const maxDate = !isNil(this.options.maxDate) ? this.options.maxDate : null;
|
|
250
|
+
const year = date.getFullYear();
|
|
251
|
+
const month = date.getMonth();
|
|
252
|
+
if (minDate && maxDate) {
|
|
253
|
+
const minYear = minDate.getFullYear();
|
|
254
|
+
const maxYear = maxDate.getFullYear();
|
|
255
|
+
if (year < minYear || year > maxYear) {
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
if (year === minYear && month < minDate.getMonth()) {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
if (year === maxYear && month > maxDate.getMonth()) {
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
if (minDate) {
|
|
267
|
+
if (year < minDate.getFullYear()) {
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
270
|
+
if (year === minDate.getFullYear() && month < minDate.getMonth()) {
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
273
|
+
return true;
|
|
274
|
+
}
|
|
275
|
+
if (maxDate) {
|
|
276
|
+
if (year > maxDate.getFullYear()) {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
if (year === maxDate.getFullYear() && month > maxDate.getMonth()) {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
return true;
|
|
283
|
+
}
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
toggleView() {
|
|
287
|
+
this.view = this.view === 'year' ? 'years' : 'year';
|
|
288
|
+
}
|
|
289
|
+
toggle() {
|
|
290
|
+
this.isOpened = !this.isOpened;
|
|
291
|
+
if (!this.isOpened && this.view === 'years') {
|
|
292
|
+
this.toggleView();
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
close() {
|
|
296
|
+
this.isOpened = false;
|
|
297
|
+
if (this.view === 'years') {
|
|
298
|
+
this.toggleView();
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
reset(fireValueChangeEvent = false) {
|
|
302
|
+
this.date = null;
|
|
303
|
+
this.innerValue = null;
|
|
304
|
+
this.init();
|
|
305
|
+
this.initMonthName();
|
|
306
|
+
if (fireValueChangeEvent && this.onChangeCallback) {
|
|
307
|
+
this.onChangeCallback(this.innerValue);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
writeValue(val) {
|
|
311
|
+
if (val) {
|
|
312
|
+
this.date = val;
|
|
313
|
+
this.innerValue = val;
|
|
314
|
+
this.init();
|
|
315
|
+
this.initMonthName();
|
|
316
|
+
this.displayValue = format(this.innerValue, this.displayFormat, this.locale);
|
|
317
|
+
this.barTitle = format(startOfMonth(val), this.barTitleFormat, this.locale);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
registerOnChange(fn) {
|
|
321
|
+
this.onChangeCallback = fn;
|
|
322
|
+
}
|
|
323
|
+
registerOnTouched(fn) {
|
|
324
|
+
this.onTouchedCallback = fn;
|
|
325
|
+
}
|
|
326
|
+
onBlur(e) {
|
|
327
|
+
if (!this.isOpened) {
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
const input = document.querySelector('.ngx-moderndatepicker-input');
|
|
331
|
+
if (input === null) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
if (e.target === input || input.contains(e.target)) {
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
const container = document.querySelector('.ngx-moderndatepicker-calendar-container');
|
|
338
|
+
const target = e.target;
|
|
339
|
+
const isYearUnit = target.classList.contains('year-unit');
|
|
340
|
+
const isMonthUnit = target.classList.contains('month-unit');
|
|
341
|
+
if (container && container !== target && !container.contains(target) && !isYearUnit && !isMonthUnit) {
|
|
342
|
+
this.close();
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
NgxModerndatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxModerndatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
347
|
+
NgxModerndatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: NgxModerndatepickerComponent, selector: "ngx-moderndatepicker", inputs: { options: "options", headless: "headless", isOpened: "isOpened", position: "position" }, host: { listeners: { "document:click": "onBlur($event)" } }, providers: [
|
|
348
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgxModerndatepickerComponent), multi: true }
|
|
349
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"ngx-moderndatepicker-container\">\n <input type=\"text\" *ngIf=\"!headless\" class=\"ngx-moderndatepicker-input\" [(ngModel)]=\"displayValue\" readonly [placeholder]=\"placeholder\"\n [ngClass]=\"addClass\" [ngStyle]=\"addStyle\" [id]=\"fieldId\" [disabled]=\"disabled\" (click)=\"toggle()\" />\n <ng-content></ng-content>\n <div class=\"ngx-moderndatepicker-calendar-container ngx-moderndatepicker-position-{{position}}\" *ngIf=\"isOpened\">\n <div class=\"topbar-container\">\n <div class=\"main-calendar-selection-year\">\n <svg width=\"15px\" height=\"15px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n \t viewBox=\"0 0 489.6 489.6\" style=\"enable-background:new 0 0 489.6 489.6;\" xml:space=\"preserve\"\n (click)=\"view === 'year' && prevYear()\">\n <g>\n \t<g>\n \t\t<path style=\"fill:#2C2F33;\" d=\"M244.8,489.6c135,0,244.8-109.8,244.8-244.8S379.8,0,244.8,0S0,109.8,0,244.8\n \t\t\tS109.8,489.6,244.8,489.6z M244.8,19.8c124.1,0,225,100.9,225,225s-100.9,225-225,225s-225-100.9-225-225S120.7,19.8,244.8,19.8z\"\n \t\t\t/>\n \t\t<path style=\"fill:#3C92CA;\" d=\"M265.5,326.1c1.9,1.9,4.5,2.9,7,2.9s5.1-1,7-2.9c3.9-3.9,3.9-10.1,0-14l-67.3-67.3l67.3-67.3\n \t\t\tc3.9-3.9,3.9-10.1,0-14s-10.1-3.9-14,0l-74.3,74.3c-3.9,3.9-3.9,10.1,0,14L265.5,326.1z\"/>\n \t</g>\n </g>\n </svg>\n <span class=\"topbar-title\" (click)=\"toggleView(); initYears();\">{{ barTitle }}</span>\n <svg width=\"15px\" height=\"15px\" viewBox=\"0 0 6 10\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n \t viewBox=\"0 0 489.6 489.6\" style=\"enable-background:new 0 0 489.6 489.6;\" xml:space=\"preserve\"\n (click)=\"view === 'year' && nextYear()\">\n <g>\n \t<g>\n \t\t<path style=\"fill:#2C2F33;\" d=\"M244.8,489.6c135,0,244.8-109.8,244.8-244.8S379.8,0,244.8,0S0,109.8,0,244.8\n \t\t\tS109.8,489.6,244.8,489.6z M244.8,19.8c124.1,0,225,100.9,225,225s-100.9,225-225,225s-225-100.9-225-225S120.7,19.8,244.8,19.8z\"\n \t\t\t/>\n \t\t<path style=\"fill:#3C92CA;\" d=\"M210,326.1c1.9,1.9,4.5,2.9,7,2.9s5.1-1,7-2.9l74.3-74.3c1.9-1.9,2.9-4.4,2.9-7s-1-5.1-2.9-7\n \t\t\tL224,163.5c-3.9-3.9-10.1-3.9-14,0s-3.9,10.1,0,14l67.3,67.3L210,312.1C206.2,316,206.2,322.3,210,326.1z\"/>\n \t</g>\n </g>\n </svg>\n </div>\n <div class=\"main-calendar-day-names\" *ngIf=\"view === 'year'\">\n <span class=\"day-name-unit\" *ngFor=\"let name of dayNames\">{{ name }}</span>\n </div>\n </div>\n <div class=\"main-calendar-container\" *ngIf=\"view === 'year'\">\n <div class=\"main-calendar-month-names\">\n <div class=\"month-name-unit\" *ngFor=\"let month of monthNames; let index = index\" (click)=\"month.isSelectable && selectMonth(index)\">\n <span class=\"month-unit\"\n [ngClass]=\"{ 'is-this-month': month.isThisMonth, 'is-disabled': !month.isSelectable ,'is-selected': month.isSelected}\">\n {{ month.name }}\n </span>\n </div>\n </div>\n <div class=\"main-calender-days-container\">\n <div class=\"main-calendar-days\">\n <div class=\"day-unit\" *ngFor=\"let day of days; let i = index;\" >\n <span [ngClass]=\"{ 'is-prev-month': !day.inThisMonth, 'is-today': day.isToday, 'is-disabled': !day.isSelectable, 'is-weekend': day.isWeekend , 'is-holiday' : day.isHoliday, 'is-selected': day.isSelected}\"\n (click)=\"day.isSelectable && setDate(i)\">\n {{ day.day }}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"main-calendar-container\" *ngIf=\"view === 'years'\">\n <div class=\"main-calendar-years\">\n <span class=\"year-unit\" *ngFor=\"let year of years; let i = index;\" [ngClass]=\"{ 'is-selected': year.isThisYear , 'is-today': year.isToday , 'is-disabled' : !year.isSelectable}\" (click)=\"year.isSelectable && setYear(i)\">{{ year.year }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".ngx-moderndatepicker-position-bottom-left{top:40px;right:0}.ngx-moderndatepicker-position-bottom-right{top:40px;left:0}.ngx-moderndatepicker-position-top-left{bottom:40px;right:0}.ngx-moderndatepicker-position-top-right{bottom:40px;left:0}.ngx-moderndatepicker-container{position:relative}.ngx-moderndatepicker-container .ngx-moderndatepicker-input{padding:5px 10px;font-size:14px;width:200px;outline:none;border:1px solid #DFE3E9}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container{position:absolute;width:356px;height:230px;background:#ffffff;padding:10px;box-shadow:0 1px 4px #00000014;border:1px solid #DFE3E9;border-radius:4px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container{height:10px;padding:5px 0;display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container .main-calendar-selection-year{display:flex;align-items:center;width:108px;min-width:108px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container .main-calendar-day-names{color:#a4a9b1;width:100%;display:flex;align-items:center;font-size:12px;padding:0 0 0 5px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container .main-calendar-day-names .day-name-unit{width:14.2857142857%;height:30px;text-transform:uppercase;text-align:center;line-height:30px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container svg{cursor:pointer}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container svg g{fill:#ced0da}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-title{color:#3d495c;font-size:15px;font-weight:400;margin:0 10px;cursor:pointer}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container{width:100%;height:100%;font-size:14px;font-weight:500;display:flex;flex-direction:row}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names{display:flex;flex-flow:row wrap;width:108px;min-width:108px;padding:15px 0}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit{width:45px;height:30px;color:#000;text-align:center;border-radius:5px;line-height:30px;cursor:pointer}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span{width:35px;padding:2.5px 7px;border-radius:15%;height:25px;line-height:25px;text-align:center}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-this-month{border:2px solid #1A91EB;margin:-2px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-disabled{cursor:not-allowed;color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-disabled :hover{background:transparent}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-selected{background:#1A91EB;color:#fff;border:2px solid #1A91EB}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years{padding:15px 5px;width:100%;display:inline-block;max-height:275px;overflow:auto}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit{height:30px;display:inline-flex;float:left;width:14.2857142857%;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#3d495c}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span{width:28px;border-radius:15%;height:20px;line-height:20px;text-align:center}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-prev-month,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-prev-month,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-prev-month,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-prev-month{color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-today,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-today,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-today,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-today{border:2px solid #1A91EB;margin:-2px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-holiday,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-holiday,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-holiday,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-holiday{background:#e0e0e0}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-selected,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-selected,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-selected,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-selected{background:#1A91EB;color:#fff;border:2px solid #1A91EB}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-disabled,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-disabled,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-disabled,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-disabled{cursor:not-allowed;color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-disabled :hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-disabled :hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-disabled :hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-disabled :hover{background:transparent}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years{height:200px;display:block;margin:auto;padding:5px 10px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit{width:33.3333333333%;border-radius:10px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-disabled{cursor:not-allowed;color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-disabled :hover{background:transparent}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-selected{background:#1A91EB;color:#fff;border:2px solid #1A91EB}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-today{border:2px solid #1A91EB;margin:-2px}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxModerndatepickerComponent, decorators: [{
|
|
351
|
+
type: Component,
|
|
352
|
+
args: [{ selector: 'ngx-moderndatepicker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
353
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgxModerndatepickerComponent), multi: true }
|
|
354
|
+
], template: "<div class=\"ngx-moderndatepicker-container\">\n <input type=\"text\" *ngIf=\"!headless\" class=\"ngx-moderndatepicker-input\" [(ngModel)]=\"displayValue\" readonly [placeholder]=\"placeholder\"\n [ngClass]=\"addClass\" [ngStyle]=\"addStyle\" [id]=\"fieldId\" [disabled]=\"disabled\" (click)=\"toggle()\" />\n <ng-content></ng-content>\n <div class=\"ngx-moderndatepicker-calendar-container ngx-moderndatepicker-position-{{position}}\" *ngIf=\"isOpened\">\n <div class=\"topbar-container\">\n <div class=\"main-calendar-selection-year\">\n <svg width=\"15px\" height=\"15px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n \t viewBox=\"0 0 489.6 489.6\" style=\"enable-background:new 0 0 489.6 489.6;\" xml:space=\"preserve\"\n (click)=\"view === 'year' && prevYear()\">\n <g>\n \t<g>\n \t\t<path style=\"fill:#2C2F33;\" d=\"M244.8,489.6c135,0,244.8-109.8,244.8-244.8S379.8,0,244.8,0S0,109.8,0,244.8\n \t\t\tS109.8,489.6,244.8,489.6z M244.8,19.8c124.1,0,225,100.9,225,225s-100.9,225-225,225s-225-100.9-225-225S120.7,19.8,244.8,19.8z\"\n \t\t\t/>\n \t\t<path style=\"fill:#3C92CA;\" d=\"M265.5,326.1c1.9,1.9,4.5,2.9,7,2.9s5.1-1,7-2.9c3.9-3.9,3.9-10.1,0-14l-67.3-67.3l67.3-67.3\n \t\t\tc3.9-3.9,3.9-10.1,0-14s-10.1-3.9-14,0l-74.3,74.3c-3.9,3.9-3.9,10.1,0,14L265.5,326.1z\"/>\n \t</g>\n </g>\n </svg>\n <span class=\"topbar-title\" (click)=\"toggleView(); initYears();\">{{ barTitle }}</span>\n <svg width=\"15px\" height=\"15px\" viewBox=\"0 0 6 10\" version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n \t viewBox=\"0 0 489.6 489.6\" style=\"enable-background:new 0 0 489.6 489.6;\" xml:space=\"preserve\"\n (click)=\"view === 'year' && nextYear()\">\n <g>\n \t<g>\n \t\t<path style=\"fill:#2C2F33;\" d=\"M244.8,489.6c135,0,244.8-109.8,244.8-244.8S379.8,0,244.8,0S0,109.8,0,244.8\n \t\t\tS109.8,489.6,244.8,489.6z M244.8,19.8c124.1,0,225,100.9,225,225s-100.9,225-225,225s-225-100.9-225-225S120.7,19.8,244.8,19.8z\"\n \t\t\t/>\n \t\t<path style=\"fill:#3C92CA;\" d=\"M210,326.1c1.9,1.9,4.5,2.9,7,2.9s5.1-1,7-2.9l74.3-74.3c1.9-1.9,2.9-4.4,2.9-7s-1-5.1-2.9-7\n \t\t\tL224,163.5c-3.9-3.9-10.1-3.9-14,0s-3.9,10.1,0,14l67.3,67.3L210,312.1C206.2,316,206.2,322.3,210,326.1z\"/>\n \t</g>\n </g>\n </svg>\n </div>\n <div class=\"main-calendar-day-names\" *ngIf=\"view === 'year'\">\n <span class=\"day-name-unit\" *ngFor=\"let name of dayNames\">{{ name }}</span>\n </div>\n </div>\n <div class=\"main-calendar-container\" *ngIf=\"view === 'year'\">\n <div class=\"main-calendar-month-names\">\n <div class=\"month-name-unit\" *ngFor=\"let month of monthNames; let index = index\" (click)=\"month.isSelectable && selectMonth(index)\">\n <span class=\"month-unit\"\n [ngClass]=\"{ 'is-this-month': month.isThisMonth, 'is-disabled': !month.isSelectable ,'is-selected': month.isSelected}\">\n {{ month.name }}\n </span>\n </div>\n </div>\n <div class=\"main-calender-days-container\">\n <div class=\"main-calendar-days\">\n <div class=\"day-unit\" *ngFor=\"let day of days; let i = index;\" >\n <span [ngClass]=\"{ 'is-prev-month': !day.inThisMonth, 'is-today': day.isToday, 'is-disabled': !day.isSelectable, 'is-weekend': day.isWeekend , 'is-holiday' : day.isHoliday, 'is-selected': day.isSelected}\"\n (click)=\"day.isSelectable && setDate(i)\">\n {{ day.day }}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"main-calendar-container\" *ngIf=\"view === 'years'\">\n <div class=\"main-calendar-years\">\n <span class=\"year-unit\" *ngFor=\"let year of years; let i = index;\" [ngClass]=\"{ 'is-selected': year.isThisYear , 'is-today': year.isToday , 'is-disabled' : !year.isSelectable}\" (click)=\"year.isSelectable && setYear(i)\">{{ year.year }}</span>\n </div>\n </div>\n </div>\n</div>\n", styles: [".ngx-moderndatepicker-position-bottom-left{top:40px;right:0}.ngx-moderndatepicker-position-bottom-right{top:40px;left:0}.ngx-moderndatepicker-position-top-left{bottom:40px;right:0}.ngx-moderndatepicker-position-top-right{bottom:40px;left:0}.ngx-moderndatepicker-container{position:relative}.ngx-moderndatepicker-container .ngx-moderndatepicker-input{padding:5px 10px;font-size:14px;width:200px;outline:none;border:1px solid #DFE3E9}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container{position:absolute;width:356px;height:230px;background:#ffffff;padding:10px;box-shadow:0 1px 4px #00000014;border:1px solid #DFE3E9;border-radius:4px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container{height:10px;padding:5px 0;display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container .main-calendar-selection-year{display:flex;align-items:center;width:108px;min-width:108px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container .main-calendar-day-names{color:#a4a9b1;width:100%;display:flex;align-items:center;font-size:12px;padding:0 0 0 5px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-container .main-calendar-day-names .day-name-unit{width:14.2857142857%;height:30px;text-transform:uppercase;text-align:center;line-height:30px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container svg{cursor:pointer}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container svg g{fill:#ced0da}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .topbar-title{color:#3d495c;font-size:15px;font-weight:400;margin:0 10px;cursor:pointer}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container{width:100%;height:100%;font-size:14px;font-weight:500;display:flex;flex-direction:row}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names{display:flex;flex-flow:row wrap;width:108px;min-width:108px;padding:15px 0}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit{width:45px;height:30px;color:#000;text-align:center;border-radius:5px;line-height:30px;cursor:pointer}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span{width:35px;padding:2.5px 7px;border-radius:15%;height:25px;line-height:25px;text-align:center}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-this-month{border:2px solid #1A91EB;margin:-2px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-disabled{cursor:not-allowed;color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-disabled :hover{background:transparent}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-month-names .month-name-unit span.is-selected{background:#1A91EB;color:#fff;border:2px solid #1A91EB}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years{padding:15px 5px;width:100%;display:inline-block;max-height:275px;overflow:auto}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit{height:30px;display:inline-flex;float:left;width:14.2857142857%;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#3d495c}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span{width:28px;border-radius:15%;height:20px;line-height:20px;text-align:center}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-prev-month,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-prev-month,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-prev-month,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-prev-month{color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-today,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-today,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-today,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-today{border:2px solid #1A91EB;margin:-2px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-holiday,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-holiday,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-holiday,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-weekend,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-holiday{background:#e0e0e0}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-selected,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-selected,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-selected,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-selected{background:#1A91EB;color:#fff;border:2px solid #1A91EB}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-disabled,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-disabled,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-disabled,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-disabled{cursor:not-allowed;color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .day-unit span.is-disabled :hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-days .year-unit span.is-disabled :hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .day-unit span.is-disabled :hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit span.is-disabled :hover{background:transparent}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years{height:200px;display:block;margin:auto;padding:5px 10px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit{width:33.3333333333%;border-radius:10px}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-disabled{cursor:not-allowed;color:#a4a9b1}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-disabled :hover{background:transparent}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-selected{background:#1A91EB;color:#fff;border:2px solid #1A91EB}.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit:hover,.ngx-moderndatepicker-container .ngx-moderndatepicker-calendar-container .main-calendar-container .main-calendar-years .year-unit.is-today{border:2px solid #1A91EB;margin:-2px}\n"] }]
|
|
355
|
+
}], ctorParameters: function () { return []; }, propDecorators: { options: [{
|
|
356
|
+
type: Input
|
|
357
|
+
}], headless: [{
|
|
358
|
+
type: Input
|
|
359
|
+
}], isOpened: [{
|
|
360
|
+
type: Input
|
|
361
|
+
}], position: [{
|
|
362
|
+
type: Input
|
|
363
|
+
}], onBlur: [{
|
|
364
|
+
type: HostListener,
|
|
365
|
+
args: ['document:click', ['$event']]
|
|
366
|
+
}] } });
|
|
367
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1vZGVybmRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25neC1tb2Rlcm5kYXRlcGlja2VyL2NvbXBvbmVudC9uZ3gtbW9kZXJuZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbmd4LW1vZGVybmRhdGVwaWNrZXIvY29tcG9uZW50L25neC1tb2Rlcm5kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUE0QixZQUFZLEVBQUUsVUFBVSxFQUFjLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xKLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLE9BQU8sRUFDUCxPQUFPLEVBQ1AsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxHQUNULE1BQU0sVUFBVSxDQUFDOzs7O0FBNkJsQix5REFBeUQ7QUFDekQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBRWhCOzs7R0FHRztBQUNILE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBcUMsRUFBRSxFQUFFO0lBQ3RELE9BQU8sQ0FBQyxPQUFPLEtBQUssS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUM7QUFXRixNQUFNLE9BQU8sNEJBQTRCO0lBdUV2QztRQXBFQTs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFMUI7O1dB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O2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQTRZc0MsTUFBTTtzQkFBakQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBIb3N0TGlzdGVuZXIsIGZvcndhcmRSZWYsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiAsIENvbnRyb2xWYWx1ZUFjY2Vzc29yfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBzdGFydE9mTW9udGgsXG4gIGVuZE9mTW9udGgsXG4gIGFkZE1vbnRocyxcbiAgc2V0WWVhcixcbiAgZWFjaERheSxcbiAgZ2V0RGF0ZSxcbiAgZ2V0TW9udGgsXG4gIGdldFllYXIsXG4gIGlzVG9kYXksXG4gIGlzU2FtZURheSxcbiAgaXNTYW1lTW9udGgsXG4gIGlzU2FtZVllYXIsXG4gIGZvcm1hdCxcbiAgZ2V0RGF5LFxuICBzdWJEYXlzLFxuICBzZXREYXksXG4gIGFkZFllYXJzLFxuICBzdWJZZWFycyxcbiAgc2V0TW9udGgsXG59IGZyb20gJ2RhdGUtZm5zJztcblxuZXhwb3J0IHR5cGUgQWRkQ2xhc3MgPSBzdHJpbmcgfCBzdHJpbmdbXSB8IHsgW2s6IHN0cmluZ106IGJvb2xlYW4gfSB8IG51bGw7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZXJuRGF0ZVBpY2tlck9wdGlvbnMge1xuICBtaW5ZZWFyPzogbnVtYmVyOyAvLyBkZWZhdWx0OiBjdXJyZW50IHllYXIgLSAzMFxuICBtYXhZZWFyPzogbnVtYmVyOyAvLyBkZWZhdWx0OiBjdXJyZW50IHllYXIgKyAzMFxuICBkaXNwbGF5Rm9ybWF0Pzogc3RyaW5nOyAvLyBkZWZhdWx0OiAnTU1NIERbLF0gWVlZWSdcbiAgZGF5TmFtZXNGb3JtYXQ/OiBzdHJpbmc7IC8vIGRlZmF1bHQgJ2RkZCdcbiAgbW9udGhOYW1lc0Zvcm1hdD86IHN0cmluZzsgLy8gZGVmYXVsdCAnTU1NJ1xuICBmaXJzdENhbGVuZGFyRGF5PzogbnVtYmVyOyAvLyAwID0gU3VuZGF5IChkZWZhdWx0KSwgMSA9IE1vbmRheSwgLi5cbiAgbG9jYWxlPzogb2JqZWN0O1xuICBtaW5EYXRlPzogRGF0ZTtcbiAgbWF4RGF0ZT86IERhdGU7XG4gIC8qKiBQbGFjZWhvbGRlciBmb3IgdGhlIGlucHV0IGZpZWxkICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogW25nQ2xhc3NdIHRvIGFkZCB0byB0aGUgaW5wdXQgZmllbGQgKi9cbiAgYWRkQ2xhc3M/OiBBZGRDbGFzcztcbiAgLyoqIFtuZ1N0eWxlXSB0byBhZGQgdG8gdGhlIGlucHV0IGZpZWxkICovXG4gIGFkZFN0eWxlPzogeyBbazogc3RyaW5nXTogYW55IH0gfCBudWxsO1xuICAvKiogSUQgdG8gYXNzaWduIHRvIHRoZSBpbnB1dCBmaWVsZCAqL1xuICBmaWVsZElkPzogc3RyaW5nO1xuICAvKiogSWYgZmFsc2UsIGJhclRpdGxlSWZFbXB0eSB3aWxsIGJlIGRpc3JlZ2FyZGVkIGFuZCBhIGRhdGUgd2lsbCBhbHdheXMgYmUgc2hvd24uIERlZmF1bHQ6IHRydWUgKi9cbiAgd2Vla2VuZHNEYXk/OiBudW1iZXJbXTtcbiAgIC8qKiBTdW5kYXkgaXMgMCAsIEhpZ2hsaWdodHMgdGhlIHdlZWtlbmRzIHdpdGggZ3JheSBiYWNrZ3JvdW5kKiovXG4gIGhvbGlkYXlMaXN0PzogQXJyYXk8RGF0ZT47XG4gIC8qKiBMaXN0IG9mIEhvbGlkYXlzICoqL1xufVxuXG4vLyBDb3VudGVyIGZvciBjYWxjdWxhdGluZyB0aGUgYXV0by1pbmNyZW1lbnRpbmcgZmllbGQgSURcbmxldCBjb3VudGVyID0gMDtcblxuLyoqXG4gKiBJbnRlcm5hbCBsaWJyYXJ5IGhlbHBlciB0aGF0IGhlbHBzIHRvIGNoZWNrIGlmIHZhbHVlIGlzIGVtcHR5XG4gKiBAcGFyYW0gdmFsdWVcbiAqL1xuY29uc3QgaXNOaWwgPSAodmFsdWU6IERhdGUgfCBNb2Rlcm5EYXRlUGlja2VyT3B0aW9ucykgPT4ge1xuICByZXR1cm4gKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHx8ICh2YWx1ZSA9PT0gbnVsbCk7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtbW9kZXJuZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnbmd4LW1vZGVybmRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnbmd4LW1vZGVybmRhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5neE1vZGVybmRhdGVwaWNrZXJDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4TW9kZXJuZGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IE1vZGVybkRhdGVQaWNrZXJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIGRhdGVwaWNrZXIncyBpbnB1dFxuICAgKi9cbiAgQElucHV0KCkgaGVhZGxlc3MgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0IGRhdGVwaWNrZXIncyB2aXNpYmlsaXR5IHN0YXRlXG4gICAqL1xuICBASW5wdXQoKSBpc09wZW5lZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIGRyb3Bkb3duIHBvc2l0aW9uXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gIHByaXZhdGUgcG9zaXRpb25zID0gWydib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnLCAndG9wLWxlZnQnLCAndG9wLXJpZ2h0J107XG5cbiAgaW5uZXJWYWx1ZTogRGF0ZTtcbiAgZGlzcGxheVZhbHVlOiBzdHJpbmc7XG4gIGRpc3BsYXlGb3JtYXQ6IHN0cmluZztcbiAgZGF0ZTogRGF0ZTtcbiAgYmFyVGl0bGU6IHN0cmluZztcbiAgYmFyVGl0bGVGb3JtYXQ6IHN0cmluZztcbiAgYmFyVGl0bGVJZkVtcHR5OiBzdHJpbmc7XG4gIG1pblllYXI6IG51bWJlcjtcbiAgbWF4WWVhcjogbnVtYmVyO1xuICBmaXJzdENhbGVuZGFyRGF5OiBudW1iZXI7XG4gIHZpZXc6IHN0cmluZztcbiAgeWVhcnM6IHsgeWVhcjogbnVtYmVyOyBpc1RoaXNZZWFyOiBib29sZWFuOyBpc1RvZGF5OiBib29sZWFuOyBpc1NlbGVjdGFibGU6IGJvb2xlYW4gfVtdO1xuICBkYXlOYW1lczogc3RyaW5nW107XG4gIG1vbnRoTmFtZXM6IEFycmF5PGFueT47XG4gIGRheU5hbWVzRm9ybWF0OiBzdHJpbmc7XG4gIG1vbnRoTmFtZXNGb3JtYXQ6IHN0cmluZztcbiAgZGF5czoge1xuICAgIGRhdGU6IERhdGU7XG4gICAgZGF5OiBudW1iZXI7XG4gICAgbW9udGg6IG51bWJlcjtcbiAgICB5ZWFyOiBudW1iZXI7XG4gICAgaW5UaGlzTW9udGg6IGJvb2xlYW47XG4gICAgaXNUb2RheTogYm9vbGVhbjtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIGlzU2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgICBpc1dlZWtlbmQ6IGJvb2xlYW47XG4gICAgaXNIb2xpZGF5OiBib29sZWFuO1xuICB9W107XG4gIGxvY2FsZTogb2JqZWN0O1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBhZGRDbGFzczogQWRkQ2xhc3M7XG4gIGFkZFN0eWxlOiB7IFtrOiBzdHJpbmddOiBhbnkgfSB8IG51bGw7XG4gIGZpZWxkSWQ6IHN0cmluZztcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHVzZUVtcHR5QmFyVGl0bGU6IGJvb2xlYW47XG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcblxuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2YWw6IERhdGUpIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWw7XG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMuaW5uZXJWYWx1ZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudmlldyA9ICd5ZWFyJztcbiAgICBpZiAoIXRoaXMuZGF0ZSkge1xuICAgICAgdGhpcy5kYXRlID0gbmV3IERhdGUoKTtcbiAgICB9XG4gICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgdGhpcy5pbml0RGF5TmFtZXMoKTtcbiAgICB0aGlzLmluaXRZZWFycygpO1xuICAgIHRoaXMuaW5pdE1vbnRoTmFtZSgpO1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIC8vIENoZWNrIGlmICdwb3NpdGlvbicgcHJvcGVydHkgaXMgY29ycmVjdFxuICAgIGlmICh0aGlzLnBvc2l0aW9ucy5pbmRleE9mKHRoaXMucG9zaXRpb24pID09PSAtMSkge1xuICAgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSB0aGlzLnBvc2l0aW9ucy5qb2luKCcsICcpO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBuZy1tb2Rlcm5kYXRlcGlja2VyOiBpbnZhbGlkIHBvc2l0aW9uIHByb3BlcnR5IHZhbHVlICcke3RoaXMucG9zaXRpb259JyAoZXhwZWN0ZWQ6ICR7ZXhwZWN0ZWRWYWx1ZXN9KWA7XG5cbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgdGhpcy5zZXRPcHRpb25zKCk7XG4gICAgICB0aGlzLmluaXREYXlOYW1lcygpO1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB0aGlzLmluaXRZZWFycygpO1xuICAgICAgdGhpcy5pbml0TW9udGhOYW1lKCk7XG4gIH1cblxuICBnZXQgZGVmYXVsdEZpZWxkSWQoKTogc3RyaW5nIHtcbiAgICAvLyBPbmx5IGV2YWx1YXRlIGFuZCBpbmNyZW1lbnQgaWYgcmVxdWlyZWRcbiAgICBjb25zdCB2YWx1ZSA9IGBkYXRlcGlja2VyLSR7Y291bnRlcisrfWA7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdkZWZhdWx0RmllbGRJZCcsIHt2YWx1ZX0pO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc2V0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7IC8vIHRoaXMgY29uc3Qgd2FzIGFkZGVkIGJlY2F1c2UgZHVyaW5nIG15IHRlc3RzLCBJIG5vdGljZWQgdGhhdCBhdCB0aGlzIGxldmVsIHRoaXMuZGF0ZSBpcyB1bmRlZmluZWRcbiAgICB0aGlzLm1pblllYXIgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLm1pblllYXIgfHwgZ2V0WWVhcih0b2RheSkgLSAzMDtcbiAgICB0aGlzLm1heFllYXIgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLm1heFllYXIgfHwgZ2V0WWVhcih0b2RheSkgKyAzMDtcbiAgICB0aGlzLmRpc3BsYXlGb3JtYXQgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmRpc3BsYXlGb3JtYXQgfHwgJ01NTSBEWyxdIFlZWVknO1xuICAgIHRoaXMuYmFyVGl0bGVGb3JtYXQgPSAnWVlZWSc7XG4gICAgdGhpcy5kYXlOYW1lc0Zvcm1hdCA9IHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZGF5TmFtZXNGb3JtYXQgfHwgJ2RkZCc7XG4gICAgdGhpcy5tb250aE5hbWVzRm9ybWF0ID0gdGhpcy5vcHRpb25zICYmIHRoaXMub3B0aW9ucy5tb250aE5hbWVzRm9ybWF0IHx8ICdNTU0nO1xuICAgIHRoaXMuYmFyVGl0bGVJZkVtcHR5ID0gKG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLmZpcnN0Q2FsZW5kYXJEYXkgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmZpcnN0Q2FsZW5kYXJEYXkgfHwgMDtcbiAgICB0aGlzLmxvY2FsZSA9IHRoaXMub3B0aW9ucyAmJiB7IGxvY2FsZTogdGhpcy5vcHRpb25zLmxvY2FsZSB9IHx8IHt9O1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyIHx8ICcnO1xuICAgIHRoaXMuYWRkQ2xhc3MgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmFkZENsYXNzIHx8IHt9O1xuICAgIHRoaXMuYWRkU3R5bGUgPSB0aGlzLm9wdGlvbnMgJiYgdGhpcy5vcHRpb25zLmFkZFN0eWxlIHx8IHt9O1xuICAgIHRoaXMuZmllbGRJZCA9IHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMuZmllbGRJZCB8fCB0aGlzLmRlZmF1bHRGaWVsZElkO1xuICB9XG5cbiAgbmV4dFllYXIoKTogdm9pZCB7XG4gICAgICB0aGlzLmRhdGUgPSBhZGRZZWFycyh0aGlzLmRhdGUsIDEpO1xuICAgICAgdGhpcy5iYXJUaXRsZSA9IGZvcm1hdCh0aGlzLmRhdGUsIHRoaXMuYmFyVGl0bGVGb3JtYXQsIHRoaXMubG9jYWxlKTtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgdGhpcy5pbml0TW9udGhOYW1lKCk7XG4gIH1cblxuICBwcmV2WWVhcigpOiB2b2lkIHtcbiAgICAgIHRoaXMuZGF0ZSA9IHN1YlllYXJzKHRoaXMuZGF0ZSwgMSk7XG4gICAgICB0aGlzLmJhclRpdGxlID0gZm9ybWF0KHRoaXMuZGF0ZSwgdGhpcy5iYXJUaXRsZUZvcm1hdCwgdGhpcy5sb2NhbGUpO1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB0aGlzLmluaXRNb250aE5hbWUoKTtcbiAgfVxuXG4gIHNldERhdGUoaTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlID0gdGhpcy5kYXlzW2ldLmRhdGU7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZGF0ZTtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBzZXRZZWFyKGk6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZGF0ZSA9IHNldFllYXIodGhpcy5kYXRlLCB0aGlzLnllYXJzW2ldLnllYXIpO1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuaW5pdE1vbnRoTmFtZSgpO1xuICAgIHRoaXMudmlldyA9ICd5ZWFyJztcbiAgfVxuXG4gIHNlbGVjdE1vbnRoKGk6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZGF0ZSA9IHNldE1vbnRoKHRoaXMuZGF0ZSwgaSk7XG4gICAgdGhpcy5pbml0KCk7XG4gICAgdGhpcy5pbml0TW9udGhOYW1lKCk7XG4gICAgdGhpcy52aWV3ID0gJ3llYXInO1xuICB9XG4gIC8qKlxuICAgKiBDaGVja3MgaWYgc3BlY2lmaWVkIGRhdGUgaXMgaW4gcmFuZ2Ugb2YgbWluIGFuZCBtYXggZGF0ZXNcbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHByaXZhdGUgaXNEYXRlU2VsZWN0YWJsZShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzTmlsKHRoaXMub3B0aW9ucykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IG1pbkRhdGVTZXQgPSAhaXNOaWwodGhpcy5vcHRpb25zLm1pbkRhdGUpO1xuICAgIGNvbnN0IG1heERhdGVTZXQgPSAhaXNOaWwodGhpcy5vcHRpb25zLm1heERhdGUpO1xuXG4gICAgY29uc3QgdGltZXN0YW1wID0gZGF0ZS52YWx1ZU9mKCk7XG5cbiAgICBpZiAobWluRGF0ZVNldCAmJiAodGltZXN0YW1wIDwgdGhpcy5vcHRpb25zLm1pbkRhdGUudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChtYXhEYXRlU2V0ICYmICh0aW1lc3RhbXAgPiB0aGlzLm9wdGlvbnMubWF4RGF0ZS52YWx1ZU9mKCkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGlzV2Vla2VuZERheShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgd2Vla2VuZHNEYXkgPSBBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucy53ZWVrZW5kc0RheSk7XG4gICAgaWYgKHdlZWtlbmRzRGF5KSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zLndlZWtlbmRzRGF5LmluZGV4T2YoZ2V0RGF5KGRhdGUpKSAhPT0gLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0hvbGlkYXkoZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGFyZUhvbGlkYXlzID0gQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnMuaG9saWRheUxpc3QpO1xuICAgIGlmIChhcmVIb2xpZGF5cykge1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5ob2xpZGF5TGlzdC5zb21lKChkYXkpID0+IGlzU2FtZURheShkYXksIGRhdGUpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuICAgIC8vIHRoaXMuZGF0ZSBtYXkgYmUgbnVsbCBhZnRlciAucmVzZXQoKTsgZmFsbCBiYWNrIHRvIGN1cnJlbnQgZGF0ZS5cbiAgICBjb25zdCBhY3R1YWxEYXRlID0gdGhpcy5kYXRlIHx8IG5ldyBEYXRlKCk7XG4gICAgY29uc3Qgc3RhcnQgPSBzdGFydE9mTW9udGgoYWN0dWFsRGF0ZSk7XG4gICAgY29uc3QgZW5kID0gZW5kT2ZNb250aChhY3R1YWxEYXRlKTtcblxuICAgIHRoaXMuZGF5cyA9IGVhY2hEYXkoc3RhcnQsIGVuZCkubWFwKGRhdGUgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0ZTogZGF0ZSxcbiAgICAgICAgZGF5OiBnZXREYXRlKGRhdGUpLFxuICAgICAgICBtb250aDogZ2V0TW9udGgoZGF0ZSksXG4gICAgICAgIHllYXI6IGdldFllYXIoZGF0ZSksXG4gICAgICAgIGluVGhpc01vbnRoOiB0cnVlLFxuICAgICAgICBpc1RvZGF5OiBpc1RvZGF5KGRhdGUpLFxuICAgICAgICBpc1NlbGVjdGVkOiBpc1NhbWVEYXkoZGF0ZSwgdGhpcy5pbm5lclZhbHVlKSAmJiBpc1NhbWVNb250aChkYXRlLCB0aGlzLmlubmVyVmFsdWUpICYmIGlzU2FtZVllYXIoZGF0ZSwgdGhpcy5pbm5lclZhbHVlKSxcbiAgICAgICAgaXNTZWxlY3RhYmxlOiB0aGlzLmlzRGF0ZVNlbGVjdGFibGUoZGF0ZSksXG4gICAgICAgIGlzV2Vla2VuZDogdGhpcy5pc1dlZWtlbmREYXkoZGF0ZSksXG4gICAgICAgIGlzSG9saWRheTogdGhpcy5pc0hvbGlkYXkoZGF0ZSlcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0bXAgPSBnZXREYXkoc3RhcnQpIC0gdGhpcy5maXJzdENhbGVuZGFyRGF5O1xuICAgIGNvbnN0IHByZXZEYXlzID0gdG1wIDwgMCA/IDcgLSB0aGlzLmZpcnN0Q2FsZW5kYXJEYXkgOiB0bXA7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBwcmV2RGF5czsgaSsrKSB7XG4gICAgICBjb25zdCBkYXRlID0gc3ViRGF5cyhzdGFydCwgaSk7XG4gICAgICB0aGlzLmRheXMudW5zaGlmdCh7XG4gICAgICAgIGRhdGU6IGRhdGUsXG4gICAgICAgIGRheTogZ2V0RGF0ZShkYXRlKSxcbiAgICAgICAgbW9udGg6IGdldE1vbnRoKGRhdGUpLFxuICAgICAgICB5ZWFyOiBnZXRZZWFyKGRhdGUpLFxuICAgICAgICBpblRoaXNNb250aDogZmFsc2UsXG4gICAgICAgIGlzVG9kYXk6IGlzVG9kYXkoZGF0ZSksXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGlzU2FtZURheShkYXRlLCB0aGlzLmlubmVyVmFsdWUpICYmIGlzU2FtZU1vbnRoKGRhdGUsIHRoaXMuaW5uZXJWYWx1ZSkgJiYgaXNTYW1lWWVhcihkYXRlLCB0aGlzLmlubmVyVmFsdWUpLFxuICAgICAgICBpc1NlbGVjdGFibGU6IHRoaXMuaXNEYXRlU2VsZWN0YWJsZShkYXRlKSxcbiAgICAgICAgaXNXZWVrZW5kIDogdGhpcy5pc1dlZWtlbmREYXkoZGF0ZSksXG4gICAgICAgIGlzSG9saWRheTogdGhpcy5pc0hvbGlkYXkoZGF0ZSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gZm9ybWF0KHRoaXMuaW5uZXJWYWx1ZSwgdGhpcy5kaXNwbGF5Rm9ybWF0LCB0aGlzLmxvY2FsZSk7XG4gICAgICB0aGlzLmJhclRpdGxlID0gZm9ybWF0KHN0YXJ0LCB0aGlzLmJhclRpdGxlRm9ybWF0LCB0aGlzLmxvY2FsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlID0gJyc7XG4gICAgICB0aGlzLmJhclRpdGxlID0gdGhpcy51c2VFbXB0eUJhclRpdGxlID8gdGhpcy5iYXJUaXRsZUlmRW1wdHkgOiBmb3JtYXQodGhpcy5kYXRlLCB0aGlzLmJhclRpdGxlRm9ybWF0LCB0aGlzLmxvY2FsZSk7XG4gICAgfVxuICB9XG5cbiAgaW5pdFllYXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHJhbmdlID0gdGhpcy5tYXhZZWFyIC0gdGhpcy5taW5ZZWFyO1xuICAgIHRoaXMueWVhcnMgPSBBcnJheS5mcm9tKG5ldyBBcnJheShyYW5nZSksICh4LCBpKSA9PiBpICsgdGhpcy5taW5ZZWFyKS5tYXAoeWVhciA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB5ZWFyLFxuICAgICAgICBpc1RoaXNZZWFyOiB5ZWFyID09PSBnZXRZZWFyKHRoaXMuZGF0ZSksXG4gICAgICAgIGlzVG9kYXk6IHllYXIgPT09IGdldFllYXIobmV3IERhdGUoKSksXG4gICAgICAgIGlzU2VsZWN0YWJsZTogdGhpcy5pc1llYXJTZWxlY3RhYmxlKHllYXIpXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1llYXJTZWxlY3RhYmxlKGRhdGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1pbkRhdGUgPSAhaXNOaWwodGhpcy5vcHRpb25zLm1pbkRhdGUpID8gdGhpcy5vcHRpb25zLm1pbkRhdGUgOiBudWxsO1xuICAgIGNvbnN0IG1heERhdGUgPSAhaXNOaWwodGhpcy5vcHRpb25zLm1heERhdGUpID8gdGhpcy5vcHRpb25zLm1heERhdGUgOiBudWxsO1xuXG4gICAgaWYgKG1pbkRhdGUgJiYgbWF4RGF0ZSkge1xuICAgICAgcmV0dXJuIG1pbkRhdGUuZ2V0RnVsbFllYXIoKSA8PSBkYXRlICYmIGRhdGUgPD0gbWF4RGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGlmIChtaW5EYXRlKSB7XG4gICAgICByZXR1cm4gbWluRGF0ZS5nZXRGdWxsWWVhcigpIDw9IGRhdGU7XG4gICAgfVxuXG4gICAgaWYgKG1heERhdGUpIHtcbiAgICAgIHJldHVybiBkYXRlIDw9IG1heERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGluaXREYXlOYW1lcygpOiB2b2lkIHtcbiAgICB0aGlzLmRheU5hbWVzID0gW107XG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmZpcnN0Q2FsZW5kYXJEYXk7XG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0OyBpIDw9IDYgKyBzdGFydDsgaSsrKSB7XG4gICAgICBjb25zdCBkYXRlID0gc2V0RGF5KG5ldyBEYXRlKCksIGkpO1xuICAgICAgdGhpcy5kYXlOYW1lcy5wdXNoKGZvcm1hdChkYXRlLCB0aGlzLmRheU5hbWVzRm9ybWF0LCB0aGlzLmxvY2FsZSkpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRNb250aE5hbWUoKTogdm9pZCB7XG4gICAgY29uc3QgbW9udGhOYW1lcyA9IFtdO1xuICAgIGNvbnN0IGFjdHVhbERhdGUgPSB0aGlzLmRhdGUgfHwgbmV3IERhdGUoKTtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKGFjdHVhbERhdGUpO1xuICAgIGNvbnN0IHN0YXJ0ID0gc3ViWWVhcnMobmV3IERhdGUoY3VycmVudERhdGUuc2V0TW9udGgoMTEpKSwgMSk7XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxMjsgaSsrKSB7XG4gICAgICBjb25zdCBkYXRlID0gYWRkTW9udGhzKHN0YXJ0LCBpKTtcbiAgICAgIG1vbnRoTmFtZXMucHVzaCh7XG4gICAgICAgIG5hbWU6IGZvcm1hdChkYXRlLCB0aGlzLm1vbnRoTmFtZXNGb3JtYXQsIHRoaXMubG9jYWxlKSxcbiAgICAgICAgaXNTZWxlY3RlZDogZGF0ZS5nZXRNb250aCgpID09PSBhY3R1YWxEYXRlLmdldE1vbnRoKCksXG4gICAgICAgIGlzVGhpc01vbnRoOiBpc1NhbWVNb250aChkYXRlLCBuZXcgRGF0ZSgpKSAmJiBpc1NhbWVZZWFyKGFjdHVhbERhdGUsIG5ldyBEYXRlKCkpLFxuICAgICAgICBpc1NlbGVjdGFibGU6IHRoaXMuaXNNb250aFNlbGVjdGFibGUoZGF0ZSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubW9udGhOYW1lcyA9IG1vbnRoTmFtZXM7XG4gIH1cblxuICBwcml2YXRlIGlzTW9udGhTZWxlY3RhYmxlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBtaW5EYXRlID0gIWlzTmlsKHRoaXMub3B0aW9ucy5taW5EYXRlKSA/IHRoaXMub3B0aW9ucy5taW5EYXRlIDogbnVsbDtcbiAgICBjb25zdCBtYXhEYXRlID0gIWlzTmlsKHRoaXMub3B0aW9ucy5tYXhEYXRlKSA/IHRoaXMub3B0aW9ucy5tYXhEYXRlIDogbnVsbDtcbiAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xuXG4gICAgaWYgKG1pbkRhdGUgJiYgbWF4RGF0ZSkge1xuICAgICAgY29uc3QgbWluWWVhciA9IG1pbkRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgIGNvbnN0IG1heFllYXIgPSBtYXhEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICAgIGlmICh5ZWFyIDwgbWluWWVhciB8fCB5ZWFyID4gbWF4WWVhcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh5ZWFyID09PSBtaW5ZZWFyICYmIG1vbnRoIDwgbWluRGF0ZS5nZXRNb250aCgpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHllYXIgPT09IG1heFllYXIgJiYgbW9udGggPiBtYXhEYXRlLmdldE1vbnRoKCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobWluRGF0ZSkge1xuICAgICAgaWYgKHllYXIgPCBtaW5EYXRlLmdldEZ1bGxZZWFyKCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoeWVhciA9PT0gbWluRGF0ZS5nZXRGdWxsWWVhcigpICYmIG1vbnRoIDwgbWluRGF0ZS5nZXRNb250aCgpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKG1heERhdGUpIHtcbiAgICAgIGlmICh5ZWFyID4gbWF4RGF0ZS5nZXRGdWxsWWVhcigpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHllYXIgPT09IG1heERhdGUuZ2V0RnVsbFllYXIoKSAmJiBtb250aCA+IG1heERhdGUuZ2V0TW9udGgoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlVmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcgPSB0aGlzLnZpZXcgPT09ICd5ZWFyJyA/ICd5ZWFycycgOiAneWVhcic7XG4gIH1cblxuICB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW5lZCA9ICF0aGlzLmlzT3BlbmVkO1xuXG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkICYmIHRoaXMudmlldyA9PT0gJ3llYXJzJykge1xuICAgICAgdGhpcy50b2dnbGVWaWV3KCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW5lZCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMudmlldyA9PT0gJ3llYXJzJykge1xuICAgICAgdGhpcy50b2dnbGVWaWV3KCk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXQoZmlyZVZhbHVlQ2hhbmdlRXZlbnQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZSA9IG51bGw7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gbnVsbDtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLmluaXRNb250aE5hbWUoKTtcbiAgICBpZiAoZmlyZVZhbHVlQ2hhbmdlRXZlbnQgJiYgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy5pbm5lclZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbDogRGF0ZSkge1xuICAgIGlmICh2YWwpIHtcbiAgICAgIHRoaXMuZGF0ZSA9IHZhbDtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbDtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgdGhpcy5pbml0TW9udGhOYW1lKCk7XG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IGZvcm1hdCh0aGlzLmlubmVyVmFsdWUsIHRoaXMuZGlzcGxheUZvcm1hdCwgdGhpcy5sb2NhbGUpO1xuICAgICAgdGhpcy5iYXJUaXRsZSA9IGZvcm1hdChzdGFydE9mTW9udGgodmFsKSwgdGhpcy5iYXJUaXRsZUZvcm1hdCwgdGhpcy5sb2NhbGUpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSkgb25CbHVyKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uZ3gtbW9kZXJuZGF0ZXBpY2tlci1pbnB1dCcpO1xuXG4gICAgaWYgKGlucHV0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGUudGFyZ2V0ID09PSBpbnB1dCB8fCBpbnB1dC5jb250YWlucyg8YW55PmUudGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5uZ3gtbW9kZXJuZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXInKTtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBpc1llYXJVbml0ID0gdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygneWVhci11bml0Jyk7XG4gICAgY29uc3QgaXNNb250aFVuaXQgPSB0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdtb250aC11bml0Jyk7XG5cbiAgICBpZiAoY29udGFpbmVyICYmIGNvbnRhaW5lciAhPT0gdGFyZ2V0ICYmICFjb250YWluZXIuY29udGFpbnModGFyZ2V0KSAmJiAhaXNZZWFyVW5pdCAmJiAhaXNNb250aFVuaXQpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuZ3gtbW9kZXJuZGF0ZXBpY2tlci1jb250YWluZXJcIj5cbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgKm5nSWY9XCIhaGVhZGxlc3NcIiBjbGFzcz1cIm5neC1tb2Rlcm5kYXRlcGlja2VyLWlucHV0XCIgWyhuZ01vZGVsKV09XCJkaXNwbGF5VmFsdWVcIiByZWFkb25seSBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtuZ0NsYXNzXT1cImFkZENsYXNzXCIgW25nU3R5bGVdPVwiYWRkU3R5bGVcIiBbaWRdPVwiZmllbGRJZFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJ0b2dnbGUoKVwiIC8+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGRpdiBjbGFzcz1cIm5neC1tb2Rlcm5kYXRlcGlja2VyLWNhbGVuZGFyLWNvbnRhaW5lciBuZ3gtbW9kZXJuZGF0ZXBpY2tlci1wb3NpdGlvbi17e3Bvc2l0aW9ufX1cIiAqbmdJZj1cImlzT3BlbmVkXCI+XG4gICAgPGRpdiBjbGFzcz1cInRvcGJhci1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNhbGVuZGFyLXNlbGVjdGlvbi15ZWFyXCI+XG4gICAgICAgIDxzdmcgd2lkdGg9XCIxNXB4XCIgaGVpZ2h0PVwiMTVweFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiXG4gIFx0ICAgICAgIHZpZXdCb3g9XCIwIDAgNDg5LjYgNDg5LjZcIiBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDg5LjYgNDg5LjY7XCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIlxuICAgICAgICAgIChjbGljayk9XCJ2aWV3ID09PSAneWVhcicgJiYgcHJldlllYXIoKVwiPlxuICAgICAgICAgIDxnPlxuICAgICAgICAgIFx0PGc+XG4gICAgICAgICAgXHRcdDxwYXRoIHN0eWxlPVwiZmlsbDojMkMyRjMzO1wiIGQ9XCJNMjQ0LjgsNDg5LjZjMTM1LDAsMjQ0LjgtMTA5LjgsMjQ0LjgtMjQ0LjhTMzc5LjgsMCwyNDQuOCwwUzAsMTA5LjgsMCwyNDQuOFxuICAgICAgICAgIFx0XHRcdFMxMDkuOCw0ODkuNiwyNDQuOCw0ODkuNnogTTI0NC44LDE5LjhjMTI0LjEsMCwyMjUsMTAwLjksMjI1LDIyNXMtMTAwLjksMjI1LTIyNSwyMjVzLTIyNS0xMDAuOS0yMjUtMjI1UzEyMC43LDE5LjgsMjQ0LjgsMTkuOHpcIlxuICAgICAgICAgIFx0XHRcdC8+XG4gICAgICAgICAgXHRcdDxwYXRoIHN0eWxlPVwiZmlsbDojM0M5MkNBO1wiIGQ9XCJNMjY1LjUsMzI2LjFjMS45LDEuOSw0LjUsMi45LDcsMi45czUuMS0xLDctMi45YzMuOS0zLjksMy45LTEwLjEsMC0xNGwtNjcuMy02Ny4zbDY3LjMtNjcuM1xuICAgICAgICAgIFx0XHRcdGMzLjktMy45LDMuOS0xMC4xLDAtMTRzLTEwLjEtMy45LTE0LDBsLTc0LjMsNzQuM2MtMy45LDMuOS0zLjksMTAuMSwwLDE0TDI2NS41LDMyNi4xelwiLz5cbiAgICAgICAgICBcdDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRvcGJhci10aXRsZVwiIChjbGljayk9XCJ0b2dnbGVWaWV3KCk7IGluaXRZZWFycygpO1wiPnt7IGJhclRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMTVweFwiIGhlaWdodD1cIjE1cHhcIiB2aWV3Qm94PVwiMCAwIDYgMTBcIiB2ZXJzaW9uPVwiMS4xXCIgaWQ9XCJMYXllcl8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCJcbiAgXHQgICAgICAgdmlld0JveD1cIjAgMCA0ODkuNiA0ODkuNlwiIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0ODkuNiA0ODkuNjtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInZpZXcgPT09ICd5ZWFyJyAmJiBuZXh0WWVhcigpXCI+XG4gICAgICAgICAgPGc+XG4gICAgICAgICAgXHQ8Zz5cbiAgICAgICAgICBcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiMyQzJGMzM7XCIgZD1cIk0yNDQuOCw0ODkuNmMxMzUsMCwyNDQuOC0xMDkuOCwyNDQuOC0yNDQuOFMzNzkuOCwwLDI0NC44LDBTMCwxMDkuOCwwLDI0NC44XG4gICAgICAgICAgXHRcdFx0UzEwOS44LDQ4OS42LDI0NC44LDQ4OS42eiBNMjQ0LjgsMTkuOGMxMjQuMSwwLDIyNSwxMDAuOSwyMjUsMjI1cy0xMDAuOSwyMjUtMjI1LDIyNXMtMjI1LTEwMC45LTIyNS0yMjVTMTIwLjcsMTkuOCwyNDQuOCwxOS44elwiXG4gICAgICAgICAgXHRcdFx0Lz5cbiAgICAgICAgICBcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiMzQzkyQ0E7XCIgZD1cIk0yMTAsMzI2LjFjMS45LDEuOSw0LjUsMi45LDcsMi45czUuMS0xLDctMi45bDc0LjMtNzQuM2MxLjktMS45LDIuOS00LjQsMi45LTdzLTEtNS4xLTIuOS03XG4gICAgICAgICAgXHRcdFx0TDIyNCwxNjMuNWMtMy45LTMuOS0xMC4xLTMuOS0xNCwwcy0zLjksMTAuMSwwLDE0bDY3LjMsNjcuM0wyMTAsMzEyLjFDMjA2LjIsMzE2LDIwNi4yLDMyMi4zLDIxMCwzMjYuMXpcIi8+XG4gICAgICAgICAgXHQ8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY2FsZW5kYXItZGF5LW5hbWVzXCIgKm5nSWY9XCJ2aWV3ID09PSAneWVhcidcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXktbmFtZS11bml0XCIgKm5nRm9yPVwibGV0IG5hbWUgb2YgZGF5TmFtZXNcIj57eyBuYW1lIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY2FsZW5kYXItY29udGFpbmVyXCIgKm5nSWY9XCJ2aWV3ID09PSAneWVhcidcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNhbGVuZGFyLW1vbnRoLW5hbWVzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb250aC1uYW1lLXVuaXRcIiAqbmdGb3I9XCJsZXQgbW9udGggb2YgbW9udGhOYW1lczsgbGV0IGluZGV4ID0gaW5kZXhcIiAoY2xpY2spPVwibW9udGguaXNTZWxlY3RhYmxlICYmIHNlbGVjdE1vbnRoKGluZGV4KVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9udGgtdW5pdFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy10aGlzLW1vbnRoJzogbW9udGguaXNUaGlzTW9udGgsICAnaXMtZGlzYWJsZWQnOiAhbW9udGguaXNTZWxlY3RhYmxlICwnaXMtc2VsZWN0ZWQnOiBtb250aC5pc1NlbGVjdGVkfVwiPlxuICAgICAgICAgICAge3sgbW9udGgubmFtZSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNhbGVuZGVyLWRheXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNhbGVuZGFyLWRheXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF5LXVuaXRcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXM7IGxldCBpID0gaW5kZXg7XCIgPlxuICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieyAnaXMtcHJldi1tb250aCc6ICFkYXkuaW5UaGlzTW9udGgsICdpcy10b2RheSc6IGRheS5pc1RvZGF5LCAgJ2lzLWRpc2FibGVkJzogIWRheS5pc1NlbGVjdGFibGUsICdpcy13ZWVrZW5kJzogZGF5LmlzV2Vla2VuZCAsICdpcy1ob2xpZGF5JyA6IGRheS5pc0hvbGlkYXksICdpcy1zZWxlY3RlZCc6IGRheS5pc1NlbGVjdGVkfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkYXkuaXNTZWxlY3RhYmxlICYmIHNldERhdGUoaSlcIj5cbiAgICAgICAgICAgICAge3sgZGF5LmRheSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtYWluLWNhbGVuZGFyLWNvbnRhaW5lclwiICpuZ0lmPVwidmlldyA9PT0gJ3llYXJzJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY2FsZW5kYXIteWVhcnNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ5ZWFyLXVuaXRcIiAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyczsgbGV0IGkgPSBpbmRleDtcIiBbbmdDbGFzc109XCJ7ICdpcy1zZWxlY3RlZCc6IHllYXIuaXNUaGlzWWVhciAsICdpcy10b2RheSc6IHllYXIuaXNUb2RheSAsICdpcy1kaXNhYmxlZCcgOiAheWVhci5pc1NlbGVjdGFibGV9XCIgKGNsaWNrKT1cInllYXIuaXNTZWxlY3RhYmxlICYmIHNldFllYXIoaSlcIj57eyB5ZWFyLnllYXIgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { NgxModerndatepickerComponent } from '../component/ngx-moderndatepicker.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NgxModerndatepickerModule {
|
|
7
|
+
}
|
|
8
|
+
NgxModerndatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxModerndatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
NgxModerndatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxModerndatepickerModule, declarations: [NgxModerndatepickerComponent], imports: [CommonModule, FormsModule], exports: [NgxModerndatepickerComponent] });
|
|
10
|
+
NgxModerndatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxModerndatepickerModule, imports: [[CommonModule, FormsModule]] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NgxModerndatepickerModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [NgxModerndatepickerComponent],
|
|
15
|
+
imports: [CommonModule, FormsModule],
|
|
16
|
+
exports: [NgxModerndatepickerComponent]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1vZGVybmRhdGVwaWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL25neC1tb2Rlcm5kYXRlcGlja2VyL21vZHVsZS9uZ3gtbW9kZXJuZGF0ZXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQU8zRixNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsaUJBSnJCLDRCQUE0QixhQUNqQyxZQUFZLEVBQUUsV0FBVyxhQUN6Qiw0QkFBNEI7dUhBRTNCLHlCQUF5QixZQUgzQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7MkZBR3pCLHlCQUF5QjtrQkFMckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTmd4TW9kZXJuZGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudC9uZ3gtbW9kZXJuZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ3hNb2Rlcm5kYXRlcGlja2VyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBleHBvcnRzOiBbTmd4TW9kZXJuZGF0ZXBpY2tlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4TW9kZXJuZGF0ZXBpY2tlck1vZHVsZSB7IH1cbiJdfQ==
|