├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── cover.png ├── dist ├── presenta.js └── presenta.min.js ├── examples.md ├── logo.png ├── package.json ├── rollup.config.js └── src ├── blocks ├── embed │ ├── index.js │ └── style.css ├── image │ ├── index.js │ └── style.css ├── svg │ ├── index.js │ └── style.css ├── text │ ├── index.js │ └── style.css ├── types.js └── video │ ├── index.js │ └── style.css ├── controllers ├── arrows │ ├── icons │ │ ├── arrow-down-circle.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-right-circle.svg │ │ └── arrow-up-circle.svg │ ├── index.js │ └── style.css ├── baseurl │ └── index.js ├── black │ ├── index.js │ └── style.css ├── cache │ └── index.js ├── current │ └── index.js ├── focus │ └── index.js ├── fullscreen │ └── index.js ├── hidden │ └── index.js ├── hidecursor │ └── index.js ├── keyboard │ └── index.js ├── limitswitch │ ├── index.js │ └── style.css ├── loop │ └── index.js ├── preload │ └── index.js ├── progressbar │ ├── index.js │ └── style.css ├── rsync │ └── index.js ├── shuffle │ └── index.js ├── sync │ ├── index.js │ └── style.css ├── transitions │ ├── globals │ │ ├── fadeIn.scss │ │ ├── hSlide.scss │ │ ├── slideOver.scss │ │ └── vSlide.scss │ └── index.js └── types.js ├── core ├── Block.js ├── Container.js ├── Install.js ├── MountBlock.js ├── MountScene.js ├── Router.js ├── Scene.js ├── Splash.js ├── Transition.js ├── css │ ├── block.css │ ├── container.css │ ├── globals.css │ ├── router.css │ ├── scene.css │ └── splash.css └── icons │ └── loader.svg ├── index.js ├── modules ├── autoplay │ └── index.js ├── colors │ └── index.js ├── coords │ └── index.js ├── enters │ ├── index.js │ └── style.css ├── fonts │ └── index.js ├── hidden │ └── index.js ├── jump │ ├── index.js │ └── style.css ├── link │ ├── index.js │ └── style.css ├── noresize │ ├── globals.css │ └── index.js ├── paddings │ └── index.js ├── pagenum │ ├── index.js │ └── style.css ├── reveal │ ├── index.js │ └── style.css ├── showif │ └── index.js ├── steps │ ├── index.js │ └── style.css ├── styles │ └── index.js └── types.js ├── utils.js └── utils ├── addFontDep.js ├── defaults.js ├── div.js ├── event.js ├── fit.js ├── pluginsInit.js ├── props.js ├── rawProps.js ├── select.js ├── uid.js └── validate.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/README.md -------------------------------------------------------------------------------- /cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/cover.png -------------------------------------------------------------------------------- /dist/presenta.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/dist/presenta.js -------------------------------------------------------------------------------- /dist/presenta.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/dist/presenta.min.js -------------------------------------------------------------------------------- /examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/examples.md -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/logo.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/package.json -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/rollup.config.js -------------------------------------------------------------------------------- /src/blocks/embed/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/embed/index.js -------------------------------------------------------------------------------- /src/blocks/embed/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/embed/style.css -------------------------------------------------------------------------------- /src/blocks/image/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/image/index.js -------------------------------------------------------------------------------- /src/blocks/image/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/image/style.css -------------------------------------------------------------------------------- /src/blocks/svg/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/svg/index.js -------------------------------------------------------------------------------- /src/blocks/svg/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/svg/style.css -------------------------------------------------------------------------------- /src/blocks/text/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/text/index.js -------------------------------------------------------------------------------- /src/blocks/text/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/text/style.css -------------------------------------------------------------------------------- /src/blocks/types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/types.js -------------------------------------------------------------------------------- /src/blocks/video/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/video/index.js -------------------------------------------------------------------------------- /src/blocks/video/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/blocks/video/style.css -------------------------------------------------------------------------------- /src/controllers/arrows/icons/arrow-down-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/arrows/icons/arrow-down-circle.svg -------------------------------------------------------------------------------- /src/controllers/arrows/icons/arrow-left-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/arrows/icons/arrow-left-circle.svg -------------------------------------------------------------------------------- /src/controllers/arrows/icons/arrow-right-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/arrows/icons/arrow-right-circle.svg -------------------------------------------------------------------------------- /src/controllers/arrows/icons/arrow-up-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/arrows/icons/arrow-up-circle.svg -------------------------------------------------------------------------------- /src/controllers/arrows/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/arrows/index.js -------------------------------------------------------------------------------- /src/controllers/arrows/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/arrows/style.css -------------------------------------------------------------------------------- /src/controllers/baseurl/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/baseurl/index.js -------------------------------------------------------------------------------- /src/controllers/black/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/black/index.js -------------------------------------------------------------------------------- /src/controllers/black/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/black/style.css -------------------------------------------------------------------------------- /src/controllers/cache/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/cache/index.js -------------------------------------------------------------------------------- /src/controllers/current/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/current/index.js -------------------------------------------------------------------------------- /src/controllers/focus/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/focus/index.js -------------------------------------------------------------------------------- /src/controllers/fullscreen/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/fullscreen/index.js -------------------------------------------------------------------------------- /src/controllers/hidden/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/hidden/index.js -------------------------------------------------------------------------------- /src/controllers/hidecursor/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/hidecursor/index.js -------------------------------------------------------------------------------- /src/controllers/keyboard/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/keyboard/index.js -------------------------------------------------------------------------------- /src/controllers/limitswitch/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/limitswitch/index.js -------------------------------------------------------------------------------- /src/controllers/limitswitch/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/limitswitch/style.css -------------------------------------------------------------------------------- /src/controllers/loop/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/loop/index.js -------------------------------------------------------------------------------- /src/controllers/preload/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/preload/index.js -------------------------------------------------------------------------------- /src/controllers/progressbar/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/progressbar/index.js -------------------------------------------------------------------------------- /src/controllers/progressbar/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/progressbar/style.css -------------------------------------------------------------------------------- /src/controllers/rsync/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/rsync/index.js -------------------------------------------------------------------------------- /src/controllers/shuffle/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/shuffle/index.js -------------------------------------------------------------------------------- /src/controllers/sync/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/sync/index.js -------------------------------------------------------------------------------- /src/controllers/sync/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/sync/style.css -------------------------------------------------------------------------------- /src/controllers/transitions/globals/fadeIn.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/transitions/globals/fadeIn.scss -------------------------------------------------------------------------------- /src/controllers/transitions/globals/hSlide.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/transitions/globals/hSlide.scss -------------------------------------------------------------------------------- /src/controllers/transitions/globals/slideOver.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/transitions/globals/slideOver.scss -------------------------------------------------------------------------------- /src/controllers/transitions/globals/vSlide.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/transitions/globals/vSlide.scss -------------------------------------------------------------------------------- /src/controllers/transitions/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/transitions/index.js -------------------------------------------------------------------------------- /src/controllers/types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/controllers/types.js -------------------------------------------------------------------------------- /src/core/Block.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/Block.js -------------------------------------------------------------------------------- /src/core/Container.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/Container.js -------------------------------------------------------------------------------- /src/core/Install.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/Install.js -------------------------------------------------------------------------------- /src/core/MountBlock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/MountBlock.js -------------------------------------------------------------------------------- /src/core/MountScene.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/MountScene.js -------------------------------------------------------------------------------- /src/core/Router.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/Router.js -------------------------------------------------------------------------------- /src/core/Scene.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/Scene.js -------------------------------------------------------------------------------- /src/core/Splash.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/Splash.js -------------------------------------------------------------------------------- /src/core/Transition.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/Transition.js -------------------------------------------------------------------------------- /src/core/css/block.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/css/block.css -------------------------------------------------------------------------------- /src/core/css/container.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/css/container.css -------------------------------------------------------------------------------- /src/core/css/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/css/globals.css -------------------------------------------------------------------------------- /src/core/css/router.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/css/router.css -------------------------------------------------------------------------------- /src/core/css/scene.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/css/scene.css -------------------------------------------------------------------------------- /src/core/css/splash.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/css/splash.css -------------------------------------------------------------------------------- /src/core/icons/loader.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/core/icons/loader.svg -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/index.js -------------------------------------------------------------------------------- /src/modules/autoplay/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/autoplay/index.js -------------------------------------------------------------------------------- /src/modules/colors/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/colors/index.js -------------------------------------------------------------------------------- /src/modules/coords/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/coords/index.js -------------------------------------------------------------------------------- /src/modules/enters/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/enters/index.js -------------------------------------------------------------------------------- /src/modules/enters/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/enters/style.css -------------------------------------------------------------------------------- /src/modules/fonts/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/fonts/index.js -------------------------------------------------------------------------------- /src/modules/hidden/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/hidden/index.js -------------------------------------------------------------------------------- /src/modules/jump/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/jump/index.js -------------------------------------------------------------------------------- /src/modules/jump/style.css: -------------------------------------------------------------------------------- 1 | [jump]{ 2 | cursor: pointer; 3 | } -------------------------------------------------------------------------------- /src/modules/link/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/link/index.js -------------------------------------------------------------------------------- /src/modules/link/style.css: -------------------------------------------------------------------------------- 1 | .link{ 2 | cursor: pointer; 3 | } -------------------------------------------------------------------------------- /src/modules/noresize/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/noresize/globals.css -------------------------------------------------------------------------------- /src/modules/noresize/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/noresize/index.js -------------------------------------------------------------------------------- /src/modules/paddings/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/paddings/index.js -------------------------------------------------------------------------------- /src/modules/pagenum/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/pagenum/index.js -------------------------------------------------------------------------------- /src/modules/pagenum/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/pagenum/style.css -------------------------------------------------------------------------------- /src/modules/reveal/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/reveal/index.js -------------------------------------------------------------------------------- /src/modules/reveal/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/reveal/style.css -------------------------------------------------------------------------------- /src/modules/showif/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/showif/index.js -------------------------------------------------------------------------------- /src/modules/steps/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/steps/index.js -------------------------------------------------------------------------------- /src/modules/steps/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/steps/style.css -------------------------------------------------------------------------------- /src/modules/styles/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/styles/index.js -------------------------------------------------------------------------------- /src/modules/types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/modules/types.js -------------------------------------------------------------------------------- /src/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils.js -------------------------------------------------------------------------------- /src/utils/addFontDep.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/addFontDep.js -------------------------------------------------------------------------------- /src/utils/defaults.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/defaults.js -------------------------------------------------------------------------------- /src/utils/div.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/div.js -------------------------------------------------------------------------------- /src/utils/event.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/event.js -------------------------------------------------------------------------------- /src/utils/fit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/fit.js -------------------------------------------------------------------------------- /src/utils/pluginsInit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/pluginsInit.js -------------------------------------------------------------------------------- /src/utils/props.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/props.js -------------------------------------------------------------------------------- /src/utils/rawProps.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/rawProps.js -------------------------------------------------------------------------------- /src/utils/select.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/select.js -------------------------------------------------------------------------------- /src/utils/uid.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/uid.js -------------------------------------------------------------------------------- /src/utils/validate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/presenta-software/presenta-lib/HEAD/src/utils/validate.js --------------------------------------------------------------------------------