diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..2f01e1d6 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["env"] +} \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..fbb5dc3d --- /dev/null +++ b/.eslintrc @@ -0,0 +1,29 @@ +{ + "parserOptions": { + "ecmaVersion": 6 + }, + "rules": { + "keyword-spacing": 1, + "space-before-function-paren": [1, "never"], + "eqeqeq": 1, + "space-infix-ops": 1, + "comma-spacing": 1, + "brace-style": 1, + "no-multiple-empty-lines": 1, + "camelcase": 1, + "func-call-spacing": 1, + "key-spacing": 1, + "semi": 1, + "no-floating-decimal": 1, + "no-multi-spaces": 1, + "object-property-newline": 1, + "padded-blocks": [1, "never"], + "space-before-blocks": 1, + "space-in-parens": 1, + "spaced-comment": 1, + "quotes": [1, "single"], + "id-length": [1, { "exceptions": ["i", "j", "x"] }], + "indent": [1, 2], + "no-array-constructor": 1 + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..82d30cc2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +node_modules/ diff --git a/README.md b/README.md index 5bdda8e9..e3bf873b 100644 --- a/README.md +++ b/README.md @@ -2,53 +2,227 @@ * **Track:** _Common Core_ * **Curso:** _JS Deep Dive: Crea tu propia librería usando JavaScript_ -* **Unidad:** _Producto final_ +* **Unidad:** _Reto N° 2_ +* **Desarrolladoras:** _Dayam Llerema, Lucero Hospina y Margarita Sutta._ *** -Implementar un plugin de jQuery que dado un _contenedor_ debe buscar todas las -imágenes que encuentre dentro del _contenedor_ y reemplazarlas por un nuevo +**Cardify** es un plugin de jQuery, que dado un _contenedor_ busca todas las +imágenes que encuentre dentro del _contenedor_ y reemplaza por un nuevo elemento `
` que contenga la imagen (``) además de un `
` con el texto del atributo `alt` de la imagen. -## Flujo de trabajo +*** + +## Desarrollo del plugin + +Como sabemos, jQuery es de las más potentes y utilizadas librerías de Javascript, reconocida como el propio framework de Javascript que se caracteriza por las funciones y eventos que implementa en este lenguaje. + +Por lo que consideramos los siguientes puntos para la creación de nuestro plugin: + +### I -Momenclatura del plugin + +Hay un patrón generalizado de la nomenclatura de los plugins: + + ```javascript + jquery.nombre_plugin.js + ``` + +Lógicamente, siempre debes de incluír la librería jQuery antes del código de extensión. + +> Referencias: +> [Momenclatura del script del plugin - Post de investigación 1](http://javascriptes.com/cul-es-la-convencin-de-nomenclatura-de-nombre-de-file-de-javascript.html), +> [Momenclatura del script del plugin - Post de investigación 2](http://html5facil.com/tutoriales/como-crear-plugins-para-jquery/) + +### II -Inicializar el plugin + +La manera de inicializar el plugin de jQuery es básicamente obtener un parámetro “$” (signo de dólar), el cual representará nuestro objeto de jQuery; una vez obtenido el parámetro, extendemos su funcionalidad añadiendo “.fn.extend” + +> Este método (extend) nos permite incrementar funcionalidad a jQuery, pues todo el código de nuestro plugin debe de ir definido dentro de él. + + ![inicializar](public/assets/images/inicializar.png) -1. Debes realizar un [**fork**](https://gist.github.com/ivandevp/1de47ae69a5e139a6622d78c882e1f74) - de este repositorio. + Otra manera de inicializar. -2. Luego deberás **clonar** tu fork en tu máquina. Recuerda que el comando a usar - es `git clone` y su estructura normalmente se ve así: + ``` javascript + $.fn.cardify = function() { + }; + ``` - ```bash - git clone https://github.com//cardify.git - ``` +### III -Construyendo el plugin -3. Cuando hayas terminado tu producto, envía un Pull Request a la rama que tus - instructorxs este repositorio - (puedes solicitar apoyo de tus profes para este paso). +Vamos a crear un método que debe buscar todas las imágenes que encuentre dentro del _contenedor_ y reemplazarlas por un nuevo elemento `
` que contenga la imagen (``) además de un `
` con el texto del atributo `alt` encapsulados dentro del objeto jQuery. Para ello vamos a usar el método genérico de jQuery llamado each(). Este método ejecuta una función en el contexto de cada elemento encontrado: -> Nota: No olvides que es una buena práctica describir tu proyecto en este -> archivo `README.md` :smiley:. + ``` javascript + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
'); + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($('
' + $(this).attr('alt') + '
')); + // hover + $(this).hover(function () { + $(this).css('opacity', '0.2'); + $(this).next().css('display', 'none'); + }, function () { + $(this).css('opacity', '1'); + $(this).next().css('display', 'block'); + }); + }); + ``` *** -## Instalación +## Guía de uso -### Global (navegador) +### Implementacion del plugin Cardify a un proyecto -```html - - +Para el uso de nuestro plugin **_Cardify_** en tu proyecto debes incluir dos archivos importantes. + +1. `jquery.cardify.css` en los que se incluyen los estilos necesarios para la implementación del funcionamiento correcto del plugin. + + ``` html + + + + + + + Document + + ``` + +2. `jquery.cardify.js` que es el script donde se ha desarrollado la funcionalidad del plugin. + + ``` html + + ... + + + + + ``` + +### Uso + +Para que el plugin de cardify aplique su funcionalidad, debemos implementar la siguiente línea de código al archivo propio Javascript del proyecto que el usuario haya creado. + +``` javascript +// seleccionamos al contenedor que tenga la clase y luego que aplica la funcionalidad de cardify +$('.cardify-mode').cardify(); ``` -## Uso +Este se aplicará de manera que buscará todos los elementos (``) que se encuentren dentro del **contenedor** con clase `.cardify-mode` , envolviendo cada imagen en un `
` y añadiendo el `
` con el texto del atributo alt de cada elemento (``). + +### Ejemplo + +La estructura inicial HTML a trabajar es un **contenedor** que contiene todos los elementos (``). + +``` html +
+ Relax yourself + Be Happy + Be Magic + Enjoy + Thank you :3 + Dont Worry + Just be Happy + Good Morning Princess + Live your Live + Dont Worry + Be Magic + Thank you :3 + Just be Happy + Enjoy + Be Happy +
+``` -```js -// `container` es el selector del contenedor donde se buscarán todas las -// imágenes a ser procesadas. -$(container).cardify({}); +La estructura HTML del **contenedor** implementando el plugin quedará de la siguiente manera. + +``` html +
+
Relax yourself
Relax yourself
+
Be Happy
Be Happy
+
Be Magic
Be Magic
+
Enjoy
Enjoy
+
Thank you :3
Thank you :3
+
Dont Worry
Dont Worry
+
Just be Happy
Just be Happy
+
Good Morning Princess
Good Morning Princess
+
Live your Live
Live your Live
+
Dont Worry
Dont Worry
+
Be Magic
Be Magic
+
Thank you :3
Thank you :3
+
Just be Happy
Just be Happy
+
Enjoy
Enjoy
+
Be Happy
Be Happy
+
``` -## Ejemplos +*** + +* _DEMO_: [demo](https://margb13.github.io/cardify/public/) + +![inicializar](public/assets/images/view-index.png) + +## Flujo de trabajo en equipo + +Para efectos de organización en el trabajo colaborativo se han creado tres ramas en este repositorio. Cada desarrolladora usará la rama asignada para ella de la siguiente manera: + +* _Dayam Llerena_: [d-plugin](https://github.com/margb13/cardify/tree/d-plugin) + +* _Lucero Hospina_: [l-plugin](https://github.com/margb13/cardify/tree/l-plugin) + +* _Margarita Sutta_: [m-plugin](https://github.com/margb13/cardify/tree/m-plugin) + +*** + +## Progreso propuesto + +Se nos proponen los siguientes checklists de progreso para cada semana: + +_**SEMANA 1.**_ + +* [X] Formar equipo. +* [X] Elegir reto. +* [x] Hacer fork de reto modelo o crear nuevo repo si has propuesto un reto no propuesto por Laboratoria. +* [x] Escribir primera versión del README.md con una descripción general de la librería así como ejemplos (snippets) de uso y configuración (si fuera necesario). +* [x] Crear issues y milestones que sirvan como hoja de ruta (roadmap) +* [x] Inicializar proyecto con npm init y git init. +* [x] Crear index.html con ejemplo principal de uso. + +_**SEMANA 2.**_ + +* [ ] Agregar tests que describan la API de tu librería y los casos de uso esperados. +* [X] Implementar funcionalidad esencial. +* [ ] Hacer code review con tus compañeras e instructorxs. + +**_SEMANA 3._** + +* [x] Completar implementación de librería y ejemplo principal (usando la librería). +* [ ] Hacer code review con tus compañeras e instructorxs. +* [x] Preparar tu demo/presentación. +* [x] Publicar el ejemplo principal (index.html) en GitHub pages. + +*** + +## Requisitos + +Todos los retos deben incluir por los menos los siguientes archivos: + +1. `README.md` con descripción del módulo, instrucciones de instalación, uso y documentación. +2. `index.js:` Librería debe exportar una función u objeto al entorno global (window) y hacer uso de _features de ES6_ donde sea apropiado. +3. `index.html:` Página web de la librería con ejemplo funcionando. +4. `package.json` con nombre, versión, descripción, autores, licencia, dependencias, scripts (pretest, test, ...). +5. `.eslintrc` con configuración para linter _(ver guía de estilo de JavaScript)_. +6. `.gitignore` para ignorar `node_modules` u otras carpetas que no deban incluirse en _control de versiones (git)_. + +**Hacker edition (opcional):** + +* Si la librería está dirigida al navegador, debe adherirse al patrón UMD para poder ser usado con AMD, CommonJS y como variable global del navegador. + +* Integración continua con Travis o Circle CI + +*** -... diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..4b941cff --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1610 @@ +{ + "name": "cardify", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "optional": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true, + "optional": true + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true, + "optional": true + }, + "babel-cli": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", + "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-polyfill": "6.26.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "commander": "2.13.0", + "convert-source-map": "1.5.1", + "fs-readdir-recursive": "1.1.0", + "glob": "7.1.2", + "lodash": "4.17.4", + "output-file-sync": "1.1.2", + "path-is-absolute": "1.0.1", + "slash": "1.0.0", + "source-map": "0.5.7", + "v8flags": "2.1.1" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.0", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, + "babel-generator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", + "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "regenerator-runtime": "0.10.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-preset-env": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.11.3", + "invariant": "2.2.2", + "semver": "5.5.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "optional": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000792", + "electron-to-chromium": "1.3.31" + } + }, + "caniuse-lite": { + "version": "1.0.30000792", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz", + "integrity": "sha1-0M6pgfgRjzlhRxr7tDyaHlu/AzI=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "optional": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true + }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "electron-to-chromium": { + "version": "1.3.31", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.31.tgz", + "integrity": "sha512-XE4CLbswkZgZFn34cKFy1xaX+F5LHxeDLjY1+rsK9asDzknhbrd9g/n/01/acbU25KTsUSiLKwvlLyA+6XLUOA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "optional": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "optional": true, + "requires": { + "fill-range": "2.2.3" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true, + "optional": true + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, + "optional": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "optional": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "optional": true, + "requires": { + "for-in": "1.0.2" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "optional": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "1.11.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true, + "optional": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "optional": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "optional": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true, + "optional": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "optional": true, + "requires": { + "isarray": "1.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.8" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "optional": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "optional": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true, + "optional": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true, + "optional": true + }, + "randomatic": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, + "optional": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "optional": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" + } + }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "optional": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "optional": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true, + "optional": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "optional": true + }, + "v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", + "dev": true, + "requires": { + "user-home": "1.1.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..a750638d --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "cardify", + "version": "1.0.0", + "description": "* **Track:** _Common Core_\r * **Curso:** _JS Deep Dive: Crea tu propia librería usando JavaScript_\r * **Unidad:** _Reto N° 2_\r * **Desarrolladoras:** _Dayam Llerema, Lucero Hospina y Margarita Sutta._", + "main": "index.js", + "scripts": { + "build": "babel --watch src -d public/js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/margb13/cardify.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/margb13/cardify/issues" + }, + "homepage": "https://github.com/margb13/cardify#readme", + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-preset-env": "^1.6.1" + } +} diff --git a/public/assets/images/amazon.png b/public/assets/images/amazon.png new file mode 100644 index 00000000..954328bf Binary files /dev/null and b/public/assets/images/amazon.png differ diff --git a/public/assets/images/apple.jpg b/public/assets/images/apple.jpg new file mode 100644 index 00000000..2e9792e7 Binary files /dev/null and b/public/assets/images/apple.jpg differ diff --git a/public/assets/images/beach.gif b/public/assets/images/beach.gif new file mode 100644 index 00000000..08ce9c92 Binary files /dev/null and b/public/assets/images/beach.gif differ diff --git a/public/assets/images/download.png b/public/assets/images/download.png new file mode 100644 index 00000000..b55d1286 Binary files /dev/null and b/public/assets/images/download.png differ diff --git a/public/assets/images/edificios.gif b/public/assets/images/edificios.gif new file mode 100644 index 00000000..b2d28eaf Binary files /dev/null and b/public/assets/images/edificios.gif differ diff --git a/public/assets/images/facebook.png b/public/assets/images/facebook.png new file mode 100644 index 00000000..ca05f181 Binary files /dev/null and b/public/assets/images/facebook.png differ diff --git a/public/assets/images/fondo.jpg b/public/assets/images/fondo.jpg new file mode 100644 index 00000000..81491676 Binary files /dev/null and b/public/assets/images/fondo.jpg differ diff --git a/public/assets/images/fondo2.jpg b/public/assets/images/fondo2.jpg new file mode 100644 index 00000000..f26b70da Binary files /dev/null and b/public/assets/images/fondo2.jpg differ diff --git a/public/assets/images/go-back.png b/public/assets/images/go-back.png new file mode 100644 index 00000000..d3f54697 Binary files /dev/null and b/public/assets/images/go-back.png differ diff --git a/public/assets/images/google.jpg b/public/assets/images/google.jpg new file mode 100644 index 00000000..19141cda Binary files /dev/null and b/public/assets/images/google.jpg differ diff --git a/public/assets/images/ibm.jpg b/public/assets/images/ibm.jpg new file mode 100644 index 00000000..ef86d884 Binary files /dev/null and b/public/assets/images/ibm.jpg differ diff --git a/public/assets/images/img.png b/public/assets/images/img.png new file mode 100644 index 00000000..a1089bb8 Binary files /dev/null and b/public/assets/images/img.png differ diff --git a/public/assets/images/inicializar.png b/public/assets/images/inicializar.png new file mode 100644 index 00000000..f20f2738 Binary files /dev/null and b/public/assets/images/inicializar.png differ diff --git a/public/assets/images/lab.jpg b/public/assets/images/lab.jpg new file mode 100644 index 00000000..b72570cc Binary files /dev/null and b/public/assets/images/lab.jpg differ diff --git a/public/assets/images/microsoft.jpg b/public/assets/images/microsoft.jpg new file mode 100644 index 00000000..8ff7766e Binary files /dev/null and b/public/assets/images/microsoft.jpg differ diff --git a/public/assets/images/paisaje1.jpg b/public/assets/images/paisaje1.jpg new file mode 100644 index 00000000..29e96327 Binary files /dev/null and b/public/assets/images/paisaje1.jpg differ diff --git a/public/assets/images/paisaje10.jpg b/public/assets/images/paisaje10.jpg new file mode 100644 index 00000000..8b6c91e5 Binary files /dev/null and b/public/assets/images/paisaje10.jpg differ diff --git a/public/assets/images/paisaje11.jpg b/public/assets/images/paisaje11.jpg new file mode 100644 index 00000000..ff05058e Binary files /dev/null and b/public/assets/images/paisaje11.jpg differ diff --git a/public/assets/images/paisaje12.jpg b/public/assets/images/paisaje12.jpg new file mode 100644 index 00000000..243a91cd Binary files /dev/null and b/public/assets/images/paisaje12.jpg differ diff --git a/public/assets/images/paisaje13.jpg b/public/assets/images/paisaje13.jpg new file mode 100644 index 00000000..e679f136 Binary files /dev/null and b/public/assets/images/paisaje13.jpg differ diff --git a/public/assets/images/paisaje14.jpg b/public/assets/images/paisaje14.jpg new file mode 100644 index 00000000..95fe0164 Binary files /dev/null and b/public/assets/images/paisaje14.jpg differ diff --git a/public/assets/images/paisaje15.jpg b/public/assets/images/paisaje15.jpg new file mode 100644 index 00000000..baaa503b Binary files /dev/null and b/public/assets/images/paisaje15.jpg differ diff --git a/public/assets/images/paisaje2.jpg b/public/assets/images/paisaje2.jpg new file mode 100644 index 00000000..3132ff3a Binary files /dev/null and b/public/assets/images/paisaje2.jpg differ diff --git a/public/assets/images/paisaje3.jpg b/public/assets/images/paisaje3.jpg new file mode 100644 index 00000000..7bdfa65b Binary files /dev/null and b/public/assets/images/paisaje3.jpg differ diff --git a/public/assets/images/paisaje4.jpg b/public/assets/images/paisaje4.jpg new file mode 100644 index 00000000..29e96327 Binary files /dev/null and b/public/assets/images/paisaje4.jpg differ diff --git a/public/assets/images/paisaje5.jpg b/public/assets/images/paisaje5.jpg new file mode 100644 index 00000000..7ad1589f Binary files /dev/null and b/public/assets/images/paisaje5.jpg differ diff --git a/public/assets/images/paisaje6.jpg b/public/assets/images/paisaje6.jpg new file mode 100644 index 00000000..8ab9d1c1 Binary files /dev/null and b/public/assets/images/paisaje6.jpg differ diff --git a/public/assets/images/paisaje7.jpg b/public/assets/images/paisaje7.jpg new file mode 100644 index 00000000..e7554769 Binary files /dev/null and b/public/assets/images/paisaje7.jpg differ diff --git a/public/assets/images/paisaje8.jpg b/public/assets/images/paisaje8.jpg new file mode 100644 index 00000000..1377670c Binary files /dev/null and b/public/assets/images/paisaje8.jpg differ diff --git a/public/assets/images/paisaje9.jpg b/public/assets/images/paisaje9.jpg new file mode 100644 index 00000000..45158149 Binary files /dev/null and b/public/assets/images/paisaje9.jpg differ diff --git a/public/assets/images/space.gif b/public/assets/images/space.gif new file mode 100644 index 00000000..72e7278b Binary files /dev/null and b/public/assets/images/space.gif differ diff --git a/public/assets/images/view-index.png b/public/assets/images/view-index.png new file mode 100644 index 00000000..80137d9c Binary files /dev/null and b/public/assets/images/view-index.png differ diff --git a/public/assets/plugin-cardify.rar b/public/assets/plugin-cardify.rar new file mode 100644 index 00000000..9bf7d1e2 Binary files /dev/null and b/public/assets/plugin-cardify.rar differ diff --git a/public/css/demo.css b/public/css/demo.css new file mode 100644 index 00000000..70385a34 --- /dev/null +++ b/public/css/demo.css @@ -0,0 +1,25 @@ +/* ESTILO DE LOS DEMOS HTML */ + +body { + background: url(../assets/images/space.gif); + background-attachment: fixed; + background-position: bottom; + background-repeat: no-repeat; + background-size: cover; + width: 100%; +} + +/* titulo */ +.center { + font-size: 60px; + font-family: 'Berkshire Swash', cursive; + font-family: 'Raleway', sans-serif; + font-family: 'Oswald', sans-serif; +} +.white { + color: #fff; +} + +figcaption { + color: #fff +} diff --git a/public/css/jquery.cardify.css b/public/css/jquery.cardify.css new file mode 100644 index 00000000..6438c3ab --- /dev/null +++ b/public/css/jquery.cardify.css @@ -0,0 +1,109 @@ +/* CLASES CARDIFY */ +.figure-styles { + position: relative; +} + +.figcaption-styles { + font-size: 1.5em; + left: 15%; + opacity: 0; + position: absolute; + text-align: 'center'; + top: 30%; +} + +/* CLASES CARDIFY STYLES INLINE */ +.image-styles-inline { + height: auto; + max-width: 15rem; +} +.figure-styles-inline { + display: inline-block; + margin-top: 5rem; + margin-bottom: 2rem; + margin-right: 2rem; + position: relative; +} + +.figcaption-styles-inline { + font-size: 1.5em; + left: 15%; + opacity: 0; + position: absolute; + text-align: 'center'; + top: 30%; +} + +/* CLASES CARDIFY BLOCK */ +.image-styles-block { + height: auto; + margin-left: 7%; + max-width: 15rem; +} + +.figure-styles-block { + margin-top: 5rem; + margin-bottom: 2rem; + position: relative; +} + +.figcaption-styles-block { + font-size: 1.5em; + left: 5%; + margin-left: 7%; + margin-top: 1%; + opacity: 0; + position: absolute; + text-align: 'center'; + top: 30%; +} + +/* MODO FLEX */ +.image-styles-flex { + border-radius: 150px; + height: 190px; + margin: 15px; + margin-right: 10px; + width: 200px; +} + +.container-flex { + display: flex; + /* or inline-flex */ + flex-wrap: wrap; +} + +.figure-styles-flex { + color: white; + font-weight: bold; + margin-top: 20px; + margin-left: 90px; + line-height: 150px; + position: relative; + text-align: center; +} + +.figcaption-styles-flex { + font-size: 1.2em; + left: 10%; + margin-left: 7%; + margin-top: 1%; + opacity: 0; + position: absolute; + text-align: 'center'; + top: 15%; +} + +/* @import "compass/css3"; */ +/* .flex-container { + padding: 0; + margin: 0; + list-style: none; + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-flex-flow: row wrap; + justify-content: space-around; +} */ diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 00000000..744802b5 --- /dev/null +++ b/public/css/main.css @@ -0,0 +1,115 @@ +main { + background: linear-gradient(to bottom right, rgb(158, 5, 99), rgb(141, 90, 23)); +} + +.firstSection { + background: url(../assets/images/edificios.gif); + background-attachment: fixed; + background-position: center; + background-repeat: no-repeat; + background-size: cover; + height: 50vh; + width: 100%; +} + +.title { + color: white; + font-size: 100px; + font-family: 'Berkshire Swash', cursive; + font-family: 'Raleway', sans-serif; + font-family: 'Oswald', sans-serif; + padding-top: 110px; + text-align: center; +} + +.white { + color: white; +} + +.center-text { + text-align: center; +} + +.space { + margin: 12px; +} + +.left { + flex-wrap: wrap; + margin-left: 50px; +} + +.middle { + margin: 20px 450px; +} + +.btn { + margin: 10px; + width: 16rem; +} + +.btn-git { + margin: 22px; + width: 20rem; +} + +a { + font-size: 1.5rem; +} + +.footer { + background-color: #f8f9fa; + bottom: 0; + line-height: 40px; + width: 100%; +} + +pre { + background-color: rgba(223, 223, 76, 0.03); + border: 3px solid rgba(123, 21, 133, 0.418); + border-radius: 4px; + color: rgb(15, 13, 13); + line-height: 24px; + padding: 5px 8px; + margin: 0 0 20px; + overflow-x: auto; + word-wrap: normal; +} + +.txt-size-card { + font-size: 0.8rem; +} + +.size-code { + font-size: 0.6rem; +} + +.navbar { + padding: .3rem .3rem; +} + +.margin-txt { + margin: 1rem 3rem; +} + +.card-body { + padding: 0.3rem 0.8rem; +} + +@media (min-width: 992px) { + main { + background: linear-gradient(to bottom right, rgb(158, 5, 99), rgb(141, 90, 23)); + min-height: 100vh; + position: relative; + } + + .firstSection { + height: 32vh; + width: 100%; + } + + .title { + font-size: 100px; + padding-top: 60px; + } +} \ No newline at end of file diff --git a/public/index.html b/public/index.html new file mode 100644 index 00000000..174014a7 --- /dev/null +++ b/public/index.html @@ -0,0 +1,112 @@ + + + + + + + + + + + + + Cardify + + + + +
+
+
+

cardify.js

+
+
+
+
+
+
+

Es un plugin de jQuery, que permite encontrar todas las imágenes dentro de un + contenedor y ser envuelto por un nuevo elemento + figure que contenga la imagen, además de un + figcaption con el atributo + alt de la imagen encapsulados. +

+
+
+
+
+
+
+
+
+
+
¿Qué archivos se deben usar?
+
+

Los archivos que hay que tener en cuenta son:

+
jquery.cardify.css
+
jquery.cardify.js
+ +
+
+
+
¿Cómo incluir los archivos?
+
+
+

Vincular CSS en + head:

+
<link rel="stylesheet" href="css/jquery.cardify.css">
+

Incluir + script que vincule JS:

+
<script src="js/jquery.cardify.js"></script>
+
+
+
+
+
¿Cómo invocar cardify.js?
+
+
+

+ .cardify-mode es el contenedor donde se encuentran las imágenes a ser procesadas. +

+
$('.cardify-mode').cardify();
+
+
+
+
+ +
+
+
+
+
+ ©copyright - Cardify 2018 +
+ + + + + + \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js new file mode 100644 index 00000000..c95d5e9b --- /dev/null +++ b/public/js/app.js @@ -0,0 +1,9 @@ +'use strict'; + +// LLAMANDO AL PLUGIN segun su preferencia: +$(document).ready(function () { + // $('.cardify-mode').cardify(); + // $('.cardify-mode').cardifyStylesInline(); + // $('.cardify-mode').cardifyStylesBlock(); + // $('.cardify-mode').cardifyStylesFlex(); +}); \ No newline at end of file diff --git a/public/js/index.js b/public/js/index.js new file mode 100644 index 00000000..56dc2d7e --- /dev/null +++ b/public/js/index.js @@ -0,0 +1,34 @@ +$(document).ready(function() { + + $('#btn-github').on('click', function () { + $(location).attr('href', 'https://github.com/margb13/cardify'); + }); + + $('#cardify-btn').on('click', function() { + $(this).prop('disabled', true); + $('.cardify-mode').cardify(); + }); + + $('#cardify2-btn').on('click', function() { + $(this).prop('disabled', true); + $('.cardify-mode').cardifyStylesInline(); + }); + + $('#cardify3-btn').on('click', function() { + $(this).prop('disabled', true); + $('.cardify-mode').cardifyStylesBlock(); + }); + + $('#cardify4-btn').on('click', function() { + $(this).prop('disabled', true); + $('.cardify-mode').cardifyStylesFlex(); + }); + + function goingBack(btn) { + btn.on('click', function() { + window.location.href = '../index.html'; + }); + } + + goingBack($('#return')); +}); diff --git a/public/js/jquery.cardify.js b/public/js/jquery.cardify.js new file mode 100644 index 00000000..2780823c --- /dev/null +++ b/public/js/jquery.cardify.js @@ -0,0 +1,113 @@ +'use strict'; + +(function($) { + // Propuesta de cardify que implementa la etiqueta figure sin estilos + $.fn.cardify = function() { + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
'); + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles'); + $('figcaption').addClass('figcaption-styles'); + + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; + // Propuesta de estilo inline-block de figure con tamaño de imágenes redimensionado, caption arreglado. + $.fn.cardifyStylesInline = function() { + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
') + .addClass('image-styles-inline'); + + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles-inline'); + $('figcaption').addClass('figcaption-styles-inline'); + + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; + // Propuesta con el estilo default de figure con tamaño de imágenes redimensionado, caption arreglado. + $.fn.cardifyStylesBlock = function() { + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
') + .addClass('image-styles-block'); + + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles-block'); + + $('figcaption').addClass('figcaption-styles-block'); + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; + + // Propuesta con estilo flex. + $.fn.cardifyStylesFlex = function() { + console.log; + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
') + .addClass('image-styles-flex'); + + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles-flex'); + $(this).parent().parent().addClass('container-flex'); + + $('figcaption').addClass('figcaption-styles-flex'); + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; +})(jQuery); \ No newline at end of file diff --git a/public/view/demo.html b/public/view/demo.html new file mode 100644 index 00000000..7f0d4202 --- /dev/null +++ b/public/view/demo.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + Cardify + + + + +
+ Relax yourself + Be Happy + Be Magic + Enjoy + Thank you :3 + Dont Worry + Just be Happy + Good Morning Princess + Live your Live + Dont Worry + Be Magic + Thank you :3 + Just be Happy + Enjoy + Be Happy +
+ + + + + + + \ No newline at end of file diff --git a/public/view/demo2.html b/public/view/demo2.html new file mode 100644 index 00000000..f17ef710 --- /dev/null +++ b/public/view/demo2.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + Cardify + + + + +
+ Relax yourself + Be Happy + Be Magic + Enjoy + Thank you :3 + Dont Worry + Just be Happy + Good Morning Princess + Live your Live + Dont Worry + Be Magic + Thank you :3 + Just be Happy + Enjoy + Be Happy +
+ + + + + + + \ No newline at end of file diff --git a/public/view/demo3.html b/public/view/demo3.html new file mode 100644 index 00000000..54c5dbd9 --- /dev/null +++ b/public/view/demo3.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + Cardify + + + + +
+ Relax yourself + Be Happy + Be Magic + Enjoy + Thank you :3 + Dont Worry + Just be Happy + Good Morning + Live your Live + Dont Worry + Be Magic + Thank you :3 + Just be Happy + Enjoy + Be Happy +
+ + + + + + + \ No newline at end of file diff --git a/public/view/demo4.html b/public/view/demo4.html new file mode 100644 index 00000000..bdf9a4c1 --- /dev/null +++ b/public/view/demo4.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + Cardify + + + + +
+ Relax yourself + Be Happy + Be Magic + Enjoy + Thank you :3 + Dont Worry + Just be Happy + Good Morning Princess + Live your Live + Dont Worry + Be Magic + Thank you :3 + Just be Happy + Enjoy + Be Happy +
+ + + + + + + \ No newline at end of file diff --git a/src/app.js b/src/app.js new file mode 100644 index 00000000..5d8a18d4 --- /dev/null +++ b/src/app.js @@ -0,0 +1,7 @@ +// LLAMANDO AL PLUGIN segun su preferencia: +$(document).ready(() => { + // $('.cardify-mode').cardify(); + // $('.cardify-mode').cardifyStylesInline(); + // $('.cardify-mode').cardifyStylesBlock(); + // $('.cardify-mode').cardifyStylesFlex(); +}); \ No newline at end of file diff --git a/src/jquery.cardify.js b/src/jquery.cardify.js new file mode 100644 index 00000000..09c5250c --- /dev/null +++ b/src/jquery.cardify.js @@ -0,0 +1,111 @@ +(($ => { + // Propuesta de cardify que implementa la etiqueta figure sin estilos + $.fn.cardify = function() { + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
'); + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles'); + $('figcaption').addClass('figcaption-styles'); + + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; + // Propuesta de estilo inline-block de figure con tamaño de imágenes redimensionado, caption arreglado. + $.fn.cardifyStylesInline = function() { + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
') + .addClass('image-styles-inline'); + + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles-inline'); + $('figcaption').addClass('figcaption-styles-inline'); + + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; + // Propuesta con el estilo default de figure con tamaño de imágenes redimensionado, caption arreglado. + $.fn.cardifyStylesBlock = function() { + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
') + .addClass('image-styles-block'); + + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles-block'); + + $('figcaption').addClass('figcaption-styles-block'); + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; + + // Propuesta con estilo flex. + $.fn.cardifyStylesFlex = function() { + console.log; + // Ubicando todas etiquetas img del contenedor con la clase cardify-mode + $(this).find('img').each(function() { + // Cada etiqueta img tomara como padre una etiqueta figure + $(this).wrap('
') + .addClass('image-styles-flex'); + + // A cada padre de la etiqueta img se le pondra como ultimo hijo una etiqueta figcaption + // A cada figcaption se le pondra como texto el atributo de su imagen correspondiente + $(this).parent().append($(`
${$(this).attr('alt')}
`)) + .addClass('figure-styles-flex'); + $(this).parent().parent().addClass('container-flex'); + + $('figcaption').addClass('figcaption-styles-flex'); + // hover + $(this).hover( + function() { + $(this).css('opacity', '0.2'); + $(this).next().css('opacity', '1'); + }, + function() { + $(this).css('opacity', '1'); + $(this).next().css('opacity', '0'); + } + ); + }); + }; +}))(jQuery); \ No newline at end of file