- - [ ] Uso de flexbox en sentido `row` y `column`
- - [ ] Uso de flexbox para el elemento que contiene los items
- - [ ] Uso de flexbox para el elemento que contiene los UI inputs
+### Estamos comprometidos a seguir escuchando los comentarios de nuestros usuarios y trabajar en mejoras significativas que hagan de Cuantos Cuentos la mejor plataforma posible para explorar y disfrutar de cuentos para niños. Estén atentos para futuras actualizaciones que reflejarán nuestro compromiso continuo con la excelencia y la satisfacción del usuario.
-#### Web APIs
+## 9. Despedida
+*¡Gracias por visitar Cuantos Cuentos y explorar nuestra plataforma de cuentos interactiva! Esperamos que hayas disfrutado tu tiempo aquí y que encuentres muchos cuentos maravillosos para compartir con tus seres queridos.
-* **Uso de selectores del DOM**
+Si tienes alguna pregunta, sugerencia o comentario, no dudes en ponerte en contacto con nosotros. Estamos siempre aquí para ayudarte y mejorar tu experiencia en Cuantos Cuentos.
- - [ ] La aplicación usa [`querySelector`](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector)
- para buscar los elementos del DOM
-
-* **Manejo de eventos del DOM (listeners, propagación, delegación)**
-
- - [ ] `addEventListener` con callback que tiene parámetro de `event`,
- lo que permite el uso del objeto [`event`](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#event_objects)
- con `event.target` o `event.currentTarget`
- - [ ] La aplicación registra [Event Listeners](https://developer.mozilla.org/en/docs/Web/API/EventTarget/addEventListener)
- para escuchar `click`, `change`, `keyup` dependiendo del evento que
- se quiere escuchar
-
-* **Manipulación dinámica del DOM**
-
- - [ ] La aplicación actualiza el atributo [`innerHTML`](https://developer.mozilla.org/es/docs/Web/API/Element/innerHTML).
- - [ ] La aplicación usa `createElement` y `appendChild`, o template strings
- para crear elementos
-
-#### JavaScript
-
-* **Variables (declaración, asignación, ámbito)**
-
- - [ ] La aplicación declara variables con [`let`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
- y [`const`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const)
- en manera adecuada
-
-* **Uso de condicionales (if-else, switch, operador ternario, lógica booleana)**
-
- - [ ] La aplicación usa el statement
- [`if..else`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)
- para evaluar condiciones
-
-* **Uso de bucles/ciclos (while, for, for..of)**
-
- - [ ] La aplicación usa el statement [`for`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)
- o método [`forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
- para iterar
-
-* **Funciones (params, args, return)**
-
- En el archivo `dataFunctions.js` define las siguientes funciones:
- - [ ] una función `sortBy` que tiene 3 parámetros (`data`, `sortBy`, `sortOrder`)
- y devuelve el arreglo ordenado
- - [ ] una función `filterBy` que tiene 3 parámetros (`data`, `filterBy`, `value`)
- y devuelve el arreglo filtrado
- - [ ] una función `computeStats` que tiene al menos un parámetro (`data`)
- y devuelve un valor computado
-
- Más sobre estos puntos en [la sección dataFunctions.js](#src/dataFunctions.js)
-
-* **Arrays (arreglos)**
-
- - [ ] Uso de [Arreglos](https://curriculum.laboratoria.la/es/topics/javascript/04-arrays)
- - [ ] Uso de [Array.prototype.sort() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)
- o [Array.prototype.toSorted - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/toSorted)
- - [ ] Uso de [Array.prototype.forEach() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
- - [ ] Uso de [Array.prototype.map() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
- - [ ] Uso de [Array.prototype.filter() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)
- - [ ] Uso de [Array.prototype.reduce() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)
-
-* **Objetos**
-
- - [ ] Uso de notación de punto para [acceder propiedades](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors)
- - [ ] Uso de notación de brackets para [acceder propiedades](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors)
-
-* **Módulos de ECMAScript (ES Modules)**
-
- - [ ] La aplicación usa [`import`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)
- y [`export`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export)
- para importar y exportar valores desde un modulo JavaScript.
-
-### Criterios del proyecto
-
-#### Definición del producto
-
-Documenta brevemente tu trabajo en el archivo `README.md` de tu repositorio,
-contándonos cómo fue tu proceso de diseño y cómo crees que el producto resuelve
-el problema (o problemas) que tiene tu usuaria.
-
-#### Historias de usuario
-
-Una vez que entiendas las necesidades de tus usuarias, escribe las [Historias
-de Usuaria](https://es.wikipedia.org/wiki/Historias_de_usuario) que representen
-todo lo que la usuaria necesita hacer/ver. Las **Historias de Usuario** deben
-ser el resultado de tu proceso de investigación o _research_ de tus usuarias.
-
-Asegúrate de incluir la definición de terminado (_definition of done_) y los
-Criterios de Aceptación para cada una.
-
-Usa tus historias de usuario para planificar tus sprints dividiendo
-cada historia en tareas.
-
-En la medida de lo posible, termina una Historia de Usuario antes de pasar
-a la siguiente (cumpliendo con la Definición de Terminado y los Criterios de Aceptación).
-
-#### Generar los datos
-
-La temática será a tu gusto, por ejemplo, pueden ser personajes importantes
-en la historia, personajes inventados, países, películas... etc.
-
-En el próximo proyecto, con la ayuda de la inteligencia artificial, deberás
-hacer que la usuaria pueda chatear con la data generada.
-Por ejemplo, si la data está mostrando un país, la usuaria podría
-preguntarle en que año fue fundado o cual es su capital, etc.
-Tenlo en cuenta a la hora de generar tu dataset.
-
-Esta data la vas a guardar en un archivo javascript. Este archivo,
-debe exportar un arreglo con 24 objetos. Y la estructura de cada objeto
-debe ser la siguiente:
-
-* `id`: Identificador único (no pueden haber dos elementos con el mismo `id`).
- Debe ser un string de no más de 32 characteres, en minúscula, compuesto solo
- por letras, números, underscore (`_`) o guión (`-`). Por ejemplo: `"ada-lovelace"`.
-* `name`: El nombre del personaje, país, película, etc.
-* `shortDescription`: Descripción corta del elemento. Esta descripción deberá
- tener como máximo 20 palabras.
-* `description`: Descripción extendida del elemento. Esta descripción deberá
- tener entre 80 y 100 palabras. Al momento de mostrar este dato en pantalla
- puedes truncarlo para que no ocupe tanto espacio.
-* `imageUrl`: URL de la imagen. Esta imagen será generada a través de alguna
- herramienta basada en inteligencia artifical. Una vez generada la imagen,
- y guardada en tu repo, deberás agregar la URL en este campo.
-* `facts`: Un objeto con al menos **3** "hechos" o "info" sobre este elemento, en
- formato `"nombre": "valor"`, por ejemplo:
-
- ```json
- "facts": {
- "yearOfBirth": 1843,
- "placeOfBirth": "London, England",
- "mainField": "Computer Science",
- }
- ```
-
- Los _nombres de las propiedades_, deben estar en formato _camelCase_.
- Por ejemplo **ninguno** de los siguientes nombres sería válido:
-
- ```json
- "facts": {
- "year_of_birth": 1843,
- "Place of Birth": "London, England",
- "MainField": "Computer Science",
- }
- ```
-
- Los _valores de las propiedades_, sólo pueden ser de tipo `number`, `boolean`
- o un `string` de no más de 64 caracteres (este **no** tiene restricciones sobre
- el tipo de caracteres que puede contener).
-
- Y por último ten en cuenta 2 cosas:
- - Todos los elementos del dataset deben compartir las mismas propiedades en
- `facts`, es decir, que si un elemento tiene una propiedad `yearOfBirth`,
- el resto de elementos del array también deben tener esa propiedad.
- - No es necesario que los nombres de las propiedades estén en inglés,
- `"lugarDeNacimiento"` es un nombre igual de válido.
-
-* `extraInfo`: Y por último un campo libre opcional, similar a `facts`. Si lo
- necesitas, aquí puedes poner cualquier otro tipo de información en formato
- donde puedes poner otra info que necesites en formato `"nombre": "valor"`,
- pero sin restricciones sobre el tipo de dato del valor. Por ejemplo:
-
- ```json
- "extraInfo": {
- "imagePrompt": "Un texto bien, bien largo...",
- "writings": [
- "Vol. 1",
- "Vol. 2",
- "Vol. 3",
- "Vol. 4"
- ]
- }
- ```
-
-Un ejemplo de data, según los requisitos anteriores podría ser:
-
-```js
-export default [
- {
- "id": "ada-lovelace",
- "name": "Ada Lovelace",
- "shortDescription": "Pionera de la informática, fue la primera programadora.",
- "description": "Una visionaria del siglo XIX ...",
- "imageUrl": "URL_DE_LA_IMAGEN_GENERADA",
- "facts": {
- "yearOfBirth": 1843,
- "placeOfBirth": "London, England",
- "mainField": "Computer Science",
- }
- },
- //... 23 objetos más
-]
-```
-
-La data generada deberás reemplazarla por el contenido de este archivo:
-`./src/data/dataset.js`.
-
-**El tiempo estimado que deberías dedicar a la generación de estos datos
-es de máximo un sprint.** Si transcurrido un sprint, no tienes un
-conjunto de datos generados, deberás
-utilizar los datos de ejemplo ubicados en la ruta:
-`./src/data/dataset.js`.
-
-Las URLs de las imágenes dentro del archivo javascript, deben enlazar
-a las imágenes para cada elemento del array.
-Estas imágenes pueden ser generadas por la inteligencia artificial o imágenes
-que puedas encontrar en la web.
-Para la generación de imágenes te recomendamos usar el
-[generador de imágenes de Bing](https://www.bing.com/create).
-Una vez que tengas la imagen, descárgala u obtiene su URL, para agregársela
-al dataset.
-
-Una vez que tengas el archivo javascript completo, recuerda correr los test con
-`npm run test` para verificar que el archivo esté cumpliendo con lo
-solicitado.
-
-Una vez que hayas delimitado tu campo de interés y generado el archivo
-javascript con la asistencia de la inteligenica artificial, dedica
-tiempo a comprender a fondo a tu usuaria y sus
-necesidades específicas. A partir de esta comprensión, podrás diseñar la
-interfaz que facilite una interacción más efectiva y una comprensión más
-completa de los datos presentados.
-
-#### Prompt utilizado
-
-Dentro del readme que armarás, debe incluir una captura de pantalla
-de tu prompt utilizado para generar los datos. Si utilizaste varios prompts,
-puedes adjuntar todas las capturas que necesites.
-
-#### Diseño de la Interfaz de Usuaria
-
-##### Prototipo de alta fidelidad
-
-Usando los wireframes o bocetos (_sketches_) de tu solución de interfaz
-como base, lo siguiente es diseñar tu Interfaz de Usuaria (UI por sus
-siglas en inglés - _User Interface_). Para eso debes aprender a
-utilizar alguna herramienta de diseño visual.
-Nosotros te recomendamos [Figma](https://www.figma.com/) que es
-una herramienta que funciona en el navegador y, además, puedes crear una cuenta
-gratis. Sin embargo, eres libre de utilizar otros editores gráficos como
-Illustrator, Photoshop, etc.
-
-El diseño debe representar el _ideal_ de tu solución. Digamos que es lo que
-desearías implementar si tuvieras tiempo ilimitado para trabajar. Además, tu
-diseño debe seguir los fundamentos de _visual design_.
-
-Recuerda pedir feedback de tu prototipo a tus compañeras y/o coaches.
-
-#### Testeos de usabilidad
-
-Durante el reto deberás hacer _tests_ de usabilidad con distintos usuarias,
-y con base en los resultados, deberás iterar tus diseños. Cuéntanos
-qué problemas de usabilidad detectaste a través de los _tests_ y cómo los
-mejoraste en tu propuesta final.
-
-#### Implementación de la Interfaz de Usuaria (HTML/CSS/JS)
-
-Luego de diseñar tu interfaz de usuaria deberás trabajar en su implementación.
-**No** es necesario que construyas la interfaz exactamente como la diseñaste.
-Tu tiempo de hacking es escaso, así que deberás priorizar.
-
-Revisa [las funcionalidades](#3-funcionalidades) que el proyecto pide del interfaz.
-
-#### Pruebas unitarias
-
-El _boilerplate_ de este proyecto no incluye Pruebas Unitarias (_tests_), así es
-que tendrás que escribirlas tú para las funciones encargadas de _procesar_,
-_filtrar_ y _ordenar_ la data, así como _calcular_ estadísticas. Este proyecto usa
-el framework [Jest](https://jestjs.io/) para ejecutar las pruebas unitarias por lo
-que te recomendamos consultar su documentación.
-
-Tus _pruebas unitarias_ deben dar una cobertura del 70% de _statements_
-(_sentencias_), _functions_ (_funciones_), _lines_ (_líneas_), y _branches_
-(_ramas_) del archivo `src/dataFunctions.js` que contenga tus funciones y
-está detallado en la sección de [Consideraciones técnicas](#src/data.js).
-
-## 7. Hacker edition
-
-Las secciones llamadas _Hacker Edition_ son **opcionales**. Si **terminaste**
-con todo lo anterior y te queda tiempo, intenta completarlas. Así podrás
-profundizar y/o ejercitar más sobre los objetivos de aprendizaje del proyecto.
-
-Features/características extra sugeridas:
-
-* Visualizar la estadística calculada mediante un gráfico. Para
- ello te recomendamos explorar librerías de gráficas como
- [Chart.js](https://www.chartjs.org/)
- o [Google Charts](https://developers.google.com/chart/).
-* 100% Coverage
-
-## 8. Objetivos de aprendizaje
-
-
-Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.
-
-### HTML
-
-- [ ] **Uso de HTML semántico**
-
- Links
-
- * [HTML semántico](https://curriculum.laboratoria.la/es/topics/html/html5/semantic-html)
- * [Semantics - MDN Web Docs Glossary](https://developer.mozilla.org/en-US/docs/Glossary/Semantics#Semantics_in_HTML)
-
-
-### CSS
-
-- [ ] **Uso de selectores de CSS**
-
- Links
-
- * [Intro a CSS](https://curriculum.laboratoria.la/es/topics/css/css/intro-css)
- * [CSS Selectors - MDN](https://developer.mozilla.org/es/docs/Web/CSS/CSS_Selectors)
-
-
-- [ ] **Modelo de caja (box model): borde, margen, padding**
-
- Links
-
- * [Box Model & Display](https://curriculum.laboratoria.la/es/topics/css/css/boxmodel-and-display)
- * [The box model - MDN](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model)
- * [Introduction to the CSS box model - MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model)
- * [CSS display - MDN](https://developer.mozilla.org/pt-BR/docs/Web/CSS/display)
- * [display - CSS Tricks](https://css-tricks.com/almanac/properties/d/display/)
-
-
-- [ ] **Uso de flexbox en CSS**
-
- Links
-
- * [A Complete Guide to Flexbox - CSS Tricks](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
- * [Flexbox Froggy](https://flexboxfroggy.com/#es)
- * [Flexbox - MDN](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox)
-
-
-### Web APIs
-
-- [ ] **Uso de selectores del DOM**
-
- Links
-
- * [Manipulación del DOM](https://curriculum.laboratoria.la/es/topics/browser/dom/1-dom-methods-selection)
- * [Introducción al DOM - MDN](https://developer.mozilla.org/es/docs/Web/API/Document_Object_Model/Introduction)
- * [Localizando elementos DOM usando selectores - MDN](https://developer.mozilla.org/es/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors)
-
-
-- [ ] **Manejo de eventos del DOM (listeners, propagación, delegación)**
-
- Links
-
- * [Introducción a eventos - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Events)
- * [EventTarget.addEventListener() - MDN](https://developer.mozilla.org/es/docs/Web/API/EventTarget/addEventListener)
- * [EventTarget.removeEventListener() - MDN](https://developer.mozilla.org/es/docs/Web/API/EventTarget/removeEventListener)
- * [El objeto Event](https://developer.mozilla.org/es/docs/Web/API/Event)
-
-
-- [ ] **Manipulación dinámica del DOM**
-
- Links
-
- * [Introducción al DOM](https://developer.mozilla.org/es/docs/Web/API/Document_Object_Model/Introduction)
- * [Node.appendChild() - MDN](https://developer.mozilla.org/es/docs/Web/API/Node/appendChild)
- * [Document.createElement() - MDN](https://developer.mozilla.org/es/docs/Web/API/Document/createElement)
- * [Document.createTextNode()](https://developer.mozilla.org/es/docs/Web/API/Document/createTextNode)
- * [Element.innerHTML - MDN](https://developer.mozilla.org/es/docs/Web/API/Element/innerHTML)
- * [Node.textContent - MDN](https://developer.mozilla.org/es/docs/Web/API/Node/textContent)
-
-
-### JavaScript
-
-- [ ] **Diferenciar entre tipos de datos primitivos y no primitivos**
-
-- [ ] **Arrays (arreglos)**
-
- Links
-
- * [Arreglos](https://curriculum.laboratoria.la/es/topics/javascript/arrays)
- * [Array - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/)
- * [Array.prototype.sort() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)
- * [Array.prototype.forEach() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
- * [Array.prototype.map() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
- * [Array.prototype.filter() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)
- * [Array.prototype.reduce() - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)
-
-
-- [ ] **Objetos (key, value)**
-
- Links
-
- * [Objetos en JavaScript](https://curriculum.laboratoria.la/es/topics/javascript/objects/objects)
-
-
-- [ ] **Variables (declaración, asignación, ámbito)**
-
- Links
-
- * [Valores, tipos de datos y operadores](https://curriculum.laboratoria.la/es/topics/javascript/basics/values-variables-and-types)
- * [Variables](https://curriculum.laboratoria.la/es/topics/javascript/basics/variables)
-
-
-- [ ] **Uso de condicionales (if-else, switch, operador ternario, lógica booleana)**
-
- Links
-
- * [Estructuras condicionales y repetitivas](https://curriculum.laboratoria.la/es/topics/javascript/flow-control/conditionals-and-loops)
- * [Tomando decisiones en tu código — condicionales - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/conditionals)
-
-
-- [ ] **Uso de bucles/ciclos (while, for, for..of)**
-
- Links
-
- * [Bucles (Loops)](https://curriculum.laboratoria.la/es/topics/javascript/flow-control/loops)
- * [Bucles e iteración - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Loops_and_iteration)
-
-
-- [ ] **Funciones (params, args, return)**
-
- Links
-
- * [Funciones (control de flujo)](https://curriculum.laboratoria.la/es/topics/javascript/flow-control/functions)
- * [Funciones clásicas](https://curriculum.laboratoria.la/es/topics/javascript/functions/classic)
- * [Arrow Functions](https://curriculum.laboratoria.la/es/topics/javascript/functions/arrow)
- * [Funciones — bloques de código reutilizables - MDN](https://developer.mozilla.org/es/docs/Learn/JavaScript/Building_blocks/Functions)
-
-
-- [ ] **Pruebas unitarias (unit tests)**
-
- Links
-
- * [Empezando con Jest - Documentación oficial](https://jestjs.io/docs/es-ES/getting-started)
-
-
-- [ ] **Módulos de ECMAScript (ES Modules)**
-
- Links
-
- * [import - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/import)
- * [export - MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/export)
-
-
-- [ ] **Uso de linter (ESLINT)**
-
-- [ ] **Uso de identificadores descriptivos (Nomenclatura y Semántica)**
-
-- [ ] **Diferenciar entre expresiones (expressions) y sentencias (statements)**
-
-### Control de Versiones (Git y GitHub)
-
-- [ ] **Git: Instalación y configuración**
-
-- [ ] **Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)**
-
-- [ ] **Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)**
-
-- [ ] **GitHub: Creación de cuenta y repos, configuración de llaves SSH**
-
-- [ ] **GitHub: Despliegue con GitHub Pages**
-
- Links
-
- * [Sitio oficial de GitHub Pages](https://pages.github.com/)
-
-
-- [ ] **GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)**
-
-### Centrado en el usuario
-
-- [ ] **Diseñar y desarrollar un producto o servicio poniendo a las usuarias en el centro**
-
-### Diseño de producto
-
-- [ ] **Crear prototipos de alta fidelidad que incluyan interacciones**
-
-- [ ] **Seguir los principios básicos de diseño visual**
-
-### Investigación
-
-- [ ] **Planear y ejecutar testeos de usabilidad de prototipos en distintos niveles de fidelidad**
-
- Links
-
- * [Intro a testeos usabilidad](https://coda.io/@bootcamp-laboratoria/contenido-ux/test-de-usabilidad-15)
- * [Pruebas con Usuarios 1 — ¿Qué, cuándo y para qué testeamos?](https://eugeniacasabona.medium.com/pruebas-con-usuarios-1-qu%C3%A9-cu%C3%A1ndo-y-para-qu%C3%A9-testeamos-7c3a89b4b5e7)
-
-
-### AI Prompting
-
-- [ ] **Dando Instrucciones**
-
- Links
-
- * [Dando Instrucciones | Learn Prompting: Your Guide to Communicating with AI](https://learnprompting.org/es/docs/basics/instructions)
-
-
-- [ ] **Few shot prompting**
-
- Links
-
- * [Few shot prompting | Learn Prompting: Your Guide to Communicating with AI](https://learnprompting.org/es/docs/basics/few_shot)
-
-
-## 9. Pistas, tips y lecturas complementarias
-
-### Primeros pasos
-
-Súmate al canal de Slack
-[#project-dataverse](https://claseslaboratoria.slack.com/archives/C03MV35EP5M)
-para conversar y pedir ayuda del proyecto.
-
-Antes de empezar a escribir código, debes definir qué deberá hacer el
-producto con base en el conocimiento que puedas obtener de tu usuaria.
-Estas preguntas te pueden ayudar:
-
-* ¿Quiénes son las principales usuarias del producto?
-* ¿Cuáles son los objetivos de estas usuarias en relación con el producto?
-* ¿Cuáles son los datos más relevantes que quieren ver en la interfaz y por qué?
-* ¿Cuándo utilizan o utilizarían el producto?
-* Toda tu investigación previa debe tener como resultado todas las Historias
- de Usuaria de tu proyecto.
-* No hagas los prototipos de alta fidelidad de todas tus Historias. Comienza
- solamente por los que se necesiten para tu Sprint 1 (semana 1 de trabajo). Más
- pistas en la guía de organización para el proyecto.
-
-Cuando ya estés lista para codear, te sugerimos empezar de esta manera:
-
-1. Una de las integrantes del equipo debe realizar un :fork_and_knife:
- [fork](https://help.github.com/articles/fork-a-repo/) del repo de tu cohort,
- tus _coaches_ te compartirán un _link_ a un repo y te darán acceso de lectura
- en ese repo. La otra integrante del equipo deber hacer un fork **del
- repositorio de su compañera** y
- [configurar](https://gist.github.com/BCasal/026e4c7f5c71418485c1) un `remote`
- hacia el mismo.
-2. :arrow_down: [Clona](https://help.github.com/articles/cloning-a-repository/)
- tu _fork_ a tu computadora (copia local).
-3. 📦 Instala las dependencias del proyecto con el comando `npm install`. Esto
- asume que has instalado [Node.js](https://nodejs.org/) (que incluye [npm](https://docs.npmjs.com/)).
-4. Si todo ha ido bien, deberías poder ejecutar las :traffic_light:
- pruebas unitarias (unit tests) con el comando `npm test`.
-5. Para ver la interfaz de tu programa en el navegador, usa el comando
- `npm start` para arrancar el servidor web y dirígete a
- `http://localhost:5000` en tu navegador.
-6. A codear se ha dicho! :rocket:
-
-### Contenido de referencia
-
-#### Desarrollo Front-end
-
-* [Tópicos en la currícula de Laboratoria](https://curriculum.laboratoria.la/es/web-dev/topics)
- testing, arreglos, objetos, funciones, DOM en Browser Javascript.
-* [Buscando elementos con querySelector*](https://es.javascript.info/searching-elements-dom)
-* [Objeto del evento](https://es.javascript.info/introduction-browser-events#objeto-del-evento)
-* [Array en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array)
-* [Array.sort en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/sort)
-* [Array.toSorted en MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSorted)
-* [Array.map en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/map)
-* [Array.filter en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/filter)
-* [Array.reduce en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/reduce)
-* [Array.forEach en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/forEach)
-* [Object.keys en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Object/keys)
-* [Object.entries en MDN](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Object/entries)
-* [Atributos de datos](https://developer.mozilla.org/es/docs/Learn/HTML/Howto/Use_data_attributes)
-* [expressions-vs-statements](https://2ality.com/2012/09/expressions-vs-statements.html)
-* [expresión vs sentencia](https://openclassrooms.com/en/courses/4309531-descubre-las-funciones-en-javascript/5108986-diferencia-entre-expresion-y-sentencia)
-* [Datos atómicos vs datos estructurados](https://www.todojs.com/tipos-datos-javascript-es6/)
-* [Módulos: Export](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Sentencias/export)
-* [Módulos: Import](https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Sentencias/import)
-* [Diferencia entre array y objetos](https://youtu.be/mJJloQY7A8Y)
-* [¿Cómo puedo recorrer un objeto?](https://youtube.com/01RHn23Bn_0)
-* [`map`, `filter`, `sort` y `reduce` también son métodos para objetos](https://youtu.be/bUl1R2lQvKo)
-* [Diferencia entre expression y statements](https://youtu.be/wlukoWco2zk)
-* [Diferencia entre createElement e innerHTML](https://www.javascripttutorial.net/javascript-dom/javascript-innerhtml-vs-createelement/)
-* [¿Qué es el Scope?](https://youtu.be/s-7C09ymzK8)
-
-#### Herramientas
-
-* [Git](https://git-scm.com/)
-* [GitHub](https://github.com/)
-* [GitHub Pages](https://pages.github.com/)
-* [Para preguntas sobre Git recomendamos ver este playlist](https://www.youtube.com/watch?v=F1EoBbvhaqU&list=PLiAEe0-R7u8k9o3PbT3_QdyoBW_RX8rnV)
-* [Node.js](https://nodejs.org/)
-* [Jest](https://jestjs.io/)
-
-#### Organización del Trabajo
-
-* [Historias de Usuario](https://www.youtube.com/watch?v=ky6wFiF5vMk&t=344s).
- Ojo que Cris no diferencia _Definición de terminado_ de _Criterios de
- Aceptación_ y nosotros sí lo haremos. Más detalles en la guía.
-* [Cómo dividir H.U.](https://www.youtube.com/watch?v=Ueq786iZ30I&t=341s)
-
-## 10. Consideraciones para pedir tu Project Feedback
-
-Antes de agendar tu Project Feedback con un coach, asegúrate que tu proyecto:
-
-* [ ] Cumple con todos los criterios mínimos de aceptación al ejecutar `npm run test:oas`
-* [ ] Cumple con todas las pruebas _end to end_ al ejecutar `npm run test:e2e`
-* [ ] Cumple con todas las pruebas unitarias al ejecutar `npm run test` y
- que tienen una cobertura del 70% de _statements_ (_sentencias_),
- _functions_ (_funciones_), _lines_ (_líneas_), y _branches_
-* [ ] Esta libre de _errores_ de `eslint` al ejecutar `npm run pretest`
-* [ ] Está subido a GitHub y desplegado en GitHub Pages
-* [ ] Captura de pantalla del prompt utilizado para generar los datos.
-* Tiene un `README.md` con la siguente:
- - [ ] _Definición del producto_ clara e informativa
- - [ ] Historias de usuario
- - [ ] Un _Diseño de la Interfaz de Usuaria_ (prototipo de alta fidelidad)
- - [ ] El listado de problemas que detectaste a través de tests
- de usabilidad en el `README.md`
-* Tiene un UI que cumple las funcionalidades:
- - [ ] Muestra lista con datos y/o indicadores
- - [ ] Permite ordenar data por uno o más campos (asc y desc)
- - [ ] Permite filtrar data con base en una condición
- - [ ] Permite limpiar los filtros con un botón
- - [ ] Es _responsive_
-
-Recuerda que debes hacer una autoevaluación de _objetivos de aprendizaje_ y
-_life skills_ desde tu dashboard de estudiante.
-
-Si no has completado todo lo anterior, no consideramos que estás lista para
-tu sesión de Project Feedback.
+¡Que tus aventuras de lectura sean emocionantes y llenas de magia! ¡Hasta pronto!
diff --git a/Trajetas.jpeg b/Trajetas.jpeg
new file mode 100644
index 00000000..45477238
Binary files /dev/null and b/Trajetas.jpeg differ
diff --git a/package-lock.json b/package-lock.json
index 1083af13..7ff46450 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4340,190 +4340,16 @@
}
}
},
- "node_modules/jest-config/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-config/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-config/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-config/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/jest-config/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-config/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-diff": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
- "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-diff/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/jest-diff/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/jest-diff/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/jest-diff/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/jest-diff/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-diff/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-docblock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
- "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
- "dev": true,
- "dependencies": {
- "detect-newline": "^3.0.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-each": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
- "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
+ "node_modules/jest-config/node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true,
- "dependencies": {
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "jest-get-type": "^27.5.1",
- "jest-util": "^27.5.1",
- "pretty-format": "^27.5.1"
- },
"engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ "node": ">= 6"
}
},
- "node_modules/jest-each/node_modules/ansi-styles": {
+ "node_modules/jest-config/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
@@ -4538,7 +4364,7 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/jest-each/node_modules/chalk": {
+ "node_modules/jest-config/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
@@ -4554,7 +4380,7 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/jest-each/node_modules/color-convert": {
+ "node_modules/jest-config/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
@@ -4566,61 +4392,13 @@
"node": ">=7.0.0"
}
},
- "node_modules/jest-each/node_modules/color-name": {
+ "node_modules/jest-config/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "node_modules/jest-each/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-each/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jest-environment-jsdom": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
- "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
- "dev": true,
- "dependencies": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
- "@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1",
- "jest-util": "^27.5.1",
- "jsdom": "^16.6.0"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/jest-environment-jsdom/node_modules/@tootallnate/once": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
- "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/jest-environment-jsdom/node_modules/cssstyle": {
+ "node_modules/jest-config/node_modules/cssstyle": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
"integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
@@ -4632,13 +4410,13 @@
"node": ">=8"
}
},
- "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": {
+ "node_modules/jest-config/node_modules/cssstyle/node_modules/cssom": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
"integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
"dev": true
},
- "node_modules/jest-environment-jsdom/node_modules/data-urls": {
+ "node_modules/jest-config/node_modules/data-urls": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
"integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
@@ -4652,7 +4430,7 @@
"node": ">=10"
}
},
- "node_modules/jest-environment-jsdom/node_modules/domexception": {
+ "node_modules/jest-config/node_modules/domexception": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
"integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
@@ -4665,7 +4443,7 @@
"node": ">=8"
}
},
- "node_modules/jest-environment-jsdom/node_modules/domexception/node_modules/webidl-conversions": {
+ "node_modules/jest-config/node_modules/domexception/node_modules/webidl-conversions": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
@@ -4674,7 +4452,7 @@
"node": ">=8"
}
},
- "node_modules/jest-environment-jsdom/node_modules/form-data": {
+ "node_modules/jest-config/node_modules/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
@@ -4688,7 +4466,16 @@
"node": ">= 6"
}
},
- "node_modules/jest-environment-jsdom/node_modules/html-encoding-sniffer": {
+ "node_modules/jest-config/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/html-encoding-sniffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
"integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
@@ -4700,7 +4487,7 @@
"node": ">=10"
}
},
- "node_modules/jest-environment-jsdom/node_modules/http-proxy-agent": {
+ "node_modules/jest-config/node_modules/http-proxy-agent": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
@@ -4714,7 +4501,7 @@
"node": ">= 6"
}
},
- "node_modules/jest-environment-jsdom/node_modules/iconv-lite": {
+ "node_modules/jest-config/node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
@@ -4726,7 +4513,25 @@
"node": ">=0.10.0"
}
},
- "node_modules/jest-environment-jsdom/node_modules/jsdom": {
+ "node_modules/jest-config/node_modules/jest-environment-jsdom": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jsdom": "^16.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-config/node_modules/jsdom": {
"version": "16.7.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
"integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
@@ -4772,13 +4577,13 @@
}
}
},
- "node_modules/jest-environment-jsdom/node_modules/parse5": {
+ "node_modules/jest-config/node_modules/parse5": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
"dev": true
},
- "node_modules/jest-environment-jsdom/node_modules/punycode": {
+ "node_modules/jest-config/node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
@@ -4787,7 +4592,7 @@
"node": ">=6"
}
},
- "node_modules/jest-environment-jsdom/node_modules/saxes": {
+ "node_modules/jest-config/node_modules/saxes": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
"integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
@@ -4799,7 +4604,19 @@
"node": ">=10"
}
},
- "node_modules/jest-environment-jsdom/node_modules/tr46": {
+ "node_modules/jest-config/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-config/node_modules/tr46": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
"integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
@@ -4811,7 +4628,7 @@
"node": ">=8"
}
},
- "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": {
+ "node_modules/jest-config/node_modules/w3c-xmlserializer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
"integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
@@ -4823,7 +4640,7 @@
"node": ">=10"
}
},
- "node_modules/jest-environment-jsdom/node_modules/webidl-conversions": {
+ "node_modules/jest-config/node_modules/webidl-conversions": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
"integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
@@ -4832,7 +4649,7 @@
"node": ">=10.4"
}
},
- "node_modules/jest-environment-jsdom/node_modules/whatwg-encoding": {
+ "node_modules/jest-config/node_modules/whatwg-encoding": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
@@ -4841,13 +4658,13 @@
"iconv-lite": "0.4.24"
}
},
- "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": {
+ "node_modules/jest-config/node_modules/whatwg-mimetype": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
"dev": true
},
- "node_modules/jest-environment-jsdom/node_modules/whatwg-url": {
+ "node_modules/jest-config/node_modules/whatwg-url": {
"version": "8.7.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
"integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
@@ -4861,7 +4678,7 @@
"node": ">=10"
}
},
- "node_modules/jest-environment-jsdom/node_modules/ws": {
+ "node_modules/jest-config/node_modules/ws": {
"version": "7.5.9",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
@@ -4882,12 +4699,195 @@
}
}
},
- "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": {
+ "node_modules/jest-config/node_modules/xml-name-validator": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
"dev": true
},
+ "node_modules/jest-diff": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-diff/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/jest-diff/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-diff/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-docblock": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+ "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
+ "dev": true,
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+ "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-each/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jest-each/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jest-each/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jest-each/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/jest-each/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-each/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/jest-environment-node": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
@@ -5402,6 +5402,15 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
+ "node_modules/jest-runner/node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/jest-runner/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -5451,27 +5460,313 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "node_modules/jest-runner/node_modules/cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ },
+ "node_modules/jest-runner/node_modules/data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "dev": true,
+ "dependencies": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jest-runner/node_modules/domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "deprecated": "Use your platform's native DOMException instead",
+ "dev": true,
+ "dependencies": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/domexception/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "dev": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/jest-runner/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-encoding": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jest-runner/node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dev": true,
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/jest-runner/node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/jest-environment-jsdom": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jsdom": "^16.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-runner/node_modules/jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "dev": true,
+ "dependencies": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-runner/node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
+ "node_modules/jest-runner/node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jest-runner/node_modules/saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "dev": true,
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jest-runner/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-runner/node_modules/w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "dev": true,
+ "dependencies": {
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jest-runner/node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.4"
+ }
+ },
+ "node_modules/jest-runner/node_modules/whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dev": true,
+ "dependencies": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "node_modules/jest-runner/node_modules/whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "node_modules/jest-runner/node_modules/whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/jest-runner/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "node_modules/jest-runner/node_modules/ws": {
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
}
},
+ "node_modules/jest-runner/node_modules/xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ },
"node_modules/jest-runtime": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
@@ -11045,224 +11340,7 @@
"pretty-format": "^27.5.1",
"slash": "^3.0.0",
"stack-utils": "^2.0.3",
- "throat": "^6.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-cli": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
- "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
- "dev": true,
- "requires": {
- "@jest/core": "^27.5.1",
- "@jest/test-result": "^27.5.1",
- "@jest/types": "^27.5.1",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.9",
- "import-local": "^3.0.2",
- "jest-config": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "prompts": "^2.0.1",
- "yargs": "^16.2.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-config": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
- "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.8.0",
- "@jest/test-sequencer": "^27.5.1",
- "@jest/types": "^27.5.1",
- "babel-jest": "^27.5.1",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "graceful-fs": "^4.2.9",
- "jest-circus": "^27.5.1",
- "jest-environment-jsdom": "^27.5.1",
- "jest-environment-node": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "jest-jasmine2": "^27.5.1",
- "jest-regex-util": "^27.5.1",
- "jest-resolve": "^27.5.1",
- "jest-runner": "^27.5.1",
- "jest-util": "^27.5.1",
- "jest-validate": "^27.5.1",
- "micromatch": "^4.0.4",
- "parse-json": "^5.2.0",
- "pretty-format": "^27.5.1",
- "slash": "^3.0.0",
- "strip-json-comments": "^3.1.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jest-diff": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
- "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "diff-sequences": "^27.5.1",
- "jest-get-type": "^27.5.1",
- "pretty-format": "^27.5.1"
+ "throat": "^6.0.1"
},
"dependencies": {
"ansi-styles": {
@@ -11316,26 +11394,24 @@
}
}
},
- "jest-docblock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
- "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
- "dev": true,
- "requires": {
- "detect-newline": "^3.0.0"
- }
- },
- "jest-each": {
+ "jest-cli": {
"version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
- "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+ "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
"dev": true,
"requires": {
+ "@jest/core": "^27.5.1",
+ "@jest/test-result": "^27.5.1",
"@jest/types": "^27.5.1",
"chalk": "^4.0.0",
- "jest-get-type": "^27.5.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "import-local": "^3.0.2",
+ "jest-config": "^27.5.1",
"jest-util": "^27.5.1",
- "pretty-format": "^27.5.1"
+ "jest-validate": "^27.5.1",
+ "prompts": "^2.0.1",
+ "yargs": "^16.2.0"
},
"dependencies": {
"ansi-styles": {
@@ -11389,19 +11465,36 @@
}
}
},
- "jest-environment-jsdom": {
+ "jest-config": {
"version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
- "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+ "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
"dev": true,
"requires": {
- "@jest/environment": "^27.5.1",
- "@jest/fake-timers": "^27.5.1",
+ "@babel/core": "^7.8.0",
+ "@jest/test-sequencer": "^27.5.1",
"@jest/types": "^27.5.1",
- "@types/node": "*",
- "jest-mock": "^27.5.1",
+ "babel-jest": "^27.5.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^27.5.1",
+ "jest-environment-jsdom": "^27.5.1",
+ "jest-environment-node": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "jest-jasmine2": "^27.5.1",
+ "jest-regex-util": "^27.5.1",
+ "jest-resolve": "^27.5.1",
+ "jest-runner": "^27.5.1",
"jest-util": "^27.5.1",
- "jsdom": "^16.6.0"
+ "jest-validate": "^27.5.1",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^27.5.1",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
},
"dependencies": {
"@tootallnate/once": {
@@ -11410,6 +11503,40 @@
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true
},
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
"cssstyle": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
@@ -11466,6 +11593,12 @@
"mime-types": "^2.1.12"
}
},
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
"html-encoding-sniffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
@@ -11495,6 +11628,21 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
+ "jest-environment-jsdom": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jsdom": "^16.6.0"
+ }
+ },
"jsdom": {
"version": "16.7.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
@@ -11551,6 +11699,15 @@
"xmlchars": "^2.2.0"
}
},
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
"tr46": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
@@ -11581,38 +11738,174 @@
"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
"dev": true,
"requires": {
- "iconv-lite": "0.4.24"
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ }
+ },
+ "ws": {
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "dev": true,
+ "requires": {}
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
+ }
+ }
+ },
+ "jest-diff": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+ "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.5.1",
+ "jest-get-type": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-docblock": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+ "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
+ "dev": true,
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+ "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^27.5.1",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "pretty-format": "^27.5.1"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
}
},
- "whatwg-mimetype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "whatwg-url": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
- "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "lodash": "^4.7.0",
- "tr46": "^2.1.0",
- "webidl-conversions": "^6.1.0"
+ "has-flag": "^4.0.0"
}
- },
- "ws": {
- "version": "7.5.9",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
- "dev": true,
- "requires": {}
- },
- "xml-name-validator": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
- "dev": true
}
}
},
@@ -12006,6 +12299,12 @@
"throat": "^6.0.1"
},
"dependencies": {
+ "@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "dev": true
+ },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -12040,12 +12339,168 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dev": true,
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+ "dev": true
+ }
+ }
+ },
+ "data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ }
+ },
+ "domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "dev": true,
+ "requires": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+ "dev": true
+ }
+ }
+ },
+ "form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "dev": true,
+ "requires": {
+ "whatwg-encoding": "^1.0.5"
+ }
+ },
+ "http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dev": true,
+ "requires": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+ "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^27.5.1",
+ "@jest/fake-timers": "^27.5.1",
+ "@jest/types": "^27.5.1",
+ "@types/node": "*",
+ "jest-mock": "^27.5.1",
+ "jest-util": "^27.5.1",
+ "jsdom": "^16.6.0"
+ }
+ },
+ "jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "dev": true,
+ "requires": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
+ "punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true
+ },
+ "saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "dev": true,
+ "requires": {
+ "xmlchars": "^2.2.0"
+ }
+ },
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -12054,6 +12509,69 @@
"requires": {
"has-flag": "^4.0.0"
}
+ },
+ "tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "dev": true,
+ "requires": {
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "dev": true
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ }
+ },
+ "ws": {
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "dev": true,
+ "requires": {}
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+ "dev": true
}
}
},
diff --git a/package.json b/package.json
index bb4defe9..419c9135 100644
--- a/package.json
+++ b/package.json
@@ -49,4 +49,5 @@
"jest": {
"testEnvironment": "jsdom"
}
-}
\ No newline at end of file
+}
+
diff --git a/src/assets/img/bienvenida.png b/src/assets/img/bienvenida.png
new file mode 100644
index 00000000..f500123a
Binary files /dev/null and b/src/assets/img/bienvenida.png differ
diff --git a/src/assets/img/footer.png b/src/assets/img/footer.png
new file mode 100644
index 00000000..0b466769
Binary files /dev/null and b/src/assets/img/footer.png differ
diff --git a/src/data/dataset.js b/src/data/dataset.js
index 0ebafb6f..bf154b6c 100644
--- a/src/data/dataset.js
+++ b/src/data/dataset.js
@@ -1,378 +1,315 @@
export default [
{
- "id": "ada-lovelace",
- "name": "Ada Lovelace",
- "shortDescription": "Pionera en la programación, primera programadora de la historia.",
- "description": "Una visionaria matemática británica del siglo XIX, es aclamada como la primera programadora de la historia. Su colaboración con Charles Babbage en la creación de la Máquina Analítica la llevó a desarrollar algoritmos, incluyendo el famoso \"algoritmo de Bernoulli\", destinados a ser procesados por una máquina. Su visión pionera la convirtió en una figura fundamental en la informática y la inteligencia artificial. Lovelace demostró que las computadoras podían ir más allá de simples cálculos matemáticos, anticipando un mundo donde la programación sería esencial en la resolución de problemas complejos, dejando una huella imborrable en la ciencia y la tecnología.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/ada-lovelace.jpg",
+ "id": "Pinocho",
+ "name": "Pinocho",
+ "shortDescription": "Muñeco de madera que cobra vida",
+ "description": "Pinocho es un clásico cuento para niños escrito por Carlo Collodi. Narra la historia de un muñeco de madera tallado por el bondadoso Geppetto, quien sueña con tener un hijo. La marioneta cobra vida gracias a la hada Azul, pero su nariz crece cuando miente. Pinocho se embarca en diversas aventuras, enfrentando peligros y aprendiendo lecciones sobre la honestidad y la responsabilidad. Con personajes entrañables y situaciones emocionantes, el cuento enseña valiosas lecciones morales de una manera divertida y cautivadora",
+ "imageUrl": "https://th.bing.com/th/id/OIG.Hx9k0_XgQwnbWEsPAQnf?pid=ImgGn",
"facts": {
- "yearOfBirth": "1815",
- "yearOfDeath": "1852",
- "birthPlace": "Londres, Reino Unido",
- "mainField": "Ciencia de la Computación"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/genera-una-imagen-de-ada-lovelace2c-la-primera-prog/650a1eff8ff04b88833d5cdef0309441"
+ "curiousFact1": "Anhela ser un niño de verdad",
+ "curiousFact2": "Acompañado por su conciencia, Pepito Grillo",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "emmy-noether",
- "name": "Emmy Noether",
- "shortDescription": "Matemática destacada, teorema fundamental en álgebra abstracta.",
- "description": "Una brillante matemática alemana, revolucionó la física teórica con sus contribuciones al teorema de conservación de la energía y el teorema de Noether, fundamentales en la teoría de la relatividad y la mecánica cuántica. A pesar de los obstáculos que enfrentó como mujer en la academia, sus investigaciones en álgebra abstracta y teoría de grupos son fundamentales en la física moderna. Su capacidad para unificar conceptos matemáticos y físicos marcó un hito en la historia de la ciencia, allanando el camino para futuras generaciones de científicas.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/emmy-noether.jpg",
+ "id": "ElefanteBernardo",
+ "name": "El Elefante Bernardo",
+ "shortDescription": "Gigante y amigable elefante",
+ "description": "El Elefante Bernardo es un gigante elefante que vive en la selva. A pesar de su imponente tamaño, es conocido por su naturaleza amigable y su amor por la naturaleza.",
+ "imageUrl": "https://th.bing.com/th/id/OIG3.o7I461DRPog9_U20saVV?pid=ImgGn",
"facts": {
- "yearOfBirth": "1882",
- "yearOfDeath": "1935",
- "birthPlace": "Erlangen, Alemania",
- "mainField": "Matemáticas"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/create-an-image-of-of-a-german-woman2c-a-pioneering/6510ddb1e8254b928b8f8f1d5e95fea4"
+ "curiousFact1": "Tiene una memoria excepcional",
+ "curiousFact2": "Siempre lleva consigo una mariposa como amuleto de la suerte",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "3 a 5 años"
}
},
{
- "id": "hypatia-de-alejandria",
- "name": "Hypatia de Alejandría",
- "shortDescription": "Matemática y filósofa en la antigua Alejandría.",
- "description": "Filósofa y matemática en la antigua Alejandría, desafió las normas de género de su época al destacar en una sociedad dominada por hombres. Su legado incluye importantes contribuciones a la geometría y la astronomía, así como su destacado papel como maestra y defensora del conocimiento en una época de agitación política. Hypatia demostró que las mujeres podían sobresalir en campos intelectuales y su valentía al mantener sus creencias filosóficas la convierte en un símbolo de resistencia y sabiduría en la historia de la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/hypatia-de-alejandria.jpg",
+ "id": "UgaLaTortuga",
+ "name": "Uga la Tortuga",
+ "shortDescription": "Anciana y sabia tortuga",
+ "description": "Huga la Tortuga es un encantador cuento para niños escrito por Diane Redfield Massie. La historia sigue a Huga, una tortuga que sueña con explorar el mundo más allá de su hogar en el océano. A pesar de las dudas y burlas de sus amigos, Huga persevera y emprende un emocionante viaje. En su aventura, descubre la importancia del valor, la determinación y la autoaceptación. A través de ilustraciones coloridas y una narrativa cautivadora, este cuento inspira a los lectores a seguir sus sueños y creer en sí mismos.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.4cMd5Q7B07Hb3fD7_amy?pid=ImgGn",
"facts": {
- "yearOfBirth": "circa 360",
- "yearOfDeath": "415",
- "birthPlace": "Alejandría, Egipto",
- "mainField": "Matemáticas, Filosofía"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/create-a-vivid-digital-artwork-or-painting-that-de/6510df0ebe1a4807af22175452761e1a"
+ "curiousFact1": "Guardiana de cuentos antiguos",
+ "curiousFact2": "Puede predecir cambios en el clima",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "6 a 10 años"
}
},
{
- "id": "marjorie-lee-browne",
- "name": "Marjorie Lee Browne",
- "shortDescription": "Matemática, contribuyó a la teoría de números.",
- "description": "Matemática estadounidense, destacó en una época en la que las mujeres afroamericanas enfrentaban múltiples barreras en la educación superior. No solo obtuvo su doctorado en matemáticas, sino que también se convirtió en una destacada educadora, promoviendo la diversidad en las ciencias matemáticas y desafiando la discriminación racial y de género. Su compromiso con la educación y su capacidad para inspirar a futuras generaciones la convierten en un modelo a seguir para las mujeres en la ciencia, dejando una huella perdurable en la historia académica.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/marjorie-lee-browne.jpg",
+ "id": "LiebreYTortuga",
+ "name": "La Liebre y la Tortuga",
+ "shortDescription": "Personajes de la famosa fábula",
+ "description": "Huga la Tortuga es un encantador cuento para niños escrito por Diane Redfield Massie. La historia sigue a Huga, una tortuga que sueña con explorar el mundo más allá de su hogar en el océano. A pesar de las dudas y burlas de sus amigos, Huga persevera y emprende un emocionante viaje. En su aventura, descubre la importancia del valor, la determinación y la autoaceptación. A través de ilustraciones coloridas y una narrativa cautivadora, este cuento inspira a los lectores a seguir sus sueños y creer en sí mismos.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.22ARtDnxN8DdvuwaTf3B?pid=ImgGn",
"facts": {
- "yearOfBirth": "1914",
- "yearOfDeath": "1979",
- "birthPlace": "Memphis, Estados Unidos",
- "mainField": "Matemáticas"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/design-an-inspiring-and-historically-accurate-imag/6510df7e7bb745f69d67f695441607a8"
+ "curiousFact1": "Fábula atribuida a Esopo",
+ "curiousFact2": "Enseñanza popular en la cultura mundial",
+ "genero": "Fábula",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "shakuntala-devi",
- "name": "Shakuntala Devi",
- "shortDescription": "Matemática prodigio, conocida como la 'Calculadora Humana'.",
- "description": "Conocida como \"la bruja de las matemáticas\" de la India, dejó una marca indeleble en el mundo de los números. Su capacidad mental asombrosa la llevó a resolver complejos cálculos matemáticos mentalmente en cuestión de segundos, estableciendo récords mundiales. Además de su talento innato, Devi promovió activamente la educación matemática y luchó por la igualdad de género en un país donde las mujeres enfrentaban desafíos en la ciencia y la educación. Su legado destaca el poder de la mente humana y la importancia de la igualdad de oportunidades en la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/shakuntala-devi.jpg",
+ "id": "HuevoQuePia",
+ "name": "El Huevo que Pia",
+ "shortDescription": "Un huevo especial con sorpresa",
+ "description": "El Huevo que pía es un cuento clásico infantil, donde un grupo de animales se encuentra un misterioso huevo en el bosque. Ninguno sabe qué animal podría salir de él, pero todos están emocionados por descubrirlo. Durante días, observan el huevo con ansias hasta que finalmente se rompe y nace... un pequeño patito. Al principio, los animales se sienten decepcionados, pero luego aprenden a aceptar y amar al patito, quien resulta ser muy especial. La historia enseña valores de tolerancia, aceptación y amor por la diferencia, mostrando que lo que parece diferente puede ser maravilloso.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.cJTRrmCVSPuCqzwD5a9V?pid=ImgGnhttps://th.bing.com/th/id/OIG.cJTRrmCVSPuCqzwD5a9V?pid=ImgGn",
"facts": {
- "yearOfBirth": "1929",
- "yearOfDeath": "2013",
- "birthPlace": "Bangalore, India",
- "mainField": "Matemáticas"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/indian-woman-writing-math-problems-in-a-blackbard-/6510e19f3db54e14b365b7e8dc5045f6"
+ "curiousFact1": "Fuente de asombro en la granja",
+ "curiousFact2": "Siempre rodeado de misterio",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "3 a 5 años"
}
},
{
- "id": "sofia-kovalevskaya",
- "name": "Sofia Kovalevskaya",
- "shortDescription": "Matemática y escritora, contribuyó a la teoría de funciones.",
- "description": "Matemática rusa del siglo XIX, dejó una marca indeleble en la ciencia del siglo XIX al desafiar las barreras de género. Como matemática rusa, superó las restricciones sociales de su época para convertirse en la primera mujer en obtener un doctorado en matemáticas en Europa. Sus contribuciones a la teoría de las ecuaciones diferenciales y la mecánica revolucionaron la disciplina, abriendo nuevas perspectivas en el análisis matemático. Su destacada membresía en la Academia de Ciencias de Suecia marcó un hito en la historia de las mujeres en la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/sofia-kovalevskaya.jpg",
+ "id": "PatitoFeo",
+ "name": "El Patito Feo",
+ "shortDescription": "Pequeño patito con un destino sorprendente",
+ "description": "El Patito Feo es un cuento clásico de Hans Christian Andersen. Cuenta la historia de un patito que, desde su nacimiento, es objeto de burlas y rechazo debido a su aspecto diferente y poco agraciado. Después de sufrir numerosas adversidades y ser rechazado por los demás animales de la granja, el patito decide huir en busca de un lugar donde ser aceptado. Tras un largo viaje, descubre que es un cisne, una de las aves más hermosas y admiradas. La historia enseña valiosas lecciones sobre la autoaceptación, la perseverancia y la belleza interior.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.trUAtSaEEfBWO5uOTztQ?pid=ImgGn",
"facts": {
- "yearOfBirth": "1850",
- "yearOfDeath": "1891",
- "birthPlace": "Moscú, Rusia",
- "mainField": "Matemáticas"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/indian-woman-writing-math-problems-in-a-blackbard-/6510e19f3db54e14b365b7e8dc5045f6"
+ "curiousFact1": "Escrito por Hans Christian Andersen",
+ "curiousFact2": "Mensaje de aceptación y autovaloración",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "yoko-shimomura",
- "name": "Yoko Shimomura",
- "shortDescription": "Compositora de música, destacada en la industria de los videojuegos.",
- "description": "Compositora japonesa, es una figura destacada en la ciencia de la música y el arte sonoro. Aunque no se dedica a la ciencia en el sentido tradicional, su trabajo en la composición musical ha requerido un profundo entendimiento de la teoría musical y la tecnología de audio. Ha contribuido de manera significativa a la industria de los videojuegos, componiendo icónicas bandas sonoras que han enriquecido la experiencia de juego. Su éxito en un campo donde las mujeres estaban subrepresentadas la convierte en un modelo a seguir, incluso en campos no convencionales como la composición musical.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/yoko-shimomura.jpg",
+ "id": "OsitoCurioso",
+ "name": "El Osito Curioso",
+ "shortDescription": "Aventuras de un osito que ama aprender",
+ "description": "El Patito Feo es un cuento clásico de Hans Christian Andersen. Cuenta la historia de un patito que, desde su nacimiento, es objeto de burlas y rechazo debido a su aspecto diferente y poco agraciado. Después de sufrir numerosas adversidades y ser rechazado por los demás animales de la granja, el patito decide huir en busca de un lugar donde ser aceptado. Tras un largo viaje, descubre que es un cisne, una de las aves más hermosas y admiradas. La historia enseña valiosas lecciones sobre la autoaceptación, la perseverancia y la belleza interior.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.ooZJ3fAbRb4qUtqYHx65?pid=ImgGn",
"facts": {
- "yearOfBirth": "1967",
- "birthPlace": "Hyogo, Japón",
- "mainField": "Composición Musical, Video Juegos"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/yoko-shimomura-making-music-for-a-video-game-in-19/6510e40dd1eb45d0906e8c1f4bb601d3"
+ "curiousFact1": "Siempre lleva consigo su mochila de explorador",
+ "curiousFact2": "Tiene muchos amigos animales",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "3 a 5 años"
}
},
{
- "id": "maryam-mirzakhani",
- "name": "Maryam Mirzakhani",
- "shortDescription": "Matemática, ganadora del Premio Fields.",
- "description": "Matemática iraní, hizo historia al convertirse en la primera mujer en ganar la Medalla Fields, el premio más prestigioso en matemáticas. Sus investigaciones en la geometría de superficies y la teoría de las superficies de Riemann han tenido un impacto duradero en la matemática pura. A lo largo de su carrera, Mirzakhani inspiró a muchas mujeres a perseguir carreras en ciencia y matemáticas, derribando las barreras de género. Su enfoque innovador y su capacidad para resolver problemas complejos la convierten en un modelo a seguir para la comunidad científica y en un símbolo de la excelencia matemática.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/maryam-mirzakhani.jpg",
+ "id": "AventuraPececitoAzul",
+ "name": "La Aventura del Pececito Azul",
+ "shortDescription": "Un pececito curioso explora el océano",
+ "description": "Acompaña al Pececito Azul en su emocionante aventura por el océano, donde descubre la importancia de la amistad y la superación.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.vvwIdPTH10GErdhizrqo?pid=ImgGn",
"facts": {
- "yearOfBirth": "1977",
- "yearOfDeath": "2017",
- "birthPlace": "Teherán, Irán",
- "mainField": "Matemáticas"
- },
- "extraInfo": {
- "imageSource": "https://chalkdustmagazine.com/features/mathematics-maryam-mirzakhani/"
+ "curiousFact1": "Tiene escamas brillantes",
+ "curiousFact2": "Aprende a nadar en espirales",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "6 a 10 años"
}
},
{
- "id": "adele-goldberg",
- "name": "Adele Goldberg",
- "shortDescription": "Informática pionera, co-creadora del lenguaje de programación Smalltalk.",
- "description": "Informática estadounidense reconocida por su influyente trabajo en la investigación y desarrollo de la programación orientada a objetos. Su contribución más destacada es la creación del lenguaje de programación Smalltalk, que revolucionó la forma en que se desarrollan software y sistemas informáticos. Goldberg ha sido una defensora incansable de la usabilidad y la accesibilidad en la informática, asegurando que las aplicaciones informáticas sean más amigables para los usuarios. Su trabajo ha allanado el camino para una programación más intuitiva y eficiente, y su legado perdura en la industria de la tecnología.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/adele-goldberg.jpg",
+ "id": "RatonaRosita",
+ "name": "Las Travesuras de la Ratona Rosita",
+ "shortDescription": "Ratona traviesa en busca de diversión",
+ "description": "Ratona Rosita es un cuento infantil que sigue las aventuras de una pequeña ratón llamada Rosita. Rosita es curiosa y valiente, y siempre está buscando nuevas experiencias en su entorno. Un día, mientras explora un granero, descubre un rincón secreto lleno de deliciosos quesos. Sin embargo, al intentar llevarse uno, queda atrapada en una trampa para ratones. Con ingenio y determinación, Rosita logra liberarse y regresa a su madriguera con la lección aprendida: la importancia de la prudencia y la astucia. Este cuento enseña valores como la valentía, la perseverancia y la prudencia.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.ut23lB.pqFl2rWuTU4g1?pid=ImgGn",
"facts": {
- "yearOfBirth": "1945",
- "birthPlace": "Chicago, Estados Unidos",
- "mainField": "Ciencias de la Computación"
- },
- "extraInfo": {
- "imageSource": "https://pionerasinformaticas.ujaen.es/en/computer-women-pioneers/adele-goldberg-en"
+ "curiousFact1": "Siempre lleva un lazo rojo",
+ "curiousFact2": "Tiene una colección de cuentos",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "3 a 5 años"
}
},
{
- "id": "barbara-liskov",
- "name": "Barbara Liskov",
- "shortDescription": "Científica de la computación, pionera en programación orientada a objetos.",
- "description": "Pionera de la informática, es conocida por su trabajo en la programación y la arquitectura de sistemas distribuidos. Fue la primera mujer en obtener un doctorado en ciencias de la computación en el Instituto de Tecnología de Stanford y desarrolló el lenguaje de programación CLU, que estableció fundamentos para la programación orientada a objetos. Liskov ha dejado una marca indeleble en la industria de la tecnología al liderar avances en sistemas de almacenamiento y seguridad informática. Su enfoque en la fiabilidad y la robustez ha influido en el diseño de sistemas críticos en todo el mundo.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/barbara-liskov.jpg",
+ "id": "CenicientaAmigosAnimales",
+ "name": "Cenicienta y sus Amigos Animales",
+ "shortDescription": "Una versión encantadora del clásico cuento",
+ "description": "El cuento de Cenicienta y sus amigos animales es una versión adaptada del clásico cuento de hadas. Narra la historia de Cenicienta, una joven maltratada por su madrastra y hermanastras, que encuentra consuelo en la amistad de los animales del bosque: ratones, pájaros y otros animales pequeños. Estos amigos, con su ingenio y solidaridad, ayudan a Cenicienta a superar las adversidades y lograr su sueño de asistir al baile real. A través de la lealtad y el trabajo en equipo, el cuento resalta la importancia de la amistad y la bondad, mostrando cómo el apoyo mutuo puede conducir a la realización de los deseos más profundos.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.HrtZwjx795WPJHIxWauj?pid=ImgGn",
"facts": {
- "yearOfBirth": "1939",
- "birthPlace": "Los Angeles, Estados Unidos",
- "mainField": "Ciencia de la Computación"
- },
- "extraInfo": {
- "imageSource": "https://medium.com/a-computer-of-ones-own/barbara-liskov-inventor-of-abstract-data-types-9f8908fdcf86"
+ "curiousFact1": "Los amigos animales tienen nombres divertidos",
+ "curiousFact2": "El hada madrina también juega un papel importante",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "grace-hopper",
- "name": "Grace Hopper",
- "shortDescription": "Científica de la computación, creadora del primer compilador.",
- "description": "Una de las pioneras de la informática, es famosa por su contribución al desarrollo del primer compilador y al lenguaje de programación COBOL. Además, desafió los estereotipos de género en la década de 1940 al unirse a la Marina de los Estados Unidos y convertirse en la primera programadora de la computadora Harvard Mark I. Su legado abarca la creación de conceptos cruciales como la \"depuración de software\" y su influencia en el desarrollo de la informática moderna, estableciendo estándares para la programación de alto nivel y la innovación tecnológica.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/grace-hopper.jpg",
+ "id": "GatoConBotasAventuraReino",
+ "name": "El Gato con Botas y la Aventura en el Reino",
+ "shortDescription": "El astuto gato que conquista el corazón del reino",
+ "description": "El Gato con Botas y la Aventura en el Reino es una versión moderna y adaptada del clásico cuento de hadas. En esta historia, el astuto gato con botas, que pertenece a un joven granjero, se embarca en una emocionante aventura para ayudar a su amo a conquistar el corazón de la princesa y salvar el reino de una malvada bruja. Con ingenio y astucia, el gato con botas supera numerosos desafíos y enemigos, demostrando que el coraje y la inteligencia pueden superar cualquier obstáculo. Esta versión del cuento enseña lecciones sobre la importancia de la valentía, la astucia y la amistad verdadera.",
+ "imageUrl": "https://th.bing.com/th/id/OIG2.j4NowxnjROOoSoPbvsxZ?pid=ImgGn",
"facts": {
- "yearOfBirth": "1906",
- "yearOfDeath": "1992",
- "birthPlace": "Nueva York, Estados Unidos",
- "mainField": "Ciencia de la Computación"
- },
- "extraInfo": {
- "imageSource": "https://photos.com/featured/grace-hopper-with-early-computer-bettmann.html"
+ "curiousFact1": "Siempre lleva sus botas mágicas",
+ "curiousFact2": "Tiene una habilidad especial para la estrategia",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "margaret-hamilton",
- "name": "Margaret Hamilton",
- "shortDescription": "Científica de la computación, lideró desarrollo de software para Apollo 11.",
- "description": "Destacada científica de la computación que desempeñó un papel fundamental en el programa Apollo de la NASA. Fue directora de la División de Ingeniería de Software en el Laboratorio de Instrumentación del MIT, donde desarrolló el concepto de \"ingeniería de software\". Su liderazgo en el desarrollo del software de vuelo para las misiones Apollo fue fundamental para el éxito de la llegada del hombre a la Luna. Hamilton es un ejemplo de cómo la tecnología y la ciencia pueden alcanzar logros extraordinarios cuando se combinan con un enfoque innovador y una visión audaz.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/margaret-hamilton.jpg",
+ "id": "BlancanievesSieteEnanitos",
+ "name": "Blancanieves y los Siete Enanitos",
+ "shortDescription": "La historia mágica de amistad y superación",
+ "description": "Blanca Nieve y los Siete Enanitos es un cuento de hadas clásico que narra la historia de una joven princesa llamada Blanca Nieve, quien es perseguida por su malvada madrastra, la Reina Grimhilde, debido a su belleza. Blanca Nieve encuentra refugio en una cabaña en el bosque, donde vive con siete enanitos amables y trabajadores. A través de sus aventuras, Blanca Nieve aprende lecciones sobre la bondad, la amistad y la importancia de mantenerse fiel a uno mismo. Con la ayuda de los enanitos y otros personajes, logra vencer los obstáculos y encontrar su felicidad. Este cuento enseña valores de amor, compasión y valentía.",
+ "imageUrl": "https://th.bing.com/th/id/OIG3..kOh.Mpjmqdq7JgPjcWH?pid=ImgGn",
"facts": {
- "yearOfBirth": "1936",
- "birthPlace": "Paoli, Indiana, Estados Unidos",
- "mainField": "Ciencia de la Computación"
- },
- "extraInfo": {
- "imageSource": "https://odetta.ai/blogs/margaret-hamilton-the-first-software-engineer"
+ "curiousFact1": "Cada enanito tiene una personalidad única",
+ "curiousFact2": "La malvada madrastra juega un papel importante en la trama",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "radia-perlman",
- "name": "Radia Perlman",
- "shortDescription": "Ingeniera de redes, inventora del algoritmo Spanning Tree.",
- "description": "Científica de la computación estadounidense, ha dejado una marca indeleble en el mundo de las redes informáticas y la seguridad. Conocida como \"la madre de Internet\", su invención del algoritmo Spanning Tree Protocol (STP) revolucionó la conectividad de redes y sentó las bases para la infraestructura de Internet moderna. A pesar de operar en un campo dominado por hombres, Perlman ha demostrado que las mujeres pueden liderar avances tecnológicos vitales. Su compromiso con la resiliencia de las redes y la ciberseguridad ha influido en la estabilidad y confiabilidad de la comunicación en línea.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/radia-perlman.jpg",
+ "id": "LoboTresCerditos",
+ "name": "El Lobo y los Tres Cerditos",
+ "shortDescription": "Aventuras de los cerditos y el astuto lobo",
+ "description": "El lobo y los tres cerditos es un cuento popular que sigue la historia de tres cerditos que construyen casas para protegerse del lobo feroz. Cada cerdito construye su casa de un material diferente: paja, madera y ladrillos. El lobo intenta derribar las casas para atrapar a los cerditos y comérselos. Sin embargo, solo el cerdito que construyó su casa con ladrillos logra resistir el embate del lobo. Al final, el lobo es derrotado y los cerditos aprenden la importancia del trabajo duro y la planificación. Este cuento enseña lecciones sobre la importancia de la previsión y la construcción de bases sólidas para enfrentar los desafíos.",
+ "imageUrl": "https://th.bing.com/th/id/OIG2.JH4vKuk8UrOIFOwKx.Q3?pid=ImgGn",
"facts": {
- "yearOfBirth": "1951",
- "birthPlace": "Portsmouth, Estados Unidos",
- "mainField": "Ciencia de la Computación"
- },
- "extraInfo": {
- "imageSource": "https://hackaday.com/2018/05/29/spanning-the-tree-dr-radia-perlman-untangling-networks/"
+ "curiousFact1": "Cada cerdito tiene su enfoque único para construir su casa",
+ "curiousFact2": "El lobo tiene trucos ingeniosos para intentar derribar las casas",
+ "genero": "Cuento popular",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "shafi-goldwasser",
- "name": "Shafi Goldwasser",
- "shortDescription": "Científica de la computación, ganadora del Premio Turing.",
- "description": "Es una destacada criptógrafa y científica de la computación que ha contribuido significativamente a la teoría de la computación y la seguridad de la información. Su trabajo en criptografía de probabilidad y complejidad computacional ha sentado las bases para la seguridad en línea y la privacidad de datos en un mundo cada vez más digitalizado. Goldwasser es un ejemplo de cómo la ciencia de la computación puede abordar desafíos contemporáneos y proteger la información en la era de la información.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/shafi-goldwasser.jpg",
+ "id": "SirenitaAmigosMarinos",
+ "name": "La Sirenita y sus Amigos Marinos",
+ "shortDescription": "La historia mágica de la sirenita y sus amigos bajo el mar",
+ "description": "La Sirenita y sus amigos marinos es un cuento clásico que narra la historia de una joven sirena llamada Ariel, quien sueña con vivir en la superficie y explorar el mundo humano. A lo largo de la historia, Ariel se hace amiga de diversos personajes marinos, como Flounder, un pez payaso, y Sebastián, un cangrejo músico. Juntos, experimentan aventuras emocionantes y ayudan a Ariel a alcanzar su deseo de vivir en tierra firme. Sin embargo, también enfrentan desafíos y peligros, incluyendo la malvada bruja del mar, Úrsula. Este cuento enseña lecciones sobre la importancia de la amistad, la valentía y la búsqueda de los propios sueños.",
+ "imageUrl": "https://th.bing.com/th/id/OIG1.WgDkarCNSDkZfW7nUJRl?pid=ImgGn",
"facts": {
- "yearOfBirth": "1958",
- "birthPlace": "Nueva York, Estados Unidos",
- "mainField": "Ciencia de la Computación"
- },
- "extraInfo": {
- "imageSource": "https://www.jahresbericht2019.unibe.ch/successes_2019/einstein_lectures/index_eng.html"
+ "curiousFact1": "La Sirenita tiene una cola de escamas brillantes",
+ "curiousFact2": "Los amigos marinos tienen habilidades especiales",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "chien-shiung-wu",
- "name": "Chien-Shiung Wu",
- "shortDescription": "Física experimental, contribuyó a la física nuclear.",
- "description": "Física experimental de origen chino, desafiando los prejuicios de género y nacionalidad, realizó experimentos fundamentales en física de partículas y contribuyó significativamente a la comprensión de la desintegración beta. Su famoso experimento \"Wu\" refutó la paridad en la física de partículas, lo que cambió la forma en que los científicos comprenden las fuerzas fundamentales de la naturaleza. Wu demostró que el talento y la perseverancia pueden superar cualquier barrera, y su legado sigue siendo un faro de inspiración para científicas en todo el mundo.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/chien-shiung-wu.jpg",
+ "id": "HanselGretelBosqueEncantado",
+ "name": "Hansel y Gretel en el Bosque Encantado",
+ "shortDescription": "Aventuras de los hermanos en un bosque lleno de magia",
+ "description": "Hansel y Gretel en el Bosque Encantado es una adaptación del clásico cuento de hadas de los hermanos Grimm. En esta versión, Hansel y Gretel se adentran en un bosque misterioso, donde descubren un mundo encantado lleno de criaturas mágicas y sorpresas. Mientras exploran, se encuentran con desafíos y peligros, incluyendo la malvada bruja que intenta engañarlos con su casa de dulces. Con astucia y valentía, los hermanos superan los obstáculos y demuestran la importancia del amor fraternal y la perseverancia. Esta adaptación del cuento clásico añade elementos de fantasía y aventura para cautivar a nuevos públicos.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.5SCkT9zOjtYGs1yRwulG?w=1024&h=1024&rs=1&pid=ImgDetMaingit",
"facts": {
- "yearOfBirth": "1912",
- "yearOfDeath": "1997",
- "birthPlace": "Liuhe, Taicang, China",
- "mainField": "Física"
- },
- "extraInfo": {
- "imageSource": "https://www.thoughtco.com/chien-shiung-wu-biography-3530366"
+ "curiousFact1": "Dejan migas de pan para encontrar el camino de regreso",
+ "curiousFact2": "La bruja tiene trucos mágicos",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "hedy-lamarr",
- "name": "Hedy Lamarr",
- "shortDescription": "Actriz e inventora, contribuyó al desarrollo de la tecnología de espectro ensanchado.",
- "description": "Actriz austroamericana y científica, fue una mente brillante en la intersección de la tecnología y el entretenimiento. Junto con el compositor George Antheil, inventó un sistema de comunicación secreta durante la Segunda Guerra Mundial que sentó las bases para la tecnología de espectro ensanchado y la comunicación inalámbrica moderna. Lamarr demostró que las mujeres pueden destacar tanto en el cine como en la ciencia, y su legado como inventora ha sido fundamental para el desarrollo de la tecnología de comunicación inalámbrica que usamos en la actualidad.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/hedy-lamarr.jpg",
+ "id": "LeonRatonAmigo",
+ "name": "El León y el Ratón Amigo",
+ "shortDescription": "Una historia de amistad improbable entre un león y un ratón",
+ "description": "El León y el Ratón Amigo es una fábula clásica atribuida a Esopo y también se encuentra en las colecciones de fábulas de otros escritores, como Jean de la Fontaine. Narra la historia de un león poderoso atrapado en una red por unos cazadores. El ratón, inicialmente menospreciado por su tamaño, roe la red y libera al león. Más tarde, el león devuelve el favor al ratón al liberarlo de una trampa. Esta fábula enseña la lección de que la amistad y la gratitud son valiosas, independientemente del tamaño o la fuerza.",
+ "imageUrl": "https://th.bing.com/th/id/OIG2.Ogz8cNU1BkECJvzqIXho?w=1024&h=1024&rs=1&pid=ImgDetMain",
"facts": {
- "yearOfBirth": "1914",
- "yearOfDeath": "2000",
- "birthPlace": "Viena, Austria",
- "mainField": "Actuación, Física"
- },
- "extraInfo": {
- "imageSource": "https://www.sparkfun.com/news/6147"
+ "curiousFact1": "El ratón ayuda al león en un momento crucial",
+ "curiousFact2": "Ambos personajes tienen habilidades únicas",
+ "genero": "Fábula",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "maria-goeppert-mayer",
- "name": "Maria Goeppert Mayer",
- "shortDescription": "Física teórica, ganadora del Premio Nobel de Física.",
- "description": "Física teórica alemana-estadounidense, dejó una profunda huella en la física nuclear y la mecánica cuántica. Fue la segunda mujer en recibir el Premio Nobel de Física y su trabajo pionero en la estructura de capas nucleares revolucionó nuestra comprensión de los núcleos atómicos. A pesar de las barreras de género en la academia, su dedicación y talento la llevaron a contribuir significativamente a la teoría nuclear, abriendo el camino para futuras investigadoras en un campo dominado por hombres. Maria Goeppert Mayer es un ejemplo inspirador de excelencia científica y perseverancia en la búsqueda del conocimiento.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/maria-goeppert-mayer.jpg",
+ "id": "BellaDurmienteReinoSuenos",
+ "name": "La Bella Durmiente y el Reino de los Sueños",
+ "shortDescription": "Una versión encantada del clásico cuento de hadas",
+ "description": "La Bella Durmiente y el Reino de los Sueños es una adaptación moderna del clásico cuento de hadas. En esta versión, la princesa Aurora, conocida como la Bella Durmiente, cae en un sueño profundo después de ser hechizada por una malvada bruja. Sin embargo, en lugar de esperar a ser despertada por el beso de un príncipe, Aurora emprende un viaje a través de un mundo de ensueño para encontrar la clave que la liberará del hechizo. Con la ayuda de amigos mágicos y criaturas fantásticas, Aurora descubre el poder de la valentía, el amor propio y la esperanza mientras lucha por salvar a su reino de la oscuridad. Esta versión del cuento enfatiza el empoderamiento femenino y la importancia de seguir tus propios sueños.",
+ "imageUrl": "https://th.bing.com/th/id/OIG3.eLzUSyzgDIEiMkmnTil5?w=1024&h=1024&rs=1&pid=ImgDetMain",
"facts": {
- "yearOfBirth": "1906",
- "yearOfDeath": "1972",
- "birthPlace": "Kattowitz, Alemania",
- "mainField": "Física"
- },
- "extraInfo": {
- "imageSource": "https://www.wsemexhibit.org/maria-goeppert-mayer.html"
+ "curiousFact1": "Un hechizo de sueño profundo",
+ "curiousFact2": "Príncipe valiente en busca del amor",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "lise-meitner",
- "name": "Lise Meitner",
- "shortDescription": "Física nuclear, contribuyó a la teoría de la fisión nuclear.",
- "description": "Física austriaca-sueca, dejó un legado imborrable en la física nuclear y la radioquímica. A pesar de enfrentar obstáculos de género en una era dominada por hombres, colaboró con Otto Hahn en el descubrimiento de la fisión nuclear, un avance revolucionario. Aunque no compartió el Premio Nobel por este logro, su contribución fue crucial para comprender la energía nuclear y la física de partículas. Su determinación y pasión por la ciencia han inspirado a generaciones de científicas. Lise Meitner es un símbolo perdurable de la perseverancia femenina y el impacto duradero que las mujeres pueden tener en la ciencia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/lise-meitner.jpg",
+ "id": "PulgarcitoSecretosBosqueEncantado",
+ "name": "Pulgarcito y los Secretos del Bosque Encantado",
+ "shortDescription": "Aventuras del pequeño Pulgarcito en un bosque lleno de sorpresas",
+ "description": "Pulgarcito y los Secretos del Bosque Encantado es una adaptación del clásico cuento de hadas que narra las aventuras de un niño diminuto llamado Pulgarcito. En esta versión, Pulgarcito se aventura en un bosque mágico lleno de criaturas fantásticas y secretos ocultos. Con ingenio y valentía, Pulgarcito debe superar desafíos y enfrentarse a peligros para descubrir los secretos que protegen el equilibrio del bosque y salvar a su familia de la adversidad. En el camino, Pulgarcito aprende lecciones valiosas sobre la amistad, la solidaridad y la importancia de confiar en sí mismo. Esta adaptación del cuento clásico añade elementos de fantasía y misterio para cautivar a nuevos públicos.",
+ "imageUrl": "https://th.bing.com/th/id/OIG2.sM5h9xN07xF43Wr6Cfdw?w=1024&h=1024&rs=1&pid=ImgDetMain",
"facts": {
- "yearOfBirth": "1878",
- "yearOfDeath": "1968",
- "birthPlace": "Viena, Austria",
- "mainField": "Física"
- },
- "extraInfo": {
- "imageSource": "https://www.bing.com/images/create/lise-meitner-in-nuclear-physics-lab-in-19502c-retro/651196e6bbcb4009950e9955c2199760"
+ "curiousFact1": "Utiliza migas de pan para encontrar su camino",
+ "curiousFact2": "Amigos animales le ayudan en sus travesías",
+ "genero": "Literatura infantil",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "sau-lan-wu",
- "name": "Sau Lan Wu",
- "shortDescription": "Física de partículas, contribuyó a experimentos clave en física de alta energía.",
- "description": "Física experimental sinoamericana, ha sido una fuerza motriz en la física de partículas. Destacó en experimentos en el CERN y lideró investigaciones cruciales, como el descubrimiento del quark c, que expandieron nuestro entendimiento de la estructura fundamental de la materia. Wu superó desafíos en una disciplina dominada por hombres y ha sido un faro de inspiración para científicas de todo el mundo. Sau Lan Wu es un ejemplo de excelencia científica y de cómo las mujeres pueden dejar huella en la investigación de vanguardia.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/sau-lan-wu.jpg",
+ "id": "PeterPanTierraNuncaJamas",
+ "name": "Peter Pan y la Tierra de Nunca Jamás",
+ "shortDescription": "Las emocionantes aventuras de Peter Pan y sus amigos en la tierra de la fantasía",
+ "description": "Peter Pan y la Tierra de Nunca Jamás es una historia clásica que sigue las aventuras del niño que nunca crece, Peter Pan, y sus amigos en una tierra mágica donde el tiempo no avanza, llamada Nunca Jamás. En esta tierra, Peter Pan lidera a los Niños Perdidos, un grupo de niños que huyeron de sus hogares para vivir en la libertad de Nunca Jamás. Junto con Wendy, John y Michael Darling, Peter Pan y sus amigos enfrentan al malvado Capitán Garfio y sus piratas, exploran islas perdidas, y viven emocionantes aventuras que desafían la imaginación. Esta historia enseña sobre la importancia de la imaginación, la amistad y la libertad.",
+ "imageUrl": "https://th.bing.com/th/id/OIG2.Kqb50ddaIBE8fvSXIERm?pid=ImgGn",
"facts": {
- "yearOfBirth": "1940",
- "birthPlace": "Hong Kong, China",
- "mainField": "Física de Partículas"
- },
- "extraInfo": {
- "imageSource": "https://repository.aip.org/islandora/object/nbla%3A315195"
+ "curiousFact1": "Acompañado por Campanilla y los Niños Perdidos",
+ "curiousFact2": "Nunca crece y vive en la isla mágica",
+ "genero": "Fantasía",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "jocelyn-bell-burnell",
- "name": "Jocelyn Bell Burnell",
- "shortDescription": "Astrónoma y astrofísica, co-descubridora de los púlsares.",
- "description": "Astrofísica británica, es una figura extraordinaria en la ciencia. Durante su doctorado, hizo un descubrimiento revolucionario al detectar los primeros púlsares, estrellas de neutrones altamente magnetizadas que emiten pulsos regulares de radiación. A pesar de que su asesor recibió el Premio Nobel por este descubrimiento, Bell Burnell se ha convertido en un símbolo de perseverancia y contribución de las mujeres a la astronomía. Su carrera distinguida y su activismo en favor de la diversidad de género en la ciencia han inspirado a generaciones futuras de científicas. Jocelyn Bell Burnell es un ejemplo de valentía y excelencia científica.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/jocelyn-bell-burnell.jpg",
+ "id": "AventuraZapatosMagicos",
+ "name": "La Aventura de los Zapatos Mágicos en el País de los Calcetines Coloridos",
+ "shortDescription": "Un cuento encantado sobre zapatos que cobran vida en un mundo lleno de calcetines de colores",
+ "description": "Acompaña a unos zapatos mágicos mientras emprenden una aventura inesperada en el País de los Calcetines Coloridos, donde descubren la importancia de la diversidad y la cooperación.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.kUS4XL9v0zMPq3m4qEMP?w=1024&h=1024&rs=1&pid=ImgDetMain",
"facts": {
- "yearOfBirth": "1943",
- "birthPlace": "Belfast, Reino Unido",
- "mainField": "Astronomía, Astrofísica"
- },
- "extraInfo": {
- "imageSource": "https://womeninscienceweadmire.icfo.eu/wiswa-2/jocelyn-bell/"
+ "curiousFact1": "Cada zapato tiene un cordón mágico",
+ "curiousFact2": "Los calcetines tienen personalidades únicas",
+ "genero": "Fantasía",
+ "RangoDeEdad": "6 a 10 años"
}
},
{
- "id": "dorothy-crowfoot-hodgkin",
- "name": "Dorothy Crowfoot Hodgkin",
- "shortDescription": "Química, ganadora del Premio Nobel de Química.",
- "description": "Química británica, es una figura icónica en la ciencia que superó las barreras de género de su época. Su trabajo revolucionario en la cristalografía de rayos X permitió determinar la estructura de importantes biomoléculas, como la penicilina, la vitamina B12 y la insulina. Fue galardonada con el Premio Nobel de Química en 1964, siendo la tercera mujer en recibir este prestigioso reconocimiento. Hodgkin no solo fue una científica excepcional, sino también una defensora de la igualdad de género en la ciencia, allanando el camino para futuras generaciones de científicas y dejando un legado duradero en la investigación y la equidad.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/dorothy-crowfoot-hodgkin.jpg",
+ "id": "FlautistaHamelinAventuraMusical",
+ "name": "El Flautista de Hamelín y la Aventura Musical",
+ "shortDescription": "La clásica historia del flautista que encanta a toda la ciudad",
+ "description": "El Flautista de Hamelín y la Aventura Musical es una versión adaptada del famoso cuento folclórico. Narra la historia de un misterioso flautista que llega a la ciudad de Hamelín, donde los habitantes sufren una plaga de ratas. El flautista ofrece liberar la ciudad de las ratas con su música encantadora a cambio de una recompensa, pero al no recibirla, decide vengarse. Utilizando su flauta mágica, lleva a todos los niños de Hamelín a una mágica aventura musical, enseñándoles lecciones de amistad, bondad y valentía en el camino. Esta versión añade elementos de fantasía y música para cautivar a nuevas audiencias.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.ZLFi5eNV5PHT45G8H.6C?pid=ImgGn",
"facts": {
- "yearOfBirth": "1910",
- "yearOfDeath": "1994",
- "birthPlace": "El Cairo, Egipto / Shipston-on-Stour, Reino Unido",
- "mainField": "Química"
- },
- "extraInfo": {
- "imageSource": "https://www.some.ox.ac.uk/news/jan-royall-why-we-must-champion-dorothy-hodgkin-for-the-50-note/"
+ "curiousFact1": "Encanta a ratones y humanos con su flauta",
+ "curiousFact2": "Resuelve conflictos a través de la música",
+ "genero": "Cuento de hadas",
+ "RangoDeEdad": "Todas las edades"
}
},
{
- "id": "marie-curie",
- "name": "Marie Curie",
- "shortDescription": "Física y química, ganadora de dos Premios Nobel.",
- "description": "física y química de origen polaco y nacionalizada francesa, es una de las figuras más icónicas en la historia de la ciencia. Ganadora de dos premios Nobel (Física en 1903 y Química en 1911), Curie realizó investigaciones fundamentales sobre la radiactividad y el descubrimiento de los elementos radio y polonio. Su dedicación y valentía en la investigación científica, a pesar de los desafíos de la discriminación de género y los riesgos de la radiación, la convierten en un modelo a seguir para científicas de todo el mundo.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/marie-curie.jpg",
+ "id": "GirasolTraviesoJardinEncantado",
+ "name": "El Girasol Travieso en el Jardín Encantado",
+ "shortDescription": "Aventuras de un girasol que cobra vida en un jardin magico",
+ "description": "El Girasol Travieso en el Jardín Encantado es una historia encantadora que sigue las travesuras de un girasol curioso que vive en un jardín mágico. Este girasol, llamado Travieso, siempre está buscando aventuras y nuevas experiencias en el colorido jardín. Un día, mientras explora, se encuentra con otros habitantes del jardín, como mariposas, abejas y mariquitas, quienes le enseñan lecciones importantes sobre la amistad, la naturaleza y la importancia de ser responsable. A través de sus travesuras y aprendizajes, Travieso descubre la belleza y la magia que se encuentra en su propio hogar. Esta historia está llena de color, diversión y enseñanzas para los más pequeños.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.6E_sPKJI5tu.Y.n0_g2Y?pid=ImgGn",
"facts": {
- "yearOfBirth": "1867",
- "yearOfDeath": "1934",
- "birthPlace": "Varsovia, Polonia",
- "mainField": "Física y Química"
- },
- "extraInfo": {
- "imageSource": "https://www.historyextra.com/period/first-world-war/life-of-the-week-marie-curie/"
+ "curiousFact1": "Sus pétalos brillan cuando está feliz",
+ "curiousFact2": "Tiene una risa contagiosa",
+ "genero": "Fantasía",
+ "RangoDeEdad": "3 a 5 años"
}
},
+
{
- "id": "marjory-stephenson",
- "name": "Marjory Stephenson",
- "shortDescription": "Microbióloga y bioquímica, investigó en enzimología.",
- "description": "Bioquímica británica, brilló como científica en una época en la que las mujeres enfrentaban obstáculos muy significativos en la investigación científica. Su trabajo pionero en microbiología, enzimología y bioquímica contribuyó al entendimiento de procesos fundamentales en la vida. Fue una de las primeras mujeres en ser elegida miembro de la Royal Society, un reconocimiento a su destacada contribución a la ciencia. Además, fue una mentora y defensora de las mujeres en la ciencia, inspirando y allanando el camino para futuras generaciones.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/marjory-stephenson.jpg",
+ "id": "LibroColoresOlvidados",
+ "name": "El Libro de los Colores Olvidados",
+ "shortDescription": "Una historia mágica sobre colores que cobran vida",
+ "description": "El Libro de los Colores Olvidados es una narrativa mágica sobre un mundo donde los colores han desaparecido misteriosamente. En esta historia, seguimos a un valiente grupo de amigos que emprenden un viaje épico para encontrar el legendario Libro de los Colores Olvidados. A lo largo de su búsqueda, enfrentan desafíos emocionantes, descubren secretos ancestrales y se encuentran con personajes mágicos que los ayudan en su misión. A medida que avanzan, aprenden lecciones sobre la importancia de la diversidad, la creatividad y la alegría que aportan los colores a nuestras vidas. Esta historia cautivadora invita a los lectores a explorar la magia de la imaginación y la belleza de la diversidad.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.QR2ywz.2RjTBEI2teDzt?pid=ImgGn",
"facts": {
- "yearOfBirth": "1885",
- "yearOfDeath": "1948",
- "birthPlace": "Londres, Reino Unido",
- "mainField": "Química, Microbiología, Bioquímica"
- },
- "extraInfo": {
- "imageSource": "https://microbiologysociety.org/grants-prizes/all-prizes-and-competitions-/prize-lectures/marjory-stephenson-prize-lecture/marjory-stephenson-a-short-history.html"
+ "curiousFact1": "Cada color tiene su propia personalidad",
+ "curiousFact2": "Los personajes viajan por diferentes paisajes de colores",
+ "genero": "Fantasía",
+ "RangoDeEdad": "11 a 13 años"
}
},
{
- "id": "rosalind-franklin",
- "name": "Rosalind Franklin",
- "shortDescription": "Química y cristalógrafa, contribuyó a la comprensión de la estructura del ADN.",
- "description": "Química y cristalógrafa británica, destacó en un campo dominado por hombres y su contribución a la ciencia es innegable. Sus investigaciones pioneras en la cristalografía de rayos X fueron fundamentales para revelar la estructura del ADN en forma de doble hélice, un hito crucial en la biología molecular. A pesar de que su trabajo inicial fue subestimado, su determinación y habilidad científica allanaron el camino para futuros avances en genética y biología. Franklin es un ejemplo inspirador de cómo las mujeres pueden sobresalir en la ciencia, dejando un legado duradero en la investigación y la igualdad de género.",
- "imageUrl": "https://laboratoria-dataverse-talks.netlify.app/public/rosalind-franklin.jpg",
+ "id": "IslaPeluchesPerdidos",
+ "name": "La Isla de los Peluches Perdidos",
+ "shortDescription": "Aventuras de peluches en una isla mágica",
+ "description": "La Isla de los Peluches Perdidos es un cuento encantador que sigue la historia de un grupo de peluches que viven en una isla misteriosa y olvidada. Estos peluches, abandonados por sus dueños, han creado su propia comunidad en la isla, donde viven aventuras emocionantes y comparten momentos de amistad y solidaridad. Sin embargo, su paz se ve amenazada cuando un malvado villano intenta apoderarse de la isla y destruir su hogar. Con valentía y trabajo en equipo, los peluches deben unirse para proteger su hogar y encontrar una solución pacífica. A lo largo de su viaje, descubren el verdadero significado de la amistad, la lealtad y el valor. Esta historia captura la imaginación de los lectores y les enseña valiosas lecciones sobre el amor y la importancia de cuidar a los demás.",
+ "imageUrl": "https://th.bing.com/th/id/OIG.oqXndIJxJtMe7_sXLk2K?pid=ImgGn",
"facts": {
- "yearOfBirth": "1920",
- "yearOfDeath": "1958",
- "birthPlace": "Londres, Reino Unido",
- "mainField": "Química, Cristalografía"
- },
- "extraInfo": {
- "imageSource": ""
+ "curiousFact1": "Cada peluche tiene una habilidad única",
+ "curiousFact2": "La isla tiene paisajes y criaturas mágicas",
+ "genero": "Aventura",
+ "RangoDeEdad": "6 a 10 años"
}
}
];
\ No newline at end of file
diff --git a/src/dataFunctions.js b/src/dataFunctions.js
index 5de554af..f8461fe4 100644
--- a/src/dataFunctions.js
+++ b/src/dataFunctions.js
@@ -1,9 +1,57 @@
-// Estas funciones son ejemplos, aquí puedes desarrollar tus propias funciones.
+// Estas funciones son ejemplos aquí puedes desarrollar tus propias funciones.
+//Este archivo va a contener toda la funcionalidad que corresponda a obtener, procesar y manipular datos (tus funciones).
-export const example = () => {
- return 'example';
+
+//Primer filtrado, género.
+export const filterGender = (data, selectGender) => {
+ //console.log(selectGender);
+ return data.filter(item => {
+ if (selectGender === item.facts.genero) {
+
+ return true;
+ }
+ else {
+ return false;
+ }
+ })
+};
+
+//Segundo filtrado, rango edad..
+export const filterByAge = (data, range) => {
+ // console.log (range);
+ return data.filter(item => {
+ if (range === item.facts.RangoDeEdad) {
+ return true;
+ } else {
+ return false;
+ }
+ })
};
+<<<<<<< HEAD
+
+=======
+>>>>>>> ea8026f38d386808aa1e6105dcfa36d27b61f9e8
+
+
+/*Funcion ordenamiento
+- data: Es el arreglo de objetos que se va a ordenar. Cada objeto en este arreglo representa un elemento que se ordenará, como un libro en este caso.
+- sortBy: Es la clave o propiedad por la cual se va a ordenar cada objeto en el arreglo data. Indica qué característica del objeto se utilizará para determinar el orden, como el título del libro, el autor, etc.
+- ortOrder: Es el orden en el que se deben ordenar los objetos en el arreglo data. Puede ser "asc" para ascendente (de menor a mayor) o "desc" para descendente (de mayor a menor). Este parámetro determina la dirección de la ordenación.
+*/
+
+export const sortData = (data, sortBy, sortOrder) => {
+ const datatwo = data.sort((a, b) => {
+ const valueA = a[sortBy];
+ const valueB = b[sortBy];
+ const compare = valueA.localeCompare(valueB);
+ //console.log(compare);
+ return sortOrder === "asc" ? compare : compare * -1; });
+
+ return datatwo;
+};
+
+/*Funcion de Limpiar filtros */
+export const clearFilters = (data) => {// se crea la funcion y la exportamos
+ return data;//muestrame la data
-export const anotherExample = () => {
- return [];
};
diff --git a/src/index.html b/src/index.html
index 0151e7de..0acb46a6 100644
--- a/src/index.html
+++ b/src/index.html
@@ -2,10 +2,85 @@
- Data Lovers
+ Cuantos Cuentos 📚
+
+
+
-
-
-
+
+
+
+
+
+
+
+ Filtrar por:
+
+ Seleccionar
+ Literatura infantil
+ Fantasía
+ Fábula
+ Cuento de hadas
+ Cuento popular
+ Aventura
+
+
+ Ordenar por rango de edad:
+
+ Seleccionar
+ Todas las edades
+ 3 a 5 años
+ 6 a 10 años
+ 11 a 13 años
+
+
+ Ordenar por:
+
+ Elige una opción
+ Ordenar de la A-Z
+ Ordenar de la Z-A
+
+
+
+
+
+ Limpiar
+
+
+
+
+
+
+
+
+
+
Cuantos Cuentos
+
¡Déjate llevar por la magia de la imaginación en cada página!
+
+
+
+Deslizar
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index c943ecdd..28cf8876 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,6 +1,65 @@
-import { example } from './dataFunctions.js';
+import { filterGender, filterByAge, sortData, clearFilters} from './dataFunctions.js';
import { renderItems } from './view.js';
+import data from './data/dataset.js'; // Importa los datos primero
-import data from './data/dataset.js';
+document.getElementById('root').appendChild(renderItems(data));
-console.log(example, renderItems(data), data);
\ No newline at end of file
+
+let filteredData= data;
+const selectElement = document.querySelector("#filter");
+const root = document.querySelector("#root");
+const selectAge= document.querySelector("#order")
+const orderBook = document.querySelector("#orderad");
+filteredData = [...data];
+
+
+// Evento change para el elemento select, género.
+selectElement.addEventListener("change", ()=>{
+ const selectGender = selectElement.options[selectElement.selectedIndex].value
+ /*console.log(selectGender);*/
+
+ const resultFilter = filterGender(data, selectGender)
+ /*console.log(resultFilter);*/
+ root.innerHTML = "";
+ root.appendChild(renderItems(resultFilter));
+});
+
+
+// Evento change por Filtro rango de edad
+selectAge.addEventListener("change", () => {
+ const range = selectAge.options[selectAge.selectedIndex].value;
+ //console.log(range);
+
+ const resultAge= filterByAge(data,range)
+ //console.log(resultAge);
+ root.innerHTML = "";
+ root.appendChild(renderItems(resultAge));
+});
+
+
+//CleanButton
+document.querySelector(".clearButton").addEventListener("click", () => {
+ root.innerHTML = "";//limpia contenedor
+ root.appendChild(renderItems(clearFilters(data)));//renderia de nuevo la data original
+ selectElement.selectedIndex = 0;// lo establece ala opcion pre determinada al inicio
+ selectAge.selectedIndex = 0;
+ orderBook.selectedIndex = 0;
+
+});
+
+// Evento change para el ordenamiento.
+orderBook.addEventListener("change", (event) => {
+
+ // Ordenamos los datos filtrados por nombre
+ filteredData = sortData(filteredData, "name", event.target.value);
+
+ // Limpiamos el contenido anterior y renderizamos los datos ordenados
+ root.innerHTML = '';
+ root.appendChild(renderItems(filteredData));
+});
+
+//Funcion para botòn deslizante//
+document.getElementById('scrollButton').addEventListener('click', function () {
+ const root = document.getElementById('root');
+ root.scrollIntoView({ behavior: 'smooth' });
+});
\ No newline at end of file
diff --git a/src/style.css b/src/style.css
index e69de29b..c7f492af 100644
--- a/src/style.css
+++ b/src/style.css
@@ -0,0 +1,366 @@
+@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap");
+@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap");
+
+
+body {
+ font-family: "Poppins", sans-serif;
+ margin: 0;
+ padding: 0;
+ background-image: url(assets/img/bienvenida.png);
+ background-repeat: no-repeat;
+ background-attachment: scroll;
+ width: 100%;
+ height: 100vh;
+ max-width: 1900px;
+ padding-top: 80px;
+ background-size: cover; /* Ajusta la imagen para cubrir todo el contenido visible */
+ background-position: center; /* Centra la imagen de fondo */
+}
+
+h1 {
+
+ font-family: "Cinzel", serif;
+ font-weight: 620;
+ text-align: center;
+ font-size: 130px;
+ color: #ffffff;
+ text-shadow:
+ 1px 1px 2px rgb(255, 115, 1),
+ 0 0 1em rgb(243, 243, 243),
+ 0 0 0.2em rgb(255, 249, 247);
+ padding: 1px;
+ margin-top: -300px;
+
+}
+
+p {
+ font-family: 'Poppins', sans-serif;
+ margin-top: -490px;
+ text-align: center;
+ font-size: 30px;
+ color: #e0d3cd;
+ text-shadow:
+ 1px 1px 2px rgb(255, 102, 0),
+ 0 0 1em rgb(255, 143, 6),
+ 0 0 0.2em rgb(248, 49, 49);
+ padding: 390px;
+ white-space: nowrap;
+}
+
+#icon-menu{
+ width: 50px;
+ height: 50px;
+ position: absolute;
+ right: 20px;
+ top: 16px;
+ padding: 10px;
+ font-size: 20px;
+ background: #eeeeeefa;
+ border-radius: 100%;
+ color: #787878;
+ display: none;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+}
+
+footer {
+ font-family: 'Poppins', sans-serif;
+ text-align: start;
+ font-weight: 30;
+ font-size: 30px;
+ color: #ffffff;
+}
+
+.seccion {
+ display: flex;
+ justify-content: center;
+ padding: 320px;
+ /* Espacio alrededor del contenido */
+ display: grid;
+ margin-top: 80px;
+}
+
+.seccion3 {
+ padding: 520px;
+ /* Espacio alrededor del contenido */
+ background-image: url(assets/img/footer.png);
+ background-size: cover;
+ /* Cubrir todo el fondo */
+ background-position: center bottom;
+ /* Posición de la imagen (centrada en el fondo y en la parte inferior) */
+ background-attachment: scroll;
+ /* Fijar la imagen al fondo */
+
+}
+
+/*Las tarjetas */
+.card {
+ border-top-left-radius: 50px;
+ border-bottom-left-radius: 50px;
+ /*border: 10px solid rgba(12, 141, 253, 0.685);*/
+ position: relative;
+ overflow: hidden;
+ transition: heigth 0.5s ease;
+ flex-basis: calc(33.33% - 20px);
+ transition: flex-basis 0.5s;
+ transition: transform 0.3 ease;
+ width: 300px;
+ /*Ancho de mis card*/
+ margin: 6%;
+}
+
+/*Diseño de primera cara */
+.PrimeraCara {
+
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ /* Permite que los elementos li se envuelvan de PrimeraCara*/
+}
+
+/*texto de la tarjeta primeracara*/
+.PrimeraCara h2 {
+ position: absolute;
+ bottom: 0;
+ /*Posiciona mi titulo en la parte inferior*/
+ text-align: center;
+ /*Posision de mi texto Titulo*/
+ font-size: 1.9vw;
+ /* tamaño de texto en relacion con el ancho de la ventana*/
+ color: #ffffff;
+ background-color: rgba(54, 52, 54, 0.671);
+ /*Fondo de Titulo de cuento*/
+ border-bottom-left-radius: 25%;
+ /* Borde de parte inferior izquierda*/
+ border-bottom-right-radius: 25%;
+ /* Borde de parte inferior derecha */
+ padding-left: 20px;
+ /* Relleno izquierdo del fondo */
+ width: 300px;
+ /*Ancho d emi fondo tranparente de titulo*/
+}
+
+/* Diseño de solo la imagen */
+#Img {
+ border: 5px solid rgb(255, 255, 255);
+ /*color de borde para imagen*/
+ width: 350px;
+ /*Ancho de mi imagen*/
+ height: 335px;
+ /*Largo d emi imagen*/
+ border-radius: 15%;
+ /* Tipo de brode de mi imagen*/
+}
+
+/*Animacion de tarjeta */
+.card:hover {
+ height: auto;
+ flex-basis: 450px;
+}
+
+/* Diseño de la data de SegundaCara */
+.card .SegundaCara {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ width: 350px;
+ /*Ancho de mi data SegundaCara*/
+ height: 335px;
+ background-color: rgba(252, 252, 252, 0.692);
+ padding: 20px;
+ /*box-sizing: border-box ;*/
+ transition: top 0.5s ease;
+ border-radius: 15px;
+ /*tipo de borodo para mi segundacara*/
+ overflow: hidden;
+ word-wrap: break-word;
+ overflow-y: auto;
+ /* Agrega un scroll vertical si el contenido excede la altura */
+
+}
+
+.card:hover .SegundaCara {
+ top: 0;
+}
+
+/*Termina animacion de SegundaCara*/
+
+/*Se crea las colmnas*/
+.Contenedor {
+ border: 1px, solid black;
+ background: linear-gradient(to top, rgb(5, 22, 66) -10%, rgba(113, 159, 212, 0.856) 50%, rgba(254, 255, 255, 0.911) 100%);
+ /* Degradado de color de fondo */
+ padding: 20px;
+ /*espacio interior de */
+ display: flex;
+ /* desto es flexbox*/
+ flex-direction: row;
+ /*direciona los elementos en fila*/
+ flex-wrap: wrap;
+ /*ajusta los elementos a multipes linea*/
+ width: 100%;
+ /*amcho de mi contenedor*/
+
+}
+
+.content {
+ max-width: 1200px;
+ width: 90%;
+ margin: 0px auto;
+
+ /*FlexBoox*/
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.button-search {
+ border: none;
+ padding: 10px 20px 10px 0px;
+ margin: 12px 0px;
+ width: 200px;
+ background: transparent;
+ color: #fff;
+ outline-color: transparent;
+ font-weight: 15;
+ font-size: 15px;
+ font-family: 'Poppins', sans-serif;
+}
+
+#main-header {
+ background: #00050a;
+ color: white;
+ height: auto;
+ font-size: 20px;
+ font-family: 'Poppins', sans-serif;
+ width: 100%;
+ /* hacemos que la cabecera ocupe el ancho completo de la página */
+ left: 0;
+ /* Posicionamos la cabecera al lado izquierdo */
+ top: 0;
+ /* Posicionamos la cabecera pegada arriba */
+ position: fixed;
+ /* Hacemos que la cabecera tenga una posición */
+ z-index: 9999;
+ /* Ajusta el valor según sea necesario para asegurar que esté por encima de todo el contenido */
+}
+
+
+
+label {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+
+#filter {
+ font-weight: 15;
+ font-size: 15px;
+ font-family: 'Poppins', sans-serif;
+ color: black;
+}
+
+#order {
+ font-weight: 15;
+ font-size: 15px;
+ font-family: 'Poppins', sans-serif;
+ color: black;
+}
+
+#orderad {
+ font-weight: 15;
+ font-size: 15px;
+ font-family: 'Poppins', sans-serif;
+ color: black;
+}
+
+.clearButton {
+ font-family: 'Poppins', sans-serif;
+ font-weight: 17;
+ font-size: 17px;
+
+}
+
+.ReadMore {
+ display: flex;
+ font-family: "Cinzel", serif;
+ font-size: 10px;
+ display: flex;
+ justify-content: center;
+ margin-top: -790px;
+ padding: 400px;
+}
+
+
+#scrollButton {
+ font-size: 39px;
+ color: rgb(252, 252, 252);
+ text-shadow:
+ 1px 1px 2px rgb(255, 115, 1),
+ 0 0 1em rgb(243, 243, 243),
+ 0 0 0.2em rgb(255, 249, 247);
+ background-color: rgb(255, 101, 44);
+ font-family: "Cinzel", serif;
+ border-radius: 5px;
+ border-color: #fff;
+ padding: 14px 28px;
+ cursor: pointer;
+
+}
+
+/*Seccioón Responsive*/
+/* Estilos para pantallas grandes */
+@media screen and (min-width: 1200px) {
+ /* Aquí van tus estilos actuales */
+}
+
+/* Estilos para pantallas medianas */
+@media screen and (max-width: 1199px) {
+
+
+ .card {
+ flex-basis: calc(50% - 20px);
+ width: 45%;
+ }
+ .PrimeraCara h2 {
+ font-size: 1.3em;
+ width: 250px;
+ }
+ #Img {
+ width: 280px;
+ height: 270px;
+ }
+}
+
+/* Estilos para pantallas pequeñas */
+@media screen and (max-width: 767px) {
+ body {
+ padding-top: 20px;
+ }
+/* Estilos para pantallas más pequeñas (por ejemplo, dispositivos móviles) */
+@media only screen and (max-width: 768px) {
+ h1 {
+ font-size: 40px; /* Tamaño de fuente más pequeño para pantallas pequeñas */
+ margin-top: -150px; /* Ajuste del margen superior para centrar en pantallas pequeñas */
+ text-align: center;
+ }
+
+ p {
+ font-family: 'Poppins', sans-serif; /* Mantén la misma fuente que tenías */
+ font-size: 20px; /* Tamaño de fuente */
+ margin: 0 auto; /* Centra vertical y horizontalmente */
+ max-width: 80%; /* Limita el ancho del texto para que no se extienda demasiado */
+ text-align: center; /* Centra el texto horizontalmente */
+ padding: 20%;
+ }
+ }
+}
+ @media only screen and (max-width: 768px) {
+ .ReadMore {
+ font-size: 8px; /* Tamaño de fuente más pequeño para pantallas pequeñas */
+ margin-top: -300px; /* Ajuste del margen superior para centrar en pantallas pequeñas */
+ padding: 1px; /* Ajuste del padding para pantallas pequeñas */
+ }
+ }
+
diff --git a/src/view.js b/src/view.js
index 686f5ef9..dea278be 100644
--- a/src/view.js
+++ b/src/view.js
@@ -1,5 +1,35 @@
+
export const renderItems = (data) => {
- console.log(data)
- // Aquí comienza tu código y puedes retornar lo que tu necesites
- return 'example';
-};
\ No newline at end of file
+ const ul = document.createElement('ul')
+ ul.classList.add('Contenedor')//agregamos una clase a el elemneto ul
+ for (let i = 0; i < data.length; i++) {
+ const element = data[i];
+
+ ul.innerHTML += `