├── .bowerrc ├── .gitignore ├── README.md ├── bower.json ├── demo ├── css │ └── demo.css ├── favicon.ico ├── index.html ├── js │ ├── demo.js │ └── jquery.sendmail.js ├── mail │ ├── error.html │ ├── phpmailer │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── VERSION │ │ ├── get_oauth_token.php │ │ ├── language │ │ │ ├── phpmailer.lang-am.php │ │ │ ├── phpmailer.lang-ar.php │ │ │ ├── phpmailer.lang-az.php │ │ │ ├── phpmailer.lang-ba.php │ │ │ ├── phpmailer.lang-be.php │ │ │ ├── phpmailer.lang-bg.php │ │ │ ├── phpmailer.lang-ca.php │ │ │ ├── phpmailer.lang-ch.php │ │ │ ├── phpmailer.lang-cs.php │ │ │ ├── phpmailer.lang-da.php │ │ │ ├── phpmailer.lang-de.php │ │ │ ├── phpmailer.lang-el.php │ │ │ ├── phpmailer.lang-eo.php │ │ │ ├── phpmailer.lang-es.php │ │ │ ├── phpmailer.lang-et.php │ │ │ ├── phpmailer.lang-fa.php │ │ │ ├── phpmailer.lang-fi.php │ │ │ ├── phpmailer.lang-fo.php │ │ │ ├── phpmailer.lang-fr.php │ │ │ ├── phpmailer.lang-gl.php │ │ │ ├── phpmailer.lang-he.php │ │ │ ├── phpmailer.lang-hi.php │ │ │ ├── phpmailer.lang-hr.php │ │ │ ├── phpmailer.lang-hu.php │ │ │ ├── phpmailer.lang-id.php │ │ │ ├── phpmailer.lang-it.php │ │ │ ├── phpmailer.lang-ja.php │ │ │ ├── phpmailer.lang-ka.php │ │ │ ├── phpmailer.lang-ko.php │ │ │ ├── phpmailer.lang-lt.php │ │ │ ├── phpmailer.lang-lv.php │ │ │ ├── phpmailer.lang-ms.php │ │ │ ├── phpmailer.lang-nb.php │ │ │ ├── phpmailer.lang-nl.php │ │ │ ├── phpmailer.lang-pl.php │ │ │ ├── phpmailer.lang-pt.php │ │ │ ├── phpmailer.lang-pt_br.php │ │ │ ├── phpmailer.lang-ro.php │ │ │ ├── phpmailer.lang-rs.php │ │ │ ├── phpmailer.lang-ru.php │ │ │ ├── phpmailer.lang-sk.php │ │ │ ├── phpmailer.lang-sl.php │ │ │ ├── phpmailer.lang-sv.php │ │ │ ├── phpmailer.lang-tr.php │ │ │ ├── phpmailer.lang-uk.php │ │ │ ├── phpmailer.lang-vi.php │ │ │ ├── phpmailer.lang-zh.php │ │ │ └── phpmailer.lang-zh_cn.php │ │ └── src │ │ │ ├── Exception.php │ │ │ ├── OAuth.php │ │ │ ├── PHPMailer.php │ │ │ ├── POP3.php │ │ │ └── SMTP.php │ ├── sendmail.php │ └── success.html └── scss │ └── demo.scss ├── dist ├── jquery.sendmail.js ├── jquery.sendmail.min.js └── mail │ ├── error.html │ ├── phpmailer │ ├── LICENSE │ ├── README.md │ ├── SECURITY.md │ ├── VERSION │ ├── get_oauth_token.php │ ├── language │ │ ├── phpmailer.lang-am.php │ │ ├── phpmailer.lang-ar.php │ │ ├── phpmailer.lang-az.php │ │ ├── phpmailer.lang-ba.php │ │ ├── phpmailer.lang-be.php │ │ ├── phpmailer.lang-bg.php │ │ ├── phpmailer.lang-ca.php │ │ ├── phpmailer.lang-ch.php │ │ ├── phpmailer.lang-cs.php │ │ ├── phpmailer.lang-da.php │ │ ├── phpmailer.lang-de.php │ │ ├── phpmailer.lang-el.php │ │ ├── phpmailer.lang-eo.php │ │ ├── phpmailer.lang-es.php │ │ ├── phpmailer.lang-et.php │ │ ├── phpmailer.lang-fa.php │ │ ├── phpmailer.lang-fi.php │ │ ├── phpmailer.lang-fo.php │ │ ├── phpmailer.lang-fr.php │ │ ├── phpmailer.lang-gl.php │ │ ├── phpmailer.lang-he.php │ │ ├── phpmailer.lang-hi.php │ │ ├── phpmailer.lang-hr.php │ │ ├── phpmailer.lang-hu.php │ │ ├── phpmailer.lang-id.php │ │ ├── phpmailer.lang-it.php │ │ ├── phpmailer.lang-ja.php │ │ ├── phpmailer.lang-ka.php │ │ ├── phpmailer.lang-ko.php │ │ ├── phpmailer.lang-lt.php │ │ ├── phpmailer.lang-lv.php │ │ ├── phpmailer.lang-ms.php │ │ ├── phpmailer.lang-nb.php │ │ ├── phpmailer.lang-nl.php │ │ ├── phpmailer.lang-pl.php │ │ ├── phpmailer.lang-pt.php │ │ ├── phpmailer.lang-pt_br.php │ │ ├── phpmailer.lang-ro.php │ │ ├── phpmailer.lang-rs.php │ │ ├── phpmailer.lang-ru.php │ │ ├── phpmailer.lang-sk.php │ │ ├── phpmailer.lang-sl.php │ │ ├── phpmailer.lang-sv.php │ │ ├── phpmailer.lang-tr.php │ │ ├── phpmailer.lang-uk.php │ │ ├── phpmailer.lang-vi.php │ │ ├── phpmailer.lang-zh.php │ │ └── phpmailer.lang-zh_cn.php │ └── src │ │ ├── Exception.php │ │ ├── OAuth.php │ │ ├── PHPMailer.php │ │ ├── POP3.php │ │ └── SMTP.php │ ├── sendmail.php │ └── success.html ├── docs ├── css │ ├── fallbacks.css │ ├── fonts.css │ ├── main.css │ └── media.css ├── favicon.ico ├── fonts │ ├── PlayBold │ │ ├── PlayBold.eot │ │ ├── PlayBold.svg │ │ ├── PlayBold.ttf │ │ ├── PlayBold.woff │ │ └── PlayBold.woff2 │ └── PlayRegular │ │ ├── PlayRegular.eot │ │ ├── PlayRegular.svg │ │ ├── PlayRegular.ttf │ │ ├── PlayRegular.woff │ │ └── PlayRegular.woff2 ├── index.html ├── js │ ├── common.js │ ├── jquery.sendmail.js │ └── jquery.sendmail.min.js ├── libs │ ├── animate.css │ │ ├── .bower.json │ │ ├── LICENSE │ │ ├── animate-config.json │ │ ├── animate.css │ │ ├── animate.min.css │ │ ├── bower.json │ │ ├── gulpfile.js │ │ ├── package-lock.json │ │ ├── package.json │ │ └── source │ │ │ ├── _base.css │ │ │ ├── attention_seekers │ │ │ ├── bounce.css │ │ │ ├── flash.css │ │ │ ├── headShake.css │ │ │ ├── heartBeat.css │ │ │ ├── jello.css │ │ │ ├── pulse.css │ │ │ ├── rubberBand.css │ │ │ ├── shake.css │ │ │ ├── swing.css │ │ │ ├── tada.css │ │ │ └── wobble.css │ │ │ ├── bouncing_entrances │ │ │ ├── bounceIn.css │ │ │ ├── bounceInDown.css │ │ │ ├── bounceInLeft.css │ │ │ ├── bounceInRight.css │ │ │ └── bounceInUp.css │ │ │ ├── bouncing_exits │ │ │ ├── bounceOut.css │ │ │ ├── bounceOutDown.css │ │ │ ├── bounceOutLeft.css │ │ │ ├── bounceOutRight.css │ │ │ └── bounceOutUp.css │ │ │ ├── fading_entrances │ │ │ ├── fadeIn.css │ │ │ ├── fadeInDown.css │ │ │ ├── fadeInDownBig.css │ │ │ ├── fadeInLeft.css │ │ │ ├── fadeInLeftBig.css │ │ │ ├── fadeInRight.css │ │ │ ├── fadeInRightBig.css │ │ │ ├── fadeInUp.css │ │ │ └── fadeInUpBig.css │ │ │ ├── fading_exits │ │ │ ├── fadeOut.css │ │ │ ├── fadeOutDown.css │ │ │ ├── fadeOutDownBig.css │ │ │ ├── fadeOutLeft.css │ │ │ ├── fadeOutLeftBig.css │ │ │ ├── fadeOutRight.css │ │ │ ├── fadeOutRightBig.css │ │ │ ├── fadeOutUp.css │ │ │ └── fadeOutUpBig.css │ │ │ ├── flippers │ │ │ ├── flip.css │ │ │ ├── flipInX.css │ │ │ ├── flipInY.css │ │ │ ├── flipOutX.css │ │ │ └── flipOutY.css │ │ │ ├── lightspeed │ │ │ ├── lightSpeedIn.css │ │ │ └── lightSpeedOut.css │ │ │ ├── rotating_entrances │ │ │ ├── rotateIn.css │ │ │ ├── rotateInDownLeft.css │ │ │ ├── rotateInDownRight.css │ │ │ ├── rotateInUpLeft.css │ │ │ └── rotateInUpRight.css │ │ │ ├── rotating_exits │ │ │ ├── rotateOut.css │ │ │ ├── rotateOutDownLeft.css │ │ │ ├── rotateOutDownRight.css │ │ │ ├── rotateOutUpLeft.css │ │ │ └── rotateOutUpRight.css │ │ │ ├── sliding_entrances │ │ │ ├── slideInDown.css │ │ │ ├── slideInLeft.css │ │ │ ├── slideInRight.css │ │ │ └── slideInUp.css │ │ │ ├── sliding_exits │ │ │ ├── slideOutDown.css │ │ │ ├── slideOutLeft.css │ │ │ ├── slideOutRight.css │ │ │ └── slideOutUp.css │ │ │ ├── specials │ │ │ ├── hinge.css │ │ │ ├── jackInTheBox.css │ │ │ ├── rollIn.css │ │ │ └── rollOut.css │ │ │ ├── zooming_entrances │ │ │ ├── zoomIn.css │ │ │ ├── zoomInDown.css │ │ │ ├── zoomInLeft.css │ │ │ ├── zoomInRight.css │ │ │ └── zoomInUp.css │ │ │ └── zooming_exits │ │ │ ├── zoomOut.css │ │ │ ├── zoomOutDown.css │ │ │ ├── zoomOutLeft.css │ │ │ ├── zoomOutRight.css │ │ │ └── zoomOutUp.css │ ├── easings │ │ └── easings.js │ ├── fancybox │ │ ├── .bower.json │ │ ├── .github │ │ │ └── ISSUE_TEMPLATE │ │ │ │ ├── bug_report.md │ │ │ │ ├── feature_request.md │ │ │ │ └── question.md │ │ ├── .gitignore │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── jquery.fancybox.css │ │ │ ├── jquery.fancybox.js │ │ │ ├── jquery.fancybox.min.css │ │ │ └── jquery.fancybox.min.js │ │ ├── docs │ │ │ └── index.html │ │ ├── gulpfile.js │ │ ├── package.json │ │ └── src │ │ │ ├── css │ │ │ ├── core.css │ │ │ ├── fullscreen.css │ │ │ ├── share.css │ │ │ ├── slideshow.css │ │ │ └── thumbs.css │ │ │ └── js │ │ │ ├── core.js │ │ │ ├── fullscreen.js │ │ │ ├── guestures.js │ │ │ ├── hash.js │ │ │ ├── media.js │ │ │ ├── share.js │ │ │ ├── slideshow.js │ │ │ ├── thumbs.js │ │ │ └── wheel.js │ ├── flextabs-js │ │ ├── .bower.json │ │ ├── README.md │ │ ├── bower.json │ │ ├── demo │ │ │ ├── ajax-content.php │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ ├── jquery.flextabs.css │ │ │ │ ├── jquery.flextabs.theme-default.css │ │ │ │ └── jquery.flextabs.theme-template.css │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── js │ │ │ │ ├── demo.js │ │ │ │ ├── jquery.flextabs — копия.js │ │ │ │ └── jquery.flextabs.js │ │ │ └── scss │ │ │ │ ├── demo.scss │ │ │ │ ├── jquery.flextabs.scss │ │ │ │ ├── jquery.flextabs.theme-default.scss │ │ │ │ └── jquery.flextabs.theme-template.scss │ │ ├── dist │ │ │ ├── jquery.flextabs.css │ │ │ ├── jquery.flextabs.js │ │ │ ├── jquery.flextabs.min.css │ │ │ ├── jquery.flextabs.min.js │ │ │ ├── jquery.flextabs.theme-default.css │ │ │ └── jquery.flextabs.theme-default.min.css │ │ ├── gulpfile.js │ │ └── package.json │ ├── jquery.easing │ │ ├── .bower.json │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bower.json │ │ └── js │ │ │ ├── jquery.easing.compatibility.js │ │ │ ├── jquery.easing.js │ │ │ └── jquery.easing.min.js │ ├── jquery │ │ ├── .bower.json │ │ ├── AUTHORS.txt │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── core.js │ │ │ ├── jquery.js │ │ │ ├── jquery.min.js │ │ │ ├── jquery.min.map │ │ │ ├── jquery.slim.js │ │ │ ├── jquery.slim.min.js │ │ │ └── jquery.slim.min.map │ │ ├── external │ │ │ └── sizzle │ │ │ │ ├── LICENSE.txt │ │ │ │ └── dist │ │ │ │ ├── sizzle.js │ │ │ │ ├── sizzle.min.js │ │ │ │ └── sizzle.min.map │ │ └── src │ │ │ ├── .eslintrc.json │ │ │ ├── ajax.js │ │ │ ├── ajax │ │ │ ├── jsonp.js │ │ │ ├── load.js │ │ │ ├── parseXML.js │ │ │ ├── script.js │ │ │ ├── var │ │ │ │ ├── location.js │ │ │ │ ├── nonce.js │ │ │ │ └── rquery.js │ │ │ └── xhr.js │ │ │ ├── attributes.js │ │ │ ├── attributes │ │ │ ├── attr.js │ │ │ ├── classes.js │ │ │ ├── prop.js │ │ │ ├── support.js │ │ │ └── val.js │ │ │ ├── callbacks.js │ │ │ ├── core.js │ │ │ ├── core │ │ │ ├── DOMEval.js │ │ │ ├── access.js │ │ │ ├── camelCase.js │ │ │ ├── init.js │ │ │ ├── nodeName.js │ │ │ ├── parseHTML.js │ │ │ ├── ready-no-deferred.js │ │ │ ├── ready.js │ │ │ ├── readyException.js │ │ │ ├── stripAndCollapse.js │ │ │ ├── support.js │ │ │ ├── toType.js │ │ │ └── var │ │ │ │ └── rsingleTag.js │ │ │ ├── css.js │ │ │ ├── css │ │ │ ├── addGetHookIf.js │ │ │ ├── adjustCSS.js │ │ │ ├── curCSS.js │ │ │ ├── hiddenVisibleSelectors.js │ │ │ ├── showHide.js │ │ │ ├── support.js │ │ │ └── var │ │ │ │ ├── cssExpand.js │ │ │ │ ├── getStyles.js │ │ │ │ ├── isHiddenWithinTree.js │ │ │ │ ├── rboxStyle.js │ │ │ │ ├── rnumnonpx.js │ │ │ │ └── swap.js │ │ │ ├── data.js │ │ │ ├── data │ │ │ ├── Data.js │ │ │ └── var │ │ │ │ ├── acceptData.js │ │ │ │ ├── dataPriv.js │ │ │ │ └── dataUser.js │ │ │ ├── deferred.js │ │ │ ├── deferred │ │ │ └── exceptionHook.js │ │ │ ├── deprecated.js │ │ │ ├── dimensions.js │ │ │ ├── effects.js │ │ │ ├── effects │ │ │ ├── Tween.js │ │ │ └── animatedSelector.js │ │ │ ├── event.js │ │ │ ├── event │ │ │ ├── ajax.js │ │ │ ├── alias.js │ │ │ ├── focusin.js │ │ │ ├── support.js │ │ │ └── trigger.js │ │ │ ├── exports │ │ │ ├── amd.js │ │ │ └── global.js │ │ │ ├── jquery.js │ │ │ ├── manipulation.js │ │ │ ├── manipulation │ │ │ ├── _evalUrl.js │ │ │ ├── buildFragment.js │ │ │ ├── getAll.js │ │ │ ├── setGlobalEval.js │ │ │ ├── support.js │ │ │ ├── var │ │ │ │ ├── rcheckableType.js │ │ │ │ ├── rscriptType.js │ │ │ │ └── rtagName.js │ │ │ └── wrapMap.js │ │ │ ├── offset.js │ │ │ ├── queue.js │ │ │ ├── queue │ │ │ └── delay.js │ │ │ ├── selector-native.js │ │ │ ├── selector-sizzle.js │ │ │ ├── selector.js │ │ │ ├── serialize.js │ │ │ ├── traversing.js │ │ │ ├── traversing │ │ │ ├── findFilter.js │ │ │ └── var │ │ │ │ ├── dir.js │ │ │ │ ├── rneedsContext.js │ │ │ │ └── siblings.js │ │ │ ├── var │ │ │ ├── ObjectFunctionString.js │ │ │ ├── arr.js │ │ │ ├── class2type.js │ │ │ ├── concat.js │ │ │ ├── document.js │ │ │ ├── documentElement.js │ │ │ ├── fnToString.js │ │ │ ├── getProto.js │ │ │ ├── hasOwn.js │ │ │ ├── indexOf.js │ │ │ ├── isFunction.js │ │ │ ├── isWindow.js │ │ │ ├── pnum.js │ │ │ ├── push.js │ │ │ ├── rcssNum.js │ │ │ ├── rnothtmlwhite.js │ │ │ ├── slice.js │ │ │ ├── support.js │ │ │ └── toString.js │ │ │ └── wrap.js │ ├── materialize │ │ ├── .bower.json │ │ ├── .editorconfig │ │ ├── .eslintrc │ │ ├── .gitattributes │ │ ├── .github │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ └── PULL_REQUEST_TEMPLATE.md │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── bower.json │ │ ├── dist │ │ │ ├── css │ │ │ │ ├── materialize.css │ │ │ │ └── materialize.min.css │ │ │ └── js │ │ │ │ ├── materialize.js │ │ │ │ └── materialize.min.js │ │ ├── docs │ │ │ └── js │ │ │ │ ├── init.js │ │ │ │ ├── jquery.timeago.min.js │ │ │ │ ├── lunr.min.js │ │ │ │ ├── prism.js │ │ │ │ └── search.js │ │ ├── extras │ │ │ └── noUiSlider │ │ │ │ ├── nouislider.css │ │ │ │ ├── nouislider.js │ │ │ │ └── nouislider.min.js │ │ ├── js │ │ │ ├── anime.min.js │ │ │ ├── autocomplete.js │ │ │ ├── buttons.js │ │ │ ├── cards.js │ │ │ ├── carousel.js │ │ │ ├── cash.js │ │ │ ├── characterCounter.js │ │ │ ├── chips.js │ │ │ ├── collapsible.js │ │ │ ├── component.js │ │ │ ├── datepicker.js │ │ │ ├── dropdown.js │ │ │ ├── forms.js │ │ │ ├── global.js │ │ │ ├── materialbox.js │ │ │ ├── modal.js │ │ │ ├── parallax.js │ │ │ ├── pushpin.js │ │ │ ├── range.js │ │ │ ├── scrollspy.js │ │ │ ├── select.js │ │ │ ├── sidenav.js │ │ │ ├── slider.js │ │ │ ├── tabs.js │ │ │ ├── tapTarget.js │ │ │ ├── timepicker.js │ │ │ ├── toasts.js │ │ │ ├── tooltip.js │ │ │ └── waves.js │ │ ├── package-lock.json │ │ ├── package.js │ │ ├── sass │ │ │ ├── .npmignore │ │ │ ├── _style.scss │ │ │ ├── components │ │ │ │ ├── _badges.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _cards.scss │ │ │ │ ├── _carousel.scss │ │ │ │ ├── _chips.scss │ │ │ │ ├── _collapsible.scss │ │ │ │ ├── _color-classes.scss │ │ │ │ ├── _color-variables.scss │ │ │ │ ├── _datepicker.scss │ │ │ │ ├── _dropdown.scss │ │ │ │ ├── _global.scss │ │ │ │ ├── _grid.scss │ │ │ │ ├── _icons-material-design.scss │ │ │ │ ├── _materialbox.scss │ │ │ │ ├── _modal.scss │ │ │ │ ├── _navbar.scss │ │ │ │ ├── _normalize.scss │ │ │ │ ├── _preloader.scss │ │ │ │ ├── _pulse.scss │ │ │ │ ├── _sidenav.scss │ │ │ │ ├── _slider.scss │ │ │ │ ├── _table_of_contents.scss │ │ │ │ ├── _tabs.scss │ │ │ │ ├── _tapTarget.scss │ │ │ │ ├── _timepicker.scss │ │ │ │ ├── _toast.scss │ │ │ │ ├── _tooltip.scss │ │ │ │ ├── _transitions.scss │ │ │ │ ├── _typography.scss │ │ │ │ ├── _variables.scss │ │ │ │ ├── _waves.scss │ │ │ │ └── forms │ │ │ │ │ ├── _checkboxes.scss │ │ │ │ │ ├── _file-input.scss │ │ │ │ │ ├── _forms.scss │ │ │ │ │ ├── _input-fields.scss │ │ │ │ │ ├── _radio-buttons.scss │ │ │ │ │ ├── _range.scss │ │ │ │ │ ├── _select.scss │ │ │ │ │ └── _switches.scss │ │ │ ├── materialize.css │ │ │ └── materialize.scss │ │ ├── templates │ │ │ ├── masonry-template │ │ │ │ ├── LICENSE │ │ │ │ ├── background1.jpg │ │ │ │ ├── background2.jpg │ │ │ │ ├── background3.jpg │ │ │ │ ├── css │ │ │ │ │ └── style.css │ │ │ │ └── js │ │ │ │ │ ├── init.js │ │ │ │ │ └── masonry.pkgd.min.js │ │ │ ├── parallax-template │ │ │ │ ├── LICENSE │ │ │ │ ├── background1.jpg │ │ │ │ ├── background2.jpg │ │ │ │ ├── background3.jpg │ │ │ │ ├── css │ │ │ │ │ └── style.css │ │ │ │ └── js │ │ │ │ │ └── init.js │ │ │ └── starter-template │ │ │ │ ├── LICENSE │ │ │ │ ├── css │ │ │ │ └── style.css │ │ │ │ └── js │ │ │ │ └── init.js │ │ ├── tests │ │ │ └── spec │ │ │ │ ├── autocomplete │ │ │ │ └── autocompleteSpec.js │ │ │ │ ├── cards │ │ │ │ └── cardsSpec.js │ │ │ │ ├── carousel │ │ │ │ └── carouselSpec.js │ │ │ │ ├── chips │ │ │ │ └── chipsSpec.js │ │ │ │ ├── collapsible │ │ │ │ └── collapsibleSpec.js │ │ │ │ ├── dropdown │ │ │ │ └── dropdownSpec.js │ │ │ │ ├── fab │ │ │ │ └── fabSpec.js │ │ │ │ ├── helper.js │ │ │ │ ├── materialbox │ │ │ │ └── materialboxSpec.js │ │ │ │ ├── modal │ │ │ │ └── modalSpec.js │ │ │ │ ├── select │ │ │ │ └── selectSpec.js │ │ │ │ ├── sidenav │ │ │ │ └── sidenavSpec.js │ │ │ │ ├── tabs │ │ │ │ └── tabsSpec.js │ │ │ │ ├── toast │ │ │ │ └── toastSpec.js │ │ │ │ └── tooltip │ │ │ │ └── tooltipSpec.js │ │ ├── v1-changelog.md │ │ └── v1-upgrade-guide.md │ ├── morecontent-js │ │ ├── .bower.json │ │ ├── README.md │ │ ├── bower.json │ │ ├── demo │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ └── jquery.morecontent.css │ │ │ ├── favicon.ico │ │ │ ├── index.html │ │ │ ├── js │ │ │ │ ├── demo.js │ │ │ │ ├── jquery.morecontent.js │ │ │ │ └── jquery.morecontent.lite.js │ │ │ └── scss │ │ │ │ ├── demo.scss │ │ │ │ └── jquery.morecontent.scss │ │ ├── dist │ │ │ ├── jquery.morecontent.js │ │ │ ├── jquery.morecontent.lite.js │ │ │ ├── jquery.morecontent.lite.min.js │ │ │ └── jquery.morecontent.min.js │ │ ├── gulpfile.js │ │ ├── names.json │ │ └── package.json │ ├── prism │ │ ├── prism.css │ │ └── prism.js │ ├── svg4everybody │ │ ├── .bower.json │ │ ├── .editorconfig │ │ ├── .eslintrc │ │ ├── .gitignore │ │ ├── .jscsrc │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS.md │ │ ├── Gruntfile.js │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── bower.json │ │ ├── dist │ │ │ ├── svg4everybody.js │ │ │ ├── svg4everybody.legacy.js │ │ │ ├── svg4everybody.legacy.min.js │ │ │ └── svg4everybody.min.js │ │ ├── lib │ │ │ └── svg4everybody.js │ │ ├── package.json │ │ └── test │ │ │ ├── 1138.png │ │ │ ├── demo.svg │ │ │ ├── demo.svg.1138.png │ │ │ ├── demo.svg.camera.png │ │ │ ├── demo.svg.eye.png │ │ │ ├── demo.svg.pencil.png │ │ │ ├── eye.png │ │ │ └── index.html │ └── uikit │ │ ├── css │ │ ├── uikit-rtl.css │ │ ├── uikit-rtl.min.css │ │ ├── uikit.css │ │ └── uikit.min.css │ │ └── js │ │ ├── uikit-icons.js │ │ ├── uikit-icons.min.js │ │ ├── uikit.js │ │ └── uikit.min.js ├── mail │ ├── error.html │ ├── phpmailer │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── VERSION │ │ ├── get_oauth_token.php │ │ ├── language │ │ │ ├── phpmailer.lang-am.php │ │ │ ├── phpmailer.lang-ar.php │ │ │ ├── phpmailer.lang-az.php │ │ │ ├── phpmailer.lang-ba.php │ │ │ ├── phpmailer.lang-be.php │ │ │ ├── phpmailer.lang-bg.php │ │ │ ├── phpmailer.lang-ca.php │ │ │ ├── phpmailer.lang-ch.php │ │ │ ├── phpmailer.lang-cs.php │ │ │ ├── phpmailer.lang-da.php │ │ │ ├── phpmailer.lang-de.php │ │ │ ├── phpmailer.lang-el.php │ │ │ ├── phpmailer.lang-eo.php │ │ │ ├── phpmailer.lang-es.php │ │ │ ├── phpmailer.lang-et.php │ │ │ ├── phpmailer.lang-fa.php │ │ │ ├── phpmailer.lang-fi.php │ │ │ ├── phpmailer.lang-fo.php │ │ │ ├── phpmailer.lang-fr.php │ │ │ ├── phpmailer.lang-gl.php │ │ │ ├── phpmailer.lang-he.php │ │ │ ├── phpmailer.lang-hi.php │ │ │ ├── phpmailer.lang-hr.php │ │ │ ├── phpmailer.lang-hu.php │ │ │ ├── phpmailer.lang-id.php │ │ │ ├── phpmailer.lang-it.php │ │ │ ├── phpmailer.lang-ja.php │ │ │ ├── phpmailer.lang-ka.php │ │ │ ├── phpmailer.lang-ko.php │ │ │ ├── phpmailer.lang-lt.php │ │ │ ├── phpmailer.lang-lv.php │ │ │ ├── phpmailer.lang-ms.php │ │ │ ├── phpmailer.lang-nb.php │ │ │ ├── phpmailer.lang-nl.php │ │ │ ├── phpmailer.lang-pl.php │ │ │ ├── phpmailer.lang-pt.php │ │ │ ├── phpmailer.lang-pt_br.php │ │ │ ├── phpmailer.lang-ro.php │ │ │ ├── phpmailer.lang-rs.php │ │ │ ├── phpmailer.lang-ru.php │ │ │ ├── phpmailer.lang-sk.php │ │ │ ├── phpmailer.lang-sl.php │ │ │ ├── phpmailer.lang-sv.php │ │ │ ├── phpmailer.lang-tr.php │ │ │ ├── phpmailer.lang-uk.php │ │ │ ├── phpmailer.lang-vi.php │ │ │ ├── phpmailer.lang-zh.php │ │ │ └── phpmailer.lang-zh_cn.php │ │ └── src │ │ │ ├── Exception.php │ │ │ ├── OAuth.php │ │ │ ├── PHPMailer.php │ │ │ ├── POP3.php │ │ │ └── SMTP.php │ ├── sendmail.php │ └── success.html ├── scss │ ├── _base.scss │ ├── _libs_custom.scss │ ├── _mixins.scss │ ├── _patterns.scss │ ├── _vars.scss │ ├── fallbacks.scss │ ├── fonts.scss │ ├── main.scss │ └── media.scss └── svg │ ├── more-content.svg │ └── svg-sprite.svg ├── gulpfile.js ├── package.json └── yarn.lock /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "demo/libs/" 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.[oa] 2 | *~ 3 | *.ini 4 | node_modules/ 5 | demo/libs/ 6 | help.txt -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sendmail-js", 3 | "version": "2.0.4", 4 | "description": "Универсальный плагин отправки HTML-форм средствами PHP, jQuery, AJAX", 5 | "main": "index.js", 6 | "authors": [ 7 | "WahaWaher" 8 | ], 9 | "license": "MIT", 10 | "homepage": "https://github.com/WahaWaher/sendmail-js.git", 11 | "ignore": [ 12 | "node_modules", 13 | "demo/libs" 14 | ], 15 | "dependencies": { 16 | "jquery": "^3.3.1" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /demo/css/demo.css: -------------------------------------------------------------------------------- 1 | /* Demo styles here... */ 2 | .center { 3 | text-align: center; 4 | } 5 | 6 | input, 7 | select, 8 | textarea { 9 | display: block; 10 | width: 100%; 11 | margin: 10px 0; 12 | padding: 5px; 13 | } 14 | 15 | label { 16 | display: block; 17 | vertical-align: middle; 18 | } 19 | 20 | input[type=checkbox], 21 | input[type=radio] { 22 | display: inline; 23 | width: auto; 24 | margin: 0 5px; 25 | position: relative; 26 | top: 2px; 27 | } 28 | 29 | .sendmail { 30 | max-width: 450px; 31 | margin: 0 auto; 32 | } 33 | 34 | .send-mail-container h2 { 35 | margin-top: 60px; 36 | } 37 | 38 | .send-mail-container h3 { 39 | margin-top: 30px; 40 | } 41 | 42 | pre { 43 | background-color: #f5f5f5; 44 | padding: 12px 10px; 45 | } 46 | 47 | code { 48 | display: inline-block; 49 | background-color: #eee; 50 | padding: 3px 7px; 51 | margin: 2px 5px; 52 | } 53 | 54 | form label.error { 55 | color: #fff; 56 | background-color: #ff8686; 57 | padding: 3px 8px; 58 | font-size: 15px; 59 | } 60 | -------------------------------------------------------------------------------- /demo/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/demo/favicon.ico -------------------------------------------------------------------------------- /demo/js/demo.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | // Demo JS here... 3 | }); -------------------------------------------------------------------------------- /demo/mail/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ошибка при отправке формы! 6 | 7 | 8 |

Ошибка при отправке формы!

9 | 10 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/VERSION: -------------------------------------------------------------------------------- 1 | 6.0.5 -------------------------------------------------------------------------------- /demo/mail/phpmailer/language/phpmailer.lang-ch.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:身份验证失败。'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP 错误: 不能连接SMTP主机。'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误: 数据不可接受。'; 11 | //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; 12 | $PHPMAILER_LANG['encoding'] = '未知编码:'; 13 | $PHPMAILER_LANG['execute'] = '不能执行: '; 14 | $PHPMAILER_LANG['file_access'] = '不能访问文件:'; 15 | $PHPMAILER_LANG['file_open'] = '文件错误:不能打开文件:'; 16 | $PHPMAILER_LANG['from_failed'] = '下面的发送地址邮件发送失败了: '; 17 | $PHPMAILER_LANG['instantiate'] = '不能实现mail方法。'; 18 | //$PHPMAILER_LANG['invalid_address'] = 'Invalid address: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 您所选择的发送邮件的方法并不支持。'; 20 | $PHPMAILER_LANG['provide_address'] = '您必须提供至少一个 收信人的email地址。'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误: 下面的 收件人失败了: '; 22 | //$PHPMAILER_LANG['signing'] = 'Signing Error: '; 23 | //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 24 | //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; 25 | //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/language/phpmailer.lang-cs.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'שגיאת SMTP: פעולת האימות נכשלה.'; 9 | $PHPMAILER_LANG['connect_host'] = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'שגיאת SMTP: מידע לא התקבל.'; 11 | $PHPMAILER_LANG['empty_message'] = 'גוף ההודעה ריק'; 12 | $PHPMAILER_LANG['invalid_address'] = 'כתובת שגויה: '; 13 | $PHPMAILER_LANG['encoding'] = 'קידוד לא מוכר: '; 14 | $PHPMAILER_LANG['execute'] = 'לא הצלחתי להפעיל את: '; 15 | $PHPMAILER_LANG['file_access'] = 'לא ניתן לגשת לקובץ: '; 16 | $PHPMAILER_LANG['file_open'] = 'שגיאת קובץ: לא ניתן לגשת לקובץ: '; 17 | $PHPMAILER_LANG['from_failed'] = 'כתובות הנמענים הבאות נכשלו: '; 18 | $PHPMAILER_LANG['instantiate'] = 'לא הצלחתי להפעיל את פונקציית המייל.'; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.'; 20 | $PHPMAILER_LANG['provide_address'] = 'חובה לספק לפחות כתובת אחת של מקבל המייל.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'שגיאת SMTP: הנמענים הבאים נכשלו: '; 22 | $PHPMAILER_LANG['signing'] = 'שגיאת חתימה: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 24 | $PHPMAILER_LANG['smtp_error'] = 'שגיאת שרת SMTP: '; 25 | $PHPMAILER_LANG['variable_set'] = 'לא ניתן לקבוע או לשנות את המשתנה: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/language/phpmailer.lang-ja.php: -------------------------------------------------------------------------------- 1 | 6 | * @author Yoshi Sakai 7 | */ 8 | 9 | $PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。'; 10 | $PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。'; 11 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。'; 12 | //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; 13 | $PHPMAILER_LANG['encoding'] = '不明なエンコーディング: '; 14 | $PHPMAILER_LANG['execute'] = '実行できませんでした: '; 15 | $PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: '; 16 | $PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: '; 17 | $PHPMAILER_LANG['from_failed'] = 'Fromアドレスを登録する際にエラーが発生しました: '; 18 | $PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。'; 19 | //$PHPMAILER_LANG['invalid_address'] = 'Invalid address: '; 20 | $PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。'; 21 | $PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。'; 22 | $PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: '; 23 | //$PHPMAILER_LANG['signing'] = 'Signing Error: '; 24 | //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 25 | //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; 26 | //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; 27 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 28 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/language/phpmailer.lang-ko.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP 오류: 인증할 수 없습니다.'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP 오류: SMTP 호스트에 접속할 수 없습니다.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 오류: 데이터가 받아들여지지 않았습니다.'; 11 | $PHPMAILER_LANG['empty_message'] = '메세지 내용이 없습니다'; 12 | $PHPMAILER_LANG['encoding'] = '알 수 없는 인코딩: '; 13 | $PHPMAILER_LANG['execute'] = '실행 불가: '; 14 | $PHPMAILER_LANG['file_access'] = '파일 접근 불가: '; 15 | $PHPMAILER_LANG['file_open'] = '파일 오류: 파일을 열 수 없습니다: '; 16 | $PHPMAILER_LANG['from_failed'] = '다음 From 주소에서 오류가 발생했습니다: '; 17 | $PHPMAILER_LANG['instantiate'] = 'mail 함수를 인스턴스화할 수 없습니다'; 18 | $PHPMAILER_LANG['invalid_address'] = '잘못된 주소: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 메일러는 지원되지 않습니다.'; 20 | $PHPMAILER_LANG['provide_address'] = '적어도 한 개 이상의 수신자 메일 주소를 제공해야 합니다.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 오류: 다음 수신자에서 오류가 발생했습니다: '; 22 | $PHPMAILER_LANG['signing'] = '서명 오류: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 연결을 실패하였습니다.'; 24 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 서버 오류: '; 25 | $PHPMAILER_LANG['variable_set'] = '변수 설정 및 초기화 불가: '; 26 | $PHPMAILER_LANG['extension_missing'] = '확장자 없음: '; 27 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/language/phpmailer.lang-lv.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP kļūda: Autorizācija neizdevās.'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP Kļūda: Nevar izveidot savienojumu ar SMTP serveri.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Kļūda: Nepieņem informāciju.'; 11 | $PHPMAILER_LANG['empty_message'] = 'Ziņojuma teksts ir tukšs'; 12 | $PHPMAILER_LANG['encoding'] = 'Neatpazīts kodējums: '; 13 | $PHPMAILER_LANG['execute'] = 'Neizdevās izpildīt komandu: '; 14 | $PHPMAILER_LANG['file_access'] = 'Fails nav pieejams: '; 15 | $PHPMAILER_LANG['file_open'] = 'Faila kļūda: Nevar atvērt failu: '; 16 | $PHPMAILER_LANG['from_failed'] = 'Nepareiza sūtītāja adrese: '; 17 | $PHPMAILER_LANG['instantiate'] = 'Nevar palaist sūtīšanas funkciju.'; 18 | $PHPMAILER_LANG['invalid_address'] = 'Nepareiza adrese: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' sūtītājs netiek atbalstīts.'; 20 | $PHPMAILER_LANG['provide_address'] = 'Lūdzu, norādiet vismaz vienu adresātu.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP kļūda: neizdevās nosūtīt šādiem saņēmējiem: '; 22 | $PHPMAILER_LANG['signing'] = 'Autorizācijas kļūda: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP savienojuma kļūda'; 24 | $PHPMAILER_LANG['smtp_error'] = 'SMTP servera kļūda: '; 25 | $PHPMAILER_LANG['variable_set'] = 'Nevar piešķirt mainīgā vērtību: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/language/phpmailer.lang-nb.php: -------------------------------------------------------------------------------- 1 | 6 | * @author Peter Dave Hello <@PeterDaveHello/> 7 | * @author Jason Chiang 8 | */ 9 | 10 | $PHPMAILER_LANG['authenticate'] = 'SMTP 錯誤:登入失敗。'; 11 | $PHPMAILER_LANG['connect_host'] = 'SMTP 錯誤:無法連線到 SMTP 主機。'; 12 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 錯誤:無法接受的資料。'; 13 | $PHPMAILER_LANG['empty_message'] = '郵件內容為空'; 14 | $PHPMAILER_LANG['encoding'] = '未知編碼: '; 15 | $PHPMAILER_LANG['execute'] = '無法執行:'; 16 | $PHPMAILER_LANG['file_access'] = '無法存取檔案:'; 17 | $PHPMAILER_LANG['file_open'] = '檔案錯誤:無法開啟檔案:'; 18 | $PHPMAILER_LANG['from_failed'] = '發送地址錯誤:'; 19 | $PHPMAILER_LANG['instantiate'] = '未知函數呼叫。'; 20 | $PHPMAILER_LANG['invalid_address'] = '因為電子郵件地址無效,無法傳送: '; 21 | $PHPMAILER_LANG['mailer_not_supported'] = '不支援的發信客戶端。'; 22 | $PHPMAILER_LANG['provide_address'] = '必須提供至少一個收件人地址。'; 23 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:以下收件人地址錯誤:'; 24 | $PHPMAILER_LANG['signing'] = '電子簽章錯誤: '; 25 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 連線失敗'; 26 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 伺服器錯誤: '; 27 | $PHPMAILER_LANG['variable_set'] = '無法設定或重設變數: '; 28 | $PHPMAILER_LANG['extension_missing'] = '遺失模組 Extension: '; 29 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/language/phpmailer.lang-zh_cn.php: -------------------------------------------------------------------------------- 1 | 6 | * @author young 7 | * @author Teddysun 8 | */ 9 | 10 | $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。'; 11 | $PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。'; 12 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。'; 13 | $PHPMAILER_LANG['empty_message'] = '邮件正文为空。'; 14 | $PHPMAILER_LANG['encoding'] = '未知编码:'; 15 | $PHPMAILER_LANG['execute'] = '无法执行:'; 16 | $PHPMAILER_LANG['file_access'] = '无法访问文件:'; 17 | $PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:'; 18 | $PHPMAILER_LANG['from_failed'] = '发送地址错误:'; 19 | $PHPMAILER_LANG['instantiate'] = '未知函数调用。'; 20 | $PHPMAILER_LANG['invalid_address'] = '发送失败,电子邮箱地址是无效的:'; 21 | $PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。'; 22 | $PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地址。'; 23 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:'; 24 | $PHPMAILER_LANG['signing'] = '登录失败:'; 25 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP服务器连接失败。'; 26 | $PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错:'; 27 | $PHPMAILER_LANG['variable_set'] = '无法设置或重置变量:'; 28 | $PHPMAILER_LANG['extension_missing'] = '丢失模块 Extension:'; 29 | -------------------------------------------------------------------------------- /demo/mail/phpmailer/src/Exception.php: -------------------------------------------------------------------------------- 1 | 9 | * @author Jim Jagielski (jimjag) 10 | * @author Andy Prevost (codeworxtech) 11 | * @author Brent R. Matzelle (original founder) 12 | * @copyright 2012 - 2017 Marcus Bointon 13 | * @copyright 2010 - 2012 Jim Jagielski 14 | * @copyright 2004 - 2009 Andy Prevost 15 | * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 16 | * @note This program is distributed in the hope that it will be useful - WITHOUT 17 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 18 | * FITNESS FOR A PARTICULAR PURPOSE. 19 | */ 20 | 21 | namespace PHPMailer\PHPMailer; 22 | 23 | /** 24 | * PHPMailer exception handler. 25 | * 26 | * @author Marcus Bointon 27 | */ 28 | class Exception extends \Exception 29 | { 30 | /** 31 | * Prettify error message output. 32 | * 33 | * @return string 34 | */ 35 | public function errorMessage() 36 | { 37 | return '' . htmlspecialchars($this->getMessage()) . "
\n"; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /demo/mail/success.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Форма успешно отправлена! 6 | 7 | 8 |

Форма успешно отправлена!

9 | 10 | -------------------------------------------------------------------------------- /demo/scss/demo.scss: -------------------------------------------------------------------------------- 1 | /* Demo styles here... */ 2 | .center { 3 | text-align: center; 4 | } 5 | 6 | input, 7 | select, 8 | textarea { 9 | display: block; 10 | width: 100%; 11 | margin: 10px 0; 12 | padding: 5px 13 | } 14 | 15 | label { 16 | display: block; 17 | vertical-align: middle 18 | } 19 | 20 | input[type=checkbox], 21 | input[type=radio] { 22 | display: inline; 23 | width: auto; 24 | margin: 0 5px; 25 | position: relative; 26 | top: 2px 27 | } 28 | 29 | .sendmail { 30 | max-width: 450px; 31 | margin: 0 auto 32 | } 33 | 34 | .send-mail-container h2 { 35 | margin-top: 60px 36 | } 37 | 38 | .send-mail-container h3 { 39 | margin-top: 30px 40 | } 41 | 42 | pre { 43 | background-color: #f5f5f5; 44 | padding: 12px 10px 45 | } 46 | 47 | code { 48 | display: inline-block; 49 | background-color: #eee; 50 | padding: 3px 7px; 51 | margin: 2px 5px 52 | } 53 | 54 | form label.error { 55 | color: #fff; 56 | background-color: #ff8686; 57 | padding: 3px 8px; 58 | font-size: 15px 59 | } -------------------------------------------------------------------------------- /dist/mail/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ошибка при отправке формы! 6 | 7 | 8 |

Ошибка при отправке формы!

9 | 10 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/VERSION: -------------------------------------------------------------------------------- 1 | 6.0.5 -------------------------------------------------------------------------------- /dist/mail/phpmailer/language/phpmailer.lang-ch.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:身份验证失败。'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP 错误: 不能连接SMTP主机。'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误: 数据不可接受。'; 11 | //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; 12 | $PHPMAILER_LANG['encoding'] = '未知编码:'; 13 | $PHPMAILER_LANG['execute'] = '不能执行: '; 14 | $PHPMAILER_LANG['file_access'] = '不能访问文件:'; 15 | $PHPMAILER_LANG['file_open'] = '文件错误:不能打开文件:'; 16 | $PHPMAILER_LANG['from_failed'] = '下面的发送地址邮件发送失败了: '; 17 | $PHPMAILER_LANG['instantiate'] = '不能实现mail方法。'; 18 | //$PHPMAILER_LANG['invalid_address'] = 'Invalid address: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 您所选择的发送邮件的方法并不支持。'; 20 | $PHPMAILER_LANG['provide_address'] = '您必须提供至少一个 收信人的email地址。'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误: 下面的 收件人失败了: '; 22 | //$PHPMAILER_LANG['signing'] = 'Signing Error: '; 23 | //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 24 | //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; 25 | //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/language/phpmailer.lang-cs.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'שגיאת SMTP: פעולת האימות נכשלה.'; 9 | $PHPMAILER_LANG['connect_host'] = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'שגיאת SMTP: מידע לא התקבל.'; 11 | $PHPMAILER_LANG['empty_message'] = 'גוף ההודעה ריק'; 12 | $PHPMAILER_LANG['invalid_address'] = 'כתובת שגויה: '; 13 | $PHPMAILER_LANG['encoding'] = 'קידוד לא מוכר: '; 14 | $PHPMAILER_LANG['execute'] = 'לא הצלחתי להפעיל את: '; 15 | $PHPMAILER_LANG['file_access'] = 'לא ניתן לגשת לקובץ: '; 16 | $PHPMAILER_LANG['file_open'] = 'שגיאת קובץ: לא ניתן לגשת לקובץ: '; 17 | $PHPMAILER_LANG['from_failed'] = 'כתובות הנמענים הבאות נכשלו: '; 18 | $PHPMAILER_LANG['instantiate'] = 'לא הצלחתי להפעיל את פונקציית המייל.'; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.'; 20 | $PHPMAILER_LANG['provide_address'] = 'חובה לספק לפחות כתובת אחת של מקבל המייל.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'שגיאת SMTP: הנמענים הבאים נכשלו: '; 22 | $PHPMAILER_LANG['signing'] = 'שגיאת חתימה: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 24 | $PHPMAILER_LANG['smtp_error'] = 'שגיאת שרת SMTP: '; 25 | $PHPMAILER_LANG['variable_set'] = 'לא ניתן לקבוע או לשנות את המשתנה: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/language/phpmailer.lang-ja.php: -------------------------------------------------------------------------------- 1 | 6 | * @author Yoshi Sakai 7 | */ 8 | 9 | $PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。'; 10 | $PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。'; 11 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。'; 12 | //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; 13 | $PHPMAILER_LANG['encoding'] = '不明なエンコーディング: '; 14 | $PHPMAILER_LANG['execute'] = '実行できませんでした: '; 15 | $PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: '; 16 | $PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: '; 17 | $PHPMAILER_LANG['from_failed'] = 'Fromアドレスを登録する際にエラーが発生しました: '; 18 | $PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。'; 19 | //$PHPMAILER_LANG['invalid_address'] = 'Invalid address: '; 20 | $PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。'; 21 | $PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。'; 22 | $PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: '; 23 | //$PHPMAILER_LANG['signing'] = 'Signing Error: '; 24 | //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 25 | //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; 26 | //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; 27 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 28 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/language/phpmailer.lang-ko.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP 오류: 인증할 수 없습니다.'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP 오류: SMTP 호스트에 접속할 수 없습니다.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 오류: 데이터가 받아들여지지 않았습니다.'; 11 | $PHPMAILER_LANG['empty_message'] = '메세지 내용이 없습니다'; 12 | $PHPMAILER_LANG['encoding'] = '알 수 없는 인코딩: '; 13 | $PHPMAILER_LANG['execute'] = '실행 불가: '; 14 | $PHPMAILER_LANG['file_access'] = '파일 접근 불가: '; 15 | $PHPMAILER_LANG['file_open'] = '파일 오류: 파일을 열 수 없습니다: '; 16 | $PHPMAILER_LANG['from_failed'] = '다음 From 주소에서 오류가 발생했습니다: '; 17 | $PHPMAILER_LANG['instantiate'] = 'mail 함수를 인스턴스화할 수 없습니다'; 18 | $PHPMAILER_LANG['invalid_address'] = '잘못된 주소: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 메일러는 지원되지 않습니다.'; 20 | $PHPMAILER_LANG['provide_address'] = '적어도 한 개 이상의 수신자 메일 주소를 제공해야 합니다.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 오류: 다음 수신자에서 오류가 발생했습니다: '; 22 | $PHPMAILER_LANG['signing'] = '서명 오류: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 연결을 실패하였습니다.'; 24 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 서버 오류: '; 25 | $PHPMAILER_LANG['variable_set'] = '변수 설정 및 초기화 불가: '; 26 | $PHPMAILER_LANG['extension_missing'] = '확장자 없음: '; 27 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/language/phpmailer.lang-lv.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP kļūda: Autorizācija neizdevās.'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP Kļūda: Nevar izveidot savienojumu ar SMTP serveri.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Kļūda: Nepieņem informāciju.'; 11 | $PHPMAILER_LANG['empty_message'] = 'Ziņojuma teksts ir tukšs'; 12 | $PHPMAILER_LANG['encoding'] = 'Neatpazīts kodējums: '; 13 | $PHPMAILER_LANG['execute'] = 'Neizdevās izpildīt komandu: '; 14 | $PHPMAILER_LANG['file_access'] = 'Fails nav pieejams: '; 15 | $PHPMAILER_LANG['file_open'] = 'Faila kļūda: Nevar atvērt failu: '; 16 | $PHPMAILER_LANG['from_failed'] = 'Nepareiza sūtītāja adrese: '; 17 | $PHPMAILER_LANG['instantiate'] = 'Nevar palaist sūtīšanas funkciju.'; 18 | $PHPMAILER_LANG['invalid_address'] = 'Nepareiza adrese: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' sūtītājs netiek atbalstīts.'; 20 | $PHPMAILER_LANG['provide_address'] = 'Lūdzu, norādiet vismaz vienu adresātu.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP kļūda: neizdevās nosūtīt šādiem saņēmējiem: '; 22 | $PHPMAILER_LANG['signing'] = 'Autorizācijas kļūda: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP savienojuma kļūda'; 24 | $PHPMAILER_LANG['smtp_error'] = 'SMTP servera kļūda: '; 25 | $PHPMAILER_LANG['variable_set'] = 'Nevar piešķirt mainīgā vērtību: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/language/phpmailer.lang-nb.php: -------------------------------------------------------------------------------- 1 | 6 | * @author Peter Dave Hello <@PeterDaveHello/> 7 | * @author Jason Chiang 8 | */ 9 | 10 | $PHPMAILER_LANG['authenticate'] = 'SMTP 錯誤:登入失敗。'; 11 | $PHPMAILER_LANG['connect_host'] = 'SMTP 錯誤:無法連線到 SMTP 主機。'; 12 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 錯誤:無法接受的資料。'; 13 | $PHPMAILER_LANG['empty_message'] = '郵件內容為空'; 14 | $PHPMAILER_LANG['encoding'] = '未知編碼: '; 15 | $PHPMAILER_LANG['execute'] = '無法執行:'; 16 | $PHPMAILER_LANG['file_access'] = '無法存取檔案:'; 17 | $PHPMAILER_LANG['file_open'] = '檔案錯誤:無法開啟檔案:'; 18 | $PHPMAILER_LANG['from_failed'] = '發送地址錯誤:'; 19 | $PHPMAILER_LANG['instantiate'] = '未知函數呼叫。'; 20 | $PHPMAILER_LANG['invalid_address'] = '因為電子郵件地址無效,無法傳送: '; 21 | $PHPMAILER_LANG['mailer_not_supported'] = '不支援的發信客戶端。'; 22 | $PHPMAILER_LANG['provide_address'] = '必須提供至少一個收件人地址。'; 23 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:以下收件人地址錯誤:'; 24 | $PHPMAILER_LANG['signing'] = '電子簽章錯誤: '; 25 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 連線失敗'; 26 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 伺服器錯誤: '; 27 | $PHPMAILER_LANG['variable_set'] = '無法設定或重設變數: '; 28 | $PHPMAILER_LANG['extension_missing'] = '遺失模組 Extension: '; 29 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/language/phpmailer.lang-zh_cn.php: -------------------------------------------------------------------------------- 1 | 6 | * @author young 7 | * @author Teddysun 8 | */ 9 | 10 | $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。'; 11 | $PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。'; 12 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。'; 13 | $PHPMAILER_LANG['empty_message'] = '邮件正文为空。'; 14 | $PHPMAILER_LANG['encoding'] = '未知编码:'; 15 | $PHPMAILER_LANG['execute'] = '无法执行:'; 16 | $PHPMAILER_LANG['file_access'] = '无法访问文件:'; 17 | $PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:'; 18 | $PHPMAILER_LANG['from_failed'] = '发送地址错误:'; 19 | $PHPMAILER_LANG['instantiate'] = '未知函数调用。'; 20 | $PHPMAILER_LANG['invalid_address'] = '发送失败,电子邮箱地址是无效的:'; 21 | $PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。'; 22 | $PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地址。'; 23 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:'; 24 | $PHPMAILER_LANG['signing'] = '登录失败:'; 25 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP服务器连接失败。'; 26 | $PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错:'; 27 | $PHPMAILER_LANG['variable_set'] = '无法设置或重置变量:'; 28 | $PHPMAILER_LANG['extension_missing'] = '丢失模块 Extension:'; 29 | -------------------------------------------------------------------------------- /dist/mail/phpmailer/src/Exception.php: -------------------------------------------------------------------------------- 1 | 9 | * @author Jim Jagielski (jimjag) 10 | * @author Andy Prevost (codeworxtech) 11 | * @author Brent R. Matzelle (original founder) 12 | * @copyright 2012 - 2017 Marcus Bointon 13 | * @copyright 2010 - 2012 Jim Jagielski 14 | * @copyright 2004 - 2009 Andy Prevost 15 | * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 16 | * @note This program is distributed in the hope that it will be useful - WITHOUT 17 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 18 | * FITNESS FOR A PARTICULAR PURPOSE. 19 | */ 20 | 21 | namespace PHPMailer\PHPMailer; 22 | 23 | /** 24 | * PHPMailer exception handler. 25 | * 26 | * @author Marcus Bointon 27 | */ 28 | class Exception extends \Exception 29 | { 30 | /** 31 | * Prettify error message output. 32 | * 33 | * @return string 34 | */ 35 | public function errorMessage() 36 | { 37 | return '' . htmlspecialchars($this->getMessage()) . "
\n"; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /dist/mail/success.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Форма успешно отправлена! 6 | 7 | 8 |

Форма успешно отправлена!

9 | 10 | -------------------------------------------------------------------------------- /docs/css/fallbacks.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/css/fallbacks.css -------------------------------------------------------------------------------- /docs/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "Play"; 3 | font-weight: 400; 4 | font-style: normal; 5 | src: url("../fonts/PlayRegular/PlayRegular.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayRegular/PlayRegular.woff2") format("woff2"), url("../fonts/PlayRegular/PlayRegular.woff") format("woff"), url("../fonts/PlayRegular/PlayRegular.ttf") format("truetype"), url("../fonts/PlayRegular/PlayRegular.svg#PTSans") format("svg"); 6 | } 7 | 8 | @font-face { 9 | font-family: "Play"; 10 | font-weight: 700; 11 | font-style: normal; 12 | src: url("../fonts/PlayBold/PlayBold.eot?#iefix") format("embedded-opentype"), url("../fonts/PlayBold/PlayBold.woff2") format("woff2"), url("../fonts/PlayBold/PlayBold.woff") format("woff"), url("../fonts/PlayBold/PlayBold.ttf") format("truetype"), url("../fonts/PlayBold/PlayBold.svg#PTSans") format("svg"); 13 | } 14 | -------------------------------------------------------------------------------- /docs/css/media.css: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width: 991px) { 2 | .undr-right { 3 | text-align: left; 4 | margin-top: 15px; 5 | } 6 | .nav-doc.fixed { 7 | position: static; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/favicon.ico -------------------------------------------------------------------------------- /docs/fonts/PlayBold/PlayBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayBold/PlayBold.eot -------------------------------------------------------------------------------- /docs/fonts/PlayBold/PlayBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayBold/PlayBold.ttf -------------------------------------------------------------------------------- /docs/fonts/PlayBold/PlayBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayBold/PlayBold.woff -------------------------------------------------------------------------------- /docs/fonts/PlayBold/PlayBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayBold/PlayBold.woff2 -------------------------------------------------------------------------------- /docs/fonts/PlayRegular/PlayRegular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayRegular/PlayRegular.eot -------------------------------------------------------------------------------- /docs/fonts/PlayRegular/PlayRegular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayRegular/PlayRegular.ttf -------------------------------------------------------------------------------- /docs/fonts/PlayRegular/PlayRegular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayRegular/PlayRegular.woff -------------------------------------------------------------------------------- /docs/fonts/PlayRegular/PlayRegular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/fonts/PlayRegular/PlayRegular.woff2 -------------------------------------------------------------------------------- /docs/libs/animate.css/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "animate.css", 3 | "main": "./animate.css", 4 | "ignore": [ 5 | ".*", 6 | "*.yml", 7 | "Gemfile", 8 | "Gemfile.lock", 9 | "*.md" 10 | ], 11 | "homepage": "https://github.com/daneden/animate.css", 12 | "version": "3.7.0", 13 | "_release": "3.7.0", 14 | "_resolution": { 15 | "type": "version", 16 | "tag": "3.7.0", 17 | "commit": "940e4aef81edc26d3458480adcd475e51bd38df5" 18 | }, 19 | "_source": "https://github.com/daneden/animate.css.git", 20 | "_target": "^3.7.0", 21 | "_originalSource": "animate.css" 22 | } -------------------------------------------------------------------------------- /docs/libs/animate.css/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Daniel Eden 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/libs/animate.css/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "animate.css", 3 | "main": "./animate.css", 4 | "ignore": [".*", "*.yml", "Gemfile", "Gemfile.lock", "*.md"] 5 | } 6 | -------------------------------------------------------------------------------- /docs/libs/animate.css/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "animate.css", 3 | "version": "3.7.0", 4 | "main": "animate.css", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/daneden/animate.css.git" 8 | }, 9 | "author": { 10 | "name": "Daniel Eden" 11 | }, 12 | "homepage": "http://daneden.me/animate", 13 | "license": "MIT", 14 | "style": "./animate.css", 15 | "jspm": { 16 | "main": "animate.css!", 17 | "format": "global", 18 | "directories": { 19 | "lib": "./" 20 | } 21 | }, 22 | "devDependencies": { 23 | "autoprefixer": "^9.0.1", 24 | "cssnano": "^4.0.3", 25 | "eslint": "^5.2.0", 26 | "gulp": "^4.0.0", 27 | "gulp-concat": "^2.6.1", 28 | "gulp-header": "^2.0.1", 29 | "gulp-postcss": "^7.0.1", 30 | "gulp-rename": "^1.2.2", 31 | "gulp-util": "^3.0.8", 32 | "husky": "^0.14.3", 33 | "lint-staged": "^7.0.0", 34 | "prettier": "^1.10.2", 35 | "run-sequence": "^2.2.1" 36 | }, 37 | "lint-staged": { 38 | "*.{js,json,md,css}": [ 39 | "prettier --write", 40 | "git add" 41 | ] 42 | }, 43 | "prettier": { 44 | "bracketSpacing": false, 45 | "proseWrap": "never", 46 | "singleQuote": true, 47 | "trailingComma": "all" 48 | }, 49 | "scripts": { 50 | "gulp": "./node_modules/gulp/bin/gulp.js", 51 | "start": "gulp", 52 | "prettier": "prettier --write \"**/*.{js,json,md,css}\"", 53 | "precommit": "lint-staged" 54 | }, 55 | "spm": { 56 | "main": "./animate.css" 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/_base.css: -------------------------------------------------------------------------------- 1 | .animated { 2 | animation-duration: 1s; 3 | animation-fill-mode: both; 4 | } 5 | 6 | .animated.infinite { 7 | animation-iteration-count: infinite; 8 | } 9 | 10 | .animated.delay-1s { 11 | animation-delay: 1s; 12 | } 13 | 14 | .animated.delay-2s { 15 | animation-delay: 2s; 16 | } 17 | 18 | .animated.delay-3s { 19 | animation-delay: 3s; 20 | } 21 | 22 | .animated.delay-4s { 23 | animation-delay: 4s; 24 | } 25 | 26 | .animated.delay-5s { 27 | animation-delay: 5s; 28 | } 29 | 30 | .animated.fast { 31 | animation-duration: 800ms; 32 | } 33 | 34 | .animated.faster { 35 | animation-duration: 500ms; 36 | } 37 | 38 | .animated.slow { 39 | animation-duration: 2s; 40 | } 41 | 42 | .animated.slower { 43 | animation-duration: 3s; 44 | } 45 | 46 | @media (prefers-reduced-motion) { 47 | .animated { 48 | animation: unset !important; 49 | transition: none !important; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/bounce.css: -------------------------------------------------------------------------------- 1 | @keyframes bounce { 2 | from, 3 | 20%, 4 | 53%, 5 | 80%, 6 | to { 7 | animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 8 | transform: translate3d(0, 0, 0); 9 | } 10 | 11 | 40%, 12 | 43% { 13 | animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); 14 | transform: translate3d(0, -30px, 0); 15 | } 16 | 17 | 70% { 18 | animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); 19 | transform: translate3d(0, -15px, 0); 20 | } 21 | 22 | 90% { 23 | transform: translate3d(0, -4px, 0); 24 | } 25 | } 26 | 27 | .bounce { 28 | animation-name: bounce; 29 | transform-origin: center bottom; 30 | } 31 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/flash.css: -------------------------------------------------------------------------------- 1 | @keyframes flash { 2 | from, 3 | 50%, 4 | to { 5 | opacity: 1; 6 | } 7 | 8 | 25%, 9 | 75% { 10 | opacity: 0; 11 | } 12 | } 13 | 14 | .flash { 15 | animation-name: flash; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/headShake.css: -------------------------------------------------------------------------------- 1 | @keyframes headShake { 2 | 0% { 3 | transform: translateX(0); 4 | } 5 | 6 | 6.5% { 7 | transform: translateX(-6px) rotateY(-9deg); 8 | } 9 | 10 | 18.5% { 11 | transform: translateX(5px) rotateY(7deg); 12 | } 13 | 14 | 31.5% { 15 | transform: translateX(-3px) rotateY(-5deg); 16 | } 17 | 18 | 43.5% { 19 | transform: translateX(2px) rotateY(3deg); 20 | } 21 | 22 | 50% { 23 | transform: translateX(0); 24 | } 25 | } 26 | 27 | .headShake { 28 | animation-timing-function: ease-in-out; 29 | animation-name: headShake; 30 | } 31 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/heartBeat.css: -------------------------------------------------------------------------------- 1 | @keyframes heartBeat { 2 | 0% { 3 | transform: scale(1); 4 | } 5 | 6 | 14% { 7 | transform: scale(1.3); 8 | } 9 | 10 | 28% { 11 | transform: scale(1); 12 | } 13 | 14 | 42% { 15 | transform: scale(1.3); 16 | } 17 | 18 | 70% { 19 | transform: scale(1); 20 | } 21 | } 22 | 23 | .heartBeat { 24 | animation-name: heartBeat; 25 | animation-duration: 1.3s; 26 | animation-timing-function: ease-in-out; 27 | } 28 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/jello.css: -------------------------------------------------------------------------------- 1 | @keyframes jello { 2 | from, 3 | 11.1%, 4 | to { 5 | transform: translate3d(0, 0, 0); 6 | } 7 | 8 | 22.2% { 9 | transform: skewX(-12.5deg) skewY(-12.5deg); 10 | } 11 | 12 | 33.3% { 13 | transform: skewX(6.25deg) skewY(6.25deg); 14 | } 15 | 16 | 44.4% { 17 | transform: skewX(-3.125deg) skewY(-3.125deg); 18 | } 19 | 20 | 55.5% { 21 | transform: skewX(1.5625deg) skewY(1.5625deg); 22 | } 23 | 24 | 66.6% { 25 | transform: skewX(-0.78125deg) skewY(-0.78125deg); 26 | } 27 | 28 | 77.7% { 29 | transform: skewX(0.390625deg) skewY(0.390625deg); 30 | } 31 | 32 | 88.8% { 33 | transform: skewX(-0.1953125deg) skewY(-0.1953125deg); 34 | } 35 | } 36 | 37 | .jello { 38 | animation-name: jello; 39 | transform-origin: center; 40 | } 41 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/pulse.css: -------------------------------------------------------------------------------- 1 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 2 | 3 | @keyframes pulse { 4 | from { 5 | transform: scale3d(1, 1, 1); 6 | } 7 | 8 | 50% { 9 | transform: scale3d(1.05, 1.05, 1.05); 10 | } 11 | 12 | to { 13 | transform: scale3d(1, 1, 1); 14 | } 15 | } 16 | 17 | .pulse { 18 | animation-name: pulse; 19 | } 20 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/rubberBand.css: -------------------------------------------------------------------------------- 1 | @keyframes rubberBand { 2 | from { 3 | transform: scale3d(1, 1, 1); 4 | } 5 | 6 | 30% { 7 | transform: scale3d(1.25, 0.75, 1); 8 | } 9 | 10 | 40% { 11 | transform: scale3d(0.75, 1.25, 1); 12 | } 13 | 14 | 50% { 15 | transform: scale3d(1.15, 0.85, 1); 16 | } 17 | 18 | 65% { 19 | transform: scale3d(0.95, 1.05, 1); 20 | } 21 | 22 | 75% { 23 | transform: scale3d(1.05, 0.95, 1); 24 | } 25 | 26 | to { 27 | transform: scale3d(1, 1, 1); 28 | } 29 | } 30 | 31 | .rubberBand { 32 | animation-name: rubberBand; 33 | } 34 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/shake.css: -------------------------------------------------------------------------------- 1 | @keyframes shake { 2 | from, 3 | to { 4 | transform: translate3d(0, 0, 0); 5 | } 6 | 7 | 10%, 8 | 30%, 9 | 50%, 10 | 70%, 11 | 90% { 12 | transform: translate3d(-10px, 0, 0); 13 | } 14 | 15 | 20%, 16 | 40%, 17 | 60%, 18 | 80% { 19 | transform: translate3d(10px, 0, 0); 20 | } 21 | } 22 | 23 | .shake { 24 | animation-name: shake; 25 | } 26 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/swing.css: -------------------------------------------------------------------------------- 1 | @keyframes swing { 2 | 20% { 3 | transform: rotate3d(0, 0, 1, 15deg); 4 | } 5 | 6 | 40% { 7 | transform: rotate3d(0, 0, 1, -10deg); 8 | } 9 | 10 | 60% { 11 | transform: rotate3d(0, 0, 1, 5deg); 12 | } 13 | 14 | 80% { 15 | transform: rotate3d(0, 0, 1, -5deg); 16 | } 17 | 18 | to { 19 | transform: rotate3d(0, 0, 1, 0deg); 20 | } 21 | } 22 | 23 | .swing { 24 | transform-origin: top center; 25 | animation-name: swing; 26 | } 27 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/tada.css: -------------------------------------------------------------------------------- 1 | @keyframes tada { 2 | from { 3 | transform: scale3d(1, 1, 1); 4 | } 5 | 6 | 10%, 7 | 20% { 8 | transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); 9 | } 10 | 11 | 30%, 12 | 50%, 13 | 70%, 14 | 90% { 15 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); 16 | } 17 | 18 | 40%, 19 | 60%, 20 | 80% { 21 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); 22 | } 23 | 24 | to { 25 | transform: scale3d(1, 1, 1); 26 | } 27 | } 28 | 29 | .tada { 30 | animation-name: tada; 31 | } 32 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/attention_seekers/wobble.css: -------------------------------------------------------------------------------- 1 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 2 | 3 | @keyframes wobble { 4 | from { 5 | transform: translate3d(0, 0, 0); 6 | } 7 | 8 | 15% { 9 | transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); 10 | } 11 | 12 | 30% { 13 | transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); 14 | } 15 | 16 | 45% { 17 | transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); 18 | } 19 | 20 | 60% { 21 | transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); 22 | } 23 | 24 | 75% { 25 | transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); 26 | } 27 | 28 | to { 29 | transform: translate3d(0, 0, 0); 30 | } 31 | } 32 | 33 | .wobble { 34 | animation-name: wobble; 35 | } 36 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_entrances/bounceIn.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceIn { 2 | from, 3 | 20%, 4 | 40%, 5 | 60%, 6 | 80%, 7 | to { 8 | animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 9 | } 10 | 11 | 0% { 12 | opacity: 0; 13 | transform: scale3d(0.3, 0.3, 0.3); 14 | } 15 | 16 | 20% { 17 | transform: scale3d(1.1, 1.1, 1.1); 18 | } 19 | 20 | 40% { 21 | transform: scale3d(0.9, 0.9, 0.9); 22 | } 23 | 24 | 60% { 25 | opacity: 1; 26 | transform: scale3d(1.03, 1.03, 1.03); 27 | } 28 | 29 | 80% { 30 | transform: scale3d(0.97, 0.97, 0.97); 31 | } 32 | 33 | to { 34 | opacity: 1; 35 | transform: scale3d(1, 1, 1); 36 | } 37 | } 38 | 39 | .bounceIn { 40 | animation-duration: 0.75s; 41 | animation-name: bounceIn; 42 | } 43 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_entrances/bounceInDown.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceInDown { 2 | from, 3 | 60%, 4 | 75%, 5 | 90%, 6 | to { 7 | animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 8 | } 9 | 10 | 0% { 11 | opacity: 0; 12 | transform: translate3d(0, -3000px, 0); 13 | } 14 | 15 | 60% { 16 | opacity: 1; 17 | transform: translate3d(0, 25px, 0); 18 | } 19 | 20 | 75% { 21 | transform: translate3d(0, -10px, 0); 22 | } 23 | 24 | 90% { 25 | transform: translate3d(0, 5px, 0); 26 | } 27 | 28 | to { 29 | transform: translate3d(0, 0, 0); 30 | } 31 | } 32 | 33 | .bounceInDown { 34 | animation-name: bounceInDown; 35 | } 36 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_entrances/bounceInLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceInLeft { 2 | from, 3 | 60%, 4 | 75%, 5 | 90%, 6 | to { 7 | animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 8 | } 9 | 10 | 0% { 11 | opacity: 0; 12 | transform: translate3d(-3000px, 0, 0); 13 | } 14 | 15 | 60% { 16 | opacity: 1; 17 | transform: translate3d(25px, 0, 0); 18 | } 19 | 20 | 75% { 21 | transform: translate3d(-10px, 0, 0); 22 | } 23 | 24 | 90% { 25 | transform: translate3d(5px, 0, 0); 26 | } 27 | 28 | to { 29 | transform: translate3d(0, 0, 0); 30 | } 31 | } 32 | 33 | .bounceInLeft { 34 | animation-name: bounceInLeft; 35 | } 36 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_entrances/bounceInRight.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceInRight { 2 | from, 3 | 60%, 4 | 75%, 5 | 90%, 6 | to { 7 | animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 8 | } 9 | 10 | from { 11 | opacity: 0; 12 | transform: translate3d(3000px, 0, 0); 13 | } 14 | 15 | 60% { 16 | opacity: 1; 17 | transform: translate3d(-25px, 0, 0); 18 | } 19 | 20 | 75% { 21 | transform: translate3d(10px, 0, 0); 22 | } 23 | 24 | 90% { 25 | transform: translate3d(-5px, 0, 0); 26 | } 27 | 28 | to { 29 | transform: translate3d(0, 0, 0); 30 | } 31 | } 32 | 33 | .bounceInRight { 34 | animation-name: bounceInRight; 35 | } 36 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_entrances/bounceInUp.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceInUp { 2 | from, 3 | 60%, 4 | 75%, 5 | 90%, 6 | to { 7 | animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 8 | } 9 | 10 | from { 11 | opacity: 0; 12 | transform: translate3d(0, 3000px, 0); 13 | } 14 | 15 | 60% { 16 | opacity: 1; 17 | transform: translate3d(0, -20px, 0); 18 | } 19 | 20 | 75% { 21 | transform: translate3d(0, 10px, 0); 22 | } 23 | 24 | 90% { 25 | transform: translate3d(0, -5px, 0); 26 | } 27 | 28 | to { 29 | transform: translate3d(0, 0, 0); 30 | } 31 | } 32 | 33 | .bounceInUp { 34 | animation-name: bounceInUp; 35 | } 36 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_exits/bounceOut.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceOut { 2 | 20% { 3 | transform: scale3d(0.9, 0.9, 0.9); 4 | } 5 | 6 | 50%, 7 | 55% { 8 | opacity: 1; 9 | transform: scale3d(1.1, 1.1, 1.1); 10 | } 11 | 12 | to { 13 | opacity: 0; 14 | transform: scale3d(0.3, 0.3, 0.3); 15 | } 16 | } 17 | 18 | .bounceOut { 19 | animation-duration: 0.75s; 20 | animation-name: bounceOut; 21 | } 22 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_exits/bounceOutDown.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceOutDown { 2 | 20% { 3 | transform: translate3d(0, 10px, 0); 4 | } 5 | 6 | 40%, 7 | 45% { 8 | opacity: 1; 9 | transform: translate3d(0, -20px, 0); 10 | } 11 | 12 | to { 13 | opacity: 0; 14 | transform: translate3d(0, 2000px, 0); 15 | } 16 | } 17 | 18 | .bounceOutDown { 19 | animation-name: bounceOutDown; 20 | } 21 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_exits/bounceOutLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceOutLeft { 2 | 20% { 3 | opacity: 1; 4 | transform: translate3d(20px, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 0; 9 | transform: translate3d(-2000px, 0, 0); 10 | } 11 | } 12 | 13 | .bounceOutLeft { 14 | animation-name: bounceOutLeft; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_exits/bounceOutRight.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceOutRight { 2 | 20% { 3 | opacity: 1; 4 | transform: translate3d(-20px, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 0; 9 | transform: translate3d(2000px, 0, 0); 10 | } 11 | } 12 | 13 | .bounceOutRight { 14 | animation-name: bounceOutRight; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/bouncing_exits/bounceOutUp.css: -------------------------------------------------------------------------------- 1 | @keyframes bounceOutUp { 2 | 20% { 3 | transform: translate3d(0, -10px, 0); 4 | } 5 | 6 | 40%, 7 | 45% { 8 | opacity: 1; 9 | transform: translate3d(0, 20px, 0); 10 | } 11 | 12 | to { 13 | opacity: 0; 14 | transform: translate3d(0, -2000px, 0); 15 | } 16 | } 17 | 18 | .bounceOutUp { 19 | animation-name: bounceOutUp; 20 | } 21 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeIn.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeIn { 2 | from { 3 | opacity: 0; 4 | } 5 | 6 | to { 7 | opacity: 1; 8 | } 9 | } 10 | 11 | .fadeIn { 12 | animation-name: fadeIn; 13 | } 14 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInDown.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInDown { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(0, -100%, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInDown { 14 | animation-name: fadeInDown; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInDownBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInDownBig { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(0, -2000px, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInDownBig { 14 | animation-name: fadeInDownBig; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInLeft { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(-100%, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInLeft { 14 | animation-name: fadeInLeft; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInLeftBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInLeftBig { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(-2000px, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInLeftBig { 14 | animation-name: fadeInLeftBig; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInRight.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInRight { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(100%, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInRight { 14 | animation-name: fadeInRight; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInRightBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInRightBig { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(2000px, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInRightBig { 14 | animation-name: fadeInRightBig; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInUp.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInUp { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(0, 100%, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInUp { 14 | animation-name: fadeInUp; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_entrances/fadeInUpBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeInUpBig { 2 | from { 3 | opacity: 0; 4 | transform: translate3d(0, 2000px, 0); 5 | } 6 | 7 | to { 8 | opacity: 1; 9 | transform: translate3d(0, 0, 0); 10 | } 11 | } 12 | 13 | .fadeInUpBig { 14 | animation-name: fadeInUpBig; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOut.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOut { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | } 9 | } 10 | 11 | .fadeOut { 12 | animation-name: fadeOut; 13 | } 14 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutDown.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutDown { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(0, 100%, 0); 9 | } 10 | } 11 | 12 | .fadeOutDown { 13 | animation-name: fadeOutDown; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutDownBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutDownBig { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(0, 2000px, 0); 9 | } 10 | } 11 | 12 | .fadeOutDownBig { 13 | animation-name: fadeOutDownBig; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutLeft { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(-100%, 0, 0); 9 | } 10 | } 11 | 12 | .fadeOutLeft { 13 | animation-name: fadeOutLeft; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutLeftBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutLeftBig { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(-2000px, 0, 0); 9 | } 10 | } 11 | 12 | .fadeOutLeftBig { 13 | animation-name: fadeOutLeftBig; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutRight.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutRight { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(100%, 0, 0); 9 | } 10 | } 11 | 12 | .fadeOutRight { 13 | animation-name: fadeOutRight; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutRightBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutRightBig { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(2000px, 0, 0); 9 | } 10 | } 11 | 12 | .fadeOutRightBig { 13 | animation-name: fadeOutRightBig; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutUp.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutUp { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(0, -100%, 0); 9 | } 10 | } 11 | 12 | .fadeOutUp { 13 | animation-name: fadeOutUp; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/fading_exits/fadeOutUpBig.css: -------------------------------------------------------------------------------- 1 | @keyframes fadeOutUpBig { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | opacity: 0; 8 | transform: translate3d(0, -2000px, 0); 9 | } 10 | } 11 | 12 | .fadeOutUpBig { 13 | animation-name: fadeOutUpBig; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/flippers/flip.css: -------------------------------------------------------------------------------- 1 | @keyframes flip { 2 | from { 3 | transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); 4 | animation-timing-function: ease-out; 5 | } 6 | 7 | 40% { 8 | transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) 9 | rotate3d(0, 1, 0, -190deg); 10 | animation-timing-function: ease-out; 11 | } 12 | 13 | 50% { 14 | transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) 15 | rotate3d(0, 1, 0, -170deg); 16 | animation-timing-function: ease-in; 17 | } 18 | 19 | 80% { 20 | transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) 21 | rotate3d(0, 1, 0, 0deg); 22 | animation-timing-function: ease-in; 23 | } 24 | 25 | to { 26 | transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); 27 | animation-timing-function: ease-in; 28 | } 29 | } 30 | 31 | .animated.flip { 32 | backface-visibility: visible; 33 | animation-name: flip; 34 | } 35 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/flippers/flipInX.css: -------------------------------------------------------------------------------- 1 | @keyframes flipInX { 2 | from { 3 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 4 | animation-timing-function: ease-in; 5 | opacity: 0; 6 | } 7 | 8 | 40% { 9 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 10 | animation-timing-function: ease-in; 11 | } 12 | 13 | 60% { 14 | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 15 | opacity: 1; 16 | } 17 | 18 | 80% { 19 | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 20 | } 21 | 22 | to { 23 | transform: perspective(400px); 24 | } 25 | } 26 | 27 | .flipInX { 28 | backface-visibility: visible !important; 29 | animation-name: flipInX; 30 | } 31 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/flippers/flipInY.css: -------------------------------------------------------------------------------- 1 | @keyframes flipInY { 2 | from { 3 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 4 | animation-timing-function: ease-in; 5 | opacity: 0; 6 | } 7 | 8 | 40% { 9 | transform: perspective(400px) rotate3d(0, 1, 0, -20deg); 10 | animation-timing-function: ease-in; 11 | } 12 | 13 | 60% { 14 | transform: perspective(400px) rotate3d(0, 1, 0, 10deg); 15 | opacity: 1; 16 | } 17 | 18 | 80% { 19 | transform: perspective(400px) rotate3d(0, 1, 0, -5deg); 20 | } 21 | 22 | to { 23 | transform: perspective(400px); 24 | } 25 | } 26 | 27 | .flipInY { 28 | backface-visibility: visible !important; 29 | animation-name: flipInY; 30 | } 31 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/flippers/flipOutX.css: -------------------------------------------------------------------------------- 1 | @keyframes flipOutX { 2 | from { 3 | transform: perspective(400px); 4 | } 5 | 6 | 30% { 7 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 8 | opacity: 1; 9 | } 10 | 11 | to { 12 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 13 | opacity: 0; 14 | } 15 | } 16 | 17 | .flipOutX { 18 | animation-duration: 0.75s; 19 | animation-name: flipOutX; 20 | backface-visibility: visible !important; 21 | } 22 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/flippers/flipOutY.css: -------------------------------------------------------------------------------- 1 | @keyframes flipOutY { 2 | from { 3 | transform: perspective(400px); 4 | } 5 | 6 | 30% { 7 | transform: perspective(400px) rotate3d(0, 1, 0, -15deg); 8 | opacity: 1; 9 | } 10 | 11 | to { 12 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 13 | opacity: 0; 14 | } 15 | } 16 | 17 | .flipOutY { 18 | animation-duration: 0.75s; 19 | backface-visibility: visible !important; 20 | animation-name: flipOutY; 21 | } 22 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/lightspeed/lightSpeedIn.css: -------------------------------------------------------------------------------- 1 | @keyframes lightSpeedIn { 2 | from { 3 | transform: translate3d(100%, 0, 0) skewX(-30deg); 4 | opacity: 0; 5 | } 6 | 7 | 60% { 8 | transform: skewX(20deg); 9 | opacity: 1; 10 | } 11 | 12 | 80% { 13 | transform: skewX(-5deg); 14 | } 15 | 16 | to { 17 | transform: translate3d(0, 0, 0); 18 | } 19 | } 20 | 21 | .lightSpeedIn { 22 | animation-name: lightSpeedIn; 23 | animation-timing-function: ease-out; 24 | } 25 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/lightspeed/lightSpeedOut.css: -------------------------------------------------------------------------------- 1 | @keyframes lightSpeedOut { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | to { 7 | transform: translate3d(100%, 0, 0) skewX(30deg); 8 | opacity: 0; 9 | } 10 | } 11 | 12 | .lightSpeedOut { 13 | animation-name: lightSpeedOut; 14 | animation-timing-function: ease-in; 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_entrances/rotateIn.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateIn { 2 | from { 3 | transform-origin: center; 4 | transform: rotate3d(0, 0, 1, -200deg); 5 | opacity: 0; 6 | } 7 | 8 | to { 9 | transform-origin: center; 10 | transform: translate3d(0, 0, 0); 11 | opacity: 1; 12 | } 13 | } 14 | 15 | .rotateIn { 16 | animation-name: rotateIn; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_entrances/rotateInDownLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateInDownLeft { 2 | from { 3 | transform-origin: left bottom; 4 | transform: rotate3d(0, 0, 1, -45deg); 5 | opacity: 0; 6 | } 7 | 8 | to { 9 | transform-origin: left bottom; 10 | transform: translate3d(0, 0, 0); 11 | opacity: 1; 12 | } 13 | } 14 | 15 | .rotateInDownLeft { 16 | animation-name: rotateInDownLeft; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_entrances/rotateInDownRight.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateInDownRight { 2 | from { 3 | transform-origin: right bottom; 4 | transform: rotate3d(0, 0, 1, 45deg); 5 | opacity: 0; 6 | } 7 | 8 | to { 9 | transform-origin: right bottom; 10 | transform: translate3d(0, 0, 0); 11 | opacity: 1; 12 | } 13 | } 14 | 15 | .rotateInDownRight { 16 | animation-name: rotateInDownRight; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_entrances/rotateInUpLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateInUpLeft { 2 | from { 3 | transform-origin: left bottom; 4 | transform: rotate3d(0, 0, 1, 45deg); 5 | opacity: 0; 6 | } 7 | 8 | to { 9 | transform-origin: left bottom; 10 | transform: translate3d(0, 0, 0); 11 | opacity: 1; 12 | } 13 | } 14 | 15 | .rotateInUpLeft { 16 | animation-name: rotateInUpLeft; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_entrances/rotateInUpRight.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateInUpRight { 2 | from { 3 | transform-origin: right bottom; 4 | transform: rotate3d(0, 0, 1, -90deg); 5 | opacity: 0; 6 | } 7 | 8 | to { 9 | transform-origin: right bottom; 10 | transform: translate3d(0, 0, 0); 11 | opacity: 1; 12 | } 13 | } 14 | 15 | .rotateInUpRight { 16 | animation-name: rotateInUpRight; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_exits/rotateOut.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateOut { 2 | from { 3 | transform-origin: center; 4 | opacity: 1; 5 | } 6 | 7 | to { 8 | transform-origin: center; 9 | transform: rotate3d(0, 0, 1, 200deg); 10 | opacity: 0; 11 | } 12 | } 13 | 14 | .rotateOut { 15 | animation-name: rotateOut; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_exits/rotateOutDownLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateOutDownLeft { 2 | from { 3 | transform-origin: left bottom; 4 | opacity: 1; 5 | } 6 | 7 | to { 8 | transform-origin: left bottom; 9 | transform: rotate3d(0, 0, 1, 45deg); 10 | opacity: 0; 11 | } 12 | } 13 | 14 | .rotateOutDownLeft { 15 | animation-name: rotateOutDownLeft; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_exits/rotateOutDownRight.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateOutDownRight { 2 | from { 3 | transform-origin: right bottom; 4 | opacity: 1; 5 | } 6 | 7 | to { 8 | transform-origin: right bottom; 9 | transform: rotate3d(0, 0, 1, -45deg); 10 | opacity: 0; 11 | } 12 | } 13 | 14 | .rotateOutDownRight { 15 | animation-name: rotateOutDownRight; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_exits/rotateOutUpLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateOutUpLeft { 2 | from { 3 | transform-origin: left bottom; 4 | opacity: 1; 5 | } 6 | 7 | to { 8 | transform-origin: left bottom; 9 | transform: rotate3d(0, 0, 1, -45deg); 10 | opacity: 0; 11 | } 12 | } 13 | 14 | .rotateOutUpLeft { 15 | animation-name: rotateOutUpLeft; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/rotating_exits/rotateOutUpRight.css: -------------------------------------------------------------------------------- 1 | @keyframes rotateOutUpRight { 2 | from { 3 | transform-origin: right bottom; 4 | opacity: 1; 5 | } 6 | 7 | to { 8 | transform-origin: right bottom; 9 | transform: rotate3d(0, 0, 1, 90deg); 10 | opacity: 0; 11 | } 12 | } 13 | 14 | .rotateOutUpRight { 15 | animation-name: rotateOutUpRight; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_entrances/slideInDown.css: -------------------------------------------------------------------------------- 1 | @keyframes slideInDown { 2 | from { 3 | transform: translate3d(0, -100%, 0); 4 | visibility: visible; 5 | } 6 | 7 | to { 8 | transform: translate3d(0, 0, 0); 9 | } 10 | } 11 | 12 | .slideInDown { 13 | animation-name: slideInDown; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_entrances/slideInLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes slideInLeft { 2 | from { 3 | transform: translate3d(-100%, 0, 0); 4 | visibility: visible; 5 | } 6 | 7 | to { 8 | transform: translate3d(0, 0, 0); 9 | } 10 | } 11 | 12 | .slideInLeft { 13 | animation-name: slideInLeft; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_entrances/slideInRight.css: -------------------------------------------------------------------------------- 1 | @keyframes slideInRight { 2 | from { 3 | transform: translate3d(100%, 0, 0); 4 | visibility: visible; 5 | } 6 | 7 | to { 8 | transform: translate3d(0, 0, 0); 9 | } 10 | } 11 | 12 | .slideInRight { 13 | animation-name: slideInRight; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_entrances/slideInUp.css: -------------------------------------------------------------------------------- 1 | @keyframes slideInUp { 2 | from { 3 | transform: translate3d(0, 100%, 0); 4 | visibility: visible; 5 | } 6 | 7 | to { 8 | transform: translate3d(0, 0, 0); 9 | } 10 | } 11 | 12 | .slideInUp { 13 | animation-name: slideInUp; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_exits/slideOutDown.css: -------------------------------------------------------------------------------- 1 | @keyframes slideOutDown { 2 | from { 3 | transform: translate3d(0, 0, 0); 4 | } 5 | 6 | to { 7 | visibility: hidden; 8 | transform: translate3d(0, 100%, 0); 9 | } 10 | } 11 | 12 | .slideOutDown { 13 | animation-name: slideOutDown; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_exits/slideOutLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes slideOutLeft { 2 | from { 3 | transform: translate3d(0, 0, 0); 4 | } 5 | 6 | to { 7 | visibility: hidden; 8 | transform: translate3d(-100%, 0, 0); 9 | } 10 | } 11 | 12 | .slideOutLeft { 13 | animation-name: slideOutLeft; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_exits/slideOutRight.css: -------------------------------------------------------------------------------- 1 | @keyframes slideOutRight { 2 | from { 3 | transform: translate3d(0, 0, 0); 4 | } 5 | 6 | to { 7 | visibility: hidden; 8 | transform: translate3d(100%, 0, 0); 9 | } 10 | } 11 | 12 | .slideOutRight { 13 | animation-name: slideOutRight; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/sliding_exits/slideOutUp.css: -------------------------------------------------------------------------------- 1 | @keyframes slideOutUp { 2 | from { 3 | transform: translate3d(0, 0, 0); 4 | } 5 | 6 | to { 7 | visibility: hidden; 8 | transform: translate3d(0, -100%, 0); 9 | } 10 | } 11 | 12 | .slideOutUp { 13 | animation-name: slideOutUp; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/specials/hinge.css: -------------------------------------------------------------------------------- 1 | @keyframes hinge { 2 | 0% { 3 | transform-origin: top left; 4 | animation-timing-function: ease-in-out; 5 | } 6 | 7 | 20%, 8 | 60% { 9 | transform: rotate3d(0, 0, 1, 80deg); 10 | transform-origin: top left; 11 | animation-timing-function: ease-in-out; 12 | } 13 | 14 | 40%, 15 | 80% { 16 | transform: rotate3d(0, 0, 1, 60deg); 17 | transform-origin: top left; 18 | animation-timing-function: ease-in-out; 19 | opacity: 1; 20 | } 21 | 22 | to { 23 | transform: translate3d(0, 700px, 0); 24 | opacity: 0; 25 | } 26 | } 27 | 28 | .hinge { 29 | animation-duration: 2s; 30 | animation-name: hinge; 31 | } 32 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/specials/jackInTheBox.css: -------------------------------------------------------------------------------- 1 | @keyframes jackInTheBox { 2 | from { 3 | opacity: 0; 4 | transform: scale(0.1) rotate(30deg); 5 | transform-origin: center bottom; 6 | } 7 | 8 | 50% { 9 | transform: rotate(-10deg); 10 | } 11 | 12 | 70% { 13 | transform: rotate(3deg); 14 | } 15 | 16 | to { 17 | opacity: 1; 18 | transform: scale(1); 19 | } 20 | } 21 | 22 | .jackInTheBox { 23 | animation-name: jackInTheBox; 24 | } 25 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/specials/rollIn.css: -------------------------------------------------------------------------------- 1 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 2 | 3 | @keyframes rollIn { 4 | from { 5 | opacity: 0; 6 | transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); 7 | } 8 | 9 | to { 10 | opacity: 1; 11 | transform: translate3d(0, 0, 0); 12 | } 13 | } 14 | 15 | .rollIn { 16 | animation-name: rollIn; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/specials/rollOut.css: -------------------------------------------------------------------------------- 1 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ 2 | 3 | @keyframes rollOut { 4 | from { 5 | opacity: 1; 6 | } 7 | 8 | to { 9 | opacity: 0; 10 | transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); 11 | } 12 | } 13 | 14 | .rollOut { 15 | animation-name: rollOut; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_entrances/zoomIn.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomIn { 2 | from { 3 | opacity: 0; 4 | transform: scale3d(0.3, 0.3, 0.3); 5 | } 6 | 7 | 50% { 8 | opacity: 1; 9 | } 10 | } 11 | 12 | .zoomIn { 13 | animation-name: zoomIn; 14 | } 15 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_entrances/zoomInDown.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomInDown { 2 | from { 3 | opacity: 0; 4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); 5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 6 | } 7 | 8 | 60% { 9 | opacity: 1; 10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); 11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 12 | } 13 | } 14 | 15 | .zoomInDown { 16 | animation-name: zoomInDown; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_entrances/zoomInLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomInLeft { 2 | from { 3 | opacity: 0; 4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); 5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 6 | } 7 | 8 | 60% { 9 | opacity: 1; 10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); 11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 12 | } 13 | } 14 | 15 | .zoomInLeft { 16 | animation-name: zoomInLeft; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_entrances/zoomInRight.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomInRight { 2 | from { 3 | opacity: 0; 4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); 5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 6 | } 7 | 8 | 60% { 9 | opacity: 1; 10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); 11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 12 | } 13 | } 14 | 15 | .zoomInRight { 16 | animation-name: zoomInRight; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_entrances/zoomInUp.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomInUp { 2 | from { 3 | opacity: 0; 4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); 5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 6 | } 7 | 8 | 60% { 9 | opacity: 1; 10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); 11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 12 | } 13 | } 14 | 15 | .zoomInUp { 16 | animation-name: zoomInUp; 17 | } 18 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_exits/zoomOut.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomOut { 2 | from { 3 | opacity: 1; 4 | } 5 | 6 | 50% { 7 | opacity: 0; 8 | transform: scale3d(0.3, 0.3, 0.3); 9 | } 10 | 11 | to { 12 | opacity: 0; 13 | } 14 | } 15 | 16 | .zoomOut { 17 | animation-name: zoomOut; 18 | } 19 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_exits/zoomOutDown.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomOutDown { 2 | 40% { 3 | opacity: 1; 4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); 5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 6 | } 7 | 8 | to { 9 | opacity: 0; 10 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); 11 | transform-origin: center bottom; 12 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 13 | } 14 | } 15 | 16 | .zoomOutDown { 17 | animation-name: zoomOutDown; 18 | } 19 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_exits/zoomOutLeft.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomOutLeft { 2 | 40% { 3 | opacity: 1; 4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 0; 9 | transform: scale(0.1) translate3d(-2000px, 0, 0); 10 | transform-origin: left center; 11 | } 12 | } 13 | 14 | .zoomOutLeft { 15 | animation-name: zoomOutLeft; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_exits/zoomOutRight.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomOutRight { 2 | 40% { 3 | opacity: 1; 4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); 5 | } 6 | 7 | to { 8 | opacity: 0; 9 | transform: scale(0.1) translate3d(2000px, 0, 0); 10 | transform-origin: right center; 11 | } 12 | } 13 | 14 | .zoomOutRight { 15 | animation-name: zoomOutRight; 16 | } 17 | -------------------------------------------------------------------------------- /docs/libs/animate.css/source/zooming_exits/zoomOutUp.css: -------------------------------------------------------------------------------- 1 | @keyframes zoomOutUp { 2 | 40% { 3 | opacity: 1; 4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); 5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 6 | } 7 | 8 | to { 9 | opacity: 0; 10 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); 11 | transform-origin: center bottom; 12 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 13 | } 14 | } 15 | 16 | .zoomOutUp { 17 | animation-name: zoomOutUp; 18 | } 19 | -------------------------------------------------------------------------------- /docs/libs/fancybox/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fancybox", 3 | "description": "Touch enabled, responsive and fully customizable jQuery lightbox script", 4 | "keywords": [ 5 | "touch", 6 | "responsive", 7 | "lightbox", 8 | "fancybox", 9 | "gallery", 10 | "jQuery", 11 | "plugin" 12 | ], 13 | "homepage": "http://fancyapps.com/fancybox/", 14 | "license": "GPL-3.0", 15 | "moduleType": "globals", 16 | "main": [ 17 | "dist/jquery.fancybox.min.css", 18 | "dist/jquery.fancybox.min.js" 19 | ], 20 | "dependencies": { 21 | "jquery": ">=1.9.0" 22 | }, 23 | "version": "3.5.6", 24 | "_release": "3.5.6", 25 | "_resolution": { 26 | "type": "version", 27 | "tag": "v3.5.6", 28 | "commit": "f2f8a40c9152383bef3b58def3bf0e8f277e5c02" 29 | }, 30 | "_source": "https://github.com/fancyapps/fancyBox.git", 31 | "_target": "^3.4.2", 32 | "_originalSource": "fancybox" 33 | } -------------------------------------------------------------------------------- /docs/libs/fancybox/.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /docs/libs/fancybox/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /docs/libs/fancybox/.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Describe your question here. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | How do I ... 11 | -------------------------------------------------------------------------------- /docs/libs/fancybox/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/* 2 | -------------------------------------------------------------------------------- /docs/libs/fancybox/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fancybox", 3 | "description": "Touch enabled, responsive and fully customizable jQuery lightbox script", 4 | "keywords": [ 5 | "touch", 6 | "responsive", 7 | "lightbox", 8 | "fancybox", 9 | "gallery", 10 | "jQuery", 11 | "plugin" 12 | ], 13 | "homepage": "http://fancyapps.com/fancybox/", 14 | "license": "GPL-3.0", 15 | "moduleType": "globals", 16 | "main": [ 17 | "dist/jquery.fancybox.min.css", 18 | "dist/jquery.fancybox.min.js" 19 | ], 20 | "dependencies": { 21 | "jquery": ">=1.9.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /docs/libs/fancybox/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@fancyapps/fancybox", 3 | "description": "Touch enabled, responsive and fully customizable jQuery lightbox script", 4 | "version": "3.5.6", 5 | "homepage": "https://fancyapps.com/fancybox/3/", 6 | "main": "dist/jquery.fancybox.js", 7 | "style": "dist/jquery.fancybox.css", 8 | "author": "fancyApps", 9 | "license": "GPL-3.0", 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/fancyapps/fancybox.git" 13 | }, 14 | "peerDependencies": { 15 | "jquery": ">=1.9.0" 16 | }, 17 | "devDependencies": { 18 | "del": "^2.2.2", 19 | "gulp": "^3.9.1", 20 | "gulp-autoprefixer": "^3.1.1", 21 | "gulp-concat": "^2.6.1", 22 | "gulp-cssnano": "^2.1.2", 23 | "gulp-header": "^1.8.8", 24 | "gulp-jshint": "^2.0.4", 25 | "gulp-livereload": "^3.8.1", 26 | "gulp-notify": "^2.2.0", 27 | "gulp-rename": "^1.2.2", 28 | "gulp-replace": "^0.5.4", 29 | "gulp-uglify": "^2.0.0", 30 | "gulp-util": "^3.0.8", 31 | "jshint": "^2.9.4" 32 | }, 33 | "keywords": [ 34 | "touch", 35 | "responsive", 36 | "lightbox", 37 | "fancybox", 38 | "gallery", 39 | "jQuery", 40 | "plugin" 41 | ], 42 | "bugs": { 43 | "url": "https://github.com/fancyapps/fancybox/issues" 44 | }, 45 | "directories": { 46 | "doc": "docs" 47 | }, 48 | "scripts": { 49 | "test": "echo \"Error: no test specified\" && exit 1" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /docs/libs/fancybox/src/css/fullscreen.css: -------------------------------------------------------------------------------- 1 | 2 | /* Fullscreen */ 3 | 4 | .fancybox-button--fullscreen::before { 5 | width: 15px; 6 | height: 11px; 7 | left: calc(50% - 7px); 8 | top: calc(50% - 6px); 9 | border: 2px solid; 10 | background: none; 11 | } 12 | -------------------------------------------------------------------------------- /docs/libs/fancybox/src/css/slideshow.css: -------------------------------------------------------------------------------- 1 | /* Slideshow button */ 2 | 3 | .fancybox-button--play {} 4 | 5 | .fancybox-button--play::before, 6 | .fancybox-button--pause::before { 7 | top: calc(50% - 6px); 8 | left: calc(50% - 4px); 9 | background: transparent; 10 | } 11 | 12 | .fancybox-button--play::before { 13 | width: 0; 14 | height: 0; 15 | border-top: 6px inset transparent; 16 | border-bottom: 6px inset transparent; 17 | border-left: 10px solid; 18 | border-radius: 1px; 19 | } 20 | 21 | .fancybox-button--pause::before { 22 | width: 7px; 23 | height: 11px; 24 | border-style: solid; 25 | border-width: 0 2px 0 2px; 26 | } 27 | -------------------------------------------------------------------------------- /docs/libs/fancybox/src/js/wheel.js: -------------------------------------------------------------------------------- 1 | // ========================================================================== 2 | // 3 | // Wheel 4 | // Basic mouse weheel support for gallery navigation 5 | // 6 | // ========================================================================== 7 | (function(document, $) { 8 | "use strict"; 9 | 10 | var prevTime = new Date().getTime(); 11 | 12 | $(document).on({ 13 | "onInit.fb": function(e, instance, current) { 14 | instance.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function(e) { 15 | var current = instance.current, 16 | currTime = new Date().getTime(); 17 | 18 | if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === "auto" && current.type !== "image")) { 19 | return; 20 | } 21 | 22 | e.preventDefault(); 23 | e.stopPropagation(); 24 | 25 | if (current.$slide.hasClass("fancybox-animated")) { 26 | return; 27 | } 28 | 29 | e = e.originalEvent || e; 30 | 31 | if (currTime - prevTime < 250) { 32 | return; 33 | } 34 | 35 | prevTime = currTime; 36 | 37 | instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? "next" : "previous"](); 38 | }); 39 | } 40 | }); 41 | })(document, jQuery); 42 | -------------------------------------------------------------------------------- /docs/libs/flextabs-js/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flextabs-js", 3 | "version": "2.0.0", 4 | "description": "jQuery-плагин для создания адаптивных вкладок (табы, аккордеон, спойлер)", 5 | "main": "index.js", 6 | "authors": [ 7 | "WahaWaher" 8 | ], 9 | "license": "MIT", 10 | "homepage": "http://wahawaher.ru/flextabs-js/", 11 | "ignore": [ 12 | "**/.*", 13 | "node_modules", 14 | "bower_components", 15 | "demo/libs/", 16 | "test", 17 | "tests" 18 | ], 19 | "dependencies": { 20 | "jquery": "^3.3.1" 21 | }, 22 | "_release": "2.0.0", 23 | "_resolution": { 24 | "type": "version", 25 | "tag": "v2.0.0", 26 | "commit": "13bfae97c1dc8161c57b770a3fbf7602331aacb4" 27 | }, 28 | "_source": "https://github.com/WahaWaher/flextabs-js.git", 29 | "_target": "^2.0.0", 30 | "_originalSource": "flextabs-js" 31 | } -------------------------------------------------------------------------------- /docs/libs/flextabs-js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flextabs-js", 3 | "version": "2.0.0", 4 | "description": "jQuery-плагин для создания адаптивных вкладок (табы, аккордеон, спойлер)", 5 | "main": "index.js", 6 | "authors": [ 7 | "WahaWaher" 8 | ], 9 | "license": "MIT", 10 | "homepage": "http://wahawaher.ru/flextabs-js/", 11 | "ignore": [ 12 | "**/.*", 13 | "node_modules", 14 | "bower_components", 15 | "demo/libs/", 16 | "test", 17 | "tests" 18 | ], 19 | "dependencies": { 20 | "jquery": "^3.3.1" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /docs/libs/flextabs-js/demo/ajax-content.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |

Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Текстов единственное предложения диких свой, вопроса которое. Своих текста имени, свой сбить, диких составитель, вскоре эта дороге одна живет свой?

4 |

Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Текстов единственное предложения диких свой, вопроса которое. Своих текста имени, свой сбить, диких составитель, вскоре эта дороге одна живет свой?

5 |

Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Текстов единственное предложения диких свой, вопроса которое. Своих текста имени, свой сбить, диких составитель, вскоре эта дороге одна живет свой?

6 |
-------------------------------------------------------------------------------- /docs/libs/flextabs-js/demo/css/demo.css: -------------------------------------------------------------------------------- 1 | .method-controls button, .method-controls input { 2 | text-align: center; 3 | margin: 5px 0; 4 | } 5 | 6 | .method-controls span { 7 | display: inline-block; 8 | color: #bbb; 9 | margin: 0 10px; 10 | } 11 | 12 | .ft-preloader { 13 | text-align: center; 14 | margin: 10px 0; 15 | } 16 | 17 | .ft-preloader svg { 18 | fill: #222; 19 | } 20 | -------------------------------------------------------------------------------- /docs/libs/flextabs-js/demo/css/jquery.flextabs.theme-template.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /* Режим: Tabs */ 3 | /* Режим: Accordion */ 4 | -------------------------------------------------------------------------------- /docs/libs/flextabs-js/demo/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/flextabs-js/demo/favicon.ico -------------------------------------------------------------------------------- /docs/libs/flextabs-js/demo/scss/demo.scss: -------------------------------------------------------------------------------- 1 | .method-controls { 2 | button, input { 3 | text-align: center; 4 | margin: 5px 0; 5 | } 6 | span { 7 | display: inline-block; 8 | color: #bbb; 9 | margin: 0 10px; 10 | } 11 | } 12 | 13 | .ft-preloader { 14 | text-align: center; 15 | margin: 10px 0; 16 | } 17 | .ft-preloader svg { 18 | fill: #222; 19 | } -------------------------------------------------------------------------------- /docs/libs/flextabs-js/demo/scss/jquery.flextabs.theme-template.scss: -------------------------------------------------------------------------------- 1 | /* Режим: Tabs */ 2 | .ft-theme-template.ft-tabs { 3 | 4 | // Панель вкладок 5 | >.ft-nav { 6 | 7 | // Вкладка 8 | >.ft-tab { 9 | &.active, &:hover {} 10 | } 11 | } 12 | 13 | // Контейнер с содержимым вкладок 14 | >.ft-contents { 15 | 16 | // Контейнер с содержимым отдельной вкладки 17 | >.ft-content {} 18 | 19 | // Вкладка для аккордеона 20 | >.ft-tab {} 21 | 22 | } 23 | 24 | } 25 | 26 | /* Режим: Accordion */ 27 | .ft-theme-template.ft-accordion { 28 | &.ft-container {} 29 | 30 | // Панель вкладок 31 | >.ft-nav {} 32 | 33 | // Контейнер с содержимым вкладок 34 | >.ft-contents { 35 | 36 | // Вкладка 37 | >.ft-tab { 38 | &.active, &:hover {} 39 | } 40 | 41 | // Контейнер с содержимым отдельной вкладки 42 | >.ft-content { 43 | &.active {} 44 | } 45 | 46 | // Вкладка с иконкой 47 | >.ft-tab-icon { 48 | 49 | // Контенер иконки 50 | .ft-icon { 51 | 52 | // Иконка 53 | >svg {} 54 | 55 | } 56 | 57 | // Вкладка с иконкой: активная 58 | &.active { 59 | .ft-icon {} 60 | } 61 | 62 | } 63 | 64 | } 65 | 66 | } -------------------------------------------------------------------------------- /docs/libs/flextabs-js/dist/jquery.flextabs.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery FlexTabs 3 | * Version: 2.0.0 4 | * Repo: https://github.com/WahaWaher/flextabs-js 5 | * Author: Sergey Kravchenko 6 | * Contacts: wahawaher@gmail.com 7 | * License: MIT 8 | */ 9 | 10 | .ft-tabs>.ft-nav>.ft-tab{display:inline-block;cursor:pointer}.ft-tabs>.ft-contents{padding-top:.05px;padding-bottom:.05px;position:relative;z-index:1}.ft-tabs>.ft-contents>.ft-content{overflow:hidden}.ft-accordion>.ft-nav,.ft-tabs>.ft-contents>.ft-tab{display:none}.ft-accordion>.ft-contents>.ft-tab{display:block;cursor:pointer}.ft-accordion>.ft-contents>.ft-content{padding-top:.05px;padding-bottom:.05px;overflow:hidden}.ft-accordion>.ft-contents>.ft-tab-icon{padding-right:3.3em;position:relative}.ft-accordion>.ft-contents>.ft-tab-icon .ft-icon{width:1.6em;height:1.6em;position:absolute;top:50%;right:1em;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:all .2s}.ft-accordion>.ft-contents>.ft-tab-icon .ft-icon>svg{display:block;position:absolute;top:50%;left:50%;width:100%;height:100%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ft-accordion>.ft-contents>.ft-tab-icon.active .ft-icon{-webkit-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg)} -------------------------------------------------------------------------------- /docs/libs/flextabs-js/dist/jquery.flextabs.theme-default.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery FlexTabs Theme Default 3 | * Version: 2.0.0 4 | * Repo: https://github.com/WahaWaher/flextabs-js 5 | * Author: Sergey Kravchenko 6 | * Contacts: wahawaher@gmail.com 7 | * License: MIT 8 | */ 9 | 10 | .ft-theme-default.ft-tabs>.ft-nav>.ft-tab{color:#222;text-decoration:none;border:1px solid transparent;background-color:#fafafa;padding:10px 20px;top:1px;position:relative;z-index:1}.ft-theme-default.ft-tabs>.ft-nav>.ft-tab.active,.ft-theme-default.ft-tabs>.ft-nav>.ft-tab:hover{color:#222;text-decoration:none;background-color:#f2f2f2;border-bottom-color:transparent}.ft-theme-default.ft-tabs>.ft-nav>.ft-tab.active:before,.ft-theme-default.ft-tabs>.ft-nav>.ft-tab:hover:before{content:"";display:block;position:absolute;width:1px;height:1px;bottom:-1px;left:-1px;background-color:transparent}.ft-theme-default.ft-tabs>.ft-contents{color:#222;padding:10px 15px;background-color:#f2f2f2}.ft-theme-default.ft-accordion>.ft-contents{color:#222}.ft-theme-default.ft-accordion>.ft-contents>.ft-tab{color:#222;text-decoration:none;border:1px solid transparent;background-color:#fafafa;padding:10px 15px;margin:3px 0}.ft-theme-default.ft-accordion>.ft-contents>.ft-tab.active,.ft-theme-default.ft-accordion>.ft-contents>.ft-tab:hover{color:#222;text-decoration:none;background-color:#f2f2f2}.ft-theme-default.ft-accordion>.ft-contents>.ft-content{padding:10px 15px;background-color:#fff}.ft-theme-default.ft-accordion>.ft-contents>.ft-tab-icon .ft-icon>svg{fill:#222} -------------------------------------------------------------------------------- /docs/libs/flextabs-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flextabs-js", 3 | "version": "2.0.0", 4 | "description": "jQuery-плагин для создания адаптивных вкладок (табы, аккордеон, спойлер)", 5 | "author": "WahaWaher", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/WahaWaher/flextabs-js.git" 9 | }, 10 | "keywords": [ 11 | "js", 12 | "jquery", 13 | "tabs", 14 | "accordion", 15 | "spoiler" 16 | ], 17 | "license": "MIT", 18 | "devDependencies": { 19 | "browser-sync": "^2.18.13", 20 | "del": "^3.0.0", 21 | "gulp": "^3.9.1", 22 | "gulp-autoprefixer": "^4.0.0", 23 | "gulp-cssnano": "^2.1.2", 24 | "gulp-header-comment": "^0.4.0", 25 | "gulp-rename": "^1.2.2", 26 | "gulp-sass": "^3.1.0", 27 | "gulp-uglify": "^3.0.0", 28 | "rename": "^1.0.4" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/libs/jquery.easing/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.easing", 3 | "version": "1.3.1", 4 | "description": "jQuery Easing plugin", 5 | "homepage": "http://gsgd.co.uk/sandbox/jquery/easing/", 6 | "main": "js/jquery.easing.js", 7 | "keywords": [ 8 | "jquery", 9 | "jquery plugin", 10 | "easing" 11 | ], 12 | "dependencies": { 13 | "jquery": ">= 1.2.1" 14 | }, 15 | "authors": [ 16 | "Source code: George McGinley Smith", 17 | "Package: Jozef Izso" 18 | ], 19 | "licenses": "NewBSD", 20 | "ignore": [ 21 | "**/.*", 22 | "node_modules", 23 | "bower_components", 24 | "test", 25 | "tests" 26 | ], 27 | "_release": "1.3.1", 28 | "_resolution": { 29 | "type": "version", 30 | "tag": "v1.3.1", 31 | "commit": "72fec3d9126601939239cb85364dbdb771884380" 32 | }, 33 | "_source": "https://github.com/jozefizso/bower-jquery-easing.git", 34 | "_target": "^1.3.1", 35 | "_originalSource": "jquery.easing" 36 | } -------------------------------------------------------------------------------- /docs/libs/jquery.easing/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, Jozef Izso 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of the nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /docs/libs/jquery.easing/README.md: -------------------------------------------------------------------------------- 1 | jQuery Easing Bower Package 2 | ================= 3 | 4 | This is a Bower component for [jQuery easing](http://gsgd.co.uk/sandbox/jquery/easing/) plugin (v1.3). 5 | 6 | # Installation 7 | 8 | `bower install jquery.easing --save` 9 | 10 | -------------------------------------------------------------------------------- /docs/libs/jquery.easing/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.easing", 3 | "version": "1.3.1", 4 | "description": "jQuery Easing plugin", 5 | "homepage": "http://gsgd.co.uk/sandbox/jquery/easing/", 6 | "main": "js/jquery.easing.js", 7 | "keywords": [ 8 | "jquery", 9 | "jquery plugin", 10 | "easing" 11 | ], 12 | "dependencies": { 13 | "jquery": ">= 1.2.1" 14 | }, 15 | "authors": [ 16 | "Source code: George McGinley Smith", 17 | "Package: Jozef Izso" 18 | ], 19 | "licenses": "NewBSD", 20 | "ignore": [ 21 | "**/.*", 22 | "node_modules", 23 | "bower_components", 24 | "test", 25 | "tests" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /docs/libs/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "3.3.1", 16 | "_release": "3.3.1", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "3.3.1", 20 | "commit": "9e8ec3d10fad04748176144f108d7355662ae75e" 21 | }, 22 | "_source": "https://github.com/jquery/jquery-dist.git", 23 | "_target": ">=1.9.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /docs/libs/jquery/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ] 14 | } -------------------------------------------------------------------------------- /docs/libs/jquery/src/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "../.eslintrc-browser.json" 5 | } 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/ajax/parseXML.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | // Cross-browser xml parsing 8 | jQuery.parseXML = function( data ) { 9 | var xml; 10 | if ( !data || typeof data !== "string" ) { 11 | return null; 12 | } 13 | 14 | // Support: IE 9 - 11 only 15 | // IE throws on parseFromString with invalid input. 16 | try { 17 | xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 18 | } catch ( e ) { 19 | xml = undefined; 20 | } 21 | 22 | if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { 23 | jQuery.error( "Invalid XML: " + data ); 24 | } 25 | return xml; 26 | }; 27 | 28 | return jQuery.parseXML; 29 | 30 | } ); 31 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/ajax/var/location.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return window.location; 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/ajax/var/nonce.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return Date.now(); 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/ajax/var/rquery.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /\?/ ); 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/attributes.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./attributes/attr", 4 | "./attributes/prop", 5 | "./attributes/classes", 6 | "./attributes/val" 7 | ], function( jQuery ) { 8 | 9 | "use strict"; 10 | 11 | // Return jQuery for attributes-only inclusion 12 | return jQuery; 13 | } ); 14 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/attributes/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | ( function() { 9 | var input = document.createElement( "input" ), 10 | select = document.createElement( "select" ), 11 | opt = select.appendChild( document.createElement( "option" ) ); 12 | 13 | input.type = "checkbox"; 14 | 15 | // Support: Android <=4.3 only 16 | // Default value for a checkbox should be "on" 17 | support.checkOn = input.value !== ""; 18 | 19 | // Support: IE <=11 only 20 | // Must access selectedIndex to make default options select 21 | support.optSelected = opt.selected; 22 | 23 | // Support: IE <=11 only 24 | // An input loses its value after becoming a radio 25 | input = document.createElement( "input" ); 26 | input.value = "t"; 27 | input.type = "radio"; 28 | support.radioValue = input.value === "t"; 29 | } )(); 30 | 31 | return support; 32 | 33 | } ); 34 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/DOMEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document" 3 | ], function( document ) { 4 | "use strict"; 5 | 6 | var preservedScriptAttributes = { 7 | type: true, 8 | src: true, 9 | noModule: true 10 | }; 11 | 12 | function DOMEval( code, doc, node ) { 13 | doc = doc || document; 14 | 15 | var i, 16 | script = doc.createElement( "script" ); 17 | 18 | script.text = code; 19 | if ( node ) { 20 | for ( i in preservedScriptAttributes ) { 21 | if ( node[ i ] ) { 22 | script[ i ] = node[ i ]; 23 | } 24 | } 25 | } 26 | doc.head.appendChild( script ).parentNode.removeChild( script ); 27 | } 28 | 29 | return DOMEval; 30 | } ); 31 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/access.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../core/toType", 4 | "../var/isFunction" 5 | ], function( jQuery, toType, isFunction ) { 6 | 7 | "use strict"; 8 | 9 | // Multifunctional method to get and set values of a collection 10 | // The value/s can optionally be executed if it's a function 11 | var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 12 | var i = 0, 13 | len = elems.length, 14 | bulk = key == null; 15 | 16 | // Sets many values 17 | if ( toType( key ) === "object" ) { 18 | chainable = true; 19 | for ( i in key ) { 20 | access( elems, fn, i, key[ i ], true, emptyGet, raw ); 21 | } 22 | 23 | // Sets one value 24 | } else if ( value !== undefined ) { 25 | chainable = true; 26 | 27 | if ( !isFunction( value ) ) { 28 | raw = true; 29 | } 30 | 31 | if ( bulk ) { 32 | 33 | // Bulk operations run against the entire set 34 | if ( raw ) { 35 | fn.call( elems, value ); 36 | fn = null; 37 | 38 | // ...except when executing function values 39 | } else { 40 | bulk = fn; 41 | fn = function( elem, key, value ) { 42 | return bulk.call( jQuery( elem ), value ); 43 | }; 44 | } 45 | } 46 | 47 | if ( fn ) { 48 | for ( ; i < len; i++ ) { 49 | fn( 50 | elems[ i ], key, raw ? 51 | value : 52 | value.call( elems[ i ], i, fn( elems[ i ], key ) ) 53 | ); 54 | } 55 | } 56 | } 57 | 58 | if ( chainable ) { 59 | return elems; 60 | } 61 | 62 | // Gets 63 | if ( bulk ) { 64 | return fn.call( elems ); 65 | } 66 | 67 | return len ? fn( elems[ 0 ], key ) : emptyGet; 68 | }; 69 | 70 | return access; 71 | 72 | } ); 73 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/camelCase.js: -------------------------------------------------------------------------------- 1 | define( [], function() { 2 | 3 | "use strict"; 4 | 5 | // Matches dashed string for camelizing 6 | var rmsPrefix = /^-ms-/, 7 | rdashAlpha = /-([a-z])/g; 8 | 9 | // Used by camelCase as callback to replace() 10 | function fcamelCase( all, letter ) { 11 | return letter.toUpperCase(); 12 | } 13 | 14 | // Convert dashed to camelCase; used by the css and data modules 15 | // Support: IE <=9 - 11, Edge 12 - 15 16 | // Microsoft forgot to hump their vendor prefix (#9572) 17 | function camelCase( string ) { 18 | return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 19 | } 20 | 21 | return camelCase; 22 | 23 | } ); 24 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/nodeName.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | function nodeName( elem, name ) { 6 | 7 | return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 8 | 9 | }; 10 | 11 | return nodeName; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/readyException.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | jQuery.readyException = function( error ) { 8 | window.setTimeout( function() { 9 | throw error; 10 | } ); 11 | }; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/stripAndCollapse.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/rnothtmlwhite" 3 | ], function( rnothtmlwhite ) { 4 | "use strict"; 5 | 6 | // Strip and collapse whitespace according to HTML spec 7 | // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 8 | function stripAndCollapse( value ) { 9 | var tokens = value.match( rnothtmlwhite ) || []; 10 | return tokens.join( " " ); 11 | } 12 | 13 | return stripAndCollapse; 14 | } ); 15 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | // Support: Safari 8 only 9 | // In Safari 8 documents created via document.implementation.createHTMLDocument 10 | // collapse sibling forms: the second one becomes a child of the first one. 11 | // Because of that, this security measure has to be disabled in Safari 8. 12 | // https://bugs.webkit.org/show_bug.cgi?id=137337 13 | support.createHTMLDocument = ( function() { 14 | var body = document.implementation.createHTMLDocument( "" ).body; 15 | body.innerHTML = "
"; 16 | return body.childNodes.length === 2; 17 | } )(); 18 | 19 | return support; 20 | } ); 21 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/toType.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/class2type", 3 | "../var/toString" 4 | ], function( class2type, toString ) { 5 | 6 | "use strict"; 7 | 8 | function toType( obj ) { 9 | if ( obj == null ) { 10 | return obj + ""; 11 | } 12 | 13 | // Support: Android <=2.3 only (functionish RegExp) 14 | return typeof obj === "object" || typeof obj === "function" ? 15 | class2type[ toString.call( obj ) ] || "object" : 16 | typeof obj; 17 | } 18 | 19 | return toType; 20 | } ); 21 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/core/var/rsingleTag.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // Match a standalone tag 5 | return ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 6 | } ); 7 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/addGetHookIf.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | function addGetHookIf( conditionFn, hookFn ) { 6 | 7 | // Define the hook, we'll check on the first run if it's really needed. 8 | return { 9 | get: function() { 10 | if ( conditionFn() ) { 11 | 12 | // Hook not needed (or it's not possible to use it due 13 | // to missing dependency), remove it. 14 | delete this.get; 15 | return; 16 | } 17 | 18 | // Hook needed; redefine it so that the support test is not executed again. 19 | return ( this.get = hookFn ).apply( this, arguments ); 20 | } 21 | }; 22 | } 23 | 24 | return addGetHookIf; 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/hiddenVisibleSelectors.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | jQuery.expr.pseudos.hidden = function( elem ) { 9 | return !jQuery.expr.pseudos.visible( elem ); 10 | }; 11 | jQuery.expr.pseudos.visible = function( elem ) { 12 | return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/var/cssExpand.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return [ "Top", "Right", "Bottom", "Left" ]; 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/var/getStyles.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return function( elem ) { 5 | 6 | // Support: IE <=11 only, Firefox <=30 (#15098, #14150) 7 | // IE throws on elements created in popups 8 | // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 9 | var view = elem.ownerDocument.defaultView; 10 | 11 | if ( !view || !view.opener ) { 12 | view = window; 13 | } 14 | 15 | return view.getComputedStyle( elem ); 16 | }; 17 | } ); 18 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/var/isHiddenWithinTree.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | 5 | // css is assumed 6 | ], function( jQuery ) { 7 | "use strict"; 8 | 9 | // isHiddenWithinTree reports if an element has a non-"none" display style (inline and/or 10 | // through the CSS cascade), which is useful in deciding whether or not to make it visible. 11 | // It differs from the :hidden selector (jQuery.expr.pseudos.hidden) in two important ways: 12 | // * A hidden ancestor does not force an element to be classified as hidden. 13 | // * Being disconnected from the document does not force an element to be classified as hidden. 14 | // These differences improve the behavior of .toggle() et al. when applied to elements that are 15 | // detached or contained within hidden ancestors (gh-2404, gh-2863). 16 | return function( elem, el ) { 17 | 18 | // isHiddenWithinTree might be called from jQuery#filter function; 19 | // in that case, element will be second argument 20 | elem = el || elem; 21 | 22 | // Inline style trumps all 23 | return elem.style.display === "none" || 24 | elem.style.display === "" && 25 | 26 | // Otherwise, check computed style 27 | // Support: Firefox <=43 - 45 28 | // Disconnected elements can have computed display: none, so first confirm that elem is 29 | // in the document. 30 | jQuery.contains( elem.ownerDocument, elem ) && 31 | 32 | jQuery.css( elem, "display" ) === "none"; 33 | }; 34 | } ); 35 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/var/rboxStyle.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./cssExpand" 3 | ], function( cssExpand ) { 4 | "use strict"; 5 | 6 | return new RegExp( cssExpand.join( "|" ), "i" ); 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/var/rnumnonpx.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../var/pnum" 3 | ], function( pnum ) { 4 | "use strict"; 5 | 6 | return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/css/var/swap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | // A method for quickly swapping in/out CSS properties to get correct calculations. 6 | return function( elem, options, callback, args ) { 7 | var ret, name, 8 | old = {}; 9 | 10 | // Remember the old values, and insert the new ones 11 | for ( name in options ) { 12 | old[ name ] = elem.style[ name ]; 13 | elem.style[ name ] = options[ name ]; 14 | } 15 | 16 | ret = callback.apply( elem, args || [] ); 17 | 18 | // Revert the old values 19 | for ( name in options ) { 20 | elem.style[ name ] = old[ name ]; 21 | } 22 | 23 | return ret; 24 | }; 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/data/var/acceptData.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | /** 6 | * Determines whether an object can have data 7 | */ 8 | return function( owner ) { 9 | 10 | // Accepts only: 11 | // - Node 12 | // - Node.ELEMENT_NODE 13 | // - Node.DOCUMENT_NODE 14 | // - Object 15 | // - Any 16 | return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 17 | }; 18 | 19 | } ); 20 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/data/var/dataPriv.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | "use strict"; 5 | 6 | return new Data(); 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/data/var/dataUser.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../Data" 3 | ], function( Data ) { 4 | "use strict"; 5 | 6 | return new Data(); 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/deferred/exceptionHook.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../deferred" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | // These usually indicate a programmer mistake during development, 9 | // warn about them ASAP rather than swallowing them by default. 10 | var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 11 | 12 | jQuery.Deferred.exceptionHook = function( error, stack ) { 13 | 14 | // Support: IE 8 - 9 only 15 | // Console exists when dev tools are open, which can happen at any time 16 | if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 17 | window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); 18 | } 19 | }; 20 | 21 | } ); 22 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/effects/animatedSelector.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../selector", 4 | "../effects" 5 | ], function( jQuery ) { 6 | 7 | "use strict"; 8 | 9 | jQuery.expr.pseudos.animated = function( elem ) { 10 | return jQuery.grep( jQuery.timers, function( fn ) { 11 | return elem === fn.elem; 12 | } ).length; 13 | }; 14 | 15 | } ); 16 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/event/ajax.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../event" 4 | ], function( jQuery ) { 5 | 6 | "use strict"; 7 | 8 | // Attach a bunch of functions for handling common AJAX events 9 | jQuery.each( [ 10 | "ajaxStart", 11 | "ajaxStop", 12 | "ajaxComplete", 13 | "ajaxError", 14 | "ajaxSuccess", 15 | "ajaxSend" 16 | ], function( i, type ) { 17 | jQuery.fn[ type ] = function( fn ) { 18 | return this.on( type, fn ); 19 | }; 20 | } ); 21 | 22 | } ); 23 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/event/alias.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | 4 | "../event", 5 | "./trigger" 6 | ], function( jQuery ) { 7 | 8 | "use strict"; 9 | 10 | jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + 11 | "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 12 | "change select submit keydown keypress keyup contextmenu" ).split( " " ), 13 | function( i, name ) { 14 | 15 | // Handle event binding 16 | jQuery.fn[ name ] = function( data, fn ) { 17 | return arguments.length > 0 ? 18 | this.on( name, null, data, fn ) : 19 | this.trigger( name ); 20 | }; 21 | } ); 22 | 23 | jQuery.fn.extend( { 24 | hover: function( fnOver, fnOut ) { 25 | return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); 26 | } 27 | } ); 28 | 29 | } ); 30 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/event/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/support" 3 | ], function( support ) { 4 | 5 | "use strict"; 6 | 7 | support.focusin = "onfocusin" in window; 8 | 9 | return support; 10 | 11 | } ); 12 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/exports/amd.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | // Register as a named AMD module, since jQuery can be concatenated with other 8 | // files that may use define, but not via a proper concatenation script that 9 | // understands anonymous AMD modules. A named AMD is safest and most robust 10 | // way to register. Lowercase jquery is used because AMD module names are 11 | // derived from file names, and jQuery is normally delivered in a lowercase 12 | // file name. Do this after creating the global so that if an AMD module wants 13 | // to call noConflict to hide this version of jQuery, it will work. 14 | 15 | // Note that for maximum portability, libraries that are not jQuery should 16 | // declare themselves as anonymous modules, and avoid setting a global if an 17 | // AMD loader is present. jQuery is a special case. For more information, see 18 | // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 19 | 20 | if ( typeof define === "function" && define.amd ) { 21 | define( "jquery", [], function() { 22 | return jQuery; 23 | } ); 24 | } 25 | 26 | } ); 27 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/exports/global.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core" 3 | ], function( jQuery, noGlobal ) { 4 | 5 | "use strict"; 6 | 7 | var 8 | 9 | // Map over jQuery in case of overwrite 10 | _jQuery = window.jQuery, 11 | 12 | // Map over the $ in case of overwrite 13 | _$ = window.$; 14 | 15 | jQuery.noConflict = function( deep ) { 16 | if ( window.$ === jQuery ) { 17 | window.$ = _$; 18 | } 19 | 20 | if ( deep && window.jQuery === jQuery ) { 21 | window.jQuery = _jQuery; 22 | } 23 | 24 | return jQuery; 25 | }; 26 | 27 | // Expose jQuery and $ identifiers, even in AMD 28 | // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) 29 | // and CommonJS for browser emulators (#13566) 30 | if ( !noGlobal ) { 31 | window.jQuery = window.$ = jQuery; 32 | } 33 | 34 | } ); 35 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/jquery.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "./selector", 4 | "./traversing", 5 | "./callbacks", 6 | "./deferred", 7 | "./deferred/exceptionHook", 8 | "./core/ready", 9 | "./data", 10 | "./queue", 11 | "./queue/delay", 12 | "./attributes", 13 | "./event", 14 | "./event/focusin", 15 | "./manipulation", 16 | "./manipulation/_evalUrl", 17 | "./wrap", 18 | "./css", 19 | "./css/hiddenVisibleSelectors", 20 | "./serialize", 21 | "./ajax", 22 | "./ajax/xhr", 23 | "./ajax/script", 24 | "./ajax/jsonp", 25 | "./ajax/load", 26 | "./event/ajax", 27 | "./effects", 28 | "./effects/animatedSelector", 29 | "./offset", 30 | "./dimensions", 31 | "./deprecated", 32 | "./exports/amd", 33 | "./exports/global" 34 | ], function( jQuery ) { 35 | 36 | "use strict"; 37 | 38 | return jQuery; 39 | 40 | } ); 41 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/_evalUrl.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../ajax" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | jQuery._evalUrl = function( url ) { 8 | return jQuery.ajax( { 9 | url: url, 10 | 11 | // Make this explicit, since user can override this through ajaxSetup (#11264) 12 | type: "GET", 13 | dataType: "script", 14 | cache: true, 15 | async: false, 16 | global: false, 17 | "throws": true 18 | } ); 19 | }; 20 | 21 | return jQuery._evalUrl; 22 | 23 | } ); 24 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/getAll.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../core/nodeName" 4 | ], function( jQuery, nodeName ) { 5 | 6 | "use strict"; 7 | 8 | function getAll( context, tag ) { 9 | 10 | // Support: IE <=9 - 11 only 11 | // Use typeof to avoid zero-argument method invocation on host objects (#15151) 12 | var ret; 13 | 14 | if ( typeof context.getElementsByTagName !== "undefined" ) { 15 | ret = context.getElementsByTagName( tag || "*" ); 16 | 17 | } else if ( typeof context.querySelectorAll !== "undefined" ) { 18 | ret = context.querySelectorAll( tag || "*" ); 19 | 20 | } else { 21 | ret = []; 22 | } 23 | 24 | if ( tag === undefined || tag && nodeName( context, tag ) ) { 25 | return jQuery.merge( [ context ], ret ); 26 | } 27 | 28 | return ret; 29 | } 30 | 31 | return getAll; 32 | } ); 33 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/setGlobalEval.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../data/var/dataPriv" 3 | ], function( dataPriv ) { 4 | 5 | "use strict"; 6 | 7 | // Mark scripts as having already been evaluated 8 | function setGlobalEval( elems, refElements ) { 9 | var i = 0, 10 | l = elems.length; 11 | 12 | for ( ; i < l; i++ ) { 13 | dataPriv.set( 14 | elems[ i ], 15 | "globalEval", 16 | !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 17 | ); 18 | } 19 | } 20 | 21 | return setGlobalEval; 22 | } ); 23 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/support.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/document", 3 | "../var/support" 4 | ], function( document, support ) { 5 | 6 | "use strict"; 7 | 8 | ( function() { 9 | var fragment = document.createDocumentFragment(), 10 | div = fragment.appendChild( document.createElement( "div" ) ), 11 | input = document.createElement( "input" ); 12 | 13 | // Support: Android 4.0 - 4.3 only 14 | // Check state lost if the name is set (#11217) 15 | // Support: Windows Web Apps (WWA) 16 | // `name` and `type` must use .setAttribute for WWA (#14901) 17 | input.setAttribute( "type", "radio" ); 18 | input.setAttribute( "checked", "checked" ); 19 | input.setAttribute( "name", "t" ); 20 | 21 | div.appendChild( input ); 22 | 23 | // Support: Android <=4.1 only 24 | // Older WebKit doesn't clone checked state correctly in fragments 25 | support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 26 | 27 | // Support: IE <=11 only 28 | // Make sure textarea (and checkbox) defaultValue is properly cloned 29 | div.innerHTML = ""; 30 | support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 31 | } )(); 32 | 33 | return support; 34 | 35 | } ); 36 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/var/rcheckableType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /^(?:checkbox|radio)$/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/var/rscriptType.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /^$|^module$|\/(?:java|ecma)script/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/var/rtagName.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/manipulation/wrapMap.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | // We have to close these tags to support XHTML (#13200) 6 | var wrapMap = { 7 | 8 | // Support: IE <=9 only 9 | option: [ 1, "" ], 10 | 11 | // XHTML parsers do not magically insert elements in the 12 | // same way that tag soup parsers do. So we cannot shorten 13 | // this by omitting or other required elements. 14 | thead: [ 1, "", "
" ], 15 | col: [ 2, "", "
" ], 16 | tr: [ 2, "", "
" ], 17 | td: [ 3, "", "
" ], 18 | 19 | _default: [ 0, "", "" ] 20 | }; 21 | 22 | // Support: IE <=9 only 23 | wrapMap.optgroup = wrapMap.option; 24 | 25 | wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 26 | wrapMap.th = wrapMap.td; 27 | 28 | return wrapMap; 29 | } ); 30 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/queue/delay.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../core", 3 | "../queue", 4 | "../effects" // Delay is optional because of this dependency 5 | ], function( jQuery ) { 6 | 7 | "use strict"; 8 | 9 | // Based off of the plugin by Clint Helfers, with permission. 10 | // https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ 11 | jQuery.fn.delay = function( time, type ) { 12 | time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 13 | type = type || "fx"; 14 | 15 | return this.queue( type, function( next, hooks ) { 16 | var timeout = window.setTimeout( next, time ); 17 | hooks.stop = function() { 18 | window.clearTimeout( timeout ); 19 | }; 20 | } ); 21 | }; 22 | 23 | return jQuery.fn.delay; 24 | } ); 25 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/selector-sizzle.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./core", 3 | "../external/sizzle/dist/sizzle" 4 | ], function( jQuery, Sizzle ) { 5 | 6 | "use strict"; 7 | 8 | jQuery.find = Sizzle; 9 | jQuery.expr = Sizzle.selectors; 10 | 11 | // Deprecated 12 | jQuery.expr[ ":" ] = jQuery.expr.pseudos; 13 | jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; 14 | jQuery.text = Sizzle.getText; 15 | jQuery.isXMLDoc = Sizzle.isXML; 16 | jQuery.contains = Sizzle.contains; 17 | jQuery.escapeSelector = Sizzle.escape; 18 | 19 | } ); 20 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/selector.js: -------------------------------------------------------------------------------- 1 | define( [ "./selector-sizzle" ], function() { 2 | "use strict"; 3 | } ); 4 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/traversing/var/dir.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core" 3 | ], function( jQuery ) { 4 | 5 | "use strict"; 6 | 7 | return function( elem, dir, until ) { 8 | var matched = [], 9 | truncate = until !== undefined; 10 | 11 | while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 12 | if ( elem.nodeType === 1 ) { 13 | if ( truncate && jQuery( elem ).is( until ) ) { 14 | break; 15 | } 16 | matched.push( elem ); 17 | } 18 | } 19 | return matched; 20 | }; 21 | 22 | } ); 23 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/traversing/var/rneedsContext.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../../core", 3 | "../../selector" 4 | ], function( jQuery ) { 5 | "use strict"; 6 | 7 | return jQuery.expr.match.needsContext; 8 | } ); 9 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/traversing/var/siblings.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | 3 | "use strict"; 4 | 5 | return function( n, elem ) { 6 | var matched = []; 7 | 8 | for ( ; n; n = n.nextSibling ) { 9 | if ( n.nodeType === 1 && n !== elem ) { 10 | matched.push( n ); 11 | } 12 | } 13 | 14 | return matched; 15 | }; 16 | 17 | } ); 18 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/ObjectFunctionString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./fnToString" 3 | ], function( fnToString ) { 4 | "use strict"; 5 | 6 | return fnToString.call( Object ); 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/arr.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return []; 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/class2type.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // [[Class]] -> type pairs 5 | return {}; 6 | } ); 7 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/concat.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.concat; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/document.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return window.document; 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/documentElement.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./document" 3 | ], function( document ) { 4 | "use strict"; 5 | 6 | return document.documentElement; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/fnToString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./hasOwn" 3 | ], function( hasOwn ) { 4 | "use strict"; 5 | 6 | return hasOwn.toString; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/getProto.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return Object.getPrototypeOf; 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/hasOwn.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | "use strict"; 5 | 6 | return class2type.hasOwnProperty; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/indexOf.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.indexOf; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/isFunction.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return function isFunction( obj ) { 5 | 6 | // Support: Chrome <=57, Firefox <=52 7 | // In some browsers, typeof returns "function" for HTML elements 8 | // (i.e., `typeof document.createElement( "object" ) === "function"`). 9 | // We don't want to classify *any* DOM node as a function. 10 | return typeof obj === "function" && typeof obj.nodeType !== "number"; 11 | }; 12 | 13 | } ); 14 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/isWindow.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return function isWindow( obj ) { 5 | return obj != null && obj === obj.window; 6 | }; 7 | 8 | } ); 9 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/pnum.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 5 | } ); 6 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/push.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.push; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/rcssNum.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/pnum" 3 | ], function( pnum ) { 4 | 5 | "use strict"; 6 | 7 | return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 8 | 9 | } ); 10 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/rnothtmlwhite.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // Only count HTML whitespace 5 | // Other whitespace should count in values 6 | // https://infra.spec.whatwg.org/#ascii-whitespace 7 | return ( /[^\x20\t\r\n\f]+/g ); 8 | } ); 9 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/slice.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | "use strict"; 5 | 6 | return arr.slice; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/support.js: -------------------------------------------------------------------------------- 1 | define( function() { 2 | "use strict"; 3 | 4 | // All support tests are defined in their respective modules. 5 | return {}; 6 | } ); 7 | -------------------------------------------------------------------------------- /docs/libs/jquery/src/var/toString.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./class2type" 3 | ], function( class2type ) { 4 | "use strict"; 5 | 6 | return class2type.toString; 7 | } ); 8 | -------------------------------------------------------------------------------- /docs/libs/materialize/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "materialize", 3 | "description": "A modern responsive front-end framework based on Material Design", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "sass", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "ux", 13 | "material", 14 | "design" 15 | ], 16 | "main": [ 17 | "dist/js/materialize.js", 18 | "dist/css/materialize.css" 19 | ], 20 | "ignore": [ 21 | "jade/", 22 | ".gitignore", 23 | "CNAME", 24 | "css/", 25 | "bower.json", 26 | "README.md", 27 | "images/", 28 | "js/jquery.timeago.js", 29 | "js/init.js", 30 | "js/prism.js", 31 | "res/", 32 | "sass/style.scss", 33 | "sass/ghpages-materialize.scss", 34 | "**/*.html", 35 | "**/*.zip", 36 | "**/*.txt", 37 | "sitemap.xml", 38 | "package.json", 39 | "Gruntfile.js" 40 | ], 41 | "homepage": "https://github.com/Dogfalo/materialize", 42 | "version": "1.0.0", 43 | "_release": "1.0.0", 44 | "_resolution": { 45 | "type": "version", 46 | "tag": "1.0.0", 47 | "commit": "6752a855c521fb20da29d11ef4b94206f0b0ca37" 48 | }, 49 | "_source": "https://github.com/Dogfalo/materialize.git", 50 | "_target": "^1.0.0", 51 | "_originalSource": "materialize", 52 | "_direct": true 53 | } -------------------------------------------------------------------------------- /docs/libs/materialize/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_style = space 7 | indent_size = 2 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /docs/libs/materialize/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parserOptions": { 3 | "ecmaVersion": 2015 4 | }, 5 | 6 | "rules": { 7 | "semi": "error", 8 | "use-isnan": "error", 9 | "no-unsafe-negation": "error", 10 | "no-cond-assign": "error", 11 | 12 | "no-console": "warn", 13 | "no-var": "warn", 14 | "no-extra-semi": "warn", 15 | "no-unused-vars": "warn", 16 | "no-new-object": "warn" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /docs/libs/materialize/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | **/*.html linguist-documentation 3 | js/velocity.min.js linguist-vendored 4 | js/jquery.easing.1.4.js linguist-vendored 5 | js/jquery.timeago.min.js linguist-vendored 6 | 7 | 8 | css/ghpages-materialize.css merge=ours 9 | .gitignore merge=ours 10 | .gitattributes merge=ours -------------------------------------------------------------------------------- /docs/libs/materialize/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Proposed changes 2 | 3 | 4 | ## Screenshots (if appropriate) or codepen: 5 | 6 | 7 | ## Types of changes 8 | 9 | 10 | - [ ] Bug fix (non-breaking change which fixes an issue). 11 | - [ ] New feature (non-breaking change which adds functionality). 12 | - [ ] Breaking change (fix or feature that would cause existing functionality to change). 13 | 14 | ## Checklist: 15 | 16 | 17 | - [ ] I have read the **[CONTRIBUTING document](https://github.com/Dogfalo/materialize/blob/master/CONTRIBUTING.md)**. 18 | - [ ] My change requires a change to the documentation. 19 | - [ ] I have updated the documentation accordingly. 20 | - [ ] I have added tests to cover my changes. 21 | - [ ] All new and existing tests passed. 22 | -------------------------------------------------------------------------------- /docs/libs/materialize/.prettierignore: -------------------------------------------------------------------------------- 1 | js/anime.min.js 2 | js/cash.js 3 | js/waves.js 4 | js/jquery.timeago.min.js 5 | node_modules/ 6 | package.json 7 | package.json.lock 8 | bin/ 9 | dist/ 10 | extras/ 11 | css/ -------------------------------------------------------------------------------- /docs/libs/materialize/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100, 3 | "parser": "flow", 4 | "tabWidth": 2, 5 | "useTabs": false, 6 | "semi": true, 7 | "singleQuote": true, 8 | "trailingComma": "none", 9 | "bracketSpacing": true, 10 | "arrowParens": "always" 11 | } -------------------------------------------------------------------------------- /docs/libs/materialize/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "6.10" 4 | before_install: 5 | - npm install -g npm@latest 6 | - npm install -g grunt-cli 7 | install: npm ci 8 | git: 9 | depth: 10 10 | -------------------------------------------------------------------------------- /docs/libs/materialize/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2018 Materialize 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/libs/materialize/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "materialize", 3 | "description": "A modern responsive front-end framework based on Material Design", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "sass", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "ux", 13 | "material", 14 | "design" 15 | ], 16 | "main": [ 17 | "dist/js/materialize.js", 18 | "dist/css/materialize.css" 19 | ], 20 | "ignore": [ 21 | "jade/", 22 | ".gitignore", 23 | "CNAME", 24 | "css/", 25 | "bower.json", 26 | "README.md", 27 | "images/", 28 | "js/jquery.timeago.js", 29 | "js/init.js", 30 | "js/prism.js", 31 | "res/", 32 | "sass/style.scss", 33 | "sass/ghpages-materialize.scss", 34 | "**/*.html", 35 | "**/*.zip", 36 | "**/*.txt", 37 | "sitemap.xml", 38 | "package.json", 39 | "Gruntfile.js" 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /docs/libs/materialize/js/cards.js: -------------------------------------------------------------------------------- 1 | (function($, anim) { 2 | $(document).on('click', '.card', function(e) { 3 | if ($(this).children('.card-reveal').length) { 4 | var $card = $(e.target).closest('.card'); 5 | if ($card.data('initialOverflow') === undefined) { 6 | $card.data( 7 | 'initialOverflow', 8 | $card.css('overflow') === undefined ? '' : $card.css('overflow') 9 | ); 10 | } 11 | let $cardReveal = $(this).find('.card-reveal'); 12 | if ( 13 | $(e.target).is($('.card-reveal .card-title')) || 14 | $(e.target).is($('.card-reveal .card-title i')) 15 | ) { 16 | // Make Reveal animate down and display none 17 | anim({ 18 | targets: $cardReveal[0], 19 | translateY: 0, 20 | duration: 225, 21 | easing: 'easeInOutQuad', 22 | complete: function(anim) { 23 | let el = anim.animatables[0].target; 24 | $(el).css({ display: 'none' }); 25 | $card.css('overflow', $card.data('initialOverflow')); 26 | } 27 | }); 28 | } else if ($(e.target).is($('.card .activator')) || $(e.target).is($('.card .activator i'))) { 29 | $card.css('overflow', 'hidden'); 30 | $cardReveal.css({ display: 'block' }); 31 | anim({ 32 | targets: $cardReveal[0], 33 | translateY: '-100%', 34 | duration: 300, 35 | easing: 'easeInOutQuad' 36 | }); 37 | } 38 | } 39 | }); 40 | })(cash, M.anime); 41 | -------------------------------------------------------------------------------- /docs/libs/materialize/js/component.js: -------------------------------------------------------------------------------- 1 | class Component { 2 | /** 3 | * Generic constructor for all components 4 | * @constructor 5 | * @param {Element} el 6 | * @param {Object} options 7 | */ 8 | constructor(classDef, el, options) { 9 | // Display error if el is valid HTML Element 10 | if (!(el instanceof Element)) { 11 | console.error(Error(el + ' is not an HTML Element')); 12 | } 13 | 14 | // If exists, destroy and reinitialize in child 15 | let ins = classDef.getInstance(el); 16 | if (!!ins) { 17 | ins.destroy(); 18 | } 19 | 20 | this.el = el; 21 | this.$el = cash(el); 22 | } 23 | 24 | /** 25 | * Initializes components 26 | * @param {class} classDef 27 | * @param {Element | NodeList | jQuery} els 28 | * @param {Object} options 29 | */ 30 | static init(classDef, els, options) { 31 | let instances = null; 32 | if (els instanceof Element) { 33 | instances = new classDef(els, options); 34 | } else if (!!els && (els.jquery || els.cash || els instanceof NodeList)) { 35 | let instancesArr = []; 36 | for (let i = 0; i < els.length; i++) { 37 | instancesArr.push(new classDef(els[i], options)); 38 | } 39 | instances = instancesArr; 40 | } 41 | 42 | return instances; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/.npmignore: -------------------------------------------------------------------------------- 1 | # Ignore documentation related files 2 | 3 | _style.scss 4 | ghpages-materialize.scss 5 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_badges.scss: -------------------------------------------------------------------------------- 1 | // Badges 2 | span.badge { 3 | min-width: 3rem; 4 | padding: 0 6px; 5 | margin-left: 14px; 6 | text-align: center; 7 | font-size: 1rem; 8 | line-height: $badge-height; 9 | height: $badge-height; 10 | color: color('grey', 'darken-1'); 11 | float: right; 12 | box-sizing: border-box; 13 | 14 | &.new { 15 | font-weight: 300; 16 | font-size: 0.8rem; 17 | color: #fff; 18 | background-color: $badge-bg-color; 19 | border-radius: 2px; 20 | } 21 | &.new:after { 22 | content: " new"; 23 | } 24 | 25 | &[data-badge-caption]::after { 26 | content: " " attr(data-badge-caption); 27 | } 28 | } 29 | 30 | // Special cases 31 | nav ul a span.badge { 32 | display: inline-block; 33 | float: none; 34 | margin-left: 4px; 35 | line-height: $badge-height; 36 | height: $badge-height; 37 | -webkit-font-smoothing: auto; 38 | } 39 | 40 | // Line height centering 41 | .collection-item span.badge { 42 | margin-top: calc(#{$collection-line-height / 2} - #{$badge-height / 2}); 43 | } 44 | .collapsible span.badge { 45 | margin-left: auto; 46 | } 47 | .sidenav span.badge { 48 | margin-top: calc(#{$sidenav-line-height / 2} - #{$badge-height / 2}); 49 | } 50 | 51 | table span.badge { 52 | display: inline-block; 53 | float: none; 54 | margin-left: auto; 55 | } 56 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_color-classes.scss: -------------------------------------------------------------------------------- 1 | // Color Classes 2 | 3 | @each $color_name, $color in $colors { 4 | @each $color_type, $color_value in $color { 5 | @if $color_type == "base" { 6 | .#{$color_name} { 7 | background-color: $color_value !important; 8 | } 9 | .#{$color_name}-text { 10 | color: $color_value !important; 11 | } 12 | } 13 | @else if $color_name != "shades" { 14 | .#{$color_name}.#{$color_type} { 15 | background-color: $color_value !important; 16 | } 17 | .#{$color_name}-text.text-#{$color_type} { 18 | color: $color_value !important; 19 | } 20 | } 21 | } 22 | } 23 | 24 | // Shade classes 25 | @each $color, $color_value in $shades { 26 | .#{$color} { 27 | background-color: $color_value !important; 28 | } 29 | .#{$color}-text { 30 | color: $color_value !important; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_icons-material-design.scss: -------------------------------------------------------------------------------- 1 | /* This is needed for some mobile phones to display the Google Icon font properly */ 2 | .material-icons { 3 | text-rendering: optimizeLegibility; 4 | font-feature-settings: 'liga'; 5 | } 6 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_materialbox.scss: -------------------------------------------------------------------------------- 1 | .materialboxed { 2 | &:hover { 3 | &:not(.active) { 4 | opacity: .8; 5 | } 6 | } 7 | 8 | display: block; 9 | cursor: zoom-in; 10 | position: relative; 11 | transition: opacity .4s; 12 | -webkit-backface-visibility: hidden; 13 | 14 | &.active { 15 | cursor: zoom-out; 16 | } 17 | } 18 | 19 | #materialbox-overlay { 20 | position:fixed; 21 | top: 0; 22 | right: 0; 23 | bottom: 0; 24 | left: 0; 25 | background-color: #292929; 26 | z-index: 1000; 27 | will-change: opacity; 28 | } 29 | 30 | .materialbox-caption { 31 | position: fixed; 32 | display: none; 33 | color: #fff; 34 | line-height: 50px; 35 | bottom: 0; 36 | left: 0; 37 | width: 100%; 38 | text-align: center; 39 | padding: 0% 15%; 40 | height: 50px; 41 | z-index: 1000; 42 | -webkit-font-smoothing: antialiased; 43 | } -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_pulse.scss: -------------------------------------------------------------------------------- 1 | .pulse { 2 | &::before { 3 | content: ''; 4 | display: block; 5 | position: absolute; 6 | width: 100%; 7 | height: 100%; 8 | top: 0; 9 | left: 0; 10 | background-color: inherit; 11 | border-radius: inherit; 12 | transition: opacity .3s, transform .3s; 13 | animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; 14 | z-index: -1; 15 | } 16 | 17 | overflow: visible; 18 | position: relative; 19 | } 20 | 21 | @keyframes pulse-animation { 22 | 0% { 23 | opacity: 1; 24 | transform: scale(1); 25 | } 26 | 50% { 27 | opacity: 0; 28 | transform: scale(1.5); 29 | } 30 | 100% { 31 | opacity: 0; 32 | transform: scale(1.5); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_table_of_contents.scss: -------------------------------------------------------------------------------- 1 | /*************** 2 | Nav List 3 | ***************/ 4 | .table-of-contents { 5 | &.fixed { 6 | position: fixed; 7 | } 8 | 9 | li { 10 | padding: 2px 0; 11 | } 12 | a { 13 | display: inline-block; 14 | font-weight: 300; 15 | color: #757575; 16 | padding-left: 16px; 17 | height: 1.5rem; 18 | line-height: 1.5rem; 19 | letter-spacing: .4; 20 | display: inline-block; 21 | 22 | &:hover { 23 | color: lighten(#757575, 20%); 24 | padding-left: 15px; 25 | border-left: 1px solid $primary-color; 26 | } 27 | &.active { 28 | font-weight: 500; 29 | padding-left: 14px; 30 | border-left: 2px solid $primary-color; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_toast.scss: -------------------------------------------------------------------------------- 1 | #toast-container { 2 | display:block; 3 | position: fixed; 4 | z-index: 10000; 5 | 6 | @media #{$small-and-down} { 7 | min-width: 100%; 8 | bottom: 0%; 9 | } 10 | @media #{$medium-only} { 11 | left: 5%; 12 | bottom: 7%; 13 | max-width: 90%; 14 | } 15 | @media #{$large-and-up} { 16 | top: 10%; 17 | right: 7%; 18 | max-width: 86%; 19 | } 20 | } 21 | 22 | .toast { 23 | @extend .z-depth-1; 24 | border-radius: 2px; 25 | top: 35px; 26 | width: auto; 27 | margin-top: 10px; 28 | position: relative; 29 | max-width:100%; 30 | height: auto; 31 | min-height: $toast-height; 32 | line-height: 1.5em; 33 | background-color: $toast-color; 34 | padding: 10px 25px; 35 | font-size: 1.1rem; 36 | font-weight: 300; 37 | color: $toast-text-color; 38 | display: flex; 39 | align-items: center; 40 | justify-content: space-between; 41 | cursor: default; 42 | 43 | .toast-action { 44 | color: $toast-action-color; 45 | font-weight: 500; 46 | margin-right: -25px; 47 | margin-left: 3rem; 48 | } 49 | 50 | &.rounded{ 51 | border-radius: 24px; 52 | } 53 | 54 | @media #{$small-and-down} { 55 | width: 100%; 56 | border-radius: 0; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_tooltip.scss: -------------------------------------------------------------------------------- 1 | .material-tooltip { 2 | padding: 10px 8px; 3 | font-size: 1rem; 4 | z-index: 2000; 5 | background-color: transparent; 6 | border-radius: 2px; 7 | color: #fff; 8 | min-height: 36px; 9 | line-height: 120%; 10 | opacity: 0; 11 | position: absolute; 12 | text-align: center; 13 | max-width: calc(100% - 4px); 14 | overflow: hidden; 15 | left: 0; 16 | top: 0; 17 | pointer-events: none; 18 | visibility: hidden; 19 | background-color: #323232; 20 | } 21 | 22 | .backdrop { 23 | position: absolute; 24 | opacity: 0; 25 | height: 7px; 26 | width: 14px; 27 | border-radius: 0 0 50% 50%; 28 | background-color: #323232; 29 | z-index: -1; 30 | transform-origin: 50% 0%; 31 | visibility: hidden; 32 | } 33 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/_transitions.scss: -------------------------------------------------------------------------------- 1 | // Scale transition 2 | .scale-transition { 3 | &.scale-out { 4 | transform: scale(0); 5 | transition: transform .2s !important; 6 | } 7 | 8 | &.scale-in { 9 | transform: scale(1); 10 | } 11 | 12 | transition: transform .3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important; 13 | } -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/forms/_file-input.scss: -------------------------------------------------------------------------------- 1 | /* File Input 2 | ========================================================================== */ 3 | 4 | .file-field { 5 | position: relative; 6 | 7 | .file-path-wrapper { 8 | overflow: hidden; 9 | padding-left: 10px; 10 | } 11 | 12 | input.file-path { width: 100%; } 13 | 14 | .btn { 15 | float: left; 16 | height: $input-height; 17 | line-height: $input-height; 18 | } 19 | 20 | span { 21 | cursor: pointer; 22 | } 23 | 24 | input[type=file] { 25 | 26 | // Needed to override webkit button 27 | &::-webkit-file-upload-button { 28 | display: none; 29 | } 30 | 31 | position: absolute; 32 | top: 0; 33 | right: 0; 34 | left: 0; 35 | bottom: 0; 36 | width: 100%; 37 | margin: 0; 38 | padding: 0; 39 | font-size: 20px; 40 | cursor: pointer; 41 | opacity: 0; 42 | filter: alpha(opacity=0); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/components/forms/_forms.scss: -------------------------------------------------------------------------------- 1 | // Remove Focus Boxes 2 | select:focus { 3 | outline: $select-focus; 4 | } 5 | 6 | button:focus { 7 | outline: none; 8 | background-color: $button-background-focus; 9 | } 10 | 11 | label { 12 | font-size: $label-font-size; 13 | color: $input-border-color; 14 | } 15 | 16 | @import 'input-fields'; 17 | @import 'radio-buttons'; 18 | @import 'checkboxes'; 19 | @import 'switches'; 20 | @import 'select'; 21 | @import 'file-input'; 22 | @import 'range'; 23 | -------------------------------------------------------------------------------- /docs/libs/materialize/sass/materialize.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | // Color 4 | @import "components/color-variables"; 5 | @import "components/color-classes"; 6 | 7 | // Variables; 8 | @import "components/variables"; 9 | 10 | // Reset 11 | @import "components/normalize"; 12 | 13 | // components 14 | @import "components/global"; 15 | @import "components/badges"; 16 | @import "components/icons-material-design"; 17 | @import "components/grid"; 18 | @import "components/navbar"; 19 | @import "components/typography"; 20 | @import "components/transitions"; 21 | @import "components/cards"; 22 | @import "components/toast"; 23 | @import "components/tabs"; 24 | @import "components/tooltip"; 25 | @import "components/buttons"; 26 | @import "components/dropdown"; 27 | @import "components/waves"; 28 | @import "components/modal"; 29 | @import "components/collapsible"; 30 | @import "components/chips"; 31 | @import "components/materialbox"; 32 | @import "components/forms/forms"; 33 | @import "components/table_of_contents"; 34 | @import "components/sidenav"; 35 | @import "components/preloader"; 36 | @import "components/slider"; 37 | @import "components/carousel"; 38 | @import "components/tapTarget"; 39 | @import "components/pulse"; 40 | @import "components/datepicker"; 41 | @import "components/timepicker"; 42 | -------------------------------------------------------------------------------- /docs/libs/materialize/templates/masonry-template/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Materialize 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /docs/libs/materialize/templates/masonry-template/background1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/materialize/templates/masonry-template/background1.jpg -------------------------------------------------------------------------------- /docs/libs/materialize/templates/masonry-template/background2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/materialize/templates/masonry-template/background2.jpg -------------------------------------------------------------------------------- /docs/libs/materialize/templates/masonry-template/background3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/materialize/templates/masonry-template/background3.jpg -------------------------------------------------------------------------------- /docs/libs/materialize/templates/masonry-template/css/style.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | nav ul a, 10 | nav .brand-logo { 11 | color: #444; 12 | } 13 | 14 | p { 15 | line-height: 2rem; 16 | } 17 | 18 | .sidenav-trigger { 19 | color: #26a69a; 20 | } 21 | 22 | .parallax-container { 23 | min-height: 380px; 24 | line-height: 0; 25 | height: auto; 26 | color: rgba(255,255,255,.9); 27 | } 28 | .parallax-container .section { 29 | width: 100%; 30 | } 31 | 32 | @media only screen and (max-width : 992px) { 33 | .parallax-container .section { 34 | position: absolute; 35 | top: 40%; 36 | } 37 | #index-banner .section { 38 | top: 10%; 39 | } 40 | } 41 | 42 | @media only screen and (max-width : 600px) { 43 | #index-banner .section { 44 | top: 0; 45 | } 46 | } 47 | 48 | 49 | .icon-block { 50 | padding: 0 15px; 51 | } 52 | 53 | footer.page-footer { 54 | margin: 0; 55 | } 56 | -------------------------------------------------------------------------------- /docs/libs/materialize/templates/masonry-template/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | 4 | $('.sidenav').sidenav(); 5 | 6 | 7 | var $container = $('#masonry-grid'); 8 | // initialize 9 | $container.masonry({ 10 | columnWidth: '.col', 11 | itemSelector: '.col', 12 | }); 13 | 14 | 15 | }); // end of document ready 16 | })(jQuery); // end of jQuery name space 17 | -------------------------------------------------------------------------------- /docs/libs/materialize/templates/parallax-template/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Materialize 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /docs/libs/materialize/templates/parallax-template/background1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/materialize/templates/parallax-template/background1.jpg -------------------------------------------------------------------------------- /docs/libs/materialize/templates/parallax-template/background2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/materialize/templates/parallax-template/background2.jpg -------------------------------------------------------------------------------- /docs/libs/materialize/templates/parallax-template/background3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/materialize/templates/parallax-template/background3.jpg -------------------------------------------------------------------------------- /docs/libs/materialize/templates/parallax-template/css/style.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | nav ul a, 10 | nav .brand-logo { 11 | color: #444; 12 | } 13 | 14 | p { 15 | line-height: 2rem; 16 | } 17 | 18 | .sidenav-trigger { 19 | color: #26a69a; 20 | } 21 | 22 | .parallax-container { 23 | min-height: 380px; 24 | line-height: 0; 25 | height: auto; 26 | color: rgba(255,255,255,.9); 27 | } 28 | .parallax-container .section { 29 | width: 100%; 30 | } 31 | 32 | @media only screen and (max-width : 992px) { 33 | .parallax-container .section { 34 | position: absolute; 35 | top: 40%; 36 | } 37 | #index-banner .section { 38 | top: 10%; 39 | } 40 | } 41 | 42 | @media only screen and (max-width : 600px) { 43 | #index-banner .section { 44 | top: 0; 45 | } 46 | } 47 | 48 | .icon-block { 49 | padding: 0 15px; 50 | } 51 | .icon-block .material-icons { 52 | font-size: inherit; 53 | } 54 | 55 | footer.page-footer { 56 | margin: 0; 57 | } 58 | -------------------------------------------------------------------------------- /docs/libs/materialize/templates/parallax-template/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | 4 | $('.sidenav').sidenav(); 5 | $('.parallax').parallax(); 6 | 7 | }); // end of document ready 8 | })(jQuery); // end of jQuery name space 9 | -------------------------------------------------------------------------------- /docs/libs/materialize/templates/starter-template/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Materialize 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /docs/libs/materialize/templates/starter-template/css/style.css: -------------------------------------------------------------------------------- 1 | /* Custom Stylesheet */ 2 | /** 3 | * Use this file to override Materialize files so you can update 4 | * the core Materialize files in the future 5 | * 6 | * Made By MaterializeCSS.com 7 | */ 8 | 9 | .icon-block { 10 | padding: 0 15px; 11 | } 12 | .icon-block .material-icons { 13 | font-size: inherit; 14 | } -------------------------------------------------------------------------------- /docs/libs/materialize/templates/starter-template/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | 4 | $('.sidenav').sidenav(); 5 | 6 | }); // end of document ready 7 | })(jQuery); // end of jQuery name space 8 | -------------------------------------------------------------------------------- /docs/libs/materialize/tests/spec/carousel/carouselSpec.js: -------------------------------------------------------------------------------- 1 | describe("Carousel", function () { 2 | 3 | beforeEach(function() { 4 | loadFixtures('carousel/carouselFixture.html'); 5 | }); 6 | 7 | describe("carousel plugin", function () { 8 | 9 | // beforeEach(function() { 10 | // }); 11 | 12 | it("No wrap next and prev should not overflow", function (done) { 13 | $noWrap = $('#slider-no-wrap').carousel({ noWrap: true }); 14 | $noWrap.carousel('prev'); 15 | 16 | expect($noWrap[0].M_Carousel.center).toEqual(0, 'Prev should do nothing'); 17 | 18 | $noWrap.carousel('set', 3); 19 | setTimeout(function() { 20 | $noWrap.carousel('next'); 21 | 22 | setTimeout(function() { 23 | expect($noWrap[0].M_Carousel.center).toEqual(3, 'Next should do nothing'); 24 | 25 | done(); 26 | }, 400); 27 | }, 400); 28 | }); 29 | 30 | }); 31 | 32 | }); 33 | -------------------------------------------------------------------------------- /docs/libs/materialize/tests/spec/helper.js: -------------------------------------------------------------------------------- 1 | jasmine.getFixtures().fixturesPath = 'tests/spec'; 2 | 3 | beforeEach(function() { 4 | 5 | /** 6 | * Creates standard click event on DOM element 7 | */ 8 | window.click = function(elem) { 9 | var evt = document.createEvent('MouseEvent'); 10 | evt.initMouseEvent('click', { 11 | bubbles: true, 12 | cancelable: true, 13 | view: window 14 | }); 15 | 16 | elem.dispatchEvent(evt); 17 | }; 18 | 19 | window.mouseenter = function(el) { 20 | var ev = document.createEvent("MouseEvent"); 21 | ev.initMouseEvent( 22 | "mouseenter", 23 | true /* bubble */, true /* cancelable */, 24 | window, null, 25 | 0, 0, 0, 0, /* coordinates */ 26 | false, false, false, false, /* modifier keys */ 27 | 0 /*left*/, null 28 | ); 29 | el.dispatchEvent(ev); 30 | }; 31 | 32 | window.keydown = function(el, keycode) { 33 | var ev = document.createEvent("Events"); 34 | ev.initEvent("keydown", true, true); 35 | 36 | ev.keyCode = keycode; 37 | ev.which = keycode; 38 | 39 | el.dispatchEvent(ev); 40 | } 41 | 42 | window.keyup = function(el, keycode) { 43 | var ev = document.createEvent("Events"); 44 | ev.initEvent("keyup", true, true); 45 | 46 | ev.keyCode = keycode; 47 | ev.which = keycode; 48 | 49 | el.dispatchEvent(ev); 50 | } 51 | 52 | window.focus = function(el) { 53 | var ev = document.createEvent("Events"); 54 | ev.initEvent("focus", true, true); 55 | el.dispatchEvent(ev); 56 | } 57 | }); 58 | -------------------------------------------------------------------------------- /docs/libs/materialize/tests/spec/materialbox/materialboxSpec.js: -------------------------------------------------------------------------------- 1 | describe( 'Materialbox:', function() { 2 | var transformMaterialbox; 3 | 4 | beforeEach(function() { 5 | loadFixtures('materialbox/materialboxFixture.html'); 6 | }); 7 | 8 | describe('Materialbox opens correctly with transformed ancestor', function() { 9 | it('Opens a correctly placed overlay when clicked', function(done) { 10 | transformMaterialbox = $('#transformTest'); 11 | $('.materialboxed').materialbox(); 12 | 13 | // Mouse click 14 | transformMaterialbox.find('.materialboxed').trigger('click'); 15 | setTimeout(function() { 16 | // Check overlay is attached 17 | var overlay = transformMaterialbox.find('#materialbox-overlay'); 18 | var overlayRect = overlay[0].getBoundingClientRect(); 19 | var windowWidth = window.innerWidth; 20 | var windowHeight = window.innerHeight; 21 | expect(overlay).toExist('because it is generated on init'); 22 | expect(overlay).toBeVisible('because materialbox was clicked'); 23 | expect(overlayRect.top).toEqual(0); 24 | expect(overlayRect.left).toEqual(0); 25 | expect(overlayRect.width).toEqual(windowWidth); 26 | expect(overlayRect.height).toEqual(windowHeight); 27 | 28 | done(); 29 | }, 1000); 30 | }); 31 | }); 32 | 33 | }); 34 | -------------------------------------------------------------------------------- /docs/libs/morecontent-js/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morecontent-js", 3 | "description": "jQuery-плагин, скрывающий часть контента, выходящего за рамки указанной высоты (адаптивный спойлер)", 4 | "main": "index.js", 5 | "authors": [ 6 | "WahaWaher" 7 | ], 8 | "license": "MIT", 9 | "homepage": "https://github.com/WahaWaher/morecontent-js", 10 | "ignore": [ 11 | "**/.*", 12 | "node_modules", 13 | "bower_components", 14 | "demo/libs/", 15 | "test", 16 | "tests" 17 | ], 18 | "dependencies": { 19 | "jquery": "^3.3.1", 20 | "jquery.easing": "^1.3.1", 21 | "animate.css": "^3.7.0" 22 | }, 23 | "version": "1.0.0", 24 | "_release": "1.0.0", 25 | "_resolution": { 26 | "type": "version", 27 | "tag": "v1.0.0", 28 | "commit": "9a1f45faae817a54d0b50b9eb021d6ba165182b0" 29 | }, 30 | "_source": "https://github.com/WahaWaher/morecontent-js.git", 31 | "_target": "^1.0.0", 32 | "_originalSource": "morecontent-js", 33 | "_direct": true 34 | } -------------------------------------------------------------------------------- /docs/libs/morecontent-js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morecontent-js", 3 | "description": "jQuery-плагин, скрывающий часть контента, выходящего за рамки указанной высоты (адаптивный спойлер)", 4 | "main": "index.js", 5 | "authors": [ 6 | "WahaWaher" 7 | ], 8 | "license": "MIT", 9 | "homepage": "", 10 | "ignore": [ 11 | "**/.*", 12 | "node_modules", 13 | "bower_components", 14 | "demo/libs/", 15 | "test", 16 | "tests" 17 | ], 18 | "dependencies": { 19 | "jquery": "^3.3.1", 20 | "jquery.easing": "^1.3.1", 21 | "animate.css": "^3.7.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /docs/libs/morecontent-js/demo/css/demo.css: -------------------------------------------------------------------------------- 1 | .example { 2 | -webkit-transition: color .85s; 3 | -o-transition: color .85s; 4 | transition: color .85s; 5 | } 6 | 7 | .mrc-btn-wrap { 8 | display: inline-block; 9 | margin: 15px 0; 10 | } 11 | 12 | .mrc-shadow { 13 | pointer-events: none; 14 | position: absolute; 15 | height: 100px; 16 | left: 0; 17 | right: 0; 18 | bottom: 0; 19 | z-index: 999; 20 | background: -webkit-gradient(linear, left bottom, left top, color-stop(14%, #fff), to(rgba(0, 0, 0, 0))); 21 | background: -webkit-linear-gradient(bottom, #fff 14%, rgba(0, 0, 0, 0) 100%); 22 | background: -o-linear-gradient(bottom, #fff 14%, rgba(0, 0, 0, 0) 100%); 23 | background: linear-gradient(to top, #fff 14%, rgba(0, 0, 0, 0) 100%); 24 | } 25 | -------------------------------------------------------------------------------- /docs/libs/morecontent-js/demo/css/jquery.morecontent.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/morecontent-js/demo/css/jquery.morecontent.css -------------------------------------------------------------------------------- /docs/libs/morecontent-js/demo/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/morecontent-js/demo/favicon.ico -------------------------------------------------------------------------------- /docs/libs/morecontent-js/demo/scss/demo.scss: -------------------------------------------------------------------------------- 1 | // Self 2 | .example { 3 | // CSS Height 4 | // max-height: 250px; 5 | // overflow: hidden; 6 | 7 | // padding: 15px; 8 | // margin: 15px auto; 9 | transition: color .85s; 10 | } 11 | 12 | // Content 13 | .mrc-content { 14 | // padding: 0 15px; 15 | // background-color: #f4f4f4; 16 | } 17 | 18 | // Button 19 | .mrc-btn-wrap { 20 | display: inline-block; 21 | margin: 15px 0; 22 | } 23 | 24 | // Shadow 25 | .mrc-shadow { 26 | pointer-events: none; 27 | position: absolute; 28 | height: 100px; 29 | left: 0; right: 0; bottom: 0; 30 | z-index: 999; 31 | background: linear-gradient(to top, #fff 14%, rgba(0,0,0, 0) 100%); 32 | } -------------------------------------------------------------------------------- /docs/libs/morecontent-js/demo/scss/jquery.morecontent.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/morecontent-js/demo/scss/jquery.morecontent.scss -------------------------------------------------------------------------------- /docs/libs/morecontent-js/names.json: -------------------------------------------------------------------------------- 1 | { 2 | "names": [ 3 | "morecontent", 4 | "morecontent-js", 5 | "MoreContent", 6 | "moreContent", 7 | "mrcnt" 8 | ] 9 | } -------------------------------------------------------------------------------- /docs/libs/morecontent-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "morecontent-js", 3 | "version": "1.0.0", 4 | "description": "jQuery-плагин, скрывающий часть контента, выходящего за рамки указанной высоты (адаптивный спойлер)", 5 | "author": "WahaWaher", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/WahaWaher/morecontent-js.git" 9 | }, 10 | "keywords": [ 11 | "readmore", 12 | "jquery", 13 | "more" 14 | ], 15 | "license": "MIT", 16 | "devDependencies": { 17 | "browser-sync": "^2.18.13", 18 | "del": "^3.0.0", 19 | "gulp": "^3.9.1", 20 | "gulp-autoprefixer": "^6.0.0", 21 | "gulp-cssnano": "^2.1.2", 22 | "gulp-header-comment": "^0.4.0", 23 | "gulp-notify": "^3.2.0", 24 | "gulp-rename": "^1.2.2", 25 | "gulp-sass": "^4.0.2", 26 | "gulp-uglify": "^3.0.0", 27 | "rename": "^1.0.4", 28 | "run-sequence": "^2.2.1" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "svg4everybody", 3 | "description": "Use external SVG spritemaps in any browser", 4 | "authors": [ 5 | "Jonathan Neal (http://jonathantneal.com)" 6 | ], 7 | "homepage": "https://github.com/jonathantneal/svg4everybody", 8 | "license": "CC0 1.0", 9 | "keywords": [ 10 | "svgs", 11 | "sprites", 12 | "spritemaps", 13 | "symbols", 14 | "defs", 15 | "uses", 16 | "oldies", 17 | "ie8s", 18 | "ie9s", 19 | "safaris", 20 | "externals", 21 | "icons", 22 | "fallbacks" 23 | ], 24 | "repository": { 25 | "type": "git", 26 | "url": "git@github.com:jonathantneal/svg4everybody.git" 27 | }, 28 | "main": [ 29 | "dist/svg4everybody.js" 30 | ], 31 | "version": "2.1.9", 32 | "_release": "2.1.9", 33 | "_resolution": { 34 | "type": "version", 35 | "tag": "v2.1.9", 36 | "commit": "b0bd6af45ce8c655178ac9d0fa846dcde5709dbc" 37 | }, 38 | "_source": "https://github.com/jonathantneal/svg4everybody.git", 39 | "_target": "^2.1.9", 40 | "_originalSource": "svg4everybody" 41 | } -------------------------------------------------------------------------------- /docs/libs/svg4everybody/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_style = tab 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true 9 | 10 | [*.md] 11 | trim_trailing_whitespace = false 12 | 13 | [*.{json,yml}] 14 | indent_size = 2 15 | indent_style = space 16 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "0.12" 5 | before_script: 6 | - npm install grunt-cli -g 7 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | # Contributors 2 | 3 | You might not have enjoyed SVG for Everybody, had it not been for the effort by these individuals. 4 | 5 | - [Adam Ryan Merrifield](https://github.com/AdamMerrifield) 6 | - The option to cleanup built files from a feature branch 7 | - [Camilo Nova](https://github.com/camilonova) 8 | - Added bower package 9 | - [Jake Rayson](https://github.com/growdigital) 10 | - Added npm package 11 | - [Jonathan Neal](https://github.com/jonathantneal) 12 | - Author and maintainer 13 | - [Luis Merino](https://github.com/Rendez) 14 | - Overseer of the 2.0 refactor 15 | - [Travis Stone](https://github.com/travstone) 16 | - The option to validate whether an `` will be shimmed 17 | 18 |
19 | 20 | > “Things that are impossible just take longer.” 21 | > — Ian Hickson 22 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/LICENSE.md: -------------------------------------------------------------------------------- 1 | # CC0 1.0 Universal License 2 | 3 | Public Domain Dedication 4 | 5 | The person(s) who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. 6 | 7 | You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. 8 | 9 | In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights. 10 | 11 | Unless expressly stated otherwise, the person(s) who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law. 12 | 13 | When using or citing the work, you should not imply endorsement by the author or the affirmer. 14 | 15 | This is a [human-readable summary of the Legal Code](https://creativecommons.org/publicdomain/zero/1.0/) ([read the full text](https://creativecommons.org/publicdomain/zero/1.0/legalcode)). 16 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "svg4everybody", 3 | "description": "Use external SVG spritemaps in any browser", 4 | "authors": ["Jonathan Neal (http://jonathantneal.com)"], 5 | "homepage": "https://github.com/jonathantneal/svg4everybody", 6 | "license": "CC0 1.0", 7 | "keywords": ["svgs", "sprites", "spritemaps", "symbols", "defs", "uses", "oldies", "ie8s", "ie9s", "safaris", "externals", "icons", "fallbacks"], 8 | "repository": { 9 | "type": "git", 10 | "url": "git@github.com:jonathantneal/svg4everybody.git" 11 | }, 12 | "main": [ 13 | "dist/svg4everybody.js" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /docs/libs/svg4everybody/test/1138.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/svg4everybody/test/1138.png -------------------------------------------------------------------------------- /docs/libs/svg4everybody/test/demo.svg.1138.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/svg4everybody/test/demo.svg.1138.png -------------------------------------------------------------------------------- /docs/libs/svg4everybody/test/demo.svg.camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/svg4everybody/test/demo.svg.camera.png -------------------------------------------------------------------------------- /docs/libs/svg4everybody/test/demo.svg.eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/svg4everybody/test/demo.svg.eye.png -------------------------------------------------------------------------------- /docs/libs/svg4everybody/test/demo.svg.pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/svg4everybody/test/demo.svg.pencil.png -------------------------------------------------------------------------------- /docs/libs/svg4everybody/test/eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WahaWaher/sendmail-js/c6d2f6d8c15c522e60abdede76602754f1151a77/docs/libs/svg4everybody/test/eye.png -------------------------------------------------------------------------------- /docs/mail/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ошибка при отправке формы! 6 | 7 | 8 |

Ошибка при отправке формы!

9 | 10 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/VERSION: -------------------------------------------------------------------------------- 1 | 6.0.5 -------------------------------------------------------------------------------- /docs/mail/phpmailer/language/phpmailer.lang-ch.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:身份验证失败。'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP 错误: 不能连接SMTP主机。'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误: 数据不可接受。'; 11 | //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; 12 | $PHPMAILER_LANG['encoding'] = '未知编码:'; 13 | $PHPMAILER_LANG['execute'] = '不能执行: '; 14 | $PHPMAILER_LANG['file_access'] = '不能访问文件:'; 15 | $PHPMAILER_LANG['file_open'] = '文件错误:不能打开文件:'; 16 | $PHPMAILER_LANG['from_failed'] = '下面的发送地址邮件发送失败了: '; 17 | $PHPMAILER_LANG['instantiate'] = '不能实现mail方法。'; 18 | //$PHPMAILER_LANG['invalid_address'] = 'Invalid address: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 您所选择的发送邮件的方法并不支持。'; 20 | $PHPMAILER_LANG['provide_address'] = '您必须提供至少一个 收信人的email地址。'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误: 下面的 收件人失败了: '; 22 | //$PHPMAILER_LANG['signing'] = 'Signing Error: '; 23 | //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 24 | //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; 25 | //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/language/phpmailer.lang-cs.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'שגיאת SMTP: פעולת האימות נכשלה.'; 9 | $PHPMAILER_LANG['connect_host'] = 'שגיאת SMTP: לא הצלחתי להתחבר לשרת SMTP.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'שגיאת SMTP: מידע לא התקבל.'; 11 | $PHPMAILER_LANG['empty_message'] = 'גוף ההודעה ריק'; 12 | $PHPMAILER_LANG['invalid_address'] = 'כתובת שגויה: '; 13 | $PHPMAILER_LANG['encoding'] = 'קידוד לא מוכר: '; 14 | $PHPMAILER_LANG['execute'] = 'לא הצלחתי להפעיל את: '; 15 | $PHPMAILER_LANG['file_access'] = 'לא ניתן לגשת לקובץ: '; 16 | $PHPMAILER_LANG['file_open'] = 'שגיאת קובץ: לא ניתן לגשת לקובץ: '; 17 | $PHPMAILER_LANG['from_failed'] = 'כתובות הנמענים הבאות נכשלו: '; 18 | $PHPMAILER_LANG['instantiate'] = 'לא הצלחתי להפעיל את פונקציית המייל.'; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' אינה נתמכת.'; 20 | $PHPMAILER_LANG['provide_address'] = 'חובה לספק לפחות כתובת אחת של מקבל המייל.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'שגיאת SMTP: הנמענים הבאים נכשלו: '; 22 | $PHPMAILER_LANG['signing'] = 'שגיאת חתימה: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 24 | $PHPMAILER_LANG['smtp_error'] = 'שגיאת שרת SMTP: '; 25 | $PHPMAILER_LANG['variable_set'] = 'לא ניתן לקבוע או לשנות את המשתנה: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/language/phpmailer.lang-ja.php: -------------------------------------------------------------------------------- 1 | 6 | * @author Yoshi Sakai 7 | */ 8 | 9 | $PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。'; 10 | $PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。'; 11 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。'; 12 | //$PHPMAILER_LANG['empty_message'] = 'Message body empty'; 13 | $PHPMAILER_LANG['encoding'] = '不明なエンコーディング: '; 14 | $PHPMAILER_LANG['execute'] = '実行できませんでした: '; 15 | $PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: '; 16 | $PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: '; 17 | $PHPMAILER_LANG['from_failed'] = 'Fromアドレスを登録する際にエラーが発生しました: '; 18 | $PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。'; 19 | //$PHPMAILER_LANG['invalid_address'] = 'Invalid address: '; 20 | $PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。'; 21 | $PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。'; 22 | $PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: '; 23 | //$PHPMAILER_LANG['signing'] = 'Signing Error: '; 24 | //$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.'; 25 | //$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: '; 26 | //$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: '; 27 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 28 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/language/phpmailer.lang-ko.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP 오류: 인증할 수 없습니다.'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP 오류: SMTP 호스트에 접속할 수 없습니다.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 오류: 데이터가 받아들여지지 않았습니다.'; 11 | $PHPMAILER_LANG['empty_message'] = '메세지 내용이 없습니다'; 12 | $PHPMAILER_LANG['encoding'] = '알 수 없는 인코딩: '; 13 | $PHPMAILER_LANG['execute'] = '실행 불가: '; 14 | $PHPMAILER_LANG['file_access'] = '파일 접근 불가: '; 15 | $PHPMAILER_LANG['file_open'] = '파일 오류: 파일을 열 수 없습니다: '; 16 | $PHPMAILER_LANG['from_failed'] = '다음 From 주소에서 오류가 발생했습니다: '; 17 | $PHPMAILER_LANG['instantiate'] = 'mail 함수를 인스턴스화할 수 없습니다'; 18 | $PHPMAILER_LANG['invalid_address'] = '잘못된 주소: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' 메일러는 지원되지 않습니다.'; 20 | $PHPMAILER_LANG['provide_address'] = '적어도 한 개 이상의 수신자 메일 주소를 제공해야 합니다.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 오류: 다음 수신자에서 오류가 발생했습니다: '; 22 | $PHPMAILER_LANG['signing'] = '서명 오류: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 연결을 실패하였습니다.'; 24 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 서버 오류: '; 25 | $PHPMAILER_LANG['variable_set'] = '변수 설정 및 초기화 불가: '; 26 | $PHPMAILER_LANG['extension_missing'] = '확장자 없음: '; 27 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/language/phpmailer.lang-lv.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | 8 | $PHPMAILER_LANG['authenticate'] = 'SMTP kļūda: Autorizācija neizdevās.'; 9 | $PHPMAILER_LANG['connect_host'] = 'SMTP Kļūda: Nevar izveidot savienojumu ar SMTP serveri.'; 10 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP Kļūda: Nepieņem informāciju.'; 11 | $PHPMAILER_LANG['empty_message'] = 'Ziņojuma teksts ir tukšs'; 12 | $PHPMAILER_LANG['encoding'] = 'Neatpazīts kodējums: '; 13 | $PHPMAILER_LANG['execute'] = 'Neizdevās izpildīt komandu: '; 14 | $PHPMAILER_LANG['file_access'] = 'Fails nav pieejams: '; 15 | $PHPMAILER_LANG['file_open'] = 'Faila kļūda: Nevar atvērt failu: '; 16 | $PHPMAILER_LANG['from_failed'] = 'Nepareiza sūtītāja adrese: '; 17 | $PHPMAILER_LANG['instantiate'] = 'Nevar palaist sūtīšanas funkciju.'; 18 | $PHPMAILER_LANG['invalid_address'] = 'Nepareiza adrese: '; 19 | $PHPMAILER_LANG['mailer_not_supported'] = ' sūtītājs netiek atbalstīts.'; 20 | $PHPMAILER_LANG['provide_address'] = 'Lūdzu, norādiet vismaz vienu adresātu.'; 21 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP kļūda: neizdevās nosūtīt šādiem saņēmējiem: '; 22 | $PHPMAILER_LANG['signing'] = 'Autorizācijas kļūda: '; 23 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP savienojuma kļūda'; 24 | $PHPMAILER_LANG['smtp_error'] = 'SMTP servera kļūda: '; 25 | $PHPMAILER_LANG['variable_set'] = 'Nevar piešķirt mainīgā vērtību: '; 26 | //$PHPMAILER_LANG['extension_missing'] = 'Extension missing: '; 27 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/language/phpmailer.lang-nb.php: -------------------------------------------------------------------------------- 1 | 6 | * @author Peter Dave Hello <@PeterDaveHello/> 7 | * @author Jason Chiang 8 | */ 9 | 10 | $PHPMAILER_LANG['authenticate'] = 'SMTP 錯誤:登入失敗。'; 11 | $PHPMAILER_LANG['connect_host'] = 'SMTP 錯誤:無法連線到 SMTP 主機。'; 12 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 錯誤:無法接受的資料。'; 13 | $PHPMAILER_LANG['empty_message'] = '郵件內容為空'; 14 | $PHPMAILER_LANG['encoding'] = '未知編碼: '; 15 | $PHPMAILER_LANG['execute'] = '無法執行:'; 16 | $PHPMAILER_LANG['file_access'] = '無法存取檔案:'; 17 | $PHPMAILER_LANG['file_open'] = '檔案錯誤:無法開啟檔案:'; 18 | $PHPMAILER_LANG['from_failed'] = '發送地址錯誤:'; 19 | $PHPMAILER_LANG['instantiate'] = '未知函數呼叫。'; 20 | $PHPMAILER_LANG['invalid_address'] = '因為電子郵件地址無效,無法傳送: '; 21 | $PHPMAILER_LANG['mailer_not_supported'] = '不支援的發信客戶端。'; 22 | $PHPMAILER_LANG['provide_address'] = '必須提供至少一個收件人地址。'; 23 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:以下收件人地址錯誤:'; 24 | $PHPMAILER_LANG['signing'] = '電子簽章錯誤: '; 25 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP 連線失敗'; 26 | $PHPMAILER_LANG['smtp_error'] = 'SMTP 伺服器錯誤: '; 27 | $PHPMAILER_LANG['variable_set'] = '無法設定或重設變數: '; 28 | $PHPMAILER_LANG['extension_missing'] = '遺失模組 Extension: '; 29 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/language/phpmailer.lang-zh_cn.php: -------------------------------------------------------------------------------- 1 | 6 | * @author young 7 | * @author Teddysun 8 | */ 9 | 10 | $PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。'; 11 | $PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。'; 12 | $PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。'; 13 | $PHPMAILER_LANG['empty_message'] = '邮件正文为空。'; 14 | $PHPMAILER_LANG['encoding'] = '未知编码:'; 15 | $PHPMAILER_LANG['execute'] = '无法执行:'; 16 | $PHPMAILER_LANG['file_access'] = '无法访问文件:'; 17 | $PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:'; 18 | $PHPMAILER_LANG['from_failed'] = '发送地址错误:'; 19 | $PHPMAILER_LANG['instantiate'] = '未知函数调用。'; 20 | $PHPMAILER_LANG['invalid_address'] = '发送失败,电子邮箱地址是无效的:'; 21 | $PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。'; 22 | $PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地址。'; 23 | $PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:'; 24 | $PHPMAILER_LANG['signing'] = '登录失败:'; 25 | $PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP服务器连接失败。'; 26 | $PHPMAILER_LANG['smtp_error'] = 'SMTP服务器出错:'; 27 | $PHPMAILER_LANG['variable_set'] = '无法设置或重置变量:'; 28 | $PHPMAILER_LANG['extension_missing'] = '丢失模块 Extension:'; 29 | -------------------------------------------------------------------------------- /docs/mail/phpmailer/src/Exception.php: -------------------------------------------------------------------------------- 1 | 9 | * @author Jim Jagielski (jimjag) 10 | * @author Andy Prevost (codeworxtech) 11 | * @author Brent R. Matzelle (original founder) 12 | * @copyright 2012 - 2017 Marcus Bointon 13 | * @copyright 2010 - 2012 Jim Jagielski 14 | * @copyright 2004 - 2009 Andy Prevost 15 | * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License 16 | * @note This program is distributed in the hope that it will be useful - WITHOUT 17 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 18 | * FITNESS FOR A PARTICULAR PURPOSE. 19 | */ 20 | 21 | namespace PHPMailer\PHPMailer; 22 | 23 | /** 24 | * PHPMailer exception handler. 25 | * 26 | * @author Marcus Bointon 27 | */ 28 | class Exception extends \Exception 29 | { 30 | /** 31 | * Prettify error message output. 32 | * 33 | * @return string 34 | */ 35 | public function errorMessage() 36 | { 37 | return '' . htmlspecialchars($this->getMessage()) . "
\n"; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /docs/mail/success.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Форма успешно отправлена! 6 | 7 | 8 |

Форма успешно отправлена!

9 | 10 | -------------------------------------------------------------------------------- /docs/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // @import "bourbon"; 2 | @import "_vars"; 3 | 4 | // Миксины 5 | 6 | // Font-Face генератор 7 | @mixin font-face($name, $path, $weight, $style) { 8 | @font-face { 9 | font-family: "#{$name}"; 10 | font-weight: #{$weight}; 11 | font-style: #{$style}; 12 | src: url("#{$path}.eot?#iefix")format("embedded-opentype"), 13 | url("#{$path}.woff2") format("woff2"), 14 | url("#{$path}.woff") format("woff"), 15 | url("#{$path}.ttf") format("truetype"), 16 | url("#{$path}.svg#PTSans") format("svg"); 17 | } 18 | } 19 | 20 | // Clearfix 21 | @mixin clearfix { 22 | display: inline-block; 23 | &:after { 24 | content: "."; 25 | display: block; 26 | height: 0; 27 | clear: both; 28 | visibility: hidden; 29 | } 30 | * html & { height: 1px } 31 | } -------------------------------------------------------------------------------- /docs/scss/_vars.scss: -------------------------------------------------------------------------------- 1 | // @import "bourbon"; 2 | 3 | // Шрифты 4 | $dFont: 'Play', sans-serif; 5 | $aFont: false; 6 | 7 | // Цвета, https://flatuicolors.com/ 8 | $bColor : #505050; 9 | $gColor : #696969; 10 | $gbColor: #efefef; 11 | 12 | $aColor : #e17055; 13 | $aColor2: #34495e; 14 | 15 | 16 | // Анимация 17 | $trs: .15s; -------------------------------------------------------------------------------- /docs/scss/fallbacks.scss: -------------------------------------------------------------------------------- 1 | // @import "bourbon"; -------------------------------------------------------------------------------- /docs/scss/fonts.scss: -------------------------------------------------------------------------------- 1 | // @import "bourbon"; 2 | @import "_mixins"; 3 | 4 | // https://developer.mozilla.org/ru/docs/Web/CSS/font-weight 5 | 6 | // 400, Regular 7 | @include font-face("Play", "../../fonts/PlayRegular/PlayRegular", $weight: 400, $style: normal); 8 | 9 | // 700, Bold 10 | @include font-face("Play", "../../fonts/PlayBold/PlayBold", $weight: 700, $style: normal); 11 | -------------------------------------------------------------------------------- /docs/scss/media.scss: -------------------------------------------------------------------------------- 1 | // @import "bourbon"; 2 | @import "_mixins"; 3 | @import "_vars"; 4 | 5 | // /*========== DESKTOP FIRST METHOD ==========*/ 6 | // /*========== Large Devices, Wide Screens ==========*/ 7 | @media only screen and (max-width : 1199px) {} 8 | // /*========== Medium Devices, Desktops ==========*/ 9 | @media only screen and (max-width : 991px) { 10 | 11 | .undr-right { 12 | text-align: left; 13 | margin-top: 15px; 14 | } 15 | 16 | .nav-doc { 17 | &.fixed { 18 | position: static; 19 | } 20 | } 21 | 22 | } 23 | // /*========== Small Devices, Tablets ==========*/ 24 | @media only screen and (max-width : 767px) {} 25 | // /*========== Extra Small Devices, Phones ==========*/ 26 | @media only screen and (max-width : 479px) {} 27 | // /*========== Custom, iPhone Retina ==========*/ 28 | @media only screen and (max-width : 320px) {} 29 | 30 | // /*========== MOBILE FIRST METHOD ==========*/ 31 | // /*========== Custom, iPhone Retina ==========*/ 32 | @media only screen and (min-width : 320px) {} 33 | // /*========== Extra Small Devices, Phones ==========*/ 34 | @media only screen and (min-width : 480px) {} 35 | // /*========== Small Devices, Tablets ==========*/ 36 | @media only screen and (min-width : 768px) {} 37 | // /*========== Medium Devices, Desktops ==========*/ 38 | @media only screen and (min-width : 992px) {} 39 | // /*========== Large Devices, Wide Screens ==========*/ 40 | @media only screen and (min-width : 1200px) { 41 | // .container { width: 1200px; } // Нестандартный контейнер 42 | } 43 | 44 | // /*========== HEADER MEDIA QUERIES ==========*/ 45 | // /*========== CUSTOM MEDIA QUERIES ==========*/ -------------------------------------------------------------------------------- /docs/svg/more-content.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Svg Vector Icons : http://www.onlinewebfonts.com/icon 6 | 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sendmails-js", 3 | "version": "2.0.5", 4 | "description": "Универсальный плагин отправки HTML-форм средствами PHP, jQuery, AJAX", 5 | "author": "WahaWaher", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/WahaWaher/sendmail-js.git" 9 | }, 10 | "scripts": { 11 | "start": "gulp default", 12 | "build": "gulp build" 13 | }, 14 | "keywords": [ 15 | "php", 16 | "jquery", 17 | "ajax", 18 | "mail", 19 | "sendmail" 20 | ], 21 | "license": "MIT", 22 | "devDependencies": { 23 | "browser-sync": "^2.18.13", 24 | "del": "^3.0.0", 25 | "gulp": "^3.9.1", 26 | "gulp-autoprefixer": "^4.0.0", 27 | "gulp-cli": "^2.3.0", 28 | "gulp-cssnano": "^2.1.2", 29 | "gulp-header-comment": "^0.4.0", 30 | "gulp-rename": "^1.2.2", 31 | "gulp-sass": "^3.1.0", 32 | "gulp-uglify": "^3.0.0", 33 | "rename": "^1.0.4" 34 | }, 35 | "dependencies": {} 36 | } 37 | --------------------------------------------------------------------------------