loading.js 122 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091
  1. layui.define(['table', 'jquery', 'element'], function (exports) {
  2. "use strict";
  3. var MOD_NAME = 'loading',
  4. $ = layui.jquery,
  5. element = layui.element;
  6. var pearOper = new function () {
  7. this.blockRemove = function(dom,time){
  8. Notiflix.Block.Remove(dom, time);
  9. }
  10. this.block = function(option){
  11. if(option.type==1){
  12. Notiflix.Block.Standard(
  13. option.elem
  14. ,option.msg);
  15. }
  16. else if(option.type==2){
  17. Notiflix.Block.Hourglass(
  18. option.elem
  19. ,option.msg);
  20. }
  21. else if(option.type==3){
  22. Notiflix.Block.Circle(
  23. option.elem
  24. ,option.msg);
  25. }
  26. else if(option.type==4){
  27. Notiflix.Block.Arrows(
  28. option.elem
  29. ,option.msg);
  30. }
  31. else if(option.type==5){
  32. Notiflix.Block.Dots(
  33. option.elem
  34. ,option.msg);
  35. }
  36. else if(option.type==6){
  37. Notiflix.Block.Pulse(
  38. option.elem
  39. ,option.msg);
  40. }
  41. }
  42. this.report = function(option){
  43. if(option.type=="success"){
  44. Notiflix.Report.Success(
  45. option.title,
  46. option.message,'确认');
  47. }else if(option.type=="failure"){
  48. Notiflix.Report.Failure(
  49. option.title,
  50. option.message,'确认');
  51. }else if(option.type=="warning"){
  52. Notiflix.Report.Warning(
  53. option.title,
  54. option.message,'确认');
  55. }else if(option.type=="info"){
  56. Notiflix.Report.Info(
  57. option.title,
  58. option.message,'确认');
  59. }
  60. }
  61. this.notice = function(option){
  62. Notiflix.Notify.Init({
  63. position:option.position?"right-top":option.position,
  64. });
  65. if(option.type=="success"){
  66. Notiflix.Notify.Success(option.title);
  67. }else if(option.type=="failure"){
  68. Notiflix.Notify.Failure(option.title);
  69. }else if(option.type=="warning"){
  70. Notiflix.Notify.Warning(option.title);
  71. }else if(option.type=="info"){
  72. Notiflix.Notify.Info(option.title);
  73. }
  74. }
  75. this.confirm = function(option){
  76. Notiflix.Confirm.Show(
  77. option.title,
  78. option.message,
  79. '确认',
  80. '取消',
  81. option.success,
  82. option.cancle
  83. );
  84. }
  85. this.drawer = function(position,dom,distance){
  86. var _right = new mSlider({
  87. dom: dom,
  88. direction: position,
  89. distance:distance
  90. });
  91. _right.open();
  92. }
  93. this.loadRemove = function(time){
  94. Notiflix.Loading.Remove(time);
  95. }
  96. this.Load = function(type,message){
  97. if(type==1){
  98. Notiflix.Loading.Standard(message);
  99. }else if(type==2){
  100. Notiflix.Loading.Hourglass(message);
  101. }else if(type==3){
  102. Notiflix.Loading.Circle(message);
  103. }else if(type==4){
  104. Notiflix.Loading.Dots(message);
  105. }else if(type==5){
  106. Notiflix.Loading.Pulse(message);
  107. }
  108. }
  109. this.msg = function(option){
  110. if(option.type=="success"){
  111. layer.msg(option.title,{icon:1,time:option.time},option.callback);
  112. }else if(option.type=="failure"){
  113. layer.msg(option.title,{icon:2,time:option.time},option.callback);
  114. }else if(option.type=="warning"){
  115. layer.msg(option.title,{icon:3,time:option.time},option.callback);
  116. }else if(option.type=="info"){
  117. layer.msg(option.title,{icon:4,time:option.time},option.callback);
  118. }
  119. }
  120. };
  121. // Notiflix: Notify Default Settings on
  122. var notifySettings = {
  123. wrapID: 'NotiflixNotifyWrap', // can not customizable
  124. width: '280px',
  125. position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom'
  126. distance: '10px',
  127. opacity: 1,
  128. borderRadius: '5px',
  129. rtl: false,
  130. timeout: 3000,
  131. messageMaxLength: 110,
  132. backOverlay: false,
  133. backOverlayColor: 'rgba(0,0,0,0.5)',
  134. plainText: true,
  135. showOnlyTheLastOne: false,
  136. clickToClose: false,
  137. ID: 'NotiflixNotify',
  138. className: 'notiflix-notify',
  139. zindex: 4001,
  140. useGoogleFont: true,
  141. fontFamily: 'Quicksand',
  142. fontSize: '13px',
  143. cssAnimation: true,
  144. cssAnimationDuration: 400,
  145. cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'
  146. closeButton: false,
  147. useIcon: true,
  148. useFontAwesome: false,
  149. fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'
  150. fontAwesomeIconSize: '34px',
  151. success: {
  152. background: '#32c682',
  153. textColor: '#fff',
  154. childClassName: 'success',
  155. notiflixIconColor: 'rgba(0,0,0,0.2)',
  156. fontAwesomeClassName: 'fas fa-check-circle',
  157. fontAwesomeIconColor: 'rgba(0,0,0,0.2)',
  158. },
  159. failure: {
  160. background: '#ff5549',
  161. textColor: '#fff',
  162. childClassName: 'failure',
  163. notiflixIconColor: 'rgba(0,0,0,0.2)',
  164. fontAwesomeClassName: 'fas fa-times-circle',
  165. fontAwesomeIconColor: 'rgba(0,0,0,0.2)',
  166. },
  167. warning: {
  168. background: '#eebf31',
  169. textColor: '#fff',
  170. childClassName: 'warning',
  171. notiflixIconColor: 'rgba(0,0,0,0.2)',
  172. fontAwesomeClassName: 'fas fa-exclamation-circle',
  173. fontAwesomeIconColor: 'rgba(0,0,0,0.2)',
  174. },
  175. info: {
  176. background: '#26c0d3',
  177. textColor: '#fff',
  178. childClassName: 'info',
  179. notiflixIconColor: 'rgba(0,0,0,0.2)',
  180. fontAwesomeClassName: 'fas fa-info-circle',
  181. fontAwesomeIconColor: 'rgba(0,0,0,0.2)',
  182. },
  183. };
  184. // Notiflix: Notify Default Settings off
  185. // Notiflix: Report Default Settings on
  186. var reportSettings = {
  187. ID: 'NotiflixReportWrap', // can not customizable
  188. className: 'notiflix-report',
  189. width: '320px',
  190. backgroundColor: '#f8f8f8',
  191. borderRadius: '25px',
  192. rtl: false,
  193. zindex: 4002,
  194. backOverlay: true,
  195. backOverlayColor: 'rgba(0, 0, 0, 0.5)',
  196. useGoogleFont: true,
  197. fontFamily: 'Quicksand',
  198. svgSize: '110px',
  199. plainText: true,
  200. titleFontSize: '16px',
  201. titleMaxLength: 34,
  202. messageFontSize: '13px',
  203. messageMaxLength: 400,
  204. buttonFontSize: '14px',
  205. buttonMaxLength: 34,
  206. cssAnimation: true,
  207. cssAnimationDuration: 360,
  208. cssAnimationStyle: 'fade', // 'fade' - 'zoom'
  209. success: {
  210. svgColor: '#32c682',
  211. titleColor: '#1e1e1e',
  212. messageColor: '#242424',
  213. buttonBackground: '#32c682',
  214. buttonColor: '#fff',
  215. },
  216. failure: {
  217. svgColor: '#ff5549',
  218. titleColor: '#1e1e1e',
  219. messageColor: '#242424',
  220. buttonBackground: '#ff5549',
  221. buttonColor: '#fff',
  222. },
  223. warning: {
  224. svgColor: '#eebf31',
  225. titleColor: '#1e1e1e',
  226. messageColor: '#242424',
  227. buttonBackground: '#eebf31',
  228. buttonColor: '#fff',
  229. },
  230. info: {
  231. svgColor: '#26c0d3',
  232. titleColor: '#1e1e1e',
  233. messageColor: '#242424',
  234. buttonBackground: '#26c0d3',
  235. buttonColor: '#fff',
  236. },
  237. };
  238. // Notiflix: Report Default Settings off
  239. // Notiflix: Confirm Default Settings on
  240. var confirmSettings = {
  241. ID: 'NotiflixConfirmWrap', // can not customizable
  242. className: 'notiflix-confirm',
  243. width: '300px',
  244. zindex: 4003,
  245. position: 'center', // 'center' - 'center-top' - 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom'
  246. distance: '10px',
  247. backgroundColor: '#f8f8f8',
  248. borderRadius: '25px',
  249. backOverlay: true,
  250. backOverlayColor: 'rgba(0,0,0,0.5)',
  251. rtl: false,
  252. useGoogleFont: true,
  253. fontFamily: 'Quicksand',
  254. cssAnimation: true,
  255. cssAnimationStyle: 'fade', // 'zoom' - 'fade'
  256. cssAnimationDuration: 300,
  257. plainText: true,
  258. titleColor: '#32c682',
  259. titleFontSize: '16px',
  260. titleMaxLength: 34,
  261. messageColor: '#1e1e1e',
  262. messageFontSize: '14px',
  263. messageMaxLength: 110,
  264. buttonsFontSize: '15px',
  265. buttonsMaxLength: 34,
  266. okButtonColor: '#f8f8f8',
  267. okButtonBackground: '#32c682',
  268. cancelButtonColor: '#f8f8f8',
  269. cancelButtonBackground: '#a9a9a9',
  270. };
  271. // Notiflix: Confirm Default Settings off
  272. // Notiflix: Loading Default Settings on
  273. var loadingSettings = {
  274. ID: 'NotiflixLoadingWrap', // can not customizable
  275. className: 'notiflix-loading',
  276. zindex: 4000,
  277. backgroundColor: 'rgba(0,0,0,0.8)',
  278. rtl: false,
  279. useGoogleFont: true,
  280. fontFamily: 'Quicksand',
  281. cssAnimation: true,
  282. cssAnimationDuration: 400,
  283. clickToClose: false,
  284. customSvgUrl: null,
  285. svgSize: '80px',
  286. svgColor: '#32c682',
  287. messageID: 'NotiflixLoadingMessage',
  288. messageFontSize: '15px',
  289. messageMaxLength: 34,
  290. messageColor: '#dcdcdc',
  291. };
  292. // Notiflix: Loading Default Settings off
  293. // Notiflix: Block Default Settings on
  294. var blockSettings = {
  295. ID: 'NotiflixBlockWrap', // can not customizable
  296. querySelectorLimit: 200,
  297. className: 'notiflix-block',
  298. position: 'absolute',
  299. zindex: 1000,
  300. backgroundColor: 'rgba(255,255,255,0.9)',
  301. rtl: false,
  302. useGoogleFont: true,
  303. fontFamily: 'Quicksand',
  304. cssAnimation: true,
  305. cssAnimationDuration: 300,
  306. svgSize: '45px',
  307. svgColor: '#383838',
  308. messageFontSize: '14px',
  309. messageMaxLength: 34,
  310. messageColor: '#383838',
  311. };
  312. // Notiflix: Block Default Settings off
  313. // Notiflix: Extend on
  314. var extendNotiflix = function () {
  315. // variables
  316. var extended = {};
  317. var deep = false;
  318. var i = 0;
  319. // check if a deep merge
  320. if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {
  321. deep = arguments[0];
  322. i++;
  323. }
  324. // merge the object into the extended object
  325. var merge = function (obj) {
  326. for (var prop in obj) {
  327. if (Object.prototype.hasOwnProperty.call(obj, prop)) {
  328. // if property is an object, merge properties
  329. if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {
  330. extended[prop] = extendNotiflix(extended[prop], obj[prop]);
  331. } else {
  332. extended[prop] = obj[prop];
  333. }
  334. }
  335. }
  336. };
  337. // loop through each object and conduct a merge
  338. for (; i < arguments.length; i++) {
  339. merge(arguments[i]);
  340. }
  341. return extended;
  342. };
  343. // Notiflix: Extend off
  344. // Notiflix: Plaintext on
  345. var notiflixPlaintext = function (html) {
  346. var htmlPool = document.createElement('div');
  347. htmlPool.innerHTML = html;
  348. return htmlPool.textContent || htmlPool.innerText || '';
  349. };
  350. // Notiflix: Plaintext off
  351. // Notiflix: GoogleFont on
  352. var notiflixGoogleFont = function (use, family) {
  353. if (!document.getElementById('NotiflixQuicksand') && use && (family && typeof family === 'string' && family.toLowerCase() === 'quicksand')) {
  354. // google fonts dns prefetch on
  355. var dns = '<link id="NotiflixGoogleDNS" rel="dns-prefetch" href="//fonts.googleapis.com" />';
  356. var dnsRange = document.createRange();
  357. dnsRange.selectNode(document.head);
  358. var dnsFragment = dnsRange.createContextualFragment(dns);
  359. document.head.appendChild(dnsFragment);
  360. // google fonts dns prefetch off
  361. // google fonts style on
  362. var font = '<link id="NotiflixQuicksand" href="https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700&amp;subset=latin-ext" rel="stylesheet" />';
  363. var fontRange = document.createRange();
  364. fontRange.selectNode(document.head);
  365. var fontFragment = fontRange.createContextualFragment(font);
  366. document.head.appendChild(fontFragment);
  367. // google fonts style off
  368. }
  369. };
  370. // Notiflix: GoogleFont off
  371. // Notiflix: Console Error on
  372. var notiflixConsoleError = function (title, message) {
  373. return console.error('%c ' + title + ' ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\n' + message + '\nVisit documentation page to learn more: https://www.notiflix.com/documentation');
  374. };
  375. // Notiflix: Console Error off
  376. // Notiflix: Console Log on
  377. var notiflixConsoleLog = function (title, message) {
  378. return console.log('%c ' + title + ' ', 'padding:2px;border-radius:20px;color:#fff;background:#26c0d3', '\n' + message + '\nVisit documentation page to learn more: https://www.notiflix.com/documentation');
  379. };
  380. // Notiflix: Console Log off
  381. // Notiflix: Main on
  382. var newNotifySettings;
  383. var newReportSettings;
  384. var newConfirmSettings;
  385. var newLoadingSettings;
  386. var newBlockSettings;
  387. var Notiflix = {
  388. // Notify on
  389. Notify: {
  390. // Init
  391. Init: function (userNotifyOpt) {
  392. // extend options
  393. newNotifySettings = extendNotiflix(true, notifySettings, userNotifyOpt);
  394. // use GoogleFonts if "Quicksand"
  395. notiflixGoogleFont(newNotifySettings.useGoogleFont, newNotifySettings.fontFamily);
  396. },
  397. // Merge First Init
  398. Merge: function (userNotifyExtend) {
  399. // if initialized already
  400. if (newNotifySettings) {
  401. newNotifySettings = extendNotiflix(true, newNotifySettings, userNotifyExtend);
  402. }
  403. // initialize first
  404. else {
  405. notiflixConsoleError('Notiflix Error', 'You have to initialize the Notify module before call Merge function.');
  406. return false;
  407. }
  408. },
  409. // Display Notification: Success
  410. Success: function (message, callback) {
  411. // if not initialized pretend like init
  412. if (!newNotifySettings) {
  413. Notiflix.Notify.Init({});
  414. }
  415. var theType = newNotifySettings.success;
  416. NotiflixNotify(message, callback, theType, 'Success');
  417. },
  418. // Display Notification: Failure
  419. Failure: function (message, callback) {
  420. // if not initialized pretend like init
  421. if (!newNotifySettings) {
  422. Notiflix.Notify.Init({});
  423. }
  424. var theType = newNotifySettings.failure;
  425. NotiflixNotify(message, callback, theType, 'Failure');
  426. },
  427. // Display Notification: Warning
  428. Warning: function (message, callback) {
  429. // if not initialized pretend like init
  430. if (!newNotifySettings) {
  431. Notiflix.Notify.Init({});
  432. }
  433. var theType = newNotifySettings.warning;
  434. NotiflixNotify(message, callback, theType, 'Warning');
  435. },
  436. // Display Notification: Info
  437. Info: function (message, callback) {
  438. // if not initialized pretend like init
  439. if (!newNotifySettings) {
  440. Notiflix.Notify.Init({});
  441. }
  442. var theType = newNotifySettings.info;
  443. NotiflixNotify(message, callback, theType, 'Info');
  444. },
  445. },
  446. // Notify off
  447. // Report on
  448. Report: {
  449. // Init
  450. Init: function (userReportOpt) {
  451. // extend options
  452. newReportSettings = extendNotiflix(true, reportSettings, userReportOpt);
  453. // use GoogleFonts if "Quicksand"
  454. notiflixGoogleFont(newReportSettings.useGoogleFont, newReportSettings.fontFamily);
  455. },
  456. // Merge First Init
  457. Merge: function (userReportExtend) {
  458. // if initialized already
  459. if (newReportSettings) {
  460. newReportSettings = extendNotiflix(true, newReportSettings, userReportExtend);
  461. }
  462. // initialize first
  463. else {
  464. notiflixConsoleError('Notiflix Error', 'You have to initialize the Report module before call Merge function.');
  465. return false;
  466. }
  467. },
  468. // Display Report: Success
  469. Success: function (title, message, buttonText, buttonCallback) {
  470. // if not initialized pretend like init
  471. if (!newReportSettings) {
  472. Notiflix.Report.Init({});
  473. }
  474. var theType = newReportSettings.success;
  475. NotiflixReport(title, message, buttonText, buttonCallback, theType, 'Success');
  476. },
  477. // Display Report: Failure
  478. Failure: function (title, message, buttonText, buttonCallback) {
  479. // if not initialized pretend like init
  480. if (!newReportSettings) {
  481. Notiflix.Report.Init({});
  482. }
  483. var theType = newReportSettings.failure;
  484. NotiflixReport(title, message, buttonText, buttonCallback, theType, 'Failure');
  485. },
  486. // Display Report: Warning
  487. Warning: function (title, message, buttonText, buttonCallback) {
  488. // if not initialized pretend like init
  489. if (!newReportSettings) {
  490. Notiflix.Report.Init({});
  491. }
  492. var theType = newReportSettings.warning;
  493. NotiflixReport(title, message, buttonText, buttonCallback, theType, 'Warning');
  494. },
  495. // Display Report: Info
  496. Info: function (title, message, buttonText, buttonCallback) {
  497. // if not initialized pretend like init
  498. if (!newReportSettings) {
  499. Notiflix.Report.Init({});
  500. }
  501. var theType = newReportSettings.info;
  502. NotiflixReport(title, message, buttonText, buttonCallback, theType, 'Info');
  503. },
  504. },
  505. // Report off
  506. // Confirm on
  507. Confirm: {
  508. // Init
  509. Init: function (userConfirmOpt) {
  510. // extend options
  511. newConfirmSettings = extendNotiflix(true, confirmSettings, userConfirmOpt);
  512. // use GoogleFonts if "Quicksand"
  513. notiflixGoogleFont(newConfirmSettings.useGoogleFont, newConfirmSettings.fontFamily);
  514. },
  515. // Merge First Init
  516. Merge: function (userConfirmExtend) {
  517. // if initialized already
  518. if (newConfirmSettings) {
  519. newConfirmSettings = extendNotiflix(true, newConfirmSettings, userConfirmExtend);
  520. }
  521. // initialize first
  522. else {
  523. notiflixConsoleError('Notiflix Error', 'You have to initialize the Confirm module before call Merge function.');
  524. return false;
  525. }
  526. },
  527. // Display Confirm: Show
  528. Show: function (title, message, okText, cancelText, okCallback, cancelCallback) {
  529. if (!title) { title = 'Notiflix Confirm'; }
  530. if (!message) { message = 'Do you agree with me?'; }
  531. if (!okText) { okText = 'Yes'; }
  532. if (!cancelText) { cancelText = 'No'; }
  533. if (!okCallback) { okCallback = undefined; }
  534. if (!cancelCallback) { cancelCallback = undefined; }
  535. NotiflixConfirm(title, message, okText, cancelText, okCallback, cancelCallback);
  536. },
  537. },
  538. // Confirm off
  539. // Loading on
  540. Loading: {
  541. // Init
  542. Init: function (userLoadingOpt) {
  543. // extend options
  544. newLoadingSettings = extendNotiflix(true, loadingSettings, userLoadingOpt);
  545. // use GoogleFonts if "Quicksand"
  546. notiflixGoogleFont(newLoadingSettings.useGoogleFont, newLoadingSettings.fontFamily);
  547. },
  548. // Merge First Init
  549. Merge: function (userLoadingExtend) {
  550. // if initialized already
  551. if (newLoadingSettings) {
  552. newLoadingSettings = extendNotiflix(true, newLoadingSettings, userLoadingExtend);
  553. }
  554. // initialize first
  555. else {
  556. notiflixConsoleError('Notiflix Error', 'You have to initialize the Loading module before call Merge function.');
  557. return false;
  558. }
  559. },
  560. // Display Loading: Standard
  561. Standard: function (message) {
  562. NotiflixLoading(message, 'standard', true, 0); // true => display || 0 => delay
  563. },
  564. // Display Loading: Hourglass
  565. Hourglass: function (message) {
  566. NotiflixLoading(message, 'hourglass', true, 0); // true => display || 0 => delay
  567. },
  568. // Display Loading: Circle
  569. Circle: function (message) {
  570. NotiflixLoading(message, 'circle', true, 0); // true => display || 0 => delay
  571. },
  572. // Display Loading: Arrows
  573. Arrows: function (message) {
  574. NotiflixLoading(message, 'arrows', true, 0); // true => display || 0 => delay
  575. },
  576. // Display Loading: Dots
  577. Dots: function (message) {
  578. NotiflixLoading(message, 'dots', true, 0); // true => display || 0 => delay
  579. },
  580. // Display Loading: Pulse
  581. Pulse: function (message) {
  582. NotiflixLoading(message, 'pulse', true, 0); // true => display || 0 => delay
  583. },
  584. // Display Loading: Custom
  585. Custom: function (message) {
  586. NotiflixLoading(message, 'custom', true, 0); // true => display || 0 => delay
  587. },
  588. // Display Loading: Notiflix
  589. Notiflix: function (message) {
  590. NotiflixLoading(message, 'notiflix', true, 0); // true => display || 0 => delay
  591. },
  592. // Remove Loading
  593. Remove: function (theDelay) {
  594. if (!theDelay) { theDelay = 0; }
  595. NotiflixLoading(false, false, false, theDelay); // false = Remove
  596. },
  597. // Change The Message
  598. Change: function (newMessage) {
  599. NotiflixLoadingChange(newMessage);
  600. },
  601. },
  602. // Loading off
  603. // Block on
  604. Block: {
  605. // Initialize
  606. Init: function (userBlockOpt) {
  607. // extend options
  608. newBlockSettings = extendNotiflix(true, blockSettings, userBlockOpt);
  609. // use GoogleFonts if "Quicksand"
  610. notiflixGoogleFont(newBlockSettings.useGoogleFont, newBlockSettings.fontFamily);
  611. },
  612. // Merge First Initialize
  613. Merge: function (userBlockExtend) {
  614. // if initialized already
  615. if (newBlockSettings) {
  616. newBlockSettings = extendNotiflix(true, newBlockSettings, userBlockExtend);
  617. }
  618. // initialize first
  619. else {
  620. notiflixConsoleError('Notiflix Error', 'You have to initialize the "Notiflix.Block" module before call Merge function.');
  621. return false;
  622. }
  623. },
  624. // Display Block: Standard
  625. Standard: function (selector, message) {
  626. var block = true;
  627. var theIcon = 'standard';
  628. NotiflixBlockUnblockElement(block, selector, theIcon, message);
  629. },
  630. // Display Block: Hourglass
  631. Hourglass: function (selector, message) {
  632. var block = true;
  633. var theIcon = 'hourglass';
  634. NotiflixBlockUnblockElement(block, selector, theIcon, message);
  635. },
  636. // Display Block: Circle
  637. Circle: function (selector, message) {
  638. var block = true;
  639. var theIcon = 'circle';
  640. NotiflixBlockUnblockElement(block, selector, theIcon, message);
  641. },
  642. // Display Block: Arrows
  643. Arrows: function (selector, message) {
  644. var block = true;
  645. var theIcon = 'arrows';
  646. NotiflixBlockUnblockElement(block, selector, theIcon, message);
  647. },
  648. // Display Block: Dots
  649. Dots: function (selector, message) {
  650. var block = true;
  651. var theIcon = 'dots';
  652. NotiflixBlockUnblockElement(block, selector, theIcon, message);
  653. },
  654. // Display Block: Pulse
  655. Pulse: function (selector, message) {
  656. var block = true;
  657. var theIcon = 'pulse';
  658. NotiflixBlockUnblockElement(block, selector, theIcon, message);
  659. },
  660. // Remove Block
  661. Remove: function (selector, delay) {
  662. var block = false;
  663. var theIcon = null;
  664. var message = null;
  665. NotiflixBlockUnblockElement(block, selector, theIcon, message, delay);
  666. },
  667. },
  668. // Block off
  669. };
  670. // Notiflix: Main off
  671. // Notiflix: Notify Single on
  672. var notiflixNotifyCount = 0;
  673. var NotiflixNotify = function (message, callback, theType, staticType) {
  674. if (arguments && arguments.length === 4) {
  675. // notify counter on
  676. notiflixNotifyCount++;
  677. // notify counter off
  678. // if no message on
  679. if (!message) {
  680. message = 'Notiflix ' + staticType;
  681. }
  682. // if no message off
  683. // if plainText true = HTML tags not allowed on
  684. if (newNotifySettings.plainText) {
  685. message = notiflixPlaintext(message); // message plain text
  686. }
  687. // if plainText true = HTML tags not allowed off
  688. // if plainText false but the message length more than messageMaxLength = HTML tags error on
  689. if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {
  690. Notiflix.Notify.Merge({ closeButton: true, plainText: false, });
  691. message = '<b>HTML Tags Error:</b> Your content length is more than "messageMaxLength" option.'; // message html error
  692. }
  693. // if plainText false but the message length more than messageMaxLength = HTML tags error off
  694. // message max length substring on
  695. if (message.length > newNotifySettings.messageMaxLength) {
  696. message = message.substring(0, newNotifySettings.messageMaxLength) + '...';
  697. }
  698. // message max length substring off
  699. // font awesome icon style on
  700. if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {
  701. theType.fontAwesomeIconColor = theType.background;
  702. }
  703. // font awesome icon style off
  704. // if cssAnimaion false -> duration on
  705. if (!newNotifySettings.cssAnimation) {
  706. newNotifySettings.cssAnimationDuration = 0;
  707. }
  708. // if cssAnimaion false -> duration off
  709. // notify wrap on
  710. var docBody = document.body;
  711. var ntflxNotifyWrap = document.createElement('div');
  712. ntflxNotifyWrap.id = notifySettings.wrapID;
  713. ntflxNotifyWrap.style.width = newNotifySettings.width;
  714. ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;
  715. ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;
  716. // wrap position on
  717. if (newNotifySettings.position === 'right-bottom') {
  718. ntflxNotifyWrap.style.right = newNotifySettings.distance;
  719. ntflxNotifyWrap.style.bottom = newNotifySettings.distance;
  720. ntflxNotifyWrap.style.top = 'auto';
  721. ntflxNotifyWrap.style.left = 'auto';
  722. } else if (newNotifySettings.position === 'left-top') {
  723. ntflxNotifyWrap.style.left = newNotifySettings.distance;
  724. ntflxNotifyWrap.style.top = newNotifySettings.distance;
  725. ntflxNotifyWrap.style.right = 'auto';
  726. ntflxNotifyWrap.style.bottom = 'auto';
  727. } else if (newNotifySettings.position === 'left-bottom') {
  728. ntflxNotifyWrap.style.left = newNotifySettings.distance;
  729. ntflxNotifyWrap.style.bottom = newNotifySettings.distance;
  730. ntflxNotifyWrap.style.top = 'auto';
  731. ntflxNotifyWrap.style.right = 'auto';
  732. } else { // 'right-top' or else
  733. ntflxNotifyWrap.style.right = newNotifySettings.distance;
  734. ntflxNotifyWrap.style.top = newNotifySettings.distance;
  735. ntflxNotifyWrap.style.left = 'auto';
  736. ntflxNotifyWrap.style.bottom = 'auto';
  737. }
  738. // wrap position off
  739. // if background overlay true on
  740. var notifyOverlay;
  741. if (newNotifySettings.backOverlay) {
  742. notifyOverlay = document.createElement('div');
  743. notifyOverlay.id = newNotifySettings.ID + 'Overlay';
  744. notifyOverlay.style.width = '100%';
  745. notifyOverlay.style.height = '100%';
  746. notifyOverlay.style.position = 'fixed';
  747. notifyOverlay.style.zIndex = newNotifySettings.zindex;
  748. notifyOverlay.style.left = 0;
  749. notifyOverlay.style.top = 0;
  750. notifyOverlay.style.right = 0;
  751. notifyOverlay.style.bottom = 0;
  752. notifyOverlay.style.background = newNotifySettings.backOverlayColor;
  753. notifyOverlay.className = (newNotifySettings.cssAnimation ? 'with-animation' : '');
  754. notifyOverlay.style.animationDuration = (newNotifySettings.cssAnimation) ? newNotifySettings.cssAnimationDuration + 'ms' : '';
  755. if (!document.getElementById(notifyOverlay.id)) {
  756. docBody.appendChild(notifyOverlay);
  757. }
  758. }
  759. // if background overlay true off
  760. if (!document.getElementById(ntflxNotifyWrap.id)) {
  761. docBody.appendChild(ntflxNotifyWrap);
  762. }
  763. // notify wrap off
  764. // notify content on
  765. var ntflxNotify = document.createElement('div');
  766. ntflxNotify.id = newNotifySettings.ID + '-' + notiflixNotifyCount;
  767. ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && !callback ? 'with-close-button' : '') + ' ' + (callback && typeof callback === 'function' ? 'with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'click-to-close' : '');
  768. ntflxNotify.style.fontSize = newNotifySettings.fontSize;
  769. ntflxNotify.style.color = theType.textColor;
  770. ntflxNotify.style.background = theType.background;
  771. ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;
  772. // rtl on
  773. if (newNotifySettings.rtl) {
  774. ntflxNotify.setAttribute('dir', 'rtl');
  775. ntflxNotify.classList.add('rtl-on');
  776. }
  777. // rtl off
  778. // font-family on
  779. ntflxNotify.style.fontFamily = '"' + newNotifySettings.fontFamily + '"' + ', sans-serif';
  780. // font-family off
  781. // use css animation on
  782. if (newNotifySettings.cssAnimation) {
  783. ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';
  784. }
  785. // use css animation off
  786. // close button element on
  787. var closeButtonHTML = '';
  788. if (newNotifySettings.closeButton && !callback) {
  789. closeButtonHTML = '<span class="notify-close-button"><svg class="clck2cls" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="20px" height="20px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"viewBox="0 0 20 20"xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">.click2close{fill:' + theType.notiflixIconColor + '}</style></defs><g><path class="click2close" d="M0.38 2.19l7.8 7.81 -7.8 7.81c-0.51,0.5 -0.51,1.31 -0.01,1.81 0.25,0.25 0.57,0.38 0.91,0.38 0.34,0 0.67,-0.14 0.91,-0.38l7.81 -7.81 7.81 7.81c0.24,0.24 0.57,0.38 0.91,0.38 0.34,0 0.66,-0.14 0.9,-0.38 0.51,-0.5 0.51,-1.31 0,-1.81l-7.81 -7.81 7.81 -7.81c0.51,-0.5 0.51,-1.31 0,-1.82 -0.5,-0.5 -1.31,-0.5 -1.81,0l-7.81 7.81 -7.81 -7.81c-0.5,-0.5 -1.31,-0.5 -1.81,0 -0.51,0.51 -0.51,1.32 0,1.82z"/></g></svg></span>';
  790. }
  791. // close buttpon element off
  792. // use icon on
  793. if (newNotifySettings.useIcon) {
  794. // use font awesome
  795. if (newNotifySettings.useFontAwesome) {
  796. ntflxNotify.innerHTML = '<i style="color:' + theType.fontAwesomeIconColor + '; font-size:' + newNotifySettings.fontAwesomeIconSize + ';" class="nmi wfa ' + theType.fontAwesomeClassName + ' ' + (newNotifySettings.fontAwesomeIconStyle === 'shadow' ? 'shadow' : 'basic') + '"></i><span class="the-message with-icon">' + message + '</span>' + (newNotifySettings.closeButton ? closeButtonHTML : '');
  797. }
  798. // use notiflix icon
  799. else {
  800. var svgIcon;
  801. if (staticType === 'Success') { // success
  802. svgIcon = '<svg class="nmi" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="40px" height="40px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"viewBox="0 0 40 40"xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">#Notiflix-Icon-Success{fill:' + theType.notiflixIconColor + '}</style></defs><g><path id="Notiflix-Icon-Success" class="fil0" d="M20 0c11.03,0 20,8.97 20,20 0,11.03 -8.97,20 -20,20 -11.03,0 -20,-8.97 -20,-20 0,-11.03 8.97,-20 20,-20zm0 37.98c9.92,0 17.98,-8.06 17.98,-17.98 0,-9.92 -8.06,-17.98 -17.98,-17.98 -9.92,0 -17.98,8.06 -17.98,17.98 0,9.92 8.06,17.98 17.98,17.98zm-2.4 -13.29l11.52 -12.96c0.37,-0.41 1.01,-0.45 1.42,-0.08 0.42,0.37 0.46,1 0.09,1.42l-12.16 13.67c-0.19,0.22 -0.46,0.34 -0.75,0.34 -0.23,0 -0.45,-0.07 -0.63,-0.22l-7.6 -6.07c-0.43,-0.35 -0.5,-0.99 -0.16,-1.42 0.35,-0.43 0.99,-0.5 1.42,-0.16l6.85 5.48z"/></g></svg>';
  803. } else if (staticType === 'Failure') { // failure
  804. svgIcon = '<svg class="nmi" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="40px" height="40px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"viewBox="0 0 40 40"xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">#Notiflix-Icon-Failure{fill:' + theType.notiflixIconColor + '}</style></defs><g><path id="Notiflix-Icon-Failure" class="fil0" d="M20 0c11.03,0 20,8.97 20,20 0,11.03 -8.97,20 -20,20 -11.03,0 -20,-8.97 -20,-20 0,-11.03 8.97,-20 20,-20zm0 37.98c9.92,0 17.98,-8.06 17.98,-17.98 0,-9.92 -8.06,-17.98 -17.98,-17.98 -9.92,0 -17.98,8.06 -17.98,17.98 0,9.92 8.06,17.98 17.98,17.98zm1.42 -17.98l6.13 6.12c0.39,0.4 0.39,1.04 0,1.43 -0.19,0.19 -0.45,0.29 -0.71,0.29 -0.27,0 -0.53,-0.1 -0.72,-0.29l-6.12 -6.13 -6.13 6.13c-0.19,0.19 -0.44,0.29 -0.71,0.29 -0.27,0 -0.52,-0.1 -0.71,-0.29 -0.39,-0.39 -0.39,-1.03 0,-1.43l6.13 -6.12 -6.13 -6.13c-0.39,-0.39 -0.39,-1.03 0,-1.42 0.39,-0.39 1.03,-0.39 1.42,0l6.13 6.12 6.12 -6.12c0.4,-0.39 1.04,-0.39 1.43,0 0.39,0.39 0.39,1.03 0,1.42l-6.13 6.13z"/></g></svg>';
  805. } else if (staticType === 'Warning') { // warning
  806. svgIcon = '<svg class="nmi" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="40px" height="40px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"viewBox="0 0 40 40"xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">#Notiflix-Icon-Warning{fill:' + theType.notiflixIconColor + '}</style></defs><g><path id="Notiflix-Icon-Warning" class="fil0" d="M21.91 3.48l17.8 30.89c0.84,1.46 -0.23,3.25 -1.91,3.25l-35.6 0c-1.68,0 -2.75,-1.79 -1.91,-3.25l17.8 -30.89c0.85,-1.47 2.97,-1.47 3.82,0zm16.15 31.84l-17.8 -30.89c-0.11,-0.2 -0.41,-0.2 -0.52,0l-17.8 30.89c-0.12,0.2 0.05,0.4 0.26,0.4l35.6 0c0.21,0 0.38,-0.2 0.26,-0.4zm-19.01 -4.12l0 -1.05c0,-0.53 0.42,-0.95 0.95,-0.95 0.53,0 0.95,0.42 0.95,0.95l0 1.05c0,0.53 -0.42,0.95 -0.95,0.95 -0.53,0 -0.95,-0.42 -0.95,-0.95zm0 -4.66l0 -13.39c0,-0.52 0.42,-0.95 0.95,-0.95 0.53,0 0.95,0.43 0.95,0.95l0 13.39c0,0.53 -0.42,0.96 -0.95,0.96 -0.53,0 -0.95,-0.43 -0.95,-0.96z"/></g></svg>';
  807. } else if (staticType === 'Info') { // info
  808. svgIcon = '<svg class="nmi" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="40px" height="40px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"viewBox="0 0 40 40"xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">#Notiflix-Icon-Info{fill:' + theType.notiflixIconColor + '}</style></defs><g><path id="Notiflix-Icon-Info" class="fil0" d="M20 0c11.03,0 20,8.97 20,20 0,11.03 -8.97,20 -20,20 -11.03,0 -20,-8.97 -20,-20 0,-11.03 8.97,-20 20,-20zm0 37.98c9.92,0 17.98,-8.06 17.98,-17.98 0,-9.92 -8.06,-17.98 -17.98,-17.98 -9.92,0 -17.98,8.06 -17.98,17.98 0,9.92 8.06,17.98 17.98,17.98zm-0.99 -23.3c0,-0.54 0.44,-0.98 0.99,-0.98 0.55,0 0.99,0.44 0.99,0.98l0 15.86c0,0.55 -0.44,0.99 -0.99,0.99 -0.55,0 -0.99,-0.44 -0.99,-0.99l0 -15.86zm0 -5.22c0,-0.55 0.44,-0.99 0.99,-0.99 0.55,0 0.99,0.44 0.99,0.99l0 1.09c0,0.54 -0.44,0.99 -0.99,0.99 -0.55,0 -0.99,-0.45 -0.99,-0.99l0 -1.09z"/></g></svg>';
  809. } else {
  810. svgIcon = '';
  811. }
  812. ntflxNotify.innerHTML = svgIcon + '<span class="the-message with-icon">' + message + '</span>' + (newNotifySettings.closeButton ? closeButtonHTML : '');
  813. }
  814. }
  815. // without icon
  816. else {
  817. ntflxNotify.innerHTML = '<span class="the-message">' + message + '</span>' + (newNotifySettings.closeButton ? closeButtonHTML : '');
  818. }
  819. // use icon off
  820. // notify content off
  821. // notify append or prepend on
  822. if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first
  823. var notifyWrap = document.getElementById(ntflxNotifyWrap.id);
  824. notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);
  825. } else {
  826. document.getElementById(ntflxNotifyWrap.id).appendChild(ntflxNotify);
  827. }
  828. if (newNotifySettings.useIcon) { // if useIcon, dynamically vertical align the contents
  829. var messageIcon = document.getElementById(ntflxNotify.id).querySelectorAll('.nmi')[0];
  830. var messageIconH = 40;
  831. // if font awesome
  832. if (newNotifySettings.useFontAwesome) {
  833. messageIconH = Math.round(parseInt(messageIcon.offsetHeight));
  834. }
  835. // if notiflix SVG
  836. else {
  837. var SvgBBox = messageIcon.getBBox();
  838. messageIconH = Math.round(parseInt(SvgBBox.width));
  839. }
  840. var messageText = document.getElementById(ntflxNotify.id).querySelectorAll('span')[0];
  841. var messageTextH = Math.round(messageText.offsetHeight);
  842. if (messageTextH <= messageIconH) {
  843. messageText.style.paddingTop = (messageIconH - messageTextH) / 2 + 'px';
  844. messageText.style.paddingBottom = (messageIconH - messageTextH) / 2 + 'px';
  845. }
  846. }
  847. // notify append or prepend off
  848. // remove by timeout or click on
  849. if (document.getElementById(ntflxNotify.id)) {
  850. // set elements on
  851. var removeDiv = document.getElementById(ntflxNotify.id);
  852. var removeWrap = document.getElementById(ntflxNotifyWrap.id);
  853. var removeOverlay;
  854. if (newNotifySettings.backOverlay) {
  855. removeOverlay = document.getElementById(notifyOverlay.id);
  856. }
  857. // set elements on
  858. // timeout vars on
  859. var timeoutHide;
  860. var timeoutRemove;
  861. // timeout vars off
  862. // hide notify elm and hide overlay on
  863. var hideNotifyElementsAndOverlay = function () {
  864. removeDiv.classList.add('remove');
  865. if (newNotifySettings.backOverlay && removeWrap.childElementCount <= 0) {
  866. removeOverlay.classList.add('remove');
  867. }
  868. clearTimeout(timeoutHide);
  869. };
  870. // hide notify elm and hide overlay off
  871. // remove notify elm and wrapper on
  872. var removeNotifyElmentsAndWrapper = function () {
  873. var notifyExist = document.getElementById(ntflxNotify.id);
  874. if (notifyExist && removeDiv.parentNode !== null) {
  875. removeDiv.parentNode.removeChild(removeDiv);
  876. }
  877. if (removeWrap.childElementCount <= 0 && removeWrap.parentNode !== null) { // if childs count === 0 remove wrap
  878. removeWrap.parentNode.removeChild(removeWrap);
  879. if (newNotifySettings.backOverlay && removeOverlay.parentNode !== null) {
  880. removeOverlay.parentNode.removeChild(removeOverlay);
  881. }
  882. }
  883. clearTimeout(timeoutRemove);
  884. };
  885. // remove notify elm and wrapper off
  886. // if close button and callback undefined on
  887. if (newNotifySettings.closeButton && !callback) {
  888. var closeButtonElm = document.getElementById(ntflxNotify.id).querySelectorAll('span.notify-close-button')[0];
  889. closeButtonElm.addEventListener('click', function () {
  890. hideNotifyElementsAndOverlay();
  891. var clickToCloseTimeout = setTimeout(function () {
  892. removeNotifyElmentsAndWrapper();
  893. clearTimeout(clickToCloseTimeout);
  894. }, newNotifySettings.cssAnimationDuration);
  895. });
  896. }
  897. // if close button and callback undefined off
  898. // if callback or click to close on
  899. if ((callback && typeof callback === 'function') || newNotifySettings.clickToClose) {
  900. removeDiv.addEventListener('click', function (e) {
  901. if (callback && typeof callback === 'function') {
  902. callback();
  903. }
  904. hideNotifyElementsAndOverlay();
  905. var callbackTimeout = setTimeout(function () {
  906. removeNotifyElmentsAndWrapper();
  907. clearTimeout(callbackTimeout);
  908. }, newNotifySettings.cssAnimationDuration);
  909. });
  910. }
  911. // if callback or click to close off
  912. // else auto remove on
  913. if (!newNotifySettings.closeButton && !callback) {
  914. timeoutHide = setTimeout(function () {
  915. hideNotifyElementsAndOverlay();
  916. }, newNotifySettings.timeout);
  917. timeoutRemove = setTimeout(function () {
  918. removeNotifyElmentsAndWrapper();
  919. }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);
  920. }
  921. // else auto remove off
  922. }
  923. // remove by timeout or click off
  924. // notify - show only the last one on
  925. if (newNotifySettings.showOnlyTheLastOne && notiflixNotifyCount > 0) {
  926. var allNotifyElmNotTheLastOne = document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notiflixNotifyCount + '])');
  927. for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {
  928. var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];
  929. if (eachNotifyElmNotLastOne.parentNode !== null) {
  930. eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);
  931. }
  932. }
  933. }
  934. // notify - show only the last one off
  935. } else {
  936. notiflixConsoleError('Notiflix Error', 'Where is the arguments?');
  937. }
  938. };
  939. // Notiflix: Notify Single off
  940. // Notiflix: Report Single on
  941. var NotiflixReport = function (title, message, buttonText, buttonCallback, theType, staticType) {
  942. // check the arguments on
  943. if (!title) { title = 'Notiflix ' + staticType; }
  944. if (!message) {
  945. if (staticType === 'Success') {
  946. message = '"Do not try to become a person of success but try to become a person of value." <br><br>- Albert Einstein';
  947. }
  948. else if (staticType === 'Failure') {
  949. message = '"Failure is simply the opportunity to begin again, this time more intelligently." <br><br>- Henry Ford';
  950. }
  951. else if (staticType === 'Warning') {
  952. message = '"The peoples who want to live comfortably without producing and fatigue; they are doomed to lose their dignity, then liberty, and then independence and destiny." <br><br>- Mustafa Kemal Ataturk';
  953. }
  954. else if (staticType === 'Info') {
  955. message = '"Knowledge rests not upon truth alone, but upon error also." <br><br>- Carl Gustav Jung';
  956. }
  957. }
  958. if (!buttonText) { buttonText = 'Okay'; }
  959. if (!buttonCallback) { buttonCallback = undefined; }
  960. // check the arguments off
  961. // if plainText true = HTML tags not allowed on
  962. if (newReportSettings.plainText) {
  963. title = notiflixPlaintext(title);
  964. message = notiflixPlaintext(message);
  965. buttonText = notiflixPlaintext(buttonText);
  966. }
  967. // if plainText true = HTML tags not allowed off
  968. // if plainText false but the contents length more than *MaxLength = HTML tags error on
  969. if (!newReportSettings.plainText) {
  970. if (title.length > newReportSettings.titleMaxLength) {
  971. title = 'HTML Tags Error'; // title html error
  972. message = 'Your Title content length is more than "titleMaxLength" option.'; // message html error
  973. buttonText = 'Okay'; // button html error
  974. }
  975. if (message.length > newReportSettings.messageMaxLength) {
  976. title = 'HTML Tags Error'; // title html error
  977. message = 'Your Message content length is more than "messageMaxLength" option.'; // message html error
  978. buttonText = 'Okay'; // button html error
  979. }
  980. if (buttonText.length > newReportSettings.buttonMaxLength) {
  981. title = 'HTML Tags Error'; // title html error
  982. message = 'Your Button content length is more than "buttonMaxLength" option.'; // message html error
  983. buttonText = 'Okay'; // button html error
  984. }
  985. }
  986. // if plainText false but the contents length more than *MaxLength = HTML tags error off
  987. // max length on
  988. if (title.length > newReportSettings.titleMaxLength) {
  989. title = title.substring(0, newReportSettings.titleMaxLength) + '...';
  990. }
  991. if (message.length > newReportSettings.messageMaxLength) {
  992. message = message.substring(0, newReportSettings.messageMaxLength) + '...';
  993. }
  994. if (buttonText.length > newReportSettings.buttonMaxLength) {
  995. buttonText = buttonText.substring(0, newReportSettings.buttonMaxLength) + '...';
  996. }
  997. // max length off
  998. // if cssAnimaion false -> duration on
  999. if (!newReportSettings.cssAnimation) {
  1000. newReportSettings.cssAnimationDuration = 0;
  1001. }
  1002. // if cssAnimaion false -> duration off
  1003. // report wrap on
  1004. var docBody = document.body;
  1005. var ntflxReportWrap = document.createElement('div');
  1006. ntflxReportWrap.id = reportSettings.ID;
  1007. ntflxReportWrap.className = newReportSettings.className;
  1008. ntflxReportWrap.style.width = newReportSettings.width;
  1009. ntflxReportWrap.style.zIndex = newReportSettings.zindex;
  1010. ntflxReportWrap.style.borderRadius = newReportSettings.borderRadius;
  1011. ntflxReportWrap.style.fontFamily = '"' + newReportSettings.fontFamily + '"' + ', sans-serif';
  1012. // rtl on
  1013. if (newReportSettings.rtl) {
  1014. ntflxReportWrap.setAttribute('dir', 'rtl');
  1015. ntflxReportWrap.classList.add('rtl-on');
  1016. }
  1017. // rtl off
  1018. // overlay on
  1019. var reportOverlay = '';
  1020. if (newReportSettings.backOverlay) {
  1021. reportOverlay = '<div class="' + newReportSettings.className + '-overlay' + (newReportSettings.cssAnimation ? ' with-animation' : '') + '" style="background:' + newReportSettings.backOverlayColor + ';animation-duration:' + newReportSettings.cssAnimationDuration + 'ms;"></div>';
  1022. }
  1023. // overlay off
  1024. // svg icon on
  1025. var svgIcon = '';
  1026. if (staticType === 'Success') {
  1027. svgIcon = notiflixReportSvgSuccess(newReportSettings.svgSize, theType.svgColor);
  1028. } else if (staticType === 'Failure') {
  1029. svgIcon = notiflixReportSvgFailure(newReportSettings.svgSize, theType.svgColor);
  1030. } else if (staticType === 'Warning') {
  1031. svgIcon = notiflixReportSvgWarning(newReportSettings.svgSize, theType.svgColor);
  1032. } else if (staticType === 'Info') {
  1033. svgIcon = notiflixReportSvgInfo(newReportSettings.svgSize, theType.svgColor);
  1034. }
  1035. // svg icon off
  1036. ntflxReportWrap.innerHTML = reportOverlay + '<div class="' + newReportSettings.className + '-content' + (newReportSettings.cssAnimation ? ' with-animation ' : '') + ' nx-' + newReportSettings.cssAnimationStyle + '" style="background:' + newReportSettings.backgroundColor + '; animation-duration:' + newReportSettings.cssAnimationDuration + 'ms;">' +
  1037. '<div style="width:' + newReportSettings.svgSize + '; height:' + newReportSettings.svgSize + ';" class="' + newReportSettings.className + '-icon">' + svgIcon + '</div>' +
  1038. '<h5 class="' + newReportSettings.className + '-title" style="font-weight:500; font-size:' + newReportSettings.titleFontSize + '; color:' + theType.titleColor + ';">' + title + '</h5>' +
  1039. '<p class="' + newReportSettings.className + '-message" style="font-size:' + newReportSettings.messageFontSize + '; color:' + theType.messageColor + ';">' + message + '</p>' +
  1040. '<a id="NXReportButton" class="' + newReportSettings.className + '-button" style="font-weight:500; font-size:' + newReportSettings.buttonFontSize + '; background:' + theType.buttonBackground + '; color:' + theType.buttonColor + ';">' + buttonText + '</a>' +
  1041. '</div>';
  1042. // if there is no report element
  1043. if (!document.getElementById(ntflxReportWrap.id)) {
  1044. // append
  1045. docBody.appendChild(ntflxReportWrap);
  1046. // vertical align on
  1047. var windowH = Math.round(window.innerHeight);
  1048. var reportH = Math.round(document.getElementById(ntflxReportWrap.id).offsetHeight);
  1049. ntflxReportWrap.style.top = (windowH - reportH) / 2 + 'px';
  1050. // vertical align off
  1051. // callback on
  1052. var getReportWrap = document.getElementById(ntflxReportWrap.id);
  1053. var reportButton = document.getElementById('NXReportButton');
  1054. reportButton.addEventListener('click', function () {
  1055. // if callback on
  1056. if (buttonCallback && typeof buttonCallback === 'function') {
  1057. buttonCallback();
  1058. }
  1059. // if callback off
  1060. // remove element on
  1061. getReportWrap.classList.add('remove');
  1062. var timeout = setTimeout(function () {
  1063. if (getReportWrap.parentNode !== null) {
  1064. getReportWrap.parentNode.removeChild(getReportWrap);
  1065. }
  1066. clearTimeout(timeout);
  1067. }, newReportSettings.cssAnimationDuration);
  1068. // remove element off
  1069. });
  1070. // callback off
  1071. }
  1072. // report wrap off
  1073. };
  1074. // Notiflix: Report Single off
  1075. // Notiflix: Confirm Single on
  1076. var NotiflixConfirm = function (title, message, okButtonText, cancelButtonText, okButtonCallback, cancelButtonCallback) {
  1077. // if not initialized pretend like init
  1078. if (!newConfirmSettings) {
  1079. Notiflix.Confirm.Init({});
  1080. }
  1081. // if plainText true => HTML tags not allowed on
  1082. if (newConfirmSettings.plainText) {
  1083. title = notiflixPlaintext(title);
  1084. message = notiflixPlaintext(message);
  1085. okButtonText = notiflixPlaintext(okButtonText);
  1086. cancelButtonText = notiflixPlaintext(cancelButtonText);
  1087. }
  1088. // if plainText true => HTML tags not allowed off
  1089. // if plainText false but the contents length more than *MaxLength = HTML tags error on
  1090. if (!newConfirmSettings.plainText) {
  1091. if (title.length > newConfirmSettings.titleMaxLength) {
  1092. title = 'HTML Tags Error'; // title html error
  1093. message = 'Your Title content length is more than "titleMaxLength" option.'; // message html error
  1094. okButtonText = 'Okay'; // button html error
  1095. cancelButtonText = '...'; // button html error
  1096. }
  1097. if (message.length > newConfirmSettings.messageMaxLength) {
  1098. title = 'HTML Tags Error'; // title html error
  1099. message = 'Your Message content length is more than "messageMaxLength" option.'; // message html error
  1100. okButtonText = 'Okay'; // button html error
  1101. cancelButtonText = '...'; // button html error
  1102. }
  1103. if ((okButtonText.length || cancelButtonText.length) > newConfirmSettings.buttonsMaxLength) {
  1104. title = 'HTML Tags Error'; // title html error
  1105. message = 'Your Buttons contents length is more than "buttonsMaxLength" option.'; // message html error
  1106. okButtonText = 'Okay'; // button html error
  1107. cancelButtonText = '...'; // button html error
  1108. }
  1109. }
  1110. // if plainText false but the contents length more than *MaxLength = HTML tags error off
  1111. // max length on
  1112. if (title.length > newConfirmSettings.titleMaxLength) {
  1113. title = title.substring(0, newConfirmSettings.titleMaxLength) + '...';
  1114. }
  1115. if (message.length > newConfirmSettings.messageMaxLength) {
  1116. message = message.substring(0, newConfirmSettings.messageMaxLength) + '...';
  1117. }
  1118. if (okButtonText.length > newConfirmSettings.buttonsMaxLength) {
  1119. okButtonText = okButtonText.substring(0, newConfirmSettings.buttonsMaxLength) + '...';
  1120. }
  1121. if (cancelButtonText.length > newConfirmSettings.buttonsMaxLength) {
  1122. cancelButtonText = cancelButtonText.substring(0, newConfirmSettings.buttonsMaxLength) + '...';
  1123. }
  1124. // max length off
  1125. // if cssAnimaion false -> duration on
  1126. if (!newConfirmSettings.cssAnimation) {
  1127. newConfirmSettings.cssAnimationDuration = 0;
  1128. }
  1129. // if cssAnimaion false -> duration off
  1130. // confirm wrap on
  1131. var docBody = document.body;
  1132. var ntflxConfirmWrap = document.createElement('div');
  1133. ntflxConfirmWrap.id = confirmSettings.ID;
  1134. ntflxConfirmWrap.className = newConfirmSettings.className + (newConfirmSettings.cssAnimation ? ' with-animation nx-' + newConfirmSettings.cssAnimationStyle : '');
  1135. ntflxConfirmWrap.style.width = newConfirmSettings.width;
  1136. ntflxConfirmWrap.style.zIndex = newConfirmSettings.zindex;
  1137. // rtl on
  1138. if (newConfirmSettings.rtl) {
  1139. ntflxConfirmWrap.setAttribute('dir', 'rtl');
  1140. ntflxConfirmWrap.classList.add('rtl-on');
  1141. }
  1142. // rtl off
  1143. // font-family on
  1144. ntflxConfirmWrap.style.fontFamily = '"' + newConfirmSettings.fontFamily + '"' + ', sans-serif';
  1145. // font-family off
  1146. // if background overlay true on
  1147. var confirmOverlay = '';
  1148. if (newConfirmSettings.backOverlay) {
  1149. confirmOverlay = '<div class="' + newConfirmSettings.className + '-overlay' + (newConfirmSettings.cssAnimation ? ' with-animation' : '') + '" style="background:' + newConfirmSettings.backOverlayColor + ';animation-duration:' + newConfirmSettings.cssAnimationDuration + 'ms;"></div>';
  1150. }
  1151. // if background overlay true off
  1152. // if have a callback => add cancel button on
  1153. var cancelButtonHTML = '';
  1154. if (okButtonCallback) {
  1155. cancelButtonHTML = '<a id="NXConfirmButtonCancel" class="confirm-button-cancel" style="color:' + newConfirmSettings.cancelButtonColor + ';background:' + newConfirmSettings.cancelButtonBackground + ';font-size:' + newConfirmSettings.buttonsFontSize + ';">' + cancelButtonText + '</a>';
  1156. }
  1157. // if have a callback => add cancel button off
  1158. ntflxConfirmWrap.innerHTML = confirmOverlay +
  1159. '<div class="' + newConfirmSettings.className + '-content" style="background:' + newConfirmSettings.backgroundColor + '; animation-duration:' + newConfirmSettings.cssAnimationDuration + 'ms; border-radius: ' + newConfirmSettings.borderRadius + ';">' +
  1160. '<div class="' + newConfirmSettings.className + '-head">' +
  1161. '<h5 style="color:' + newConfirmSettings.titleColor + ';font-size:' + newConfirmSettings.titleFontSize + ';">' + title + '</h5>' +
  1162. '<p style="color:' + newConfirmSettings.messageColor + ';font-size:' + newConfirmSettings.messageFontSize + ';">' + message + '</p>' +
  1163. '</div>' +
  1164. '<div class="' + newConfirmSettings.className + '-buttons">' +
  1165. '<a id="NXConfirmButtonOk" class="confirm-button-ok' + (okButtonCallback ? '' : ' full') + '" style="color:' + newConfirmSettings.okButtonColor + ';background:' + newConfirmSettings.okButtonBackground + ';font-size:' + newConfirmSettings.buttonsFontSize + ';">' + okButtonText + '</a>' +
  1166. cancelButtonHTML +
  1167. '</div>' +
  1168. '</div>';
  1169. // confirm wrap off
  1170. // if there is no confirm box on
  1171. if (!document.getElementById(ntflxConfirmWrap.id)) {
  1172. docBody.appendChild(ntflxConfirmWrap);
  1173. // position on
  1174. if (newConfirmSettings.position === 'center') { // if center-center
  1175. var windowH = Math.round(window.innerHeight);
  1176. var confirmH = Math.round(document.getElementById(ntflxConfirmWrap.id).offsetHeight);
  1177. ntflxConfirmWrap.style.top = (windowH - confirmH) / 2 + 'px';
  1178. ntflxConfirmWrap.style.left = newConfirmSettings.distance;
  1179. ntflxConfirmWrap.style.right = newConfirmSettings.distance;
  1180. ntflxConfirmWrap.style.bottom = 'auto';
  1181. ntflxConfirmWrap.style.margin = 'auto';
  1182. } else if (newConfirmSettings.position === 'right-top') { // if right-top
  1183. ntflxConfirmWrap.style.right = newConfirmSettings.distance;
  1184. ntflxConfirmWrap.style.top = newConfirmSettings.distance;
  1185. ntflxConfirmWrap.style.bottom = 'auto';
  1186. ntflxConfirmWrap.style.left = 'auto';
  1187. ntflxConfirmWrap.style.margin = 'auto';
  1188. } else if (newConfirmSettings.position === 'right-bottom') { // if right-bottom
  1189. ntflxConfirmWrap.style.right = newConfirmSettings.distance;
  1190. ntflxConfirmWrap.style.bottom = newConfirmSettings.distance;
  1191. ntflxConfirmWrap.style.top = 'auto';
  1192. ntflxConfirmWrap.style.left = 'auto';
  1193. ntflxConfirmWrap.style.margin = 'auto';
  1194. } else if (newConfirmSettings.position === 'left-top') { // if left-top
  1195. ntflxConfirmWrap.style.left = newConfirmSettings.distance;
  1196. ntflxConfirmWrap.style.top = newConfirmSettings.distance;
  1197. ntflxConfirmWrap.style.right = 'auto';
  1198. ntflxConfirmWrap.style.bottom = 'auto';
  1199. ntflxConfirmWrap.style.margin = 'auto';
  1200. } else if (newConfirmSettings.position === 'left-bottom') { // if left-bottom
  1201. ntflxConfirmWrap.style.left = newConfirmSettings.distance;
  1202. ntflxConfirmWrap.style.bottom = newConfirmSettings.distance;
  1203. ntflxConfirmWrap.style.top = 'auto';
  1204. ntflxConfirmWrap.style.right = 'auto';
  1205. ntflxConfirmWrap.style.margin = 'auto';
  1206. } else { // if center-top
  1207. ntflxConfirmWrap.style.top = newConfirmSettings.distance;
  1208. ntflxConfirmWrap.style.left = 0;
  1209. ntflxConfirmWrap.style.right = 0;
  1210. ntflxConfirmWrap.style.bottom = 'auto';
  1211. ntflxConfirmWrap.style.margin = 'auto';
  1212. }
  1213. // position off
  1214. // buttons listener on
  1215. var confirmCloseWrap = document.getElementById(ntflxConfirmWrap.id);
  1216. var okButton = document.getElementById('NXConfirmButtonOk');
  1217. // ok button listener on
  1218. okButton.addEventListener('click', function () {
  1219. // if ok callback && if ok callback is a function
  1220. if (okButtonCallback && typeof okButtonCallback === 'function') {
  1221. okButtonCallback();
  1222. }
  1223. confirmCloseWrap.classList.add('remove');
  1224. var timeout = setTimeout(function () {
  1225. if (confirmCloseWrap.parentNode !== null) {
  1226. confirmCloseWrap.parentNode.removeChild(confirmCloseWrap);
  1227. clearTimeout(timeout);
  1228. }
  1229. }, newConfirmSettings.cssAnimationDuration);
  1230. });
  1231. // ok button listener off
  1232. // if ok callback && if ok callback a function => add Cancel Button listener on
  1233. if (okButtonCallback && typeof okButtonCallback === 'function') {
  1234. // cancel button listener on
  1235. var cancelButton = document.getElementById('NXConfirmButtonCancel');
  1236. cancelButton.addEventListener('click', function () {
  1237. // if cancel callback && if cancel callback a function
  1238. if (cancelButtonCallback && typeof cancelButtonCallback === 'function') {
  1239. cancelButtonCallback();
  1240. }
  1241. confirmCloseWrap.classList.add('remove');
  1242. var timeout = setTimeout(function () {
  1243. if (confirmCloseWrap.parentNode !== null) {
  1244. confirmCloseWrap.parentNode.removeChild(confirmCloseWrap);
  1245. clearTimeout(timeout);
  1246. }
  1247. }, newConfirmSettings.cssAnimationDuration);
  1248. });
  1249. // cancel button listener off
  1250. }
  1251. // if ok callback && if ok callback a function => add Cancel Button listener off
  1252. // buttons listener off
  1253. }
  1254. // if there is no confirm box off
  1255. };
  1256. // Notiflix: Confirm Single off
  1257. // Notiflix: Loading Single on
  1258. var NotiflixLoading = function (message, iconType, display, theDelay) {
  1259. // if not initialized pretend like init
  1260. if (!newLoadingSettings) {
  1261. Notiflix.Loading.Init({});
  1262. }
  1263. // check the message
  1264. if (!message) {
  1265. message = '';
  1266. }
  1267. // show loading
  1268. if (display) {
  1269. // if message settings on
  1270. if (message.toString().length > newLoadingSettings.messageMaxLength) {
  1271. message = notiflixPlaintext(message).toString().substring(0, newLoadingSettings.messageMaxLength) + '...';
  1272. } else {
  1273. message = notiflixPlaintext(message).toString();
  1274. }
  1275. var intSvgSize = parseInt(newLoadingSettings.svgSize);
  1276. var messageHTML = '';
  1277. if (message.length > 0) {
  1278. var messagePosTop = Math.round(intSvgSize - (intSvgSize / 4)).toString() + 'px';
  1279. var messageHeight = (parseInt(newLoadingSettings.messageFontSize) * 1.4).toString() + 'px';
  1280. messageHTML = '<p id="' + newLoadingSettings.messageID + '" class="loading-message" style="color:' + newLoadingSettings.messageColor + ';font-size:' + newLoadingSettings.messageFontSize + ';height:' + messageHeight + '; top:' + messagePosTop + ';">' + message + '</p>';
  1281. }
  1282. // if message settings off
  1283. // if cssAnimaion false -> duration on
  1284. if (!newLoadingSettings.cssAnimation) {
  1285. newLoadingSettings.cssAnimationDuration = 0;
  1286. }
  1287. // if cssAnimaion false -> duration off
  1288. // svgIcon on
  1289. var svgIcon = '';
  1290. if (iconType === 'standard') {
  1291. svgIcon = notiflixIndicatorSvgStandard(newLoadingSettings.svgSize, newLoadingSettings.svgColor);
  1292. } else if (iconType === 'hourglass') {
  1293. svgIcon = notiflixIndicatorSvgHourglass(newLoadingSettings.svgSize, newLoadingSettings.svgColor);
  1294. } else if (iconType === 'circle') {
  1295. svgIcon = notiflixIndicatorSvgCircle(newLoadingSettings.svgSize, newLoadingSettings.svgColor);
  1296. } else if (iconType === 'arrows') {
  1297. svgIcon = notiflixIndicatorSvgArrows(newLoadingSettings.svgSize, newLoadingSettings.svgColor);
  1298. } else if (iconType === 'dots') {
  1299. svgIcon = notiflixIndicatorSvgDots(newLoadingSettings.svgSize, newLoadingSettings.svgColor);
  1300. } else if (iconType === 'pulse') {
  1301. svgIcon = notiflixIndicatorSvgPulse(newLoadingSettings.svgSize, newLoadingSettings.svgColor);
  1302. } else if (iconType === 'custom' && newLoadingSettings.customSvgUrl !== null) {
  1303. svgIcon = '<img class="custom-loading-icon" width="' + newLoadingSettings.svgSize + '" height="' + newLoadingSettings.svgSize + '" src="' + newLoadingSettings.customSvgUrl + '" alt="Notiflix">';
  1304. } else if (iconType === 'custom' && newLoadingSettings.customSvgUrl == null) {
  1305. notiflixConsoleError('Notiflix Error', 'You have to set a static SVG url to "customSvgUrl" option to use Loading Custom.');
  1306. return false;
  1307. } else if (iconType === 'notiflix') {
  1308. svgIcon = notiflixIndicatorSvgNotiflix(newLoadingSettings.svgSize, '#f8f8f8', '#32c682');
  1309. }
  1310. var svgPosTop = 0;
  1311. if (message.length > 0) {
  1312. svgPosTop = '-' + Math.round(intSvgSize - (intSvgSize / 4)).toString() + 'px';
  1313. }
  1314. var svgIconHTML = '<div style="top:' + svgPosTop + '; width:' + newLoadingSettings.svgSize + '; height:' + newLoadingSettings.svgSize + ';" class="' + newLoadingSettings.className + '-icon' + (message.length > 0 ? ' with-message' : '') + '">' + svgIcon + '</div>';
  1315. // svgIcon off
  1316. // loading wrap on
  1317. var docBody = document.body;
  1318. var ntflxLoadingWrap = document.createElement('div');
  1319. ntflxLoadingWrap.id = loadingSettings.ID;
  1320. ntflxLoadingWrap.className = newLoadingSettings.className + (newLoadingSettings.cssAnimation ? ' with-animation' : '') + (newLoadingSettings.clickToClose ? ' click-to-close' : '');
  1321. ntflxLoadingWrap.style.zIndex = newLoadingSettings.zindex;
  1322. ntflxLoadingWrap.style.background = newLoadingSettings.backgroundColor;
  1323. ntflxLoadingWrap.style.animationDuration = newLoadingSettings.cssAnimationDuration + 'ms';
  1324. ntflxLoadingWrap.style.fontFamily = '"' + newLoadingSettings.fontFamily + '"' + ', sans-serif';
  1325. // rtl on
  1326. if (newLoadingSettings.rtl) {
  1327. ntflxLoadingWrap.setAttribute('dir', 'rtl');
  1328. ntflxLoadingWrap.classList.add('rtl-on');
  1329. }
  1330. // rtl off
  1331. // append on
  1332. ntflxLoadingWrap.innerHTML = svgIconHTML + messageHTML;
  1333. // if there is no loading element
  1334. if (!document.getElementById(ntflxLoadingWrap.id)) {
  1335. // append
  1336. docBody.appendChild(ntflxLoadingWrap);
  1337. // if click to close
  1338. if (newLoadingSettings.clickToClose) {
  1339. var loadingWrapElm = document.getElementById(ntflxLoadingWrap.id);
  1340. loadingWrapElm.addEventListener('click', function () {
  1341. ntflxLoadingWrap.classList.add('remove');
  1342. var timeout = setTimeout(function () {
  1343. if (ntflxLoadingWrap.parentNode !== null) {
  1344. ntflxLoadingWrap.parentNode.removeChild(ntflxLoadingWrap);
  1345. clearTimeout(timeout);
  1346. }
  1347. }, newLoadingSettings.cssAnimationDuration);
  1348. });
  1349. }
  1350. }
  1351. // append off
  1352. }
  1353. // remove loading
  1354. else {
  1355. // if there is a loading element
  1356. if (document.getElementById(loadingSettings.ID)) {
  1357. var loadingElm = document.getElementById(loadingSettings.ID);
  1358. var timeout = setTimeout(function () {
  1359. loadingElm.classList.add('remove');
  1360. var timeout2 = setTimeout(function () {
  1361. if (loadingElm.parentNode !== null) {
  1362. loadingElm.parentNode.removeChild(loadingElm);
  1363. clearTimeout(timeout2);
  1364. }
  1365. }, newLoadingSettings.cssAnimationDuration);
  1366. clearTimeout(timeout);
  1367. }, theDelay);
  1368. }
  1369. }
  1370. };
  1371. // Notiflix: Loading Single off
  1372. // Notiflix: Loading Change Message on
  1373. var NotiflixLoadingChange = function (newMessage) {
  1374. // check the new message
  1375. if (!newMessage) {
  1376. newMessage = '';
  1377. }
  1378. // if has any loading
  1379. if (document.getElementById(loadingSettings.ID)) {
  1380. // if there is a new message
  1381. if (newMessage.length > 0) {
  1382. // max length on
  1383. if (newMessage.length > newLoadingSettings.messageMaxLength) {
  1384. newMessage = notiflixPlaintext(newMessage).toString().substring(0, newLoadingSettings.messageMaxLength) + '...';
  1385. } else {
  1386. newMessage = notiflixPlaintext(newMessage).toString();
  1387. }
  1388. // max length off
  1389. // there is a message element
  1390. var oldMessageElm = document.getElementById(loadingSettings.ID).getElementsByTagName('p')[0];
  1391. if (oldMessageElm) {
  1392. oldMessageElm.innerHTML = newMessage; // change the message
  1393. }
  1394. // there is no message element
  1395. else {
  1396. // create a new message element on
  1397. var newMessageHTML = document.createElement('p');
  1398. newMessageHTML.id = newLoadingSettings.messageID;
  1399. newMessageHTML.className = 'loading-message new';
  1400. newMessageHTML.style.color = newLoadingSettings.messageColor;
  1401. newMessageHTML.style.fontSize = newLoadingSettings.messageFontSize;
  1402. var intSvgSize = parseInt(newLoadingSettings.svgSize);
  1403. var messagePosTop = Math.round(intSvgSize - (intSvgSize / 4)).toString() + 'px';
  1404. newMessageHTML.style.top = messagePosTop;
  1405. var messageHeight = (parseInt(newLoadingSettings.messageFontSize) * 1.4).toString() + 'px';
  1406. newMessageHTML.style.height = messageHeight;
  1407. newMessageHTML.innerHTML = newMessage;
  1408. var messageWrap = document.getElementById(loadingSettings.ID);
  1409. messageWrap.appendChild(newMessageHTML);
  1410. // create a new message element off
  1411. // vertical align svg on
  1412. var svgDivElm = document.getElementById(loadingSettings.ID).getElementsByTagName('div')[0];
  1413. var svgNewPosTop = '-' + Math.round(intSvgSize - (intSvgSize / 4)).toString() + 'px';
  1414. svgDivElm.style.top = svgNewPosTop;
  1415. // vertical align svg off
  1416. }
  1417. }
  1418. // if no message
  1419. else {
  1420. notiflixConsoleError('Notiflix Error', 'Where is the new message?');
  1421. }
  1422. }
  1423. };
  1424. // Notiflix: Loading Change Message off
  1425. // Notiflix: Block or Unblock Element on
  1426. var notiflixBlockElementCounter = 0;
  1427. var NotiflixBlockUnblockElement = function (block, selector, iconType, message, theDelay) {
  1428. // check typeof selector on
  1429. if (typeof selector !== 'string') {
  1430. notiflixConsoleError('Notiflix Error', 'The selector must be a String.');
  1431. return false;
  1432. }
  1433. // check typeof selector off
  1434. // check the delay on
  1435. if (typeof theDelay !== 'number') {
  1436. theDelay = 0;
  1437. }
  1438. // check the delay off
  1439. // check the selector on
  1440. var getSelector = document.querySelectorAll(selector);
  1441. if (getSelector.length > 0) {
  1442. // if not initialized pretend like init on
  1443. if (!newBlockSettings) {
  1444. Notiflix.Block.Init({});
  1445. }
  1446. // if not initialized pretend like init off
  1447. // check the message on
  1448. if (!message || (message && typeof message !== 'string')) {
  1449. message = undefined;
  1450. }
  1451. // check the message off
  1452. } else {
  1453. notiflixConsoleError('Notiflix Error', 'You called the "Notiflix.Block..." function with "' + selector + '" selector, but there is no such element(s) on the document.');
  1454. return false;
  1455. }
  1456. // check the selector off
  1457. // if cssAnimaion false => duration on
  1458. if (!newBlockSettings.cssAnimation) {
  1459. newBlockSettings.cssAnimationDuration = 0;
  1460. }
  1461. // if cssAnimaion false => duration off
  1462. // check the class name on
  1463. var blockClassName = 'notiflix-block';
  1464. if (newBlockSettings.className && typeof newBlockSettings.className === 'string') {
  1465. blockClassName = newBlockSettings.className.trim();
  1466. }
  1467. // check the class name off
  1468. // check query limit on
  1469. var getQueryLimit = (typeof newBlockSettings.querySelectorLimit === 'number' ? newBlockSettings.querySelectorLimit : 200);
  1470. var checkQueryLimit = (getSelector.length >= getQueryLimit ? getQueryLimit : getSelector.length);
  1471. // check query limit off
  1472. // block
  1473. if (block) {
  1474. // add element(s) and style on
  1475. for (var i = 0; i < checkQueryLimit; i++) {
  1476. var eachSelector = getSelector[i];
  1477. // check block element exist on
  1478. var eachBlockElement = eachSelector.querySelectorAll('[id^=' + blockSettings.ID + ']');
  1479. if (eachBlockElement.length < 1) {
  1480. // check the icon on
  1481. var icon = '';
  1482. if (iconType) {
  1483. if (iconType === 'hourglass') {
  1484. icon = notiflixIndicatorSvgHourglass(newBlockSettings.svgSize, newBlockSettings.svgColor);
  1485. } else if (iconType === 'circle') {
  1486. icon = notiflixIndicatorSvgCircle(newBlockSettings.svgSize, newBlockSettings.svgColor);
  1487. } else if (iconType === 'arrows') {
  1488. icon = notiflixIndicatorSvgArrows(newBlockSettings.svgSize, newBlockSettings.svgColor);
  1489. } else if (iconType === 'dots') {
  1490. icon = notiflixIndicatorSvgDots(newBlockSettings.svgSize, newBlockSettings.svgColor);
  1491. } else if (iconType === 'pulse') {
  1492. icon = notiflixIndicatorSvgPulse(newBlockSettings.svgSize, newBlockSettings.svgColor);
  1493. } else {
  1494. icon = notiflixIndicatorSvgStandard(newBlockSettings.svgSize, newBlockSettings.svgColor);
  1495. }
  1496. }
  1497. var intSvgSize = parseInt(newBlockSettings.svgSize);
  1498. var posRatio = Math.round(intSvgSize - (intSvgSize / 5)).toString() + 'px';
  1499. var svgPosTop = (message && message.length > 0 ? '-' + posRatio : 0);
  1500. var iconElement = '<span class="' + blockClassName + '-icon" style="width:' + newBlockSettings.svgSize + ';height:' + newBlockSettings.svgSize + ';top:' + svgPosTop + ';">' + icon + '</span>';
  1501. // check the icon off
  1502. // check the message on
  1503. var messageElement = '';
  1504. var messageHeight = 0;
  1505. if (message) {
  1506. if (message.length > newBlockSettings.messageMaxLength) {
  1507. message = notiflixPlaintext(message).toString().substring(0, newBlockSettings.messageMaxLength) + '...';
  1508. } else {
  1509. message = notiflixPlaintext(message).toString();
  1510. }
  1511. messageHeight = Math.round(parseInt(newBlockSettings.messageFontSize) * 1.4).toString() + 'px';
  1512. messageElement = '<span style="top:' + posRatio + ';height:' + messageHeight + ';font-family:' + newBlockSettings.fontFamily + ', sans-serif;font-size:' + newBlockSettings.messageFontSize + ';color:' + newBlockSettings.messageColor + ';" class="' + blockClassName + '-message">' + message + '</span>';
  1513. }
  1514. // check the message off
  1515. // block element on
  1516. notiflixBlockElementCounter++;
  1517. var notiflixBlockWrap = document.createElement('div');
  1518. notiflixBlockWrap.id = blockSettings.ID + '-' + notiflixBlockElementCounter;
  1519. notiflixBlockWrap.className = blockClassName + '-wrap' + (newBlockSettings.cssAnimation ? ' with-animation' : '');
  1520. notiflixBlockWrap.style.position = newBlockSettings.position;
  1521. notiflixBlockWrap.style.zIndex = newBlockSettings.zindex;
  1522. notiflixBlockWrap.style.background = newBlockSettings.backgroundColor;
  1523. notiflixBlockWrap.style.animationDuration = newBlockSettings.cssAnimationDuration + 'ms';
  1524. notiflixBlockWrap.style.fontFamily = '"' + newBlockSettings.fontFamily + '"' + ', sans-serif';
  1525. // block element off
  1526. // block element rtl on
  1527. if (newBlockSettings.rtl) {
  1528. notiflixBlockWrap.setAttribute('dir', 'rtl');
  1529. notiflixBlockWrap.classList.add('rtl-on');
  1530. }
  1531. // block element rtl off
  1532. // block element data on
  1533. notiflixBlockWrap.innerHTML = iconElement + messageElement;
  1534. // block element data off
  1535. // append block element on
  1536. var eachSelectorPos = getComputedStyle(eachSelector).getPropertyValue('position');
  1537. eachSelectorPos = eachSelectorPos && typeof eachSelectorPos === 'string' ? eachSelectorPos.toLowerCase() : 'relative';
  1538. // selector internal style on
  1539. var eachSelectorIdOrClass = '';
  1540. if (eachSelector.getAttribute('id')) {
  1541. eachSelectorIdOrClass = '#' + eachSelector.getAttribute('id');
  1542. } else if (eachSelector.classList[0]) {
  1543. eachSelectorIdOrClass = '.' + eachSelector.classList[0];
  1544. }
  1545. var positions = ['absolute', 'relative', 'fixed', 'sticky'];
  1546. if (positions.indexOf(eachSelectorPos) <= -1) {
  1547. var minHeight = Math.round((parseInt(messageHeight) + intSvgSize) * 1.5).toString() + 'px';
  1548. var style = '<style id="Style-' + blockSettings.ID + '-' + notiflixBlockElementCounter + '">' +
  1549. eachSelectorIdOrClass + '.' + blockClassName + '-position{position:relative!important;min-height:' + minHeight + ';}' +
  1550. '</style>';
  1551. var styleRange = document.createRange();
  1552. styleRange.selectNode(document.head);
  1553. var styleFragment = styleRange.createContextualFragment(style);
  1554. document.head.appendChild(styleFragment);
  1555. eachSelector.classList.add(blockClassName + '-position');
  1556. }
  1557. // selector internal style off
  1558. // append
  1559. eachSelector.appendChild(notiflixBlockWrap);
  1560. // append block element off
  1561. }
  1562. // check block element exist off
  1563. }
  1564. // add element(s) and style off
  1565. }
  1566. // unblock/remove
  1567. else {
  1568. // Step 3 => Remove each block element on
  1569. var removeBlockElements = function (eachOne) {
  1570. var timeout = setTimeout(function () {
  1571. // remove element
  1572. eachOne.remove();
  1573. // remove this selector internal style
  1574. var eachOneId = eachOne.getAttribute('id');
  1575. var eachOneStyle = document.getElementById('Style-' + eachOneId);
  1576. if (eachOneStyle) {
  1577. eachOneStyle.remove();
  1578. }
  1579. // clear timeout
  1580. clearTimeout(timeout);
  1581. }, newBlockSettings.cssAnimationDuration);
  1582. }
  1583. // Step 3 => Remove each block element off
  1584. // Step 2A => Remove each block element on
  1585. var removeClassBlockElements = function (eachBlockElement) {
  1586. // if elements exist
  1587. if (eachBlockElement && eachBlockElement.length > 0) {
  1588. for (var i = 0; i < eachBlockElement.length; i++) {
  1589. var eachOne = eachBlockElement[i];
  1590. if (eachOne) {
  1591. // add remove class
  1592. eachOne.classList.add('remove');
  1593. // remove block elements
  1594. removeBlockElements(eachOne);
  1595. }
  1596. }
  1597. }
  1598. // not exist
  1599. else {
  1600. notiflixConsoleLog('Notiflix Info', '"Notiflix.Block.Remove();" function called with "' + selector + '" selector, but this selector does not have a "Notiflix.Block..." element to remove.');
  1601. }
  1602. }
  1603. // Step 2A => Remove each block element on
  1604. // Step 2B => Remove each selector class name on
  1605. var removeEachSelectorClassName = function (eachSelector) {
  1606. var timeout = setTimeout(function () {
  1607. // remove class name
  1608. var positionClass = blockClassName + '-position';
  1609. eachSelector.classList.remove(positionClass);
  1610. // clear timeout
  1611. clearTimeout(timeout);
  1612. }, newBlockSettings.cssAnimationDuration + 300);
  1613. }
  1614. // Step 2B => Remove each selector class name off
  1615. // Step 1 => Remove selector class name on
  1616. var selectorTimeout = setTimeout(function () {
  1617. for (var i = 0; i < checkQueryLimit; i++) {
  1618. var eachSelector = getSelector[i];
  1619. // remove each selector class name
  1620. removeEachSelectorClassName(eachSelector);
  1621. // remove each block element
  1622. eachBlockElement = eachSelector.querySelectorAll('[id^=' + blockSettings.ID + ']');
  1623. removeClassBlockElements(eachBlockElement);
  1624. }
  1625. // clear timeout
  1626. clearTimeout(selectorTimeout);
  1627. }, theDelay);
  1628. // Step 1 => Remove selector class name off
  1629. }
  1630. };
  1631. // Notiflix: Block or Unblock Element off
  1632. // Notiflix: Report SVG Success on
  1633. var notiflixReportSvgSuccess = function (width, color) {
  1634. if (!width) { width = '110px'; }
  1635. if (!color) { color = '#32c682'; }
  1636. var reportSvgSuccess = '<svg id="NXReportSuccess" fill="' + color + '" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 120 120" xmlns:xlink="http://www.w3.org/1999/xlink"><style>@-webkit-keyframes NXReportSuccess5-animation{0%{-webkit-transform: translate(60px, 57.7px) scale(0.5, 0.5) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(0.5, 0.5) translate(-60px, -57.7px);}50%{-webkit-transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);}60%{-webkit-transform: translate(60px, 57.7px) scale(0.95, 0.95) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(0.95, 0.95) translate(-60px, -57.7px);}100%{-webkit-transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);}}@keyframes NXReportSuccess5-animation{0%{-webkit-transform: translate(60px, 57.7px) scale(0.5, 0.5) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(0.5, 0.5) translate(-60px, -57.7px);}50%{-webkit-transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);}60%{-webkit-transform: translate(60px, 57.7px) scale(0.95, 0.95) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(0.95, 0.95) translate(-60px, -57.7px);}100%{-webkit-transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);}}@-webkit-keyframes NXReportSuccess6-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportSuccess6-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}@-webkit-keyframes NXReportSuccess4-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportSuccess4-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@-webkit-keyframes NXReportSuccess3-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@keyframes NXReportSuccess3-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}#NXReportSuccess *{-webkit-animation-duration: 1.2s;animation-duration: 1.2s;-webkit-animation-timing-function: cubic-bezier(0, 0, 1, 1);animation-timing-function: cubic-bezier(0, 0, 1, 1);}#NXReportSuccess4{fill: inherit;-webkit-animation-name: NXReportSuccess4-animation;animation-name: NXReportSuccess4-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);opacity: 1;}#NXReportSuccess6{fill: inherit;-webkit-animation-name: NXReportSuccess6-animation;animation-name: NXReportSuccess6-animation;opacity: 1;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);}#NXReportSuccess3{-webkit-animation-name: NXReportSuccess3-animation;animation-name: NXReportSuccess3-animation;-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);}#NXReportSuccess5{-webkit-animation-name: NXReportSuccess5-animation;animation-name: NXReportSuccess5-animation;-webkit-transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);transform: translate(60px, 57.7px) scale(1, 1) translate(-60px, -57.7px);-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);}</style><g id="NXReportSuccess1"><g id="NXReportSuccess2"><g id="NXReportSuccess3" data-animator-group="true" data-animator-type="2"><path d="M60 115.38c-30.54,0 -55.38,-24.84 -55.38,-55.38 0,-30.54 24.84,-55.38 55.38,-55.38 30.54,0 55.38,24.84 55.38,55.38 0,30.54 -24.84,55.38 -55.38,55.38zm0 -115.38c-33.08,0 -60,26.92 -60,60 0,33.08 26.92,60 60,60 33.08,0 60,-26.92 60,-60 0,-33.08 -26.92,-60 -60,-60z" id="NXReportSuccess4"/></g><g id="NXReportSuccess5" data-animator-group="true" data-animator-type="2"><path d="M88.27 35.39l-35.47 39.9 -21.37 -17.09c-0.98,-0.81 -2.44,-0.63 -3.24,0.36 -0.79,0.99 -0.63,2.44 0.36,3.24l23.08 18.46c0.43,0.34 0.93,0.51 1.44,0.51 0.64,0 1.27,-0.26 1.74,-0.78l36.91 -41.53c0.86,-0.96 0.76,-2.42 -0.19,-3.26 -0.95,-0.86 -2.41,-0.77 -3.26,0.19z" id="NXReportSuccess6"/></g></g></g></svg>';
  1637. return reportSvgSuccess;
  1638. };
  1639. // Notiflix: Report SVG Success off
  1640. // Notiflix: Report SVG Failure on
  1641. var notiflixReportSvgFailure = function (width, color) {
  1642. if (!width) { width = '110px'; }
  1643. if (!color) { color = '#ff5549'; }
  1644. var reportSvgFailure = '<svg id="NXReportFailure" fill=" ' + color + '" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 120 120" xmlns:xlink="http://www.w3.org/1999/xlink"><style>@-webkit-keyframes NXReportFailure4-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportFailure4-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@-webkit-keyframes NXReportFailure3-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@keyframes NXReportFailure3-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@-webkit-keyframes NXReportFailure5-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}50%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@keyframes NXReportFailure5-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}50%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@-webkit-keyframes NXReportFailure6-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportFailure6-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}#NXReportFailure *{-webkit-animation-duration: 1.2s;animation-duration: 1.2s;-webkit-animation-timing-function: cubic-bezier(0, 0, 1, 1);animation-timing-function: cubic-bezier(0, 0, 1, 1);}#NXReportFailure6{fill:inherit;-webkit-animation-name: NXReportFailure6-animation;animation-name: NXReportFailure6-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);opacity: 1;}#NXReportFailure5{-webkit-animation-name: NXReportFailure5-animation;animation-name: NXReportFailure5-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}#NXReportFailure3{-webkit-animation-name: NXReportFailure3-animation;animation-name: NXReportFailure3-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}#NXReportFailure4{fill:inherit;-webkit-animation-name: NXReportFailure4-animation;animation-name: NXReportFailure4-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);opacity: 1;}</style><g id="NXReportFailure1"><g id="NXReportFailure2"><g id="NXReportFailure3" data-animator-group="true" data-animator-type="2"><path d="M4.35 34.95c0,-16.82 13.78,-30.6 30.6,-30.6l50.1 0c16.82,0 30.6,13.78 30.6,30.6l0 50.1c0,16.82 -13.78,30.6 -30.6,30.6l-50.1 0c-16.82,0 -30.6,-13.78 -30.6,-30.6l0 -50.1zm30.6 85.05l50.1 0c19.22,0 34.95,-15.73 34.95,-34.95l0 -50.1c0,-19.22 -15.73,-34.95 -34.95,-34.95l-50.1 0c-19.22,0 -34.95,15.73 -34.95,34.95l0 50.1c0,19.22 15.73,34.95 34.95,34.95z" id="NXReportFailure4"/></g><g id="NXReportFailure5" data-animator-group="true" data-animator-type="2"><path d="M82.4 37.6c-0.9,-0.9 -2.37,-0.9 -3.27,0l-19.13 19.13 -19.14 -19.13c-0.9,-0.9 -2.36,-0.9 -3.26,0 -0.9,0.9 -0.9,2.35 0,3.26l19.13 19.14 -19.13 19.13c-0.9,0.9 -0.9,2.37 0,3.27 0.45,0.45 1.04,0.68 1.63,0.68 0.59,0 1.18,-0.23 1.63,-0.68l19.14 -19.14 19.13 19.14c0.45,0.45 1.05,0.68 1.64,0.68 0.58,0 1.18,-0.23 1.63,-0.68 0.9,-0.9 0.9,-2.37 0,-3.27l-19.14 -19.13 19.14 -19.14c0.9,-0.91 0.9,-2.36 0,-3.26z" id="NXReportFailure6"/></g></g></g></svg>';
  1645. return reportSvgFailure;
  1646. };
  1647. // Notiflix: Report SVG Failure off
  1648. // Notiflix: Report SVG Warning on
  1649. var notiflixReportSvgWarning = function (width, color) {
  1650. if (!width) { width = '110px'; }
  1651. if (!color) { color = '#eebf31'; }
  1652. var reportSvgWarning = '<svg id="NXReportWarning" fill="' + color + '" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 120 120" xmlns:xlink="http://www.w3.org/1999/xlink"><style>@-webkit-keyframes NXReportWarning3-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportWarning3-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@-webkit-keyframes NXReportWarning2-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@keyframes NXReportWarning2-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@-webkit-keyframes NXReportWarning4-animation{0%{-webkit-transform: translate(60px, 66.6px) scale(0.5, 0.5) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(0.5, 0.5) translate(-60px, -66.6px);}50%{-webkit-transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);}60%{-webkit-transform: translate(60px, 66.6px) scale(0.95, 0.95) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(0.95, 0.95) translate(-60px, -66.6px);}100%{-webkit-transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);}}@keyframes NXReportWarning4-animation{0%{-webkit-transform: translate(60px, 66.6px) scale(0.5, 0.5) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(0.5, 0.5) translate(-60px, -66.6px);}50%{-webkit-transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);}60%{-webkit-transform: translate(60px, 66.6px) scale(0.95, 0.95) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(0.95, 0.95) translate(-60px, -66.6px);}100%{-webkit-transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);}}@-webkit-keyframes NXReportWarning5-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportWarning5-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}#NXReportWarning *{-webkit-animation-duration: 1.2s;animation-duration: 1.2s;-webkit-animation-timing-function: cubic-bezier(0, 0, 1, 1);animation-timing-function: cubic-bezier(0, 0, 1, 1);}#NXReportWarning3{fill: inherit;-webkit-animation-name: NXReportWarning3-animation;animation-name: NXReportWarning3-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);opacity: 1;}#NXReportWarning5{fill: inherit;-webkit-animation-name: NXReportWarning5-animation;animation-name: NXReportWarning5-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);opacity: 1;}#NXReportWarning4{-webkit-animation-name: NXReportWarning4-animation;animation-name: NXReportWarning4-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);-webkit-transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);transform: translate(60px, 66.6px) scale(1, 1) translate(-60px, -66.6px);}#NXReportWarning2{-webkit-animation-name: NXReportWarning2-animation;animation-name: NXReportWarning2-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}</style><g id="NXReportWarning1"><g id="NXReportWarning2" data-animator-group="true" data-animator-type="2"><path d="M115.46 106.15l-54.04 -93.8c-0.61,-1.06 -2.23,-1.06 -2.84,0l-54.04 93.8c-0.62,1.07 0.21,2.29 1.42,2.29l108.08 0c1.21,0 2.04,-1.22 1.42,-2.29zm-50.29 -95.95l54.04 93.8c2.28,3.96 -0.65,8.78 -5.17,8.78l-108.08 0c-4.52,0 -7.45,-4.82 -5.17,-8.78l54.04 -93.8c2.28,-3.95 8.03,-4 10.34,0z" id="NXReportWarning3"/></g><g id="NXReportWarning4" data-animator-group="true" data-animator-type="2"><path d="M57.83 94.01c0,1.2 0.97,2.17 2.17,2.17 1.2,0 2.17,-0.97 2.17,-2.17l0 -3.2c0,-1.2 -0.97,-2.17 -2.17,-2.17 -1.2,0 -2.17,0.97 -2.17,2.17l0 3.2zm0 -14.15c0,1.2 0.97,2.17 2.17,2.17 1.2,0 2.17,-0.97 2.17,-2.17l0 -40.65c0,-1.2 -0.97,-2.17 -2.17,-2.17 -1.2,0 -2.17,0.97 -2.17,2.17l0 40.65z" id="NXReportWarning5"/></g></g></svg>';
  1653. return reportSvgWarning;
  1654. };
  1655. // Notiflix: Report SVG Warning off
  1656. // Notiflix: Report SVG Info on
  1657. var notiflixReportSvgInfo = function (width, color) {
  1658. if (!width) { width = '110px'; }
  1659. if (!color) { color = '#26c0d3'; }
  1660. var reportSvgInfo = '<svg id="NXReportInfo" fill="' + color + '" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 120 120" xmlns:xlink="http://www.w3.org/1999/xlink"><style>@-webkit-keyframes NXReportInfo5-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportInfo5-animation{0%{opacity: 0;}50%{opacity: 1;}100%{opacity: 1;}}@-webkit-keyframes NXReportInfo4-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}50%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@keyframes NXReportInfo4-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}50%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@-webkit-keyframes NXReportInfo3-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@keyframes NXReportInfo3-animation{0%{opacity: 0;}40%{opacity: 1;}100%{opacity: 1;}}@-webkit-keyframes NXReportInfo2-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}@keyframes NXReportInfo2-animation{0%{-webkit-transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.5, 0.5) translate(-60px, -60px);}40%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}60%{-webkit-transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);transform: translate(60px, 60px) scale(0.95, 0.95) translate(-60px, -60px);}100%{-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}}#NXReportInfo *{-webkit-animation-duration: 1.2s;animation-duration: 1.2s;-webkit-animation-timing-function: cubic-bezier(0, 0, 1, 1);animation-timing-function: cubic-bezier(0, 0, 1, 1);}#NXReportInfo3{fill:inherit;-webkit-animation-name: NXReportInfo3-animation;animation-name: NXReportInfo3-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);opacity: 1;}#NXReportInfo5{fill:inherit;-webkit-animation-name: NXReportInfo5-animation;animation-name: NXReportInfo5-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);opacity: 1;}#NXReportInfo2{-webkit-animation-name: NXReportInfo2-animation;animation-name: NXReportInfo2-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}#NXReportInfo4{-webkit-animation-name: NXReportInfo4-animation;animation-name: NXReportInfo4-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);-webkit-transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);transform: translate(60px, 60px) scale(1, 1) translate(-60px, -60px);}</style><g id="NXReportInfo1"><g id="NXReportInfo2" data-animator-group="true" data-animator-type="2"><path d="M60 115.38c-30.54,0 -55.38,-24.84 -55.38,-55.38 0,-30.54 24.84,-55.38 55.38,-55.38 30.54,0 55.38,24.84 55.38,55.38 0,30.54 -24.84,55.38 -55.38,55.38zm0 -115.38c-33.08,0 -60,26.92 -60,60 0,33.08 26.92,60 60,60 33.08,0 60,-26.92 60,-60 0,-33.08 -26.92,-60 -60,-60z" id="NXReportInfo3"/></g><g id="NXReportInfo4" data-animator-group="true" data-animator-type="2"><path d="M57.75 43.85c0,-1.24 1.01,-2.25 2.25,-2.25 1.24,0 2.25,1.01 2.25,2.25l0 48.18c0,1.24 -1.01,2.25 -2.25,2.25 -1.24,0 -2.25,-1.01 -2.25,-2.25l0 -48.18zm0 -15.88c0,-1.24 1.01,-2.25 2.25,-2.25 1.24,0 2.25,1.01 2.25,2.25l0 3.32c0,1.25 -1.01,2.25 -2.25,2.25 -1.24,0 -2.25,-1 -2.25,-2.25l0 -3.32z" id="NXReportInfo5"/></g></g></svg>';
  1661. return reportSvgInfo;
  1662. };
  1663. // Notiflix: Report SVG Info off
  1664. // Notiflix: Indicator SVG standard on
  1665. var notiflixIndicatorSvgStandard = function (width, color) {
  1666. if (!width) { width = '60px'; }
  1667. if (!color) { color = '#32c682'; }
  1668. var standard = '<svg stroke="' + color + '" width="' + width + '" height="' + width + '" viewBox="0 0 38 38" style="transform:scale(0.8);" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g transform="translate(1 1)" stroke-width="2"><circle stroke-opacity=".25" cx="18" cy="18" r="18"/><path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur="1s" repeatCount="indefinite"/></path></g></g></svg>';
  1669. return standard;
  1670. };
  1671. // Notiflix: Indicator SVG standard off
  1672. // Notiflix: Indicator SVG hourglass on
  1673. var notiflixIndicatorSvgHourglass = function (width, color) {
  1674. if (!width) { width = '60px'; }
  1675. if (!color) { color = '#32c682'; }
  1676. var hourglass = '<svg id="NXLoadingHourglass" fill="' + color + '" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 200 200"><style>@-webkit-keyframes NXhourglass5-animation{0%{-webkit-transform: scale(1, 1);transform: scale(1, 1);}16.67%{-webkit-transform: scale(1, 0.8);transform: scale(1, 0.8);}33.33%{-webkit-transform: scale(0.88, 0.6);transform: scale(0.88, 0.6);}37.50%{-webkit-transform: scale(0.85, 0.55);transform: scale(0.85, 0.55);}41.67%{-webkit-transform: scale(0.8, 0.5);transform: scale(0.8, 0.5);}45.83%{-webkit-transform: scale(0.75, 0.45);transform: scale(0.75, 0.45);}50%{-webkit-transform: scale(0.7, 0.4);transform: scale(0.7, 0.4);}54.17%{-webkit-transform: scale(0.6, 0.35);transform: scale(0.6, 0.35);}58.33%{-webkit-transform: scale(0.5, 0.3);transform: scale(0.5, 0.3);}83.33%{-webkit-transform: scale(0.2, 0);transform: scale(0.2, 0);}100%{-webkit-transform: scale(0.2, 0);transform: scale(0.2, 0);}}@keyframes NXhourglass5-animation{0%{-webkit-transform: scale(1, 1);transform: scale(1, 1);}16.67%{-webkit-transform: scale(1, 0.8);transform: scale(1, 0.8);}33.33%{-webkit-transform: scale(0.88, 0.6);transform: scale(0.88, 0.6);}37.50%{-webkit-transform: scale(0.85, 0.55);transform: scale(0.85, 0.55);}41.67%{-webkit-transform: scale(0.8, 0.5);transform: scale(0.8, 0.5);}45.83%{-webkit-transform: scale(0.75, 0.45);transform: scale(0.75, 0.45);}50%{-webkit-transform: scale(0.7, 0.4);transform: scale(0.7, 0.4);}54.17%{-webkit-transform: scale(0.6, 0.35);transform: scale(0.6, 0.35);}58.33%{-webkit-transform: scale(0.5, 0.3);transform: scale(0.5, 0.3);}83.33%{-webkit-transform: scale(0.2, 0);transform: scale(0.2, 0);}100%{-webkit-transform: scale(0.2, 0);transform: scale(0.2, 0);}}@-webkit-keyframes NXhourglass3-animation{0%{-webkit-transform: scale(1, 0.02);transform: scale(1, 0.02);}79.17%{-webkit-transform: scale(1, 1);transform: scale(1, 1);}100%{-webkit-transform: scale(1, 1);transform: scale(1, 1);}}@keyframes NXhourglass3-animation{0%{-webkit-transform: scale(1, 0.02);transform: scale(1, 0.02);}79.17%{-webkit-transform: scale(1, 1);transform: scale(1, 1);}100%{-webkit-transform: scale(1, 1);transform: scale(1, 1);}}@-webkit-keyframes NXhourglass1-animation{0%{-webkit-transform: rotate(0deg);transform: rotate(0deg);}83.33%{-webkit-transform: rotate(0deg);transform: rotate(0deg);}100%{-webkit-transform: rotate(180deg);transform: rotate(180deg);}}@keyframes NXhourglass1-animation{0%{-webkit-transform: rotate(0deg);transform: rotate(0deg);}83.33%{-webkit-transform: rotate(0deg);transform: rotate(0deg);}100%{-webkit-transform: rotate(180deg);transform: rotate(180deg);}}#NXLoadingHourglass *{-webkit-animation-duration: 1.2s;animation-duration: 1.2s;-webkit-animation-iteration-count: infinite;animation-iteration-count: infinite;-webkit-animation-timing-function: cubic-bezier(0, 0, 1, 1);animation-timing-function: cubic-bezier(0, 0, 1, 1);}#NXhourglass7{fill: inherit;}#NXhourglass1{-webkit-animation-name: NXhourglass1-animation;animation-name: NXhourglass1-animation;-webkit-transform-origin: 50% 50%;transform-origin: 50% 50%;transform-box: fill-box;}#NXhourglass3{-webkit-animation-name: NXhourglass3-animation;animation-name: NXhourglass3-animation;-webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);-webkit-transform-origin: 50% 100%;transform-origin: 50% 100%;transform-box: fill-box;}#NXhourglass5{-webkit-animation-name: NXhourglass5-animation;animation-name: NXhourglass5-animation;-webkit-transform-origin: 50% 100%;transform-origin: 50% 100%;transform-box: fill-box;}g#NXhourglass5,#NXhourglass3{fill: inherit;opacity: .4;}</style><g id="NXhourglass1" data-animator-group="true" data-animator-type="1"><g id="NXhourglass2"><g id="NXhourglass3" data-animator-group="true" data-animator-type="2"><polygon points="100,100 65.62,132.08 65.62,163.22 134.38,163.22 134.38,132.08 " id="NXhourglass4"/></g><g id="NXhourglass5" data-animator-group="true" data-animator-type="2"><polygon points="100,100 65.62,67.92 65.62,36.78 134.38,36.78 134.38,67.92" id="NXhourglass6"/></g> <path d="M51.14 38.89l8.33 0 0 14.93c0,15.1 8.29,28.99 23.34,39.1 1.88,1.25 3.04,3.97 3.04,7.08 0,3.11 -1.16,5.83 -3.04,7.09 -15.05,10.1 -23.34,23.99 -23.34,39.09l0 14.93 -8.33 0c-2.68,0 -4.86,2.18 -4.86,4.86 0,2.69 2.18,4.86 4.86,4.86l97.72 0c2.68,0 4.86,-2.17 4.86,-4.86 0,-2.68 -2.18,-4.86 -4.86,-4.86l-8.33 0 0 -14.93c0,-15.1 -8.29,-28.99 -23.34,-39.09 -1.88,-1.26 -3.04,-3.98 -3.04,-7.09 0,-3.11 1.16,-5.83 3.04,-7.08 15.05,-10.11 23.34,-24 23.34,-39.1l0 -14.93 8.33 0c2.68,0 4.86,-2.18 4.86,-4.86 0,-2.69 -2.18,-4.86 -4.86,-4.86l-97.72 0c-2.68,0 -4.86,2.17 -4.86,4.86 0,2.68 2.18,4.86 4.86,4.86zm79.67 14.93c0,15.87 -11.93,26.25 -19.04,31.03 -4.6,3.08 -7.34,8.75 -7.34,15.15 0,6.41 2.74,12.07 7.34,15.15 7.11,4.78 19.04,15.16 19.04,31.03l0 14.93 -61.62 0 0 -14.93c0,-15.87 11.93,-26.25 19.04,-31.02 4.6,-3.09 7.34,-8.75 7.34,-15.16 0,-6.4 -2.74,-12.07 -7.34,-15.15 -7.11,-4.78 -19.04,-15.16 -19.04,-31.03l0 -14.93 61.62 0 0 14.93z" id="NXhourglass7"/></g></g></svg>';
  1677. return hourglass;
  1678. };
  1679. // Notiflix: Indicator SVG hourglass off
  1680. // Notiflix: Indicator SVG circle on
  1681. var notiflixIndicatorSvgCircle = function (width, color) {
  1682. if (!width) { width = '60px'; }
  1683. if (!color) { color = '#32c682'; }
  1684. var circle = '<svg id="NXLoadingCircle" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="25 25 50 50" xml:space="preserve" version="1.1"><style>#NXLoadingCircle{-webkit-animation: rotate 2s linear infinite; animation: rotate 2s linear infinite; height: ' + width + '; -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center; width: ' + width + '; position: absolute; top: 0; left: 0; margin: auto;}.notiflix-loader-circle-path{stroke-dasharray: 150,200; stroke-dashoffset: -10; -webkit-animation: dash 1.5s ease-in-out infinite, color 1.5s ease-in-out infinite; animation: dash 1.5s ease-in-out infinite, color 1.5s ease-in-out infinite; stroke-linecap: round;}@-webkit-keyframes rotate{100%{-webkit-transform: rotate(360deg); transform: rotate(360deg);}}@keyframes rotate{100%{-webkit-transform: rotate(360deg); transform: rotate(360deg);}}@-webkit-keyframes dash{0%{stroke-dasharray: 1,200; stroke-dashoffset: 0;}50%{stroke-dasharray: 89,200; stroke-dashoffset: -35;}100%{stroke-dasharray: 89,200; stroke-dashoffset: -124;}}@keyframes dash{0%{stroke-dasharray: 1,200; stroke-dashoffset: 0;}50%{stroke-dasharray: 89,200; stroke-dashoffset: -35;}100%{stroke-dasharray: 89,200; stroke-dashoffset: -124;}}</style><circle class="notiflix-loader-circle-path" cx="50" cy="50" r="20" fill="none" stroke="' + color + '" stroke-width="2"/></svg>';
  1685. return circle;
  1686. };
  1687. // Notiflix: Indicator SVG circle off
  1688. // Notiflix: Indicator SVG arrows on
  1689. var notiflixIndicatorSvgArrows = function (width, color) {
  1690. if (!width) { width = '60px'; }
  1691. if (!color) { color = '#32c682'; }
  1692. var arrows = '<svg id="NXLoadingArrows" fill="' + color + '" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 128 128" xml:space="preserve"><g><path fill="inherit" fill-opacity="1" d="M109.25 55.5h-36l12-12a29.54 29.54 0 0 0-49.53 12H18.75A46.04 46.04 0 0 1 96.9 31.84l12.35-12.34v36zm-90.5 17h36l-12 12a29.54 29.54 0 0 0 49.53-12h16.97A46.04 46.04 0 0 1 31.1 96.16L18.74 108.5v-36z" /><animateTransform attributeName="transform" type="rotate" from="0 64 64" to="360 64 64" dur="1.5s" repeatCount="indefinite"></animateTransform></g></svg>';
  1693. return arrows;
  1694. };
  1695. // Notiflix: Indicator SVG arrows off
  1696. // Notiflix: Indicator SVG dots on
  1697. var notiflixIndicatorSvgDots = function (width, color) {
  1698. if (!width) { width = '60px'; }
  1699. if (!color) { color = '#32c682'; }
  1700. var dots = '<svg id="NXLoadingDots" fill="' + color + '" width="' + width + '" height="' + width + '" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><g transform="translate(25 50)"><circle cx="0" cy="0" r="9" fill="inherit" transform="scale(0.239 0.239)"><animateTransform attributeName="transform" type="scale" begin="-0.266s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="0.8s" repeatCount="indefinite"/></circle></g><g transform="translate(50 50)"> <circle cx="0" cy="0" r="9" fill="inherit" transform="scale(0.00152 0.00152)"><animateTransform attributeName="transform" type="scale" begin="-0.133s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="0.8s" repeatCount="indefinite"/></circle></g><g transform="translate(75 50)"><circle cx="0" cy="0" r="9" fill="inherit" transform="scale(0.299 0.299)"><animateTransform attributeName="transform" type="scale" begin="0s" calcMode="spline" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" values="0;1;0" keyTimes="0;0.5;1" dur="0.8s" repeatCount="indefinite"/></circle></g></svg>';
  1701. return dots;
  1702. };
  1703. // Notiflix: Indicator SVG dots off
  1704. // Notiflix: Indicator SVG pulse on
  1705. var notiflixIndicatorSvgPulse = function (width, color) {
  1706. if (!width) { width = '60px'; }
  1707. if (!color) { color = '#32c682'; }
  1708. var pulse = '<svg stroke="' + color + '" width="' + width + '" height="' + width + '" viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" stroke-width="2"><circle cx="22" cy="22" r="1"><animate attributeName="r" begin="0s" dur="1.8s" values="1; 20" calcMode="spline" keyTimes="0; 1" keySplines="0.165, 0.84, 0.44, 1" repeatCount="indefinite"/><animate attributeName="stroke-opacity" begin="0s" dur="1.8s" values="1; 0" calcMode="spline" keyTimes="0; 1" keySplines="0.3, 0.61, 0.355, 1" repeatCount="indefinite"/></circle><circle cx="22" cy="22" r="1"><animate attributeName="r" begin="-0.9s" dur="1.8s" values="1; 20" calcMode="spline" keyTimes="0; 1" keySplines="0.165, 0.84, 0.44, 1" repeatCount="indefinite"/><animate attributeName="stroke-opacity" begin="-0.9s" dur="1.8s" values="1; 0" calcMode="spline" keyTimes="0; 1" keySplines="0.3, 0.61, 0.355, 1" repeatCount="indefinite"/></circle></g></svg>';
  1709. return pulse;
  1710. };
  1711. // Notiflix: Indicator SVG pulse off
  1712. // Notiflix: Indicator SVG notiflix on
  1713. var notiflixIndicatorSvgNotiflix = function (width, white, green) {
  1714. if (!width) { width = '60px'; }
  1715. if (!white) { white = '#f8f8f8'; }
  1716. if (!green) { green = '#32c682'; }
  1717. var notiflixIcon = '<svg id="NXLoadingNotiflixLib" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="' + width + '" height="' + width + '" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="0 0 200 200" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">.line{stroke:' + white + ';stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:22;}.line{fill:none;}.dot{fill:' + green + ';stroke:' + green + ';stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:22;}.n{stroke-dasharray: 500;stroke-dashoffset: 0;animation-name: notiflix-n;animation-timing-function: linear;animation-duration: 2.5s;animation-delay:0s;animation-iteration-count: infinite;animation-direction: normal;}@keyframes notiflix-n{0%{stroke-dashoffset: 1000;}100%{stroke-dashoffset: 0;}}.x2,.x1{stroke-dasharray: 500;stroke-dashoffset: 0;animation-name: notiflix-x;animation-timing-function: linear;animation-duration: 2.5s;animation-delay:.2s;animation-iteration-count: infinite;animation-direction: normal;}@keyframes notiflix-x{0%{stroke-dashoffset: 1000;}100%{stroke-dashoffset: 0;}}.dot{animation-name: notiflix-dot;animation-timing-function: ease-in-out;animation-duration: 1.25s;animation-iteration-count: infinite;animation-direction: normal;}@keyframes notiflix-dot{0%{stroke-width: 0;}50%{stroke-width: 12;}100%{stroke-width: 0;}}</style></defs><g><path class="dot" d="M47.97 135.05c3.59,0 6.5,2.91 6.5,6.5 0,3.59 -2.91,6.5 -6.5,6.5 -3.59,0 -6.5,-2.91 -6.5,-6.5 0,-3.59 2.91,-6.5 6.5,-6.5z"/><path class="line n" d="M10.14 144.76l0 -0.22 0 -0.96 0 -56.03c0,-5.68 -4.54,-41.36 37.83,-41.36 42.36,0 37.82,35.68 37.82,41.36l0 57.21"/><path class="line x1" d="M115.06 144.49c24.98,-32.68 49.96,-65.35 74.94,-98.03"/><path class="line x2" d="M114.89 46.6c25.09,32.58 50.19,65.17 75.29,97.75"/></g></svg>';
  1718. return notiflixIcon;
  1719. };
  1720. // Notiflix: Indicator SVG notiflix off
  1721. /*
  1722. * 侧边滑出弹层插件 mSlider.js
  1723. * DH (https://denghao.me)
  1724. * 2018-07
  1725. */
  1726. // (function(b, c) {
  1727. // function a(d) {
  1728. // this.opts = {
  1729. // "direction": d.direction || "left",
  1730. // "distance": d.distance || "60%",
  1731. // "dom": this.Q(d.dom),
  1732. // "time": d.time || "",
  1733. // "maskClose": (d.maskClose + "").toString() !== "false" ? true : false,
  1734. // "callback": d.callback || ""
  1735. // };
  1736. // this.rnd = this.rnd();
  1737. // this.dom = this.opts.dom[0];
  1738. // this.wrap = "";
  1739. // this.inner = "";
  1740. // this.mask = "";
  1741. // this.init()
  1742. // }
  1743. // a.prototype = {
  1744. // Q: function(d) {
  1745. // return document.querySelectorAll(d)
  1746. // },
  1747. // isMobile: function() {
  1748. // return navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i) ? true : false
  1749. // },
  1750. // addEvent: function(f, e, d) {
  1751. // if (f.attachEvent) {
  1752. // f.attachEvent("on" + e, d)
  1753. // } else {
  1754. // f.addEventListener(e, d, false)
  1755. // }
  1756. // },
  1757. // rnd: function() {
  1758. // return Math.random().toString(36).substr(2, 6)
  1759. // },
  1760. // init: function() {
  1761. // var g = this;
  1762. // if (!g.dom) {
  1763. // console.log("未正确绑定弹窗容器");
  1764. // return
  1765. // }
  1766. // var d = document.createElement("div");
  1767. // var e = document.createElement("div");
  1768. // var f = document.createElement("div");
  1769. // d.setAttribute("class", "mSlider-main ms-" + g.rnd);
  1770. // e.setAttribute("class", "mSlider-inner");
  1771. // f.setAttribute("class", "mSlider-mask");
  1772. // g.Q("body")[0].appendChild(d);
  1773. // g.Q(".ms-" + g.rnd)[0].appendChild(e);
  1774. // g.Q(".ms-" + g.rnd)[0].appendChild(f);
  1775. // g.wrap = g.Q(".ms-" + g.rnd)[0];
  1776. // g.inner = g.Q(".ms-" + g.rnd + " .mSlider-inner")[0];
  1777. // g.mask = g.Q(".ms-" + g.rnd + " .mSlider-mask")[0];
  1778. // g.inner.appendChild(g.dom);
  1779. // switch (g.opts.direction) {
  1780. // case "top":
  1781. // g.top = "0";
  1782. // g.left = "0";
  1783. // g.width = "100%";
  1784. // g.height = g.opts.distance;
  1785. // g.translate = "0,-100%,0";
  1786. // break;
  1787. // case "bottom":
  1788. // g.bottom = "0";
  1789. // g.left = "0";
  1790. // g.width = "100%";
  1791. // g.height = g.opts.distance;
  1792. // g.translate = "0,100%,0";
  1793. // break;
  1794. // case "right":
  1795. // g.top = "0";
  1796. // g.right = "0";
  1797. // g.width = g.opts.distance;
  1798. // g.height = document.documentElement.clientHeight + "px";
  1799. // g.translate = "100%,0,0";
  1800. // break;
  1801. // default:
  1802. // g.top = "0";
  1803. // g.left = "0";
  1804. // g.width = g.opts.distance;
  1805. // g.height = document.documentElement.clientHeight + "px";
  1806. // g.translate = "-100%,0,0"
  1807. // }
  1808. // g.wrap.style.display = "none";
  1809. // g.wrap.style.position = "fixed";
  1810. // g.wrap.style.top = "0";
  1811. // g.wrap.style.left = "0";
  1812. // g.wrap.style.width = "100%";
  1813. // g.wrap.style.height = "100%";
  1814. // g.wrap.style.zIndex = 99;
  1815. // g.inner.style.position = "absolute";
  1816. // g.inner.style.top = g.top;
  1817. // g.inner.style.bottom = g.bottom;
  1818. // g.inner.style.left = g.left;
  1819. // g.inner.style.right = g.right;
  1820. // g.inner.style.width = g.width;
  1821. // g.inner.style.height = g.height;
  1822. // g.inner.style.backgroundColor = "#fff";
  1823. // g.inner.style.transform = "translate3d(" + g.translate + ")";
  1824. // g.inner.style.webkitTransition = "all .2s ease-out";
  1825. // g.inner.style.transition = "all .2s ease-out";
  1826. // g.inner.style.zIndex = 100;
  1827. // g.mask.style.width = "100%";
  1828. // g.mask.style.height = "100%";
  1829. // g.mask.style.opacity = "0";
  1830. // g.mask.style.backgroundColor = "black";
  1831. // g.mask.style.zIndex = "98";
  1832. // g.mask.style.webkitTransition = "all .2s ease-out";
  1833. // g.mask.style.transition = "all .2s ease-out";
  1834. // g.mask.style.webkitBackfaceVisibility = "hidden";
  1835. // g.events()
  1836. // },
  1837. // open: function() {
  1838. // var d = this;
  1839. // d.wrap.style.display = "block";
  1840. // setTimeout(function() {
  1841. // d.inner.style.transform = "translate3d(0,0,0)";
  1842. // d.inner.style.webkitTransform = "translate3d(0,0,0)";
  1843. // d.mask.style.opacity = 0.5
  1844. // }, 30);
  1845. // if (d.opts.time) {
  1846. // d.timer = setTimeout(function() {
  1847. // d.close()
  1848. // }, d.opts.time)
  1849. // }
  1850. // },
  1851. // close: function() {
  1852. // var d = this;
  1853. // d.timer && clearTimeout(d.timer);
  1854. // d.inner.style.webkitTransform = "translate3d(" + d.translate + ")";
  1855. // d.inner.style.transform = "translate3d(" + d.translate + ")";
  1856. // d.mask.style.opacity = 0;
  1857. // setTimeout(function() {
  1858. // d.wrap.style.display = "none";
  1859. // d.timer = null;
  1860. // d.opts.callback && d.opts.callback()
  1861. // }, 300)
  1862. // },
  1863. // events: function() {
  1864. // var d = this;
  1865. // d.addEvent(d.mask, "touchmove", function(f) {
  1866. // f.preventDefault()
  1867. // });
  1868. // d.addEvent(d.mask, (d.isMobile() ? "touchend" : "click"), function(f) {
  1869. // if (d.opts.maskClose) {
  1870. // d.close()
  1871. // }
  1872. // })
  1873. // }
  1874. // };
  1875. // b.mSlider = a
  1876. // })(window);
  1877. exports(MOD_NAME,pearOper);
  1878. })